Understanding the Process of Adding Records to the Subsystem Table Using an API

You can use an API to add records to the subsystem table to enable the subsystem job to perform batch processes. To add records to the subsystem table:

  1. Create a business function using Microsoft Visual C++.

  2. In Oracle's JD Edwards EnterpriseOne Report Design Aid (RDA), create a report data structure in the report template.

    Add the appropriate data items to the report data structure.

  3. Generate a header file in the report template.

    The header file takes the form of Report_Name.h and is located in the $environ\include subdirectory under the folder.

    E812

    This example illustrates the subsystem job header file:

    #include <jde.h>
    /************************************************************
     Report : R98SSUBE * ReportId : 8123244 * DSTRId : 380813 *
    * Note: * Do not edit the following typedef
    * To make modifications, use the Report Design Aid Tool to
     Generate a revised version.
    ********************************************************/
    #ifndef REPORT_DS_380813 #define REPORT_DS_380813
    typedef struct tagDS_RI_380813 { char       
    ProgramId[11]; } DSRI380813, *LPDSRI380813;
    #define IDERRProgramId_1         1L
    #endif /* #define REPORT_DS_380813*/
    #endif /* #define_R98SSUBE_H */
    
  4. Add the header file to the business function using Microsoft Visual C++.

  5. In the program to be called, call the business function using the appropriate event in Event Rules Design.

For example, you can create event rules that call a business function when the user clicks OK in the Oracle's JD Edwards EnterpriseOne Sales Order Entry (P4210) application. The business function uses the report's data structure and the subsystem's APIs to trigger the subsystem report. The API record retrieves the data structure and user information from the cache. If the server name is not passed, the API finds Object Map Record from the Data Source Master (F98611) table. If the record exists, it uses the record to send a JDENet Message to the server's subsystem kernel to add the record to the subsystem table on the server. However, if the user provides an override server name, the JDENet message is sent to that server's subsystem kernel instead. Each server is allowed to have only one subsystem kernel running.