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:
Section A.1, "Generating JD Edwards EnterpriseOne Serialized Objects Overview"
Section A.7, "Generating a List of Objects (Bulk Generation)"
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.
This topic discusses the tasks you follow to install the eGenerator:
Before you install the eGenerator, verify that the tasks below are completed for your version of JD Edwards EnterpriseOne:
Complete the task: "Copying the JDBC Drivers and the tnsnames.ora file to the Deployment Server" in the JD Edwards EnterpriseOne Development Client Installation Guide.
Caution:
This task must be completed by a JD Edwards EnterpriseOne system administrator before you complete any of the tasks below.Install the Web Development Client to set up eGenerator.
If the Web Development Client installs successfully, eGenerator is automatically configured to run without modifying any of the files used in the generation process.
Refer to the JD Edwards EnterpriseOne Development Client Installation Guide.
Complete this task if you are using IBM DB2 on the Enterprise Server.
On the Generation machine, open the db2cli.ini
file and comment out or remove the LobCachSize parameters under database aliases associated with JD Edwards EnterpriseOne. This file is typically located under DB_HOME\SQLLIB\
.
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.
Sign on to Server Manager Console.
Open the database configuration of the HTML instance.
On JDBj Spec Datasource, enter the Spec Datasource information.
Save the configuration and restart the HTML instance.
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.
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 launchinggen.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. |
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 |
Complete this task to generate objects using the web server.
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.From the above directory, run the launchGen.bat
file.
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.
Click the Connect button.
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.
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.
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.
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.
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.
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.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.
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.
eGenerator includes a number of options you can set up for your particular environment. The configuration process consists of these tasks:
Before generating objects, you can define a variety of parameters that affect how the eGenerator functions.
From the pull-down menu, select OptionsAdvanced Settings.
On Advanced Settings, select the options appropriate for your generation requirements
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
The eGenerator has these modes for generating web objects:
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.
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.
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
On eGenerator, select OptionsLanguages from the pull-down menu.
Click the check box next to each of the languages you want to use.
Click OK.
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.
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
From the pull-down menu, select GenerateManifest.
Click Create Manifest.
Click Yes.
The program creates the manifest and closes the window.
To view the manifest that was created, from the pull down menu, select GenerateManifest.
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.
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.
From the pull-down menu, select File > Core Objects.
For more information on generating core objects, see Section A.9.1, "Generating Core Objects".
If the core objects generate successfully, from the pull-down menu, select Generate > All Objects.
On Generate All Objects, check all the objects listed.
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:
If this screen displays, click the Stop button and verify the connection to the database.
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."
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
Run launchGen.bat
.
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.
Select a Connection
option (either Direct Generation
or JAS Server
).
Select Default Spec Files
.
Click Connect.
Log on to JD Edwards EnterpriseOne and click OK.
From the pull-down menu at the top of the screen, select FileBulk Generation.
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 aGeneratorList.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.Complete these tasks to verify the generation is successful:
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
On eGenerator, select LogsStatus Log from the pull-down menu.
To display the Error Log
On Generator, select LogsError Log from the pull-down menu.
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
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.
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.
Complete one of these tasks to generate one or more applications:
To generate an application:
From the pull-down menu, select Generate -> Applications.
Select Application Name
, and enter the program number of the application (for example, P01012).
Click Start.
The Generator generates all forms contained in the application and all dependent objects used by the application.
Check the Status Log for status of generation.
To generate applications by system code
From the pull-down menu, select Generate ->Application.
Select Generate by System Code
, and type the number of the System Code in the field to the right.
Click Start.
eGenerator fetches all the applications under that system code.
Confirm the applications were generated by checking the status and error logs.
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
From the pull-down menu, select Generate -> Application.
Select a mode.
Click Application Name
, and enter the name of an application (for example, P01012).
Click Start.
To generate a form
From the pull-down menu, select GenerateApplications.
Enter the form name in the Form Name
field, for example, P01012_W01012A.
Click Start.
If the form name is invalid, this error message appears:
If the application name is invalid, this error message appears:
Check the status log for the generation status.
Complete one of these tasks to generate one or more reports:
To generate a report
From the pull-down menu, select Generate -> Reports.
Enter the name of a report, (for example, R0006P).
Click Start.
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.
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
From the pull-down menu, select Generate -> Reports.
Enter a Report Name and Report Version, for example, R0006P, and XJDE0001.
Click Start.
The Generator generates the version and any dependent objects.
Check the status log for the generation status.
To generate reports by system code
From the pull-down menu, select Generate ->Reports.
Select Generate by System Code
, and enter a number for the code.
Click Start.
eGenerator fetches all the reports under that system code.
Check the status and error logs to confirm that all the reports for that system code were generated.
To generate NERs
From the pull-down menu, select GenerateNERs.
Enter the name of an NER, for example, GetObjectDesc.
Note:
NERs are case sensitive.Click Start.
Check the status log for the generation status.
Use this SQL command to verify that the objects reside in the database.
SQL> select wboid from f989999 where wboid like <NER_ name>
To generate Data Dictionary items
From the pull-down menu, select Generate -> Data Dictionary.
Generate any data dictionary item, for example, OBNM.
Check the status log for the generation status.
Use this SQL command to verify that the objects reside in the database.
SQL> select wboid from f989999 where wboid like 'DICT_<dd_name>';
To generate tables
From the pull-down menu, select Generate -> Tables.
Enter a table number, for example, F9860.
Click Start.
eGenerator generates the table and all data dictionary items used by the table.
Check the status log for the generation status.
To generate business views
From the pull-down menu, select Generate -> Business Views.
Enter the name of a business view, for example, e.g. V9001B.
Click Start.
eGenerator generates the View and all associated tables and data dictionary items.
Check the status log for the generation status.
To generate data structures
From the pull-down menu, select Generate -> Data Structures.
Enter the name of a data structure, for example, D9800150C.
Click Start.
eGenerator generates the data structure.
Check the status log for the generation status.
Use this SQL command to verify that the objects reside in the database:
SQL> select wboid from f989999 where wboid like 'DSTR_ <datastructure_name>'