How to Create a Batch Application to End Subsystem Jobs

Purpose of Document

Currently there is no standard batch application which enabling End Subsystem Jobs before restart JDE Services. Is there any way to fulfill this? 

This document is to provide some suggestions on how to create a batch application that can end subsystem processing. 

NOTE: This document requires that the user have an understanding of Subsystem Processing as well as a strong knowledge in using the Report Design Aid (RDA) tool and developing using Event Rules. Oracle Support will not provide support for creating this Batch Application or the results of the Application. Any application that is created should be thoroughly tested before it is implemented in Production.  This document is provided as simply a reference on how this could be implemented.



Refer to <Note 625418.1>- E1: 40: Subsystem Processing for more details on Subsystem processing.


Important !!!

 

How EnterpriseOne Handles a Subsystem Job through an Interactive Application:

    1. After restarting JDE services, you may submit a subsystem version to where the Job is running manually. This version inserts data into the F986113 with F986113.JOBSTS(Job Type) = 'S - Subsystem Job' and F986113.OPCR (Job Status) = 'R - Running'
    2. When clicking 'End Subsystem Job' this inserts data into the F986113 with F986113.JOBSTS(Job Type) = 'R - Subsystem Record' and F986113.OPCR (Job Status) = 'E - Subsystem Record to End Job'
    3. Then Table Trigger (encapsulated) against the F986113 table will delete the record which was created in step 1, subsequently it sets the F986110.JOBSTS (Job Status) into 'D - Done'

Therefore, this routine can be implemented into a batch application by following these steps:

1. Get Job Information from F986110 (or hardcode it)
   This information can be retrieved after getting F986110.FNDFUF2 (Job Detail)
2. Get Job Number from F986110
With PID, VERS and F98611.JOBSTS (Job Status) = 'P - Processing', this returns a unique Job Number

3. Get Original Host, Submit Date and Time through B9800100 - GetAuditInfo (or, Get Audit Information)
4. Hard code additional information (This settings affect actual result)
5. Insert data into F986113 through JDE Table I/O

F986113.Insert
VA evt_ProgramId_PID -> TK Program ID
VA evt_Version_VERS -> TK Version History
VA evt_ServerJobNumber_JOBNBR -> TK Server Job Number
VA evt_JobstatusOW_JOBSTS -> TK Job Status
VA evt_UBEOptionCode_OPCR -> TK UBE Option Code
VA evt_ExecutionHostName_EXEHOST -> TK Execution Host Name
VA evt_OriginationHostName_ORGHOS -> TK Origination Host Name
VA evt_EnvironmentName_ENHV -> TK Environment Name
VA evt_UserId_USER -> TK User ID
VA evt_DateJobSubmitted_SBMDATE -> TK Date - Job Submitted
VA evt_TimeJobSubmitted_SBMTIME -> TK Time Job Submitted
VA evt_OptionalItemFlag_KOPT -> TK Optional Item
6. Verify that this action gives you the same result with button click of 'End Subsystem Job' in P986113 - [Work with Subsystem]

7. Do not call the business function TerminateJob to handle data from F986110 as table trigger implemented here will take care of processing the job properly.
Disclaimer: Oracle will not be responsible for the changes made to standard programs due to this implementation and Oracle will not maintain any of these custom changes or be responsible for any problems arising from these changes.