0a296fecdca6a61b682abc5dc14b0362.ppt
- Количество слайдов: 54
IBM Software Group | Rational Software EGL Residency: COBOL Generation for System z and System i Mark Evans evansm@us. ibm. com © 2007 IBM Corporation 1
IBM Software Group | Rational Software – © Copyright IBM Corporation 2006. All rights reserved. – The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. – This information is based on current IBM product plans and strategy, which are subject to change by IBM without notice. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. – IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM Rational products and services are trademarks or registered trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 2 © 2003 IBM Corporation
IBM Software Group | Rational Software Agenda – EGL COBOL Generation § EGL COBOL Generation Overview § Setting up COBOL Generation – Required Products – Host/Mainframe Configuration – Customization Points – EGL Build Files § Using EGL COBOL Generation – Coding for EGL COBOL Generation – Looking at Results – Miscellaneous § Lab on COBOL Generation for z. Series § Demo on COBOL Generation for i. Series 3 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL Generation Overview § EGL Generates (transforms/creates): – Java - for J 2 EE or non-J 2 EE – COBOL for z/OS (System z) – for batch, CICS or IMS – COBOL for i. Series (System i) § EGL parts must be generated to produce these outputs: – The Java code containing the EGL defined logic – The COBOL code containing the EGL defined logic § The generation process delivers the code to the target platform – Java – to RAD/WDz Java Project which automatically builds (compiles) code – COBOL – to z/OS datasets or system i files where the code is built (compiled) by the build server 4 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL Generation Process - Overview Generation • EGL Project • EGL Source Parts • Build Descriptors • Other build parts • Generate COBOL • Directories • containing • COBOL code, • link & bind info TCP/IP Code EGL Parts • Logic Save • Data w/Validation • I/O • Build parts • Generate Java • Java Project • containing • Java code • (compiled automatically) Executables and auxiliary files 5 Compile, link, bind Datasets/Files containing COBOL code, link & bind info © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation Process Detail – System z EGL Projects EGL Source Files 1 ccublds Generation Result 13 6 5 COBOL Generator Build Client 12 (Programs, etc) TCP/IP 4 EGL Build Files 2 IDE 7 COBOL Source Preprocessor 3 Other Files Results Files Workstation 11 8 EGL JCL Build Scripts EGL Build Server EGL COBOL Runtime files IMS Batch 9 10 Build Job Load Modules DBRMs Listings 1. You have source ready to generate !!!! 8. 2. Generate requested using source files and build files as input 9. z/OS Build server pulls up buildplan. xml and retrieves/parses correct EGL JCL Build Script Build server starts job to build (compile, etc) the generated code 3. 4. EGL Preprocessor is run to validate EGL source for the target system (CICS, IMS, Batch) The EGL COBOL generator creates COBOL and other source files including “buildplan. xml” file in local file system 5. EGL Build client code (ccubldc) is invoked 6. Build client starts up security process to encrypt passwords 7. 6 CICS From info in buildplan. xml, conversation with running build server is started 10. Build job runs and pulls files from workstation and uses files from the EGL COBOL runtime (copybooks) and then creates executables 11. Build Job sends results back to the workstation 12. Build client is notified of job completion and if successful or failure and it then notifies COBOL generator 13. COBOL Generator updates Generation Results view with success or not and if failure…. location of results file © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation Process Detail – System i EGL Projects EGL Source Files 1 ccublds Generation Result 11 6 5 Build Client COBOL Generator 10 (Programs, etc) TCP/IP 4 EGL Build Files 2 IDE Other Files 2. EGL Preprocessor is run to validate EGL source for the target system (i. Series) 4. The EGL COBOL generator creates COBOL and other source files including “buildplan. xml” file in local file system 5. 6. Build client starts up security process to encrypt passwords 7. 7 EGL Build client code (ccubldc) is invoked From info in buildplan. xml, conversation with running build server is started 9 FDAPREP (REXX) 8. z/OS Build server a) pulls up buildplan. xml b) Pulls up generated files from workstation c) 9. OS *PGM files Listings Generate requested using source files and build files as input 3. EGL Build Server EGL COBOL Runtime files Results Files Workstation You have source ready to generate !!!! 8 COBOL Source Preprocessor 3 1. 7 invokes build processor (FDAPREP) FDAPREP builds programs and creates executables using EGL Runtime files and uploaded files 10. Build Client is notified of job completion and if successful or failure and it then notifies COBOL generator 11. COBOL Generator updates Generation Results view with success or not and if failure…. location of results file © 2003 IBM Corporation
IBM Software Group | Rational Software Holy Cow!!!! How do I make all this work? It is not that Complicated !!! Just need to follow a few simple steps !! 8 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation – Basic Steps 1. Get Required EGL Components 2. Setup/Customize/Start Build Server 3. Setup Build Files Done ONCE at beginning by Administrator!! 4. Write Code !! (obviously) 5. Generate the code 6. Look at Results Hey… this is EASY!!! 9 © 2003 IBM Corporation
IBM Software Group | Rational Software Step 1: Getting the Required Components © 2007 IBM Corporation 10
IBM Software Group | Rational Software EGL COBOL Generation – Required EGL Components? Purpose Product Required Component(s) System i Client WDSC-AE V 6. 0. 1 COBOL Generation Server Provided through upload from WDSC-AE EGL COBOL Runtime EGL Build Server Provided through Operating System z Client §RAD or RSA 6. 0. 1. 1 plus EGL COBOL Generation Rational COBOL Gen Extension or §WDz 6. 0. 1. 1 plus EGL COBOL Generation Feature Server Rational COBOL Runtime for z. OS V 6. 0. 1 EGL COBOL Runtime AND EGL Build Server or Enteprise Developer Server for z/Series V 5. 0 plus Enterprise Developer Options for z. Series V 6. 0. 1(part of WDz) 11 EGL COBOL Runtime EGL Build Server © 2003 IBM Corporation
IBM Software Group | Rational Software Step 2: Setup/Customize the EGL COBOL Gen build process © 2007 IBM Corporation 12
IBM Software Group | Rational Software EGL COBOL Generation: Build Server on System z § Job that is supplied by EGL and runs on z/OS – CCURUNM member in install PDS (by default) – Specifies • • • Port to listen on Authentication levels CCUWJCL DD card specifies member containing Build Job JCL § Build Job – In CCUMVS member by default – CCUPROC DD Card specifies dataset with JCL Build Scripts § Note: See for more setup information: – Program Directories – EGL Host Server Guide – EGL Helps 13 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: JCL Build Scripts on System z § Pseudo-JCL that executes the necessary processes to make an executable (see next chart) – Example: FDAPCL – Is a member in dataset specified in CCUPROC § Contain “VARS” which provide substitution information within build steps – Value can be set through data sent from client (see Buildplan. xml later) – Will override any “default” value if provided – VARS provide substitution information within build steps. § Substitutions are listed as “&varname” § In this example (sample substitution variables) – &CGHLQ will equal project. ID Build descriptor – &SYSTEM will equal target generation system – CCUEXT defines the file type to upload from workstation (if it exists) 14 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: JCL Build Scripts on System z FDABCL COBOL compile, link (no DB 2) (z/OS batch, IMSBMP, and IMSVS) FDABIND Runs bind command for generated program FDACL COBOL compile, link (no CICS commands) FDAMFS Compile (IMSVS only) FDALINK Linkage editor format modules (formgroups) FDAPCL DB 2 precompile, COBOL compile, link (with DB 2) (z/OS Batch, IMSBMP, IMSVS) FDAPTCL FDATCL 15 CICS translator, DB 2 precompile, COBOL compile, link edit CICS translator, COBOL compile, link (No DB 2 in program) © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Customization on System z § The EGL Build Process can be customized – JCL Build Scripts • Outcome of source and listings can be changed – Upload source only vs save in PDS – Download listing vs throw away vs save in file • New steps can be added • New Substitution variables can be added • JCL Procedures can be called (with substitution) – Can control scripts via “symbolics” in build descriptors (later) • Result: Can “modify” results from build scripts based on use of different build descriptors AND Enables way to do builds for different stages of development > Example: Unit Test, Systems test, Production – Also can have more than one build server running simultaneously • Must use different port • Could use different set of build scripts for different purposes 16 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Default z/OS datasets §What Target Datasets “might” be used on z/OS (by default)? ? ? §Saving or not after generation is based on JCL Build Script Description Data set name Target environment Database request module cghlq. env. dbrmlib All z/OS if DB 2 is used Bind commands cghlq. env. ezebind All z/OS if DB 2 is used Batch Execution JCL cghlq. env. ezejclx ZOSBATCH Object Library cghlq. env. object All z/OS COBOL Source Library cghlq. env. ezesrc All z/OS Load library cghlq. env. load All z/OS CICS PCT entries cghlq. env. ezepct ZOSCICS PPT entries cghlq. env. ezeppt ZOSCICS Note: Datasets can be created by running CLIST ELACUSER 17 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Build Server on System i § Main Job that is supplied by EGL – ccublds executable in library QEGL (supplied by EGL) – To start, use following command on system i SBMJOB CMD(CALL PGM(*LIBL/CCUBLDS) PARM(’-p’ ’ 2600’)) JOB(CCUBLDS) JOBQ(QSYS/QSYSNOMAX) § Build Job – FDAPREP in QEGL/QREXSRC – Started by build server when request comes in – Uses variables sent up to the System i through generation – Runs online build commands based on information sent from the client § Note: See for more setup information: – EGL Server Guide for i. Series (SC 31 -6841) • 18 Also on EGL zone in Developerworks © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Customization on System i § The EGL Build Process can be customized – Modify the FDAPREP REXX program • Contains “sections” depending on contents of program – – – SQL Called program etc – Example customization • Setting DB 2 interface method – SQL vs System –. evf files provide parameters 19 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Functions used on System i §Function names passed to FDAPREP to drive build process PMN PSM Main (5250/Batch) programs with SQL PCL Called programs with no SQL PSC Called Programs that contain SQL PPM Print Services Programs TCM EGL user messages or message. Table file WCL Runtime CL’s for main programs WSC 20 Main (5250/batch) programs with no SQL Runtime CL’s for called programs © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Default System I files Description Physical file Name Generation Variables File QVGNEVF Table Binary Images QVGNTAB Runtime CLs QVGNCLS Form Group Modules QVGNMAPG §COBOL Source Library QVGNCBLS §Print Services Program Message Files QVGNMSGS Data Definition Specs (DDS) QVGNDDS Load library (physical files) dest. Library value in build file §Files MUST be created in target destination library §Can create using following command §STRREXPRC SRCMBR(EGLSETUP) PARM(xxxx) Where xxxx is the destination library 21 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Client Side Setup § What runs on the client to talk to the server – ccubldc. exe process will be started (under covers) • Build client code that interacts with build server – CCU Security manager (EGL Java Class) starts to encrypt passwords passed to host machine § What is needed on the client machine – Required in developer’s machine settings • CLASSPATH – • <radinstall>bineglbatchgen. jar PATH – <radinstall>bin NOTE: WDz adds these settings during install of EGL Feature WDSC-AE does NOT set these during install. (must be done manually) 22 © 2003 IBM Corporation
IBM Software Group | Rational Software Step 3: EGL Build Files for COBOL Generation (directing the generation process) © 2007 IBM Corporation 23
IBM Software Group | Rational Software EGL COBOL Generation - EGL Build Files § Build files –Contain Build Parts –Have a. eglbld file extension § Build parts include: –Build descriptor –Resource Associations –Linkage options –Link Edit (z/OS only) –Bind Control (z/OS DB 2 only) § Editing build parts Build parts use specialized build part editors 24 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation – EGL Build File Editor Filter based on target system, intended use of descriptor and all vs. basic options Filter to show only options with values Values Options Visible options can be filtered – By target system – By intended use of descriptor – Basic vs. All options – Only options with values 25 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation – Build Parts Overview § Build Descriptors – Controls total build process § Resource Associations – Supplies logical and physical information for file access § Linkage – Supplies information for inter-program calls § Link Edit (z/OS only. . . Used rarely) – Supplies information to control linkage editor if needed • Example: link-edit information for static calls § Bind Control (z/OS only and program uses SQL) – Supplies information needed to do DB 2 binds 26 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation – Build Descriptors § A Build Descriptor part is required – Specifies how to generate the code – Specifies runtime options associated with the code § Composed of sets of options – Some options identify other build parts to utilize • Example: linkage – Some identify other EGL parts to generate if referenced • Example: gen. Data. Tables § Same EGL source may be associated with multiple build descriptors – Target system generation & runtime options • Required to generate/build code – Debug runtime options • If running the code in the EGL debugger 27 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation – Build Descriptors § The set of applicable options varies: – By language being generated (Java vs. COBOL) – By target system (CICS, IMS or Batch) – By intended use of the build descriptor • Target System • Debug § Setting up your build descriptors – Easier if you avoid setting it up from scratch – Good to have one as a starting point • The “Create EGL Project” wizard can generate one for you – Some groups prefer everyone use a common set across all projects 28 © 2003 IBM Corporation
IBM Software Group | Rational Software Common Build Descriptor Options for COBOL Gen on z Bind dest. Host Password of User. ID that is being used for build (case sensitive) dest. User. Id Host User. ID used for build (case sensitive) gen. Data. Tables Tells generator to also generate any “used” data. Tables in a program gen. Directory Name of folder in file system (not workspace) that the generated output will be written to gen. Form. Group Tells generator to also generate any “used” form groups in a program (for 3270 programs) gen. Help. Form. Group Tells generator to also generate any “used” help form groups in a program (for 3270 programs) prep 29 Port number on which EGL build server is listening dest. Password (hint: Select line and press f 1. . help will open for option Host name of machine containing the EGL build server dest. Port Many others…see EGL Helps! Identifies bind part name to use in creating bind information Tells generator to send the generated output to the EGL Build Server project. ID High level qualifier of the target datasets on z/OS System Target system for generation © 2003 IBM Corporation
IBM Software Group | Rational Software Common Build Descriptor Options for COBOL Gen on i dest. Host dest. Port number on which EGL build server is listening dest. Password of User. ID that is being used for build (case sensitive) dest. User. Id Host User. ID used for build (case sensitive) dest. Library on System i to send the generated outputs gen. Data. Tables Tells generator to also generate any “used” data. Tables in a program gen. Directory Name of folder in file system (not workspace) that the generated output will be written to gen. Form. Group Tells generator to also generate any “used” form groups in a program (for 5250 programs) gen. Help. Form. Group Tells generator to also generate any “used” help form groups in a program (for 5250 programs) prep Many others…see EGL Helps! Host name of machine containing the EGL build server Tells generator to send the generated output to the EGL Build Server System Target system for generation (hint: Select line and press f 1 help will open for option 30 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Symbolic Build Descriptors § EGL provides Symbolics – Can create user-defined build descriptors – Used in build processing • Normally supply/override substitution values for JCL Build Scripts – EGL-defined symbolics • • • Usually sets value based on EGL build descriptor Always start with EZExxxx Examples – – project. ID System EZEPID and CGHLG EZEENV – Referenced by • • • %symbolicname% within workstation &symbolicname in JCL build scripts symbolicname in FDAPREP – > > 31 Example: %EZEENV% in gen. Directory Creates folder equal to value specified for system © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation – Bind Control parts (z/OS only) § Bind Control parts are only applicable to: –COBOL code built for z/OS –Code accesses DB 2 § Provides information to create a bind control file –Same as bind control file you would create for native COBOL code –SQL used to create database request modules (DBRMs) to put in plan –Can create one part used by all programs or unique to a particular program § Bind Control commands –Default: Bind Plan –Most people use Bind Package • Bind Control Part to be created with Bind Package (can be used by all generates) • Most information can be supplied by symbolics 32 © 2003 IBM Corporation
IBM Software Group | Rational Software Other Build Parts – Link Edit for COBOL Gen on z/OS § Default Linkage Editor commands are built § If default does not work, then create Link Edit Parts – Are only needed when generated COBOL program: • Has static COBOL calls to other programs • Is called statically by another program, whether generated or not • Want to link specific LE Runtime options to EGL generated programs – They provide information to create a link edit file • Same as link edit file you would create for native COBOL code • Specifies how to package programs into load modules 33 © 2003 IBM Corporation
IBM Software Group | Rational Software Step 4: Coding considerations for COBOL Generation © 2007 IBM Corporation 34
IBM Software Group | Rational Software EGL COBOL Generation: Limitations in the language § If you are writing source code using the Enterprise Generation Language and intend to generate output in COBOL, the following restrictions are in effect: – When you invoke a function, you cannot pass an argument that includes the invocation of an EGL system function. The workaround is to pass a variable that includes the value of the function invocation. – Also when you invoke a function in a conditional expression, you cannot pass an argument that is itself an expression other than a literal or variable. – A function cannot return an expression such as A + B. The workaround is to return a variable that includes the value of the expression. – Non-fixed records are not supported. – Set-value blocks are supported only for setting property values in part definitions and variable declarations and for initializing field values in variable declarations. – The property valid. Values supports only a single range of numbers. – In relation to text and print forms, the following statements apply: • You cannot include fields of type HEX, FLOAT, SMALLFLOAT, TIME, or TIMESTAMP • If you are using a field as a date, you specify a date-format string or constant in the field property date. Format, and these restrictions are in effect-– The following capabilities are not supported: • array literals, array. Dictionaries, EGL report processing, console. UI, and system exceptions • The system variable sys. Var. current. Exception; you cannot identify which exception was thrown most recently in the run unit, although use of the On. Exception block is supported • Multidimensional arrays or the array-specific functions resize. All and set. Max. Sizes • The primitive types ANY, CLOB, BLOB, and STRING; but literals and the substring syntax are supported • DATE, TIME, and TIMESTAMP when interacting with DB 2 35 © 2003 IBM Corporation
IBM Software Group | Rational Software Limitations of EGL COBOLGEN (cont) § If you are writing source code using the Enterprise Generation Language and intend to generate output in COBOL, the following additional restrictions are in effect: – – – – – 36 The following system functions are not supported: current. Array. Count current. Array. Data. Line current. Array. Screen. Line field. Input. Length get. Cmd. Line. Arg. Count get. Key. Code get. Key. Name get. Message get. Property get. Blob. Len get. Sub. Str. From. Clob get. Str. From. Clob is. Current. Field. By. Name is. Field. Modified. By. Name last. Key. Typed © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: SQL and COBOL Gen § COBOL Gen Requires: – Fixed Records • • Level numbers NO non-fixed datatypes – – – • Use of CHAR for – – – 37 String BLOB CLOB DATE TIMESTAMP © 2003 IBM Corporation
IBM Software Group | Rational Software Miscellaneous - SQL Retrieve Preferences for COBOL Gen record employee type SQLRecord {table. Names = [["DRBRUCE. EMPLOYEE"]]} 10 EMPNO char(6) {column="EMPNO", is. Nullable=yes}; 10 FIRSTNME char(12) {column="FIRSTNME", is. Nullable=yes; 10 MIDINIT char(1) {column="MIDINIT", is. Nullable=yes}; 10 LASTNAME char(15) {column="LASTNAME", is. Nullable=yes; 10 HIREDATE char(10) {column=“HIREDATE", is. Nullable=yes}; 10. . VERSUS record employee type SQLRecord {table. Names = [["DRBRUCE. EMPLOYEE"]]} EMPNO string {column="EMPNO", is. Nullable=yes, max. Len=6}; FIRSTNME string {column="FIRSTNME", is. Nullable=yes, max. Len=12}; MIDINIT string {column="MIDINIT", is. Nullable=yes, max. Len=1}; LASTNAME string {column="LASTNAME", is. Nullable=yes, max. Len=15}; HIREDATE date 38 {column=“HIREDATE", is. Nullable=yes}; © 2003 IBM Corporation
IBM Software Group | Rational Software Step 5: Generate the files – Just like everything else (CNTL/G of the file or Generate from Context menu) © 2007 IBM Corporation 39
IBM Software Group | Rational Software Step 6: Look at the Results © 2007 IBM Corporation 40
IBM Software Group | Rational Software EGL COBOL Generation: How do I know if it works? § Look in the Generation Results View Good Failed Results returned to client (more on this later) 41 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation – Files produced by generation for z Generatable Part Files produced Comments §COBOL source §<pgmname>. bnd §Bind Control statement §<pgmname. led §Linkage editor statements §Execution JCL (for ZOSBATCH) §<pgmname>Build. Plan. xml <pgmname> §<pgmname>. cbl §<pgmname>, jcx Program §Build plan used to control build process §Binary Object for Form §COBOL Source (print forms only) §<formgpname>FM. led §Linkage editor statements §<formgpname>. cpy §Copy book forms (IMSVS only) §<formgpname>. mfs §MFS source forms (IMSVS only) §<formgrpname>FMBuild. Plan. xml <formgpname> §<formgrpname>FM. fmt (binary) §<formgrpname>. cbl Form. Group §Build plan used to control build process <tablename> §<tablename>. cbl §COBOL source §<tablename. led Data. Table §Linkage editor statements §<tablename>Build. Plan. xml §Build plan used to control build process Library §<libname>. cbl §COBOL source <libname> §<libname. led §Linkage editor statements §<libname>Build. Plan. xml §Build plan used to control build 42 process © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation – Files produced by generation for i Generatable Part Files produced Comments <pgmname> §<pgmname>. cbl §COBOL source §<pgmname>. clr §Runtime CL §<pgmname>. evf §Variables used in build process §<pgmname>Build. Plan. xml Program §Build plan used to control build process §Binary representation of form §COBOL Source (print forms only) §<formgrpname>. evf §Variables used in build process §<formgrpname>FMBuild. Plan. xml <formgpname> §<formgrpname>FM. fmt (binary) §<formgrpname>. cbl Form. Group §Build plan used to control build process §Binary Representation of Table §Variables used in build process §<tablename>. msg §Message file (message. Tables only) §<tablename>Build. Plan. xml <tablename> §<tablename>. tab §<tablename>. evf Data. Table §Build plan used to control build process Miscellaneous §<filename>. dds in EGL <filename> in records Library §DDS Source to define files as defined §Not Supported in V 6 <libname> 43 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Buildplan. xml for System z § Build. Plan. xml file controls build server……How? ? – What to run on build server • • • Via “command name” Correspond to JCL Build Script Names Name indicates type of processing – Host information • • • Via “host name” Location/port Code Pages for conversion – Location of generated files • Via “input files” and “dependencies” – Substitution information • 44 via “env” names © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Buildplan. xml for System i § Build. Plan. xml file controls build server……How? ? – What to run on build server • • Via “parms” Invokes REXX program – Host information • • • Via “host name” Location/port Code Pages for conversion – Location of generated files • Via “input files” and “dependencies” – Substitution information • • 45 via “env” names +. evf file © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Build Results file § What do I look at when it fails? – Either the “results. xml” file or – <progname>. CCUBLDC. log § Both will be in the same directory as the generated output § If needed job name/job number is in results 46 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Where to find failures for z? § Listings can be returned to Workstation – CCUOUT in the symbolics indicates that listings should be returned to client – Listings are named: • <name>. <stepname>. <listingname> – – • 47 Where stepname is “c”, “p”, “t”, etc Where listingname is the DDNAME for the listings of that step Examples: © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation: Where to find failures for i? § Listings contained in: – <genname>. ccubldc. log 48 © 2003 IBM Corporation
IBM Software Group | Rational Software Miscellaneous © 2007 IBM Corporation 49
IBM Software Group | Rational Software EGL COBOL Generation: Runtime Templates § EGL provides sample runtime templates for execution § The templates that are shipped with the product are installed in the MVSTemplates or i. Series. Templates subdirectory: – <RADInstall>egl_cobolgeneclipsepluginscom. ibm. etools. egl. generators. cobol_<ver>MVSTemplates – <RADInstall>egl_cobolgeneclipsepluginscom. ibm. etools. egl. generators. cobol_<ver>i. Series. Templates – File name used varies depending on function of program § You can customize and change location of templates by setting the build descriptor option “template. Dir” 50 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL Batch Generation – outside workbench § EGL provides commands to generate outside the workbench – Enables ANT script based generate/builds – Enables automated Builds – Still use build descriptors and all processes still work the same way § Two Commands: – EGLCMD • Generates against headless eclipse workspace • Still has access to eclipse apis • Still needs a workspace – EGLSDK • Generates using files from a directory in the file system • Self-contained jar with no need for eclipse APIs (at least external) • Most likely one used for Batch generations 51 © 2003 IBM Corporation
IBM Software Group | Rational Software BACKUP 52 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL Generation Process - Overview Code EGL Parts • Logic Save • Data w/Validation • I/O • Build parts EGL Project • EGL Source Parts • Build Descriptors • Other build parts Generate Java Project containing Java code (compiled automatically) Compile, link, bind Datasets containing COBOL code, link & bind info TCP/IP Generate COBOL Directories containing COBOL code, link & bind info Executables and auxiliary files 53 © 2003 IBM Corporation
IBM Software Group | Rational Software EGL COBOL Generation Process Overview CICS EGL Projects EGL Build Descriptor (Deployment) … System = z/OSBatch z/OSCICS IMS Prep = Y/N …. Load Modules DBRMs EGL COBOL Extension for z. Series z/OS Batch Workstation IMS Preprocessor Z/OS CICS Code Generation COBOL Source Link. Edit Bind Build Plan Format Module …. EGL COBOL Runtime files IMS Prep =Y Batch EGL Build Server EGL JCL Build Scripts TCP/IP z/OS When you change certain build file options (minimally, setting J 2 EE to “no”, setting a gen. Directory, and system to “ZOSBATCH”) generation will create COBOL from your EGL. Note from the picture that besides creating the COBOL for an application, EGL can also automatically (when Prep=“y”) transfer the COBOL, JCL and if necessary DB 2 Bind files to the mainframe for execution and test. 54 © 2003 IBM Corporation
0a296fecdca6a61b682abc5dc14b0362.ppt