A Generating JD Edwards EnterpriseOne Serialized Objects

This appendix describes the tasks to install eGenerator and generate JD Edwards EnterpriseOne JAS objects from a set of JD Edwards EnterpriseOne objects. It contains the following topics:

A.1 Generating JD Edwards EnterpriseOne Serialized Objects Overview

The first step is determine which JDK to use:

  • HTML Server with WebSphere Application Server 7.0

    You must use JDK version 1.6 on your eGenerator script.

  • HTML Server with WebSphere Application Server 8.5.x

    You must use JDK version 1.7 on your eGenerator script.

    Note:

    If you are running eGenerator on your Development Client for WebSphere 8.5.x, you will need JDK 1.6 32-bit for your Development Client and JDK 1.7 for the eGenerator.

On UNIX systems, the Java program that will be executed on your system is determine by this variable setting for WebSphere Express:

set JAVA_PGM=%BASE_WEBSPHERE_EXPRESS_DIR%\java\bin\java.exe

Starting with application release 8.12, JD Edwards EnterpriseOne specs are delivered in XML format, which allows for on-demand generation of serialized objects from these XML specs. Objects are now automatically generated when the first user accesses an application.

eGenerator can still be used to manually generate serialized objects. It is the only method for generating FDA-created portlets, so is required if you installed a JD Edwards EnterpriseOne Portal. eGenerator is also an optional path for generating any set of objects, including a complete set of objects.

The eGenerator allows manual control over the process that turns JD Edwards EnterpriseOne specifications into Java code, which enables you to access JD Edwards EnterpriseOne applications in HTML. The JD Edwards EnterpriseOne forms and applications that you generate, either manually from eGenerator, or automatically using on-demand generation, are serialized Java objects. JD Edwards EnterpriseOne stores these objects in a database (in serialized object tables F989998 & F989999), and retrieves them at runtime.

eGenerator requires a specific machine configuration. While it is possible to configure a web server as the generation machine for release 8.12, you should dedicate a separate generation machine for this process. The configuration of this machine depends on the release of JD Edwards EnterpriseOne you installed.

If you upgraded to JD Edwards EnterpriseOne from a previous release and customized your JD Edwards EnterpriseOne objects, you should first test your custom modifications, then generate serialized JAS objects from the upgraded path code.

A.2 Installing eGenerator

This topic discusses the tasks you follow to install the eGenerator:

A.2.1 Prerequisites

Before you install the eGenerator, verify that the tasks below are completed for your version of JD Edwards EnterpriseOne:

A.2.2 Preparing JD Edwards EnterpriseOne for Serialized Objects

Before you generate serialized Java objects in JD Edwards EnterpriseOne, complete this task to link to the JD Edwards EnterpriseOne serialized object tables on the Java generation machine.

Complete this task only if you want to generate serialized objects on a different location other than the datasouce listed in the Object Configuration Manager (OCM). If you choose this option, you can use this procedure to edit the JD Edwards EnterpriseOne Spec database.

  1. Sign on to Server Manager Console.

  2. Open the database configuration of the HTML instance.

    Surrounding text describes jdbj_spec_datasource.gif.
  3. On JDBj Spec Datasource, enter the Spec Datasource information.

  4. Save the configuration and restart the HTML instance.

A.3 Working with the eGenerator

This section describes these topics:

Each method of generation has a specific way to log into eGenerator. Select the task that corresponds to the way you want to generate objects.

A.3.1 Running the eGenerator Diagnostic Tool

eGenerator now includes an application that is automatically launched every time eGenerator is started. This application is a diagnostic tool that checks the configuration of eGenerator and reports incorrect settings. The diagnostic tool categorizes errors into two types: fatal and non-fatal. If a fatal error is detected, the application displays an error message and does not enable eGenerator to launch. If a non-fatal error is detected, the application displays an error message but enables you to continue with the Generation process.

Note:

The auto diagnostic tool can be suppressed by launching gen.bat with the -nodiag parameter.

The auto diagnostic tool performs these operations for general use:

The auto diagnostic tool performs these operations for general use for Direct Generation:

Operation Fatal Error
Generates a Web Code Level Object, which is used by JAS at startup to determine if its code matches the generated objects. X
Checks the location of the jas.ini file and validates these key parameters in the file.  
Checks the location of the location of the jas logs.  

For JAS Generation only

Operation Fatal Error
Verifies that the Tools Release of the JAS code on the generation machine matches the Tools Release of the JAS code on the HTML Server (fatal error). X

A.3.2 Generate Using the Web Server

Complete this task to generate objects using the web server.

  1. On your generation machine, select your configuration below, navigate to this directory:

    x:\<release>\JAS

    Note:

    If you do not want to run the diagnostic program, include the parameter -nodiag in the command statement when you run launchGen.bat. See the section, Running the eGenerator Diagnostic Tool, for more information about the autodiagnostic tool.
  2. From the above directory, run the launchGen.bat file.

    Surrounding text describes gen_new002.gif.
  3. On Generator, complete this field:

    • JAS Server Name

      Enter machine name:port, where machine name is the name of your web server and port is the port number for the EnterpriseOne instance.

  4. Click the Connect button.

  5. Enter the login information for JD Edwards EnterpriseOne. After the connection is successful, the eGenerator is properly configured to generate the objects through the Web Server you specified.

  6. Select where the specs exist for generation. You can generate specs from a specific set of Central Objects or a particular path code. By default, Default Spec Files will be used. Default Spec Files reside on the local machine.

    Choose one of the following options:

    • To generate specs from a particular set of Central Objects:

      Click the Central Objects radio button, and enter the Path Code where the specs are stored.

      Surrounding text describes gen_new003.gif.
    • To generate specs from a specific package:

      Click the Package radio button, and enter the name of the Package and the DataSource where the specs are stored.

      Surrounding text describes gen_new004.gif.
  7. Click Connect.

    The system connects to the Web server that you indicated. A message appears on the status bar when login is complete.

    Once you have logged in to a Web server, skip the following task and refer to the sections below it for information on how to generate objects.

A.3.3 Bypass the Web Server and Generate Serialized Objects Directly to the Serialized Object Tables

Select direct generation by clicking the Direct Generation radio button in the Connection section on the eGenerator application.

In this mode, the generator initializes a "mini" HTML Web Server instance on the generation machine. During generation, the generator will by-pass the actual HTMl Web Server and store the objects directly to the serialized object tables. After you complete this task, you can set up the HTML Server to read from the pre-populated serialized object tables.

Advantages:

  • Can generate objects before setting up the HTML Server.

  • Faster for all forms of generation.

  • Easier to maintain.

Disadvantages: You must configure the generation machine.

Complete this task to generate objects directly to a database.

  1. Run the launchGen.bat file.

    Note:

    If you do not want to run the diagnostic program, include the parameter -nodiag in the command statement when you run launchGen.bat. See the section, Section A.3.1, "Running the eGenerator Diagnostic Tool", for more information about the autodiagnostic tool.
    Surrounding text describes gen_new001.gif.
  2. On Generator, click the Direct Generation radio button.

    In Direct Generation Mode the eGenerator locates the serialized object database by looking for the database server in the server= setting of the JDBj-SPEC DATA SOURCE section of the jdbj.ini file located on the generation machine.

  3. Click the Connect button and enter the login information for JD Edwards EnterpriseOne.

    The system bypasses the Web server and connects directly to the database specified in the jdbj.ini file.

A.4 Configuring eGenerator

eGenerator includes a number of options you can set up for your particular environment. The configuration process consists of these tasks:

A.4.1 Setting eGenerator Options

Before generating objects, you can define a variety of parameters that affect how the eGenerator functions.

  1. From the pull-down menu, select OptionsAdvanced Settings.

  2. On Advanced Settings, select the options appropriate for your generation requirements

    Surrounding text describes gen_new005.gif.
    • Logging

      Specify whether to log the generation process by clicking the check boxes next to the Status and Error logs. You can also enter the location of the log files. Logging is crucial for troubleshooting problems with the generation process.

    • Generation Modes

      Specify if the generation of All Objects will be done in parallel mode or sequential mode by checking the appropriate radio button.

      For more information on Generation Modes, see Generation Modes.

    • User Option

      You can generate a public version of the applications or a personal version by choosing the relevant option. Personal versions are only available to the person who created the versions, and are only intended for developers.

    • Protocol Option

      Starting with Tool Release 9.1.4, you can choose the HTTPS Protocol connection to the Web Server. You must include the HTML server certificate location in the gen.bat file. The location is set by the -Djavax.net.ssl.trustStore= parameter (bolded) as shown in this example:

      %JAVA_PGM% -Xss1m -Xms128m -Xmx512m -Ddefault_path=%INI_DIR% -Djavax.net.ssl.trustStore=Z:/E910/e1keystore -classpath %GEN_CLASSPATH% com.jdedwards.runtime.generator.Generator %1
      

      %JAVA_PGM% -Xss1m -Xms128m -Xmx512m -Ddefault_path=%INI_DIR% -Djavax.net.ssl.trustStore=Z:/E910/e1keystore -classpath %GEN_CLASSPATH% com.jdedwards.runtime.generator.Generator %1

A.4.1.1 Generation Modes

The eGenerator has these modes for generating web objects:

A.4.1.1.1 Sequential Generation

In this mode the web objects are generated one after the other when you select the Generate-All Objects option. You can set this mode by clicking OptionsAdvanced Settings, then clicking Sequential Generation.

Advantages:

  • Most stable mode of generation.

  • Requires the least system resources, e.g. memory.

  • Safe to use during a JITI (Just in Time Install) process.

Disadvantage: The generation process can take longer.

A.4.1.1.2 Parallel Generation

This is the default mode of generation. You can turn off this mode of generation by clicking Advanced Settings, then clicking Sequential Generation.

In this mode of generation the web objects are generated concurrently when you select the Generate-All Objects option

Advantage: Faster than Sequential Generation, especially with multi-processor workstations and fast database connections.

Disadvantages:

  • Cannot be used when the user doesn't have the full set of spec files, because JITI might occur.

  • If a JITI occurs during parallel generation, the spec files can get corrupted.

A.4.2 Choosing Languages

You can generate applications and reports in the language you desire by selecting any of the supported languages on the eGenerator application.

Note:

You must install the Language CD for each language you want to use.

To select languages 

  1. On eGenerator, select OptionsLanguages from the pull-down menu.

    Surrounding text describes generator_002.gif.
  2. Click the check box next to each of the languages you want to use.

  3. Click OK.

A.4.3 Configuring the genapp.ini File

The genapp.ini file contains the list of applications that you want generated in a mode other than the default mode, which is mode 1. In the genapp.ini file, you can list applications you want generated in one of the other modes: Mode 2 or Mode 3.

Do not modify this file unless you created custom applications using Mode 2 or Mode 3.

A.5 Generating the Serialized Object Manifest

The section describes how to generate the manifest for the set of objects in the serialized object tables. For an overview of the serialized object manifest and a description of the package discovery process, refer to Understanding EnterpriseOne HTML Server Package Discovery.

To generate serialized object manifests 

  1. From the pull-down menu, select GenerateManifest.

    Surrounding text describes manifest_info.gif.
  2. Click Create Manifest.

    Surrounding text describes manifest_creation_warning.gif.
  3. Click Yes.

    The program creates the manifest and closes the window.

  4. To view the manifest that was created, from the pull down menu, select GenerateManifest.

    Surrounding text describes manifest_creation_xml.gif.

    The Manifest Info section displays the name of the package, the build date, and the deployment date. This manifest shows that no update packages were deployed.

    The Manifest Audit Info field contains information about the user and the machine that created the manifest.

A.6 Generating All Standard Serialized Objects

eGenerator can generate a complete set of Java Serialized Objects from JD Edwards EnterpriseOne objects. These serialized objects enable you access to all JD Edwards EnterpriseOne objects when you run your web server. If, however, you only want to generate a partial set of objects, skip this task and complete the relevant task in the section: Section A.9, "Generating Other Selected Objects".

Complete this task to generate a complete set of JD Edwards EnterpriseOne objects.

  1. From the pull-down menu, select File > Core Objects.

    For more information on generating core objects, see Section A.9.1, "Generating Core Objects".

  2. If the core objects generate successfully, from the pull-down menu, select Generate > All Objects.

    Surrounding text describes generator_all_objs.gif.
  3. On Generate All Objects, check all the objects listed.

  4. Click the Start button.

    eGenerator checks the database connection before it attempts to generate objects.

    If it cannot connect to the database, eGenerator displays this screen:

    Surrounding text describes gen_check_connection.gif.
  5. If this screen displays, click the Stop button and verify the connection to the database.

  6. If the last Generate-All session did not conclude successfully, eGenerator displays a screen with the details of the failed generation.

    Select one of these options:

    • To resume the previous generation process, click RESUME OLD SESSION. You should select this option, which restarts the previous process from the point of failure. Once the previous process completes, you can repeat this task to generate the new set of objects.

    • To cancel the previous generation process and generate the new objects, click CREATE NEW SESSION.

      Select this option if you are currently generating a complete new set of all object types.

    In either case, an object set starts generating. The progress of object generation is displayed on the screen: the blue progress bar indicates the progress of the generation process, and the green progress bar indicates the progress of objects inserted into the database.

    If the database insertion of objects is not complete when the generation is done, the eGenerator displays the number of objects remaining in the queue.

    Once all the objects are inserted into the database, the program displays a message that the "Generation completed successfully."

A.7 Generating a List of Objects (Bulk Generation)

If you are running EnterpriseOne release 812, the JAS servers generates objects on demand. To reduce the performance impact of on-demand generation, you can manually generate a list of the most frequently used applications from a list defined in a text file, and let other applications or reports to be generated on demand.

A sample text file named BulkGen.txt is included with the HTML Server or Web Development Client under the WEB-INF directory. This file contains sample entries in the format that can be read by the eGenerator. Modify this file to include just the large, frequently used applications.

To run the bulk generation file 

  1. Run launchGen.bat.

  2. On eGenerator, complete this field:

    • Bulk Generation File: Enter the name of the file, or click Select File, and select the Bulk Generation File.

    It may take some time for the system to connect to the file.

  3. Select a Connection option (either Direct Generation or JAS Server).

  4. Select Default Spec Files.

  5. Click Connect.

  6. Log on to JD Edwards EnterpriseOne and click OK.

  7. From the pull-down menu at the top of the screen, select FileBulk Generation.

  8. Click Start.

    eGenerator will generate all the objects listed in the file you selected. When the process is complete, eGenerator displays a message: Generation Completed Successfully.

Tip:

The update package build generates a GeneratorList.txt file in the work directory of the package. The GeneratorList.txt file is a well formed bulk generation file that lists the objects included in the update package. You can use this file for Bulk Generation after deploying the update package.

A.8 Verifying the Generation Process

Complete these tasks to verify the generation is successful:

A.8.1 Checking Log Files

eGenerator enables you to automatically display the Status Log and Error Log files by selecting these options from a menu.

To display the Status Log 

  1. On eGenerator, select LogsStatus Log from the pull-down menu.

To display the Error Log 

  1. On Generator, select LogsError Log from the pull-down menu.

A.8.2 Checking Database Acknowledgements

The status log records whether an object is successfully inserted in the database. This enables the user to monitor the generation process and verify that objects are successfully generated.

These acknowledgments will not be printed for data dictionary Items or Data Structures, however, because they are too numerous to be printed on the command line screen.

Below is an example of the output:

Generating application P01012 ...
-->Database Ack:ER_P01012_W01012D successfully inserted into database
-->Database Ack:P01012_HTML_W01012D successfully inserted into database
-->Database Ack:ER_P01012_W01012B successfully inserted into database
-->Database Ack:P01012_HTML_W01012B successfully inserted into database
-->Database Ack:ER_P01012_W01012A successfully inserted into database
-->Database Ack:P01012_HTML_W01012A successfully inserted into database App
generation finished Generating 2 NERs -->Database Ack: ER_P01012_W01012C
successfully inserted into database -->Database Ack: P01012_HTML_W01012C
successfully inserted into database -->Database Ack: NER_PlugAndPlay_P0101
successfully inserted into database NER generation finished Generating 1 PO
Data Structure Items PO Data Structure generation finished Generating 2
Business Views Business View generation finished Generating 5 Tables Table
generation finished Generating 294 Data Dictionary Items Data Dictionary
generation finished Generating 30 Data Structure Items Data Structure
generation finished -->Database Ack:NER_UpdateChangedGeoCode successfully
inserted into database -->Database Ack: PODATAP01012 successfully inserted
into database -->Database Ack:VIEW_V0101E successfully inserted into
database -->Database Ack: TABLE_F0101 successfully inserted into database
-->Database Ack: TABLE_F0111 successfully inserted into database
-->Database Ack: TABLE_F0116 successfully inserted into database
-->Database Ack: TABLE_F03012successfully inserted into database
-->Database Ack: TABLE_F0401 successfully inserted into database

A.9 Generating Other Selected Objects

When you deploy an update package of JD Edwards EnterpriseOne objects, you can either depend on the on-demand feature of the HTML Server to generate serialized objects, or you can manually generate selected objects using eGenerator. eGenerator includes several methods of generating a partial set of serialized objects. All but one method, "Generating objects using the Bulk Generation File," are performed by selecting options from the eGenerator screen. The Bulk Generation file enables you to type selected objects directly into a text file and run this file in eGenerator.

Complete one of these tasks to generate a partial set of serialized objects.

A.9.1 Generating Core Objects

The core objects are the foundation objects required by other JD Edwards EnterpriseOne components. Generating these objects enables the Java server to run Task Explorer and the Portal without installing specific applications.

To generate core objects, on eGenerator, select FileCoreObjects from the pull-down menu.

eGenerator begins generating the core objects and their dependent Data Dictionary Items.

The eGenerator displays the status of the generation once the process is complete.

A.9.2 Generating Applications

Complete one of these tasks to generate one or more applications:

To generate an application:

  1. From the pull-down menu, select Generate -> Applications.

    Surrounding text describes generator_gen_apps_by.gif.
  2. Select Application Name, and enter the program number of the application (for example, P01012).

  3. Click Start.

    The Generator generates all forms contained in the application and all dependent objects used by the application.

  4. Check the Status Log for status of generation.

To generate applications by system code

  1. From the pull-down menu, select Generate ->Application.

  2. Select Generate by System Code, and type the number of the System Code in the field to the right.

    Surrounding text describes generator_gen_apps_by.gif.
  3. Click Start.

    eGenerator fetches all the applications under that system code.

  4. Confirm the applications were generated by checking the status and error logs.

  5. Use this SQL command to verify the applications reside in the database:

    SQL> select wboid from f989999 where wboid like P%W%;

You can generate applications by modes 1, 2 or 3. These modes determine the look and feel of the applications. For more information on Generation Modes, see the section "Generating Options" in Designing JD Edwards EnterpriseOne Web Applications.

To Generate applications by mode

  1. From the pull-down menu, select Generate -> Application.

  2. Select a mode.

    Surrounding text describes generator_apps_mode3.gif.
  3. Click Application Name, and enter the name of an application (for example, P01012).

  4. Click Start.

A.9.3 Generating Forms

To generate a form 

  1. From the pull-down menu, select GenerateApplications.

  2. Enter the form name in the Form Name field, for example, P01012_W01012A.

  3. Click Start.

    If the form name is invalid, this error message appears:

    Surrounding text describes gen_form_invalid.gif.

    If the application name is invalid, this error message appears:

    Surrounding text describes gen_form_invalid_name.gif.
  4. Check the status log for the generation status.

A.9.4 Generating Reports

Complete one of these tasks to generate one or more reports:

To generate a report

  1. From the pull-down menu, select Generate -> Reports.

  2. Enter the name of a report, (for example, R0006P).

  3. Click Start.

  4. Check the status log for the generation status.

    The Generator generates all versions of the report and their corresponding data selection, data sequencing, and Print Information Objects.

  5. Confirm the presence of the objects by checking the Status logs, or use this query to check the database:

    SQL> select wboid from f989999 where wboid like %<report_name>%;

To generate a report version

  1. From the pull-down menu, select Generate -> Reports.

  2. Enter a Report Name and Report Version, for example, R0006P, and XJDE0001.

    Surrounding text describes generate_reports.gif.
  3. Click Start.

    The Generator generates the version and any dependent objects.

  4. Check the status log for the generation status.

To generate reports by system code

  1. From the pull-down menu, select Generate ->Reports.

  2. Select Generate by System Code, and enter a number for the code.

  3. Click Start.

    Surrounding text describes generate_reports_by.gif.

    eGenerator fetches all the reports under that system code.

  4. Check the status and error logs to confirm that all the reports for that system code were generated.

A.9.5 Generating NERs

To generate NERs 

  1. From the pull-down menu, select GenerateNERs.

  2. Enter the name of an NER, for example, GetObjectDesc.

    Note:

    NERs are case sensitive.
    Surrounding text describes generate_ners.gif.
  3. Click Start.

  4. Check the status log for the generation status.

  5. Use this SQL command to verify that the objects reside in the database.

    SQL> select wboid from f989999 where wboid like <NER_ name>

A.9.6 Generating Data Dictionary Items

To generate Data Dictionary items 

  1. From the pull-down menu, select Generate -> Data Dictionary.

  2. Generate any data dictionary item, for example, OBNM.

    Surrounding text describes generate_dd.gif.
  3. Check the status log for the generation status.

  4. Use this SQL command to verify that the objects reside in the database.

    SQL> select wboid from f989999 where wboid like 'DICT_<dd_name>';

A.9.7 Generating Tables

To generate tables 

  1. From the pull-down menu, select Generate -> Tables.

  2. Enter a table number, for example, F9860.

    Surrounding text describes generate_table.gif.
  3. Click Start.

    eGenerator generates the table and all data dictionary items used by the table.

  4. Check the status log for the generation status.

A.9.8 Generating Business Views

To generate business views 

  1. From the pull-down menu, select Generate -> Business Views.

  2. Enter the name of a business view, for example, e.g. V9001B.

  3. Click Start.

    eGenerator generates the View and all associated tables and data dictionary items.

  4. Check the status log for the generation status.

    Surrounding text describes generator_bvs.gif.

A.9.9 Generating Data Structures

To generate data structures 

  1. From the pull-down menu, select Generate -> Data Structures.

  2. Enter the name of a data structure, for example, D9800150C.

    Surrounding text describes generate_ds.gif.
  3. Click Start.

    eGenerator generates the data structure.

  4. Check the status log for the generation status.

  5. Use this SQL command to verify that the objects reside in the database:

    SQL> select wboid from f989999 where wboid like 'DSTR_ <datastructure_name>'