4 Working with Servers

This chapter contains the following topics:

4.1 Understanding the Work With Servers Program (P986116)

The Work With Servers program (P986116) in Oracle's JD Edwards EnterpriseOne provides a central location from which system administrators can monitor and control:

  • Server jobs

  • JD Edwards EnterpriseOne subsystems

As a system administrator, you can use the Work With Servers program to print, view, remove, terminate, release, or hold any jobs that currently reside in a queue on any JD Edwards EnterpriseOne server. Similarly, workstation users can control only those jobs submitted by them. This option is generally restricted to only those jobs associated with a specific user ID.

Also, you can use the Work With Servers program to end and to stop JD Edwards EnterpriseOne subsystems, and to view the status of JD Edwards EnterpriseOne subsystems that are running or are waiting to process jobs.

4.2 Managing Server Jobs

This section provides an overview of server jobs and discusses how to:

  • Set processing option for Work With Servers.

  • Check the status of reports.

  • Change the priority and the printer for jobs.

  • Print jobs.

  • View reports online.

  • View the logs for a job.

  • Terminate jobs.

  • Hold and release jobs.

4.2.1 Understanding Server Jobs

By using the Work With Servers application, system administrators can print, view, and delete job records from the outqueue. They can also terminate, release, or hold any jobs that currently reside in a queue on any JD Edwards EnterpriseOne server. Similarly, using the Submitted Job Search form, users can, in general, control only those jobs submitted by them.

You should use JD Edwards EnterpriseOne security to restrict access to the Work With Servers application. In general, access to this program should be granted only to administrator-level users because the ZJDE0001 version of the Work With Servers program enables users to view and control server jobs for all users. End users should be restricted to the ZJDE0002 version, which is known as the Submitted Job Search form. This version of the application restricts users to viewing and modifying only those jobs that were submitted under their user ID initially. Both programs are located on the System Administration Tools menu (GH9011).

4.2.1.1 Job Status and Priority

After you submit the report, you can check the status of the job in the queue. Depending on the status of the job, you can perform tasks such as printing or deleting the report, viewing the report output online, and holding the report in the queue.

You can also move the priority of the job to a lower or higher status while the job is at the status of W (Waiting).

4.2.1.2 Overriding Printer Location for Jobs

You can override the location where the job prints. For jobs with a status of D (Done) and E (Error), you can send the job directly to the default printer without viewing the PDF file online. A status of D means that the processing for the job completed successfully. A status of E means that an error occurred during processing. If you print a job with a status of E, you print an error log to aid you when you troubleshoot the report.

4.2.1.3 Viewing Reports Online

After the job finishes processing on the server, you can view the report output online. For most jobs, the output is in Portable Document Format (PDF), which can be viewed with Adobe Acrobat Reader. When you view the report output online, the system also creates a PDF file for the report in the following directory on the workstation:

\812\PrintQueue

You can attach PDF files to email messages; move or copy the files; and, because most current web browsers can read PDF files, post the reports to a web site. Also, you can copy text from Acrobat Reader to the clipboard and paste that text into other applications.

4.2.1.4 Job Logs

You can view logs that detail the steps taken while the job processed. From the Submitted Job Search form, you can access the jde.log and the jdedebug.log for the report. These logs are helpful if you need to troubleshoot a report that resulted in error. These logs exist on the machine where the job ran.

The jde.log is a general-purpose log used to track error messages generated by JD Edwards EnterpriseOne processing. The jde.log tracks any fault that might occur within the software, including whether the sign on is successful. When you are looking for startup errors, you should read the jde.log from the top down. For other errors, you should read from the bottom up.

The jdedebug.log contains API calls, BSFN logs, and SQL statements, as well as other messages. You can use this log to determine at what time normal execution stopped. The system does not use thejdedebug.log to track errors; instead, it uses this log to track the timing of processes.

4.2.1.5 Terminating Jobs

You can manually terminate a job that is processing. When you terminate a job, you do not delete it; rather, you move the job to the status of E (Error). With the job at the status of E, you can print an error log or delete the job.

4.2.1.6 Holding and Releasing Jobs

If a job is at the status of W (waiting), you can hold the job. You might choose to hold a job if the job is large enough to affect the performance of the server on which it processes. You can release a job when server performance is not an issue, such as after regular business hours.

Note:

If you want to stop a job that is at a status of P (Processing), you must terminate the job. You cannot restart a job after you terminate it; you must resubmit the job to the server.

4.2.2 Forms Used to Manage Server Jobs

Form Name FormID Navigation Usage
Work With Servers

W986116A System Administration Tools (GH9011), Data Source Management, Work With Servers (P986116). Select a server in which you want to locate a job.
Submitted Job Search W986110BA On the Work With Servers form, from the Row menu, select Server Jobs. Print, terminate, hold, release, or view a job. Users can manage jobs submitted by their user ID initially. Depending on the security level, you can change the User ID field and the Job Queue field to search for other jobs.
Job Maintenance W986110BC On the Submitted Job Search form, select a job with which to work and click Select. Review information about the batch job, modify the priority of the job, or change the printer on which the job will print.
Printer Selection W986162B On the Submitted Job Search form, select a job and then select Print from the Row menu. Override printer-specific information.
View Logs W986110BD On the Submitted Job Search form, select the job for which you want to view a log, and then select View Logs from the Row menu. View the jde.log and the jdedebug.log.

4.2.3 Setting Processing Option for Work with Servers (P986116)

Although processing options are set up during the JD Edwards EnterpriseOne implementation, you can change processing options each time you run a batch application.

1. Security Flag

Use this processing option to specify how submitted jobs can be viewed. Values are:

Blank

No Security

1

Allow users to view jobs by group.

2

Allow users to view only their own jobs.

4.2.4 Checking the Status of Reports

Access the Submitted Job Search form.

User ID

Change the user ID if you want to work with a report submitted by a different user. You can use a wildcard (*) to find a specific user. The default user ID is the user logged on to the current session.

Job Queue

Enter the name of the logical queue on the server for which you want to view jobs.

Status

Click the search button in the Status field to read the UDCs for status codes in the installation.

4.2.5 Changing the Priority and the Printer for Jobs

Access the Work With Servers form.

  1. Select a server with which to work and, from the Row menu, select Server Jobs.

    By default, the Submitted Job Search form lists jobs for the User ID for the requesting workstation. Depending on the application security level, you can change the User ID field and the Job Queue field to search for other jobs.

    Note:

    A job must be at a status of W (Waiting) to change the priority.
  2. Select a job with which to work and click Select.

  3. On the Job Maintenance form, modify the information in the Job Priority field and click OK. The value that you enter in this field determines how the job will execute based on this priority. Values 0-9 are valid, where 0 is the highest priority.

4.2.6 Printing Jobs

Access the Work With Servers form.

  1. From the Row menu, select Server Jobs.

  2. On the Submitted Job Search form, select the job that you want to print, and then choose Print from the Row menu.

    The Printer Selection form appears. This form provides printer-specific information as well as information about the format of the report.

  3. To print the job, click OK.

4.2.7 Viewing Reports Online

Access the Work With Servers form.

Note:

Before you view the report online, verify that you have Adobe Acrobat Reader installed on the workstation.
  1. Select a server from the list and then click Select or select Server Jobs from the Row menu.

  2. On the Submitted Job Search form, select the job that you want to view and then select View Job from the Row menu.

    Adobe Acrobat Reader displays an online version of the report output.

4.2.8 Viewing the Logs for a Job

Access the Work With Servers form.

  1. Select the server that processed the job that you want to view, and click Select, or select Server Jobs from the Row menu.

  2. On the Submitted Job Search form, select the job for which you want to view a log, and then select View Logs from the Row menu.

    The View Logs form appears. On this form, you can view the jde.log and the jdedebug.log.

  3. Click OK to view the logs.

    Note:

    If you choose both the jde.log and the jdedebug.log, the logs open in the same window. To view the logs separately, you must select the logs separately.

4.2.9 Terminating Jobs

Access the Work With Server form.

  1. Select a server from the list or use the query by example row to select a specific server.

  2. Click Select or select Server Jobs from the Row menu.

  3. On the Submitted Job Search form, select the job to terminate, and then select Terminate from the Row menu.

    Note:

    A job must be at a status of P (processing) to terminate the job.
  4. Click Find to update the detail area.

    The status of the job changes to E (error).

4.2.10 Holding and Releasing Jobs

Access the Work With Servers form.

  1. Select a server from the list or use the query by example row to select a specific server.

  2. Click Select or select Server Jobs from the Row menu.

    The Submitted Job Search form appears.

  3. To hold a job, select the job and then select Hold from the Row menu.

  4. Click Find to update the detail area.

    The status of the job changes to H (Hold).

  5. To release a job, select the job and then select Release from the Row menu.

    The job must be at the status of H (Hold).

  6. Click Find to update the detail area.

    The status of the job changes to reflect the position of the job in the queue, for example, W (Waiting), S (In Queue), or P (Processing).

4.3 Managing Job Queues

This section provides an overview of job queues and discusses how to:

  • Add a job queue.

  • Copy a job queue.

  • Change the status of a job queue.

  • Override a job queue.

4.3.1 Understanding Job Queues

Each JD Edwards EnterpriseOne server instance starts a queue kernel process that manages batch processes across operating system platforms. The process keeps track of all jobs that are submitted and controls the order in which the jobs run.

JD Edwards EnterpriseOne uses two tables to maintain queue records:

  • Job Control Status Master table (F986110), which maintains records on the status of each job submitted to a queue.

  • Queue Control Status Master table (F986130), which stores the names of each queue, such as QBATCH, the name of the server on which the queue runs, the port number for the server instance, the queue status and type, and the maximum number of active jobs allowed.

    Note:

    Since F986130 is a system table, be sure to account for it when you map objects using Object Configuration Manager (OCM).

The following list summarizes how the software, using the queue kernel, manages a UBE that you launch:

  • Starts queue kernel when the server instance starts.

  • Verifies that a record exists in the F986130 table for the queue to which the job is submitted. If the job is intended for a non-EnterpriseOne queue, verifies that the native queue (for example, IBM i) exists.

  • Inserts job record into the F986110 table.

  • Sends a message to the queue kernel that the new job exists.

  • Adds the job to a wait list.

  • Schedules the job or submits it to the native queue.

  • Starts the job.

  • Runs the job.

  • Updates the job record in the F986110 table upon receiving a message from the UBE process that the job is complete.

  • Removes the job from the list of active jobs.

  • Schedules another job.

The queue kernel also follows a subroutine in scheduling jobs. The following list summarizes the subroutine that the queue kernel follows:

  • Verifies that jobs in the queue are waiting to be run.

  • Verifies that the number of jobs waiting to be run is less than the maximum number of jobs allowed for the queue.

  • Takes the highest priority job from the wait list and updates its status to S (Submitted).

  • Removes the job from the wait list and adds it to the active list.

4.3.1.1 Administering Job Queues

Use the Job Queue Maintenance application (P986130) to define and manage job queues. This application enables you to dynamically administer job queues. You can use this application to create, modify, copy, delete, or change the status of job queues, regardless of platform. For example, you can use this application to add a queue record to the Queue Control Status Master table (F986130). You can also revise an existing queue record. For example, you might want to change the maximum number of jobs that can run in a queue.

In addition, when you set up job queues, you can define a default queue in which to submit jobs.

4.3.1.2 Overriding a Job Queue

When you prepare to submit a batch application, you can change the values of the parameters that define the submission by overriding the job queue. Overriding the job queue means that you change the job queue to which the job is submitted on the server.

To override the job queue for a batch version, you launch the Batch Versions application (P98305), select a batch version, and access the Advanced Version Prompting form (W98305I). The override queue must be one that is available for the server and port.

In working with the Advanced Version Prompting form, you can override the job queue only if the queue kernel is active and if the batch version is mapped to run on the server. If the batch version is mapped to run locally, you cannot override the job queue, even if the queue kernel is active, unless you select the Override Location option.

Note:

Overriding the job location means that you change the machine that will run the batch application. For example, a batch application might run locally by default. You can override the processing location to a server, and the batch application will run on the server. Conversely, you can change the processing location from a server to a workstation.

JD Edwards EnterpriseOne displays a Verify Overriding the Job Queue form if the job runs locally and you do not override the processing location.

The status of the queue kernel and the default processing location for the batch application determine the way the Override Job Queue option appears in the Advanced Version Prompting form. The following table summarizes the queue kernel status and processing location combinations that can occur, and the effect each combination has on the Override Job Queue option:

Queue Kernel Status UBE Processing Location Status of Job Queue Override Option
Inactive Local or server Not visible
Active Local Visible but disabled
Active Local, but Override Location option chosen Enabled
Active Server Enabled

4.3.2 Prerequisites

Before you work with job queues, you must activate the queue kernel. To do so, perform these tasks:

  • Make sure that the server's jde.ini file contains these settings:

    [JDENET_KERNEL_DEF14]
    krnlName=QUEUE KERNEL
    dispatchDLLName=jdekrnl.dlldispatchDLLFunction=_DispatchQueueMessage@28max
    NumberofProcesses=1numberofAutoSartProcesses=0
    
    [DEBUG]
    QKLog=0
    

    Where a value of 0 means that only an error log is generated. You can change the setting to 1 if you need to generate debug logs for troubleshooting purposes.

    [NETWORK QUEUE SETTINGS]
    QKActive=1QKOnIdle=300
    

    Where a value of 1 means that the queue kernel is active and a value of 300 sets the queue kernel on idle time to 300 seconds.

  • Add the following setting to the client jde.ini file:

    [NETWORK QUEUE SETTINGS]
    QKActive=1
    

4.3.3 Forms Used to Manage Job Queues

Form Name FormID Navigation Usage
Work With Job Queues W986130A Batch Processing Setup menu (GH9013), Job Queues (P986130). Add a job queue and change the status of a queue.
Job Queue Revisions W986130B On the Work With Job Queues form, click Add. Add information for a new job queue. Revise or copy a job queue.
Work With Batch Versions - Available Versions W98305A Report Management (GH9111), Batch Versions (P98305). Override a job queue.
Version Prompting W98305D On the Work With Batch Versions - Available Versions form, select a version, and then click Select. Access the Advanced Version Prompting form. Enter data selection or data sequencing.
Advanced Version Prompting W983051 On Version Prompting, select Advanced from the Form menu. Select the Override Job Queue option.
Job Queue Search W986130C On Version Prompting, click Submit. Find and select the job queue that you want to override.

4.3.4 Adding a Job Queue

Access the Work With Job Queues form.

  1. Click Add.

  2. On the Job Queue Revisions form, in the Host field, enter the name of the server on which the queue will run.

  3. Enter the name of the queue in the Job Queue field.

  4. In the Job Queue Status field, enter 01 if you want the queue to be active, or 02 if you want the queue to be inactive.

  5. In the Queue Type field, define whether the queue is a JD Edwards EnterpriseOne queue or a non-EnterpriseOne queue.

    A non-EnterpriseOne queue works only on the IBM i server.

  6. In the Maximum Batch Jobs field, define the maximum number of jobs that can run in the queue.

  7. In the Port Number field, specify the port number for the server instance on which the queue will run.

  8. In the Default Queue field, check the box for the default queue, or leave it blank for a non-default queue.

4.3.5 Copying a Job Queue

Access the Work With Job Queues form.

  1. On the Work With Job Queues form, find the queue that you want to copy and click Copy.

  2. On Job Queue Revisions, you can modify any of these fields:

    • Host

    • Job Queue

    • Job Queue Status

    • Queue Type

    • Maximum Batch Jobs

    • Port Number

    • Default Queue

  3. Click OK to complete the copy.

4.3.6 Changing the Status of a Job Queue

Access the Work With Job Queues form.

  1. On the Work With Job Queues form, find the queue whose status you want to change.

  2. From the Row menu, select Change Status.

    JD Edwards EnterpriseOne changes the status of the queue from Active to Inactive or from Inactive to Active, depending on its previous status.

4.3.7 Overriding a Job Queue

Access the Work With Batch Versions - Available Versions form.

  1. On the Work With Batch Versions - Available Versions form, find a version of a job that you want to submit and click Select.

  2. On the Version Prompting form, select Advanced from the Form menu.

  3. On the Advanced Version Prompting form, select the Override Job Queue option and click OK.

    Note:

    If the queue kernel is not active, this option is not visible.
  4. In the Version Prompting form, select either, both, or neither of these options and click Submit:

    • Data Selection

    • Data Sequencing

  5. On the Job Queue Search form, find the name of an available queue for the host and port name.

  6. Select the queue that you want to override to and click Select.

  7. Complete the data selection and sequencing and the processing options required to submit the job and select a printer, if necessary.

4.4 Managing JD Edwards EnterpriseOne Subsystems

This section provides an overview of JD Edwards EnterpriseOne subsystems and discusses how to:

  • Locate subsystems running on a server.

  • Review job records for subsystems.

  • Terminate subsystems.

4.4.1 Understanding JD Edwards EnterpriseOne Subsystems

Within JD Edwards EnterpriseOne, subsystems are defined as continuously running batch jobs that run independently of, and asynchronously with, JD Edwards EnterpriseOne applications. Subsystem jobs function within the logical process of the operating system or the queue defined for the server platform. You can configure JD Edwards EnterpriseOne to use one or more subsystems.

The term subsystem is an industry-wide generic term that usually indicates a system that is a subprocess to an operating system. On IBM i server platforms, a subsystem is a logical process that is used to run system jobs, whether they are JD Edwards EnterpriseOne or other application jobs. For UNIX, JD Edwards EnterpriseOne subsystem is functionally equivalent to a daemon. On UNIX and Windows server platforms, system jobs are processed in queues; these queues are functionally equivalent to subsystems on the IBM i platform.

4.4.1.1 How JD Edwards EnterpriseOne Uses Subsystems

Some JD Edwards EnterpriseOne applications are designed to use subsystems to complete needed work. For example, you can instruct Sales Order Processing to print pick slips through a JD Edwards EnterpriseOne subsystem. You activate a subsystem through the processing options of a batch application. Then you create a specific version of the batch application, using that processing option to run the application in subsystem mode.

You must manually start subsystems to minimize the consumption of system resources. When started, JD Edwards EnterpriseOne subsystems run continuously, looking for and processing requests from JD Edwards EnterpriseOne applications. Subsystems run until you terminate them.

Typically, you use subsystem jobs running on the enterprise server to off load processor resources from the workstation. Instead of queuing requests and running them in batches at specified times of the day, you can direct the requests to a subsystem, where they are processed in realtime. For example, you might be running the Sales Order Entry application on a workstation and want to print pick slips. If you are using a version of pick slips that has the Subsystem Job function enabled, the request is executed by a subsystem job. The pick slip request is routed to and processed by the subsystem job on the defined enterprise server. As a result, no additional processing resources are required from the workstation machine to actually print the pick slip.

When an application issues a request for a job to run in a subsystem, it places a record in the Subsystem Job Master table (F986113). These records are identified by subsystem job name and contain status and operational indicators. Embedded in the record is key information that allows the subsystem to process the record without additional interaction with the requesting application. The continuously running subsystem monitors the records in this table. If the subsystem finds a record with its process ID and appropriate status indicators, it processes the record and updates the status accordingly.

This illustration displays the logical sequence of events associated with subsystems:

Figure 4-1 Logical sequence of events associated with subsystems

Description of Figure 4-1 follows
Description of "Figure 4-1 Logical sequence of events associated with subsystems"

4.4.1.2 Enabling Subsystems

To prevent excessive processing overhead during server startup and to prevent unnecessary uses of processor resources for subsystem jobs that might be in use, you must manually start subsystems. Generally, the system administrator or manager-level user is responsible for this task. To manually start subsystems, a version of a JD Edwards EnterpriseOne batch process with a processing option set to enable the use of subsystems is run.

As described, the way that you initially control the creation and start-up of these subsystems and queues depends on the server platform.

Platform (Subsystem or Queue) Description
IBM i (JDENET) One IBM i subsystem is used for JD Edwards EnterpriseOne. This subsystem is started automatically when you issue the JD Edwards EnterpriseOne startup command STRNET. The subsystem name is version-specific. For example, for release 9.0, the subsystem name is psft900.

To process requests that are destined for JD Edwards EnterpriseOne subsystems, you must define a specific job queue running under the JDENET subsystem. For example, a job queue might be named QBATCH.

User requests for JD Edwards EnterpriseOne subsystem-defined batch jobs are executed by the job queue that is based on definition in the IBM i user profile.

UNIX (jdequeue) One or more queues can exist for JD Edwards EnterpriseOne. These queues can be named the same or differently. You define queues by parameters in the startup shell scrip RunOneWorld.sh.

To process requests that are destined for subsystems, you must define one or more queues. For example, a jdequeue might be named QBATCH.

User requests for subsystem-defined batch jobs are executed by the job queue, based on the process ID.

NT (jde.ini settings) One or more queues can exist for JD Edwards EnterpriseOne. These queues must have the same name. You define queues using settings in the jde.ini file.

To process requests that are destined for subsystems, you must define the name and number of queues in the [NETWORK QUEUE SETTINGS] section of the jde.ini file. For example, a jdequeue might be named QBATCH.

User requests for subsystem-defined batch jobs are executed by the job queue, based on the process ID.


System administrators can display all of the subsystems that are running on a server by using the Subsystem Jobs application (P986113). Use this application to:

  • Locate a list of subsystems that are running on a server.

  • Locate a list of subsystem records that are unprocessed (not available for IBM i servers).

  • Locate the current record that a subsystem is processing (not available for IBM i servers).

  • Stop or delete any subsystem.

4.4.1.3 Subsystem Job Records

Multiple JD Edwards EnterpriseOne processes write records to the Subsystem Job Master table (F986113). Each record has a status code that identifies subsystem request types and operational status. You can use Work With Server Jobs to view the records in this table.

4.4.1.4 Terminating Subsystems

You can use Work With Server Jobs to terminate subsystems. The following two methods of termination are available:

  • Stopping a subsystem job causes it to terminate after it completes processing the current record. Additional unprocessed records in the Subsystem Job Master table (F986113) will not be processed, and no new records can be written. Essentially, the unprocessed records will be lost; that is, the process that initiated the record is not notified that the record was not processed.

  • Ending a subsystem job causes it to terminate after processing all of the existing subsystem records. No new records can be written to the Subsystem Job Master table (F986113).

4.4.2 Forms Used to Manage JD Edwards EnterpriseOne Subsystems

Form Name FormID Navigation Usage
Work With Servers W986116A System Administration Tools (GH9011), Data Source Management, Work With Servers (P986116). Select a server in which you want to locate a subsystem.
Work With Subsystems W986113A On the Work With Servers form, from the Row menu, select Subsystem jobs. Review the status and type of the subsystem. Stop or end a subsystem.
View Jobs NA On the Work With Subsystems form, from the Row menu, select View Jobs. Review server jobs and job types.

4.4.3 Locating Subsystems Running on a Server

Access the Work With Servers form.

  1. On the Work With Servers form, select a server from the list or use the query by example row to select a specific server.

  2. From the Row menu, select Subsystem Jobs.

  3. On the Work With Subsystems form, select one of these options:

    • &Processes

      A process is a subsystem that is waiting for work. It is identified by an S (subsystem job) value in the Job Type field.

    • &Waiting Jobs

      Waiting jobs are report jobs that are queued for a subsystem. They are identified by an R (subsystem record) value in the Job Type field.

      All currently running subsystems are displayed. Report number and version identify the running subsystems.

  4. Review these fields in the detail area to note the type and status of the subsystem:

    Field Description
    Job Type Indicates the subsystem type. Values are:
    • R

      Subsystem record.

    • S

      Subsystem job.

    Job Status Indicates the status of the subsystem job or record. Values are:
    • W

      Subsystem record waiting.

    • P

      Subsystem record processing.

    • E

      Subsystem record to end the job.

    • R

      Subsystem job running.


4.4.4 Reviewing Job Records for Subsystems

Access the Work With Subsystems form.

  1. After locating a subsystem job, on the Work With Subsystems form, click Find.

  2. Select a record in the detail area, and then select View Jobs from the Row menu.

  3. On the View Jobs form, click Find.

    A list is displayed for all server jobs in the Subsystem Job Master (F986113) with an R (subsystem job running) job type.

4.4.5 Terminating Subsystems

Access the Work With Subsystems form.

  1. Select the running subsystem that you want to stop.

  2. To stop a subsystem, from the Row menu, select Stop Subsystem.

    Note:

    If you are viewing Waiting Jobs from Work With Server Jobs or if you are viewing subsystem jobs by selecting the View Jobs from Work With Server Jobs, the Stop Subsystem selection is disabled from the Row menu selection.
  3. To end a subsystem, from the Row menu, select End Subsystem Job.

    Note:

    If you are viewing Waiting Jobs from Work With Subsystems, the End Subsystem selection is disabled from the Row menu selection.
  4. On End Subsystem Job, click OK.