This chapter contains these topics:
A development environment contains objects and data being tested and edited. It is different from your production environment because it should not contain any live data files.
You should be aware of the following rules when you create development libraries:
Do not begin library names with Q, JDF, or JD Edwards World because of IBM standards and the upgrade process.
Create custom libraries for custom modifications.
Library names should be a maximum of 9 characters in length because of the upgrade process.
Do not use JDFDATA for your own test data or live data because of the upgrade process.
Do not include JDFDATA in a live user's library list.
To create a Development Environment complete the following tasks:
Create Libraries
Define Access for a User Profile using J98INITA
Define Access for a User Profile using J98INIT
Copy Data to Your Development Environment
The following libraries are delivered with JD Edwards World software:
Source Library (JDFSRC)
Object Library (JDFOBJ)
Data Library (JDFDATA)
Install Library (JDEINSTAL)
Plans Library (JDFINS)
Security Library (CLTSEC) (Optional)
This is the library that contains source code. Within the JDFSRC library, JD Edwards World has three multi-member source files. The source files and their contents are described below.
The file JDESRC contains the following source code:
RPG Programs
Printer files
Display files
CL Programs
DDS for physical files
DDS for logical files
The file JDECPY contains the source code for copy members.
The file F98CRTCMD contains pre-compiler commands.
This is used to compile selected JD Edwards World programs.
Object Library (JDFOBJ) Libraries:source
The object library contains objects for your JD Edwards World software.
RPG programs
CL programs
Display files
Report files
The data library contains data files for your JD Edwards World software (files in this library contain test data provided by JD Edwards World).
The install library is used to install programs and software that upgrade JD Edwards World software.
The library is used to plan how to upgrade JD Edwards World software.
You can create a security library which is shared across all environments. The benefit of having a security library is that you enter a user profile only once to have access to any environment. The following files may exist in the security library:
User library list (F0092)
Library list control (F0093)
Library list master (F0094)
User Preference (F00921)
In addition, all logical files associated with the above files must also exist in the security library.
The World Technical Foundation manual states that a security library containing the F0092, F00921, F0093, F0094, and F0095 files can be used to minimize profile maintenance between JD Edwards World environments.
Note:
There are many different security scenarios. For that reason, there is little documentation on the security library concept. This is just a discussion of how to use the Security library concept and is NOT a recommendation.A security library makes most sense when J98INITA is the Initial Program on the IBM user profile. IBM object security may be necessary in addition to the JD Edwards World security options to complete the user security requirements.
The benefits of a security library are minimized if there is more than one. The maintenance and security tasks will have to be duplicated for each environment. If each environment has a different security scenario, a single security library should not be used. However, if separate security libraries are necessary, there will have to be a matching object library with the QJDF data area naming the security library in the User Profile Library field.
If the environments are not all at the same release (A73, A81, etc), the sign-on programs, the menu program, and the control files will all have to be at the highest release level.
If all the environments are at the same release level, other files besides the security files may be placed in the Security library for maintenance or control purposes (for example SVR, Function Key Security, Action code security). Any files in the Security library should apply to all environments and should not be found in any other user data library. The pristine JDFDATA library should still contain all the JD Edwards World files.
On an Upgrade Plan, the Security library should be specified as SEC type. The file duplication issues of paragraph 3 above must be emphasized. The Control File Sets in the Control File Dependencies appendix of the PTF Install Workbook should be maintained.
There are many ways to set up a production and development environment. The following are some examples.
Library | Description |
---|---|
QTEMP | IBM Temporary data files |
CLTOBJ | Client's objects |
JDFOBJ | JD Edwards World objects |
CLTCOM | Client's common files |
CLTDTA | Client's data files |
CLTSEC | Client's security files |
QGPL | IBM general public library |
Library | Explanation |
---|---|
QTEMP | IBM Temporary data files |
DEVOBJ | Development objects |
CLTOBJ | Client's objects |
JDFOBJ | JD Edwards World objects |
DEVCOM | Development common files |
DEVDTA | Development data files |
CLTSEC | Client's security files |
DEVSRC | Development source files |
CLTSRC | Client's source files |
JDFSRC | JD Edwards World source files |
QGPL | IBM general public library |
All modifications and tests are performed in the development environment with the program's object and source residing in DEVOBJ and DEVSRC. After you complete the testing, the program's object is moved from DEVOBJ to CLTOBJ and the source is moved from DEVSRC to CLTSRC. You must create a separate data and common library (DEVDTA and DEVCOM) to ensure that any data changes during testing in the development environment do not affect live data in the production environment.
Library | Explanation |
---|---|
QTEMP | IBM Temporary data files |
CLTOBJ | Client's objects |
JDFOBJ | JD Edwards World objects |
CLTCOM | Client's common files |
COMMON | Common (shared) files |
CLTDTA | Client's data files |
CLTSEC | Client's security files |
QGPL | IBM general public library |
Library | Explanation |
---|---|
QTEMP | IBM Temporary data files |
DEVOBJ | Development objects |
CLTOBJ | Client's objects |
JDFOBJ | JD Edwards World objects |
DEVCOM | Development common files |
COMMON | Common (shared) files |
DEVDTA | Development data files |
CLTSEC | Client's security files |
DEVSRC | Development source files |
CLTSRC | Client's source files |
JDFSRC | JD Edwards World source files |
QGPL | IBM general public library |
No source libraries exist in the production environment because source code is not necessary to run JD Edwards World programs. This makes the production environment easier to maintain. The only restriction is that users in the production environment cannot view source code. Another difference is that a third shared common library (COMMON) has been added to the environments. This library contains common files whose data may be changed during the testing process. For example, F98HELP may not be changed but the Vocabulary Overrides, Data Dictionary, User Defined Codes or other Control Files may be changed. By having this type of common library not only are the environments easy to maintain, but you save considerable machine resources.
Library | Explanation |
---|---|
QTEMP | IBM Temporary data files |
CLTMOD | Client's source and objects under modification |
CLTOBJ | Client's objects |
JDFOBJ | JD Edwards World objects |
DEVCOM | Development common files |
COMMON | Common unchanged files |
DEVDTA | Development data files |
CLTSEC | Client's security files |
CLTSRC | Client's source files |
JDFSRC | JD Edwards World source files |
QGPL | IBM general public library |
DEVOBJ and DEVSRC have been combined into one library called CLTMOD. This library contains both source code and compiled objects for programs while they are being modified and tested. After testing, the program objects are copied to CLTOBJ and source code is moved to CLTSRC. The purpose of having one object and source code library like CLTMOD is to aid in change management and simplify the development library list by having one place where all modifications and testing take place.
Create the following libraries:
Common and data libraries
Development object library
Development source library
If you create a common library (DEVCOM), be sure to specify it each time you create another development environment. If you do not specify the common library each time, the files will be created in your development data library.
Your common library should contain control files holding data that is used in several environments that is not application data. These control files may be changed during the development process.
See Appendix A, "Common & Production Library Files"r a list of common and production files. Common files will be marked with a "Y" in the Common File field on the SVR screen. Files marked with an "N" in this field are Production files. If the data is to be copied from JDFDATA into either of these files, the SVR Copy Data Y/N field will be marked 'Y'.
You will create the libraries that contain common data files (DEVCOM) and test data files (DEVDTA).
To create common and data libraries
From Computer Operations (G96), choose Data Base Management
From Data Base Management (G9645), choose Data Libraries
On Create Production Environment
Figure 4-1 Create User Data Libraries screen
Complete the Create User Data Libraries form.
Once you correctly complete the form and press Enter, the job (J98102) is submitted to batch.
Repeat the above step for each of the development data libraries you have.
The program automatically:
Creates your libraries
Creates the physical and logical files that should be maintained in your common library
Creates the physical and logical files necessary for operations control in your development library
Creates the physical and logical files for various applications in your development library
Generates reports to identify all the physical, logical, and join files created and to identify where they were created
Generates a report to identify all the optional files. The report explains why the files are optional so that you can determine if they should be deleted.
To create the development source library (DEVSRC), you create a source environment and a source physical file. The source physical file is the Program Source File (JDESRC). All JD Edwards World source members are located in the JDESRC file.
There are two possible methods to create the JDESRC file. You must determine if you have the JD Edwards World Program Generator (CASE) and then choose the appropriate method.
To create a development source library
Type the IBM command Create Library (CRTLIB) and press F4.
Field | Explanation |
---|---|
Library | Your development object library name. |
Library Type | *PROD or *TEST |
Text 'description' | The description of your library |
When an RPGIII or RPGIV program is moved into production at JD Edwards World, the record length is 92 bytes. If you have J.D. Edward's Program Generator product, the program source file format must be 142 bytes to allow for the Program Generator Serial Number and additional required data.
To create JDESRC for JD Edwards World Program Generator
To copy an existing file with the correct format (F93002), type the IBM Copy File command (CPYF) and press F4.
Field | Explanation |
---|---|
From file | The file and library containing the data to be copied. The file is F93002 and the library can default to *LIBL. |
To file | The name of the source file and your development source library. Generally, the file is JDESRC and the library is DEVSRC. |
From member | The member name that will be the beginning of the copy process. Generally, this value is *FIRST. |
To member or label | The member name that will be the beginning of the receiving process. Generally, this value is *FIRST. |
Replace or add records | Specifies whether the records copied should replace or be added to the records in the To file. In this case since the To file does not exist, this value is *NONE. |
Create file | Specifies whether the To file does not exist and needs to be created. This value is *YES. |
Print format | Specifies whether the characters are printed in character or character and hexadecimal format. This option only applies if the To file is *PRINT. |
To remove the empty member copied from JDESRC, type the IBM Remove Member command (RMVM) and press F4.
Field | Explanation |
---|---|
Database file | Type the source file and your development source library that contains the record to be removed. Generally, this file is JDESRC and the library is DEVSRC. |
Member | Type the name of the member that is to be removed. This is F93002. |
If you do not have JD Edwards World World Program Generator product, the program source file format can remain at 92 bytes, as it is when a program is moved into production at JD Edwards World. To create the JDESRC file with a 92 byte record format, you can execute the IBM Create Source Physical File command (CRTSRCPF).
To create JDESRC without the Program Generator
Type the Create Source Physical File command (CRTSRCPF) and press F4.
Figure 4-6 Create Source Physical File screen
Field | Explanation |
---|---|
File | The source file and your development source library that contains the record to be removed. Generally, this file is JDESRC and the library is DEVSRC. |
Record Length | The number of bytes in the length of the records to be stored in the source file. This value is 92. |
Member, if desired | The member to be added to the source file. Generally, this member is left to *NONE. |
Text Description | The description of your source file. |
You must create profiles that allow users to have access to new environments.
There are two separate methods to define access to an environment. The method you choose depends upon whether the User Profile accesses JD Edwards World software using J98INITA or J98INIT.
From Security Office (G94), choose Library List Control
From Library List Control (G944), choose Library List Revisions
If you are allowing access to your development environment for a user profile that is using J98INITA, you must define a development environment library list name. In addition, the User Signon List must contain the Development Environment Library List name.
To define access for a user profile using J98INITA
On Library List Revisions define the libraries that comprise the list.
To assign the library list to each user, select User Signon List Revisions from the Library List Control menu (G944).
Figure 4-8 User Signon List Revisions screen
If you are allowing access to your development environment for a user profile that is using J98INIT, you must define a new library list.
To define access for a User Profile using J98INIT
Select User Information from the Security Officer menu (G9401).
Note:
Each user profile for the JD Edwards World software must have an IBM profile. To define an IBM profile, use the command, Create User Profile (CRTUSRPRF). When a JD Edwards World user profile is created or changed, the IBM JOBD is created or changed in the library specified in the Processing Option for J00JOBD. The default library is QGPL. If J98INITA is used as the initial program to execute, the JOBD is copied into QTEMP and modified.You can use several methods to copy data to your development environment. The method you choose should depend upon how much data you need to copy to your development environment. You may copy the following:
Libraries
Files
Records
JD Edwards World Record Types
If you need to duplicate several files into your development environment you can copy one or more libraries.
To display the parameters, type the IBM Copy Library command (CPYLIB) and press F4.
Caution:
If you use CPYLIB, any files that are in use are not copied.Field | Explanation |
---|---|
Existing Library | The library to be copied in your Production Environment. |
New Library | The new library that will be used in your Development Environment |
Create Library | Specifies whether the New Library does not exist and needs to be created. |
From Computer Operations (G96), choose Data Base Management
From Data Base Management (G9645), choose Data Files
If you need to copy specific files from a library in your production environment to a library in your development environment, you use the JD Edwards World copy file utility.
On Data File Creation enter the following fields:
System Code
Create in Library
FROM Library
Do the following:
Enter a 1 next to the files you wish to create from source.
Enter a 2 next to the files to be duplicated without data. This is mainly Logical files but could be a Physical file also. Logical files will only be created if the based-on physical file is in the destination library.
Enter a 3 next to the files to be duplicated with data. This applies only to Physical files.
Each selection will be submitted to batch.
Note:
When using this utility, be sure to copy all related files. All the physical files are listed first, followed by the logical files.If you wish to copy a file with only selected records, use the IBM Copy File command (CPYF).
Press F10 to display additional parameters.
Field | Explanation |
---|---|
From file | The file and library containing the data to be copied. |
To file | The name of the file and your development library the data will be copied to. |
From member | The member name that will be the beginning of the copy process. |
Replace or add records | Specifies whether the records copied should replace or be added to the records in the To file. |
Create file | Specifies whether the To file does not exist and needs to be created. |
Print format | Specifies whether the characters are printed in character or character and hexadecimal format. This option only applies if the To file is *PRINT. |
Copy from record number | Specifies the record number from which to start the copy. |
Page down and enter the record number of the record to which you wish to copy.
The Copy to record number is the field in which you specify the record number of the last record to be copied.
Field | Explanation |
---|---|
Copy to Record Number | Specifies the record number of the last record to be copied. |
Copy from Record Key | Only applies when copying a file with keyed fields. |
You can copy any of the following control records:
Vocabulary Overrides
Data Dictionary
Software Inventory Revisions
User Defined Code
DREAM Writer
Menu
Generic Rate/Msg
To copy a JD Edwards World record type
From Computer Assisted Programming (CAP ) (G93), choose Developer's Workbench
From Developer's Workbench(G9362), choose Copy DD,VO,DW,UDC,SVR,Menus
On Copy DD,VO,DW,UDC,SVR,Menus.
Figure 4-14 DD, VO, DW, UDC, SVR, Menus screen
Field | Explanation |
---|---|
From Library | The library containing the data to be copied. |
To Library | The library in your Development Environment to receive the data. |
Dictionary Item | The RPG data name. This data field has been set up as a 10-byte field for future use. Currently, it is restricted to 4 bytes so that, when preceded by a 2-byte file prefix, the RPG data name does not exceed 6 bytes.
Within the Data Dictionary, all data items are referenced by this 4-byte data name. As they are used in database tables, a 2-character prefix is added to create unique data names in each table specification (DDS). Special characters are not allowed as part of the data item name, with the exception of #, @, $. You can create protected data names by using $xxx and @xxx, where you define xxx. Messages can contain up to 10 characters. Types of messages are further defined by glossary group. |
Vocabulary Overrides | The name of the screen or report record to be copied. All records for soft coding will be copied. |
DREAM Writer Form | The name of the DREAM Writer Form ID to be copied. All versions of the specified form will be copied. |
User Def Codes Sys | The system code and type of the table to be copied. All values for the specified table will be copied. |
Software Versions Rep | The record of the Software Versions Repository member to be copied. |
Menu Identification | The menu ID and the display language of the record to be copied. |
Note:
You can enter and copy only one item at a time. If the item exists in the To Library, it is replaced.