This is part of the Heirloom Computing Elastic Batch Platform forum on paas.heirloomcomputing.com.
The Heirloom Computing Elastic Batch Platform (EBP) contains a collection of common IBM Utilities that are available on zOS JES systems from the EBP environment. This article contains an overview of their functionality but does not specify their complete syntax. For the command syntax accepted by the Standard Utilities see the Standard Utility Language Reference Manual.
This is only an overview. For a detailed description of IBM Utilities, see the IBM documentation for that utility.
Index
IEFBR14
Description
IEFBR14 does not accept any input commands. It is used as a "null" program that usually returns Condition Code 0 on the job step that invokes it. It is useful for creating new datasets on associated DD cards or testing the existence of them.
The Heirloom Computing EBP version of IEFBR14 has extensions beyond the IBM Utility. The PARM field may contain the following directives, separated by spaces, and may contain multiple occurrences of them.
RC=x
- Will return a condition code of x, where x is between 0 and 32, from the IEFBR14 program. Condition codes can be used to determine the execution or bypass of later steps with the COND parameter of the EXEC statement.
- SYSOUT=word1+word2
- Will print the words on the dataset or output designated by the SYSOUT DD card, one line per SYSOUT keyword. The character "+" is replaced with a " " (space) before printing.
- SLEEP=seconds
- Will delay further processing of the IEFBR14 utility for the indicated number of seconds.
No other keywords are accepted, they are ignored. IEFBR14 does not generate errors or output on SYSOUT or SYSERR if there are syntax errors in the parameters.
Example
IEFBR14 is chiefly used to create or delete datasets. In the following example SAMPIN is deleted at the conclusion of the step and SAMPOUT is created if it doesn't exist. No errors are thrown if either dataset does not exist before the job is run. This is partially due to the EBP extension that NEW will re-create a dataset should it exist before the job is run. However, IEFBR14 will return a condition code of 4 as a result of the EBP extension RC=4 parameter.
//EXAMP JOB A492,PROGRAMMER
//CREATE EXEC PGM=IEFBR14,PARM='IGNORED RC=4 IGNORED' //DD1 DD DSN=A123456.A492.SAMPIN,DISP=(MOD,DELETE,DELETE) //DD2 DD DSN=A123456.A492.SAMPOUT,DISP=(NEW,KEEP,DELETE),
// DCB=(DSORG=PS,LRECL=80,BLKSIZE=6160)
IEBGENER
Description:
IEBGENER generates (copies) from the dataset attached to the SYSUT1 DD name to the dataset or system output associated with DD SYSUT2. IEBCOPY uses IDCAMS REPRO to copy data.
The Heirloom Computing EBP version of IEBGENER has extensions beyond the IBM Utility. The PARM field may contain the following directive to allow a line sequential file to be written with trailing spaces:
NOTRIM
- Specifies that if SYSUT2 is a line sequential file it will be written with trailing spaces padded to LRECL before the EOL char(s) are written e.g. //RUN2 EXEC PGM=IEBGENER,PARM=NOTRIM
EBP IEBGENER utility utilizes the following DD cards:
- //SYSUT1 DD
- Indicates the data to be copied from
- //SYSUT2 DD
- Indicates the data to be copied to
- //SYSIN DD DUMMY
- No control cards are used with IEBGENER
- //SYSPRINT DD
- Indicates the location of the output report location for IEBGENER
Example
The IEBGENER example creates and loads a dataset
//EXAMP JOB A492,PROGRAMMER //RUN2 EXEC PGM=IEBGENER //SYSUT1 DD * Hello Heirloom Computing EBP World! /* //SYSUT2 DD DISP=NEW,DSN=A.B.C.D.E //SYSPRINT DD SYSOUT=*
IEBCOPY
Description:
IEBCOPY is the partitioned dataset (PDS) utility and accepts standard COPY and COPYGRP commands. PDSs are created with DSORG=PO on the JCL DD line and are represented as a directory on disk. PDS members are files within that directory. IEBCOPY uses IDCAMS REPRO to copy data.
Example
The IEBCOPY example below consists of three steps, two of which create a partitioned dataset and a member and the third that invokes the utility to copy them. IEBCOPY is shown copying member F to member G in a different PDS.
//EXAMP JOB A492,PROGRAMMER //RUN1 EXEC PGM=IEFBR14 //ANYDD DD DISP=(NEW,KEEP),SPACE=(TRK,(1,2,3)),DSN='A.B.C // .D.E',DCB=(DSORG=PO) //RUN2 EXEC PGM=IEBGENER //SYSUT1 DD * Hello Heirloom Computing EBP World! /* //SYSUT2 DD DISP=SHR,DSN=A.B.C.D.E(F) //SYSPRINT DD SYSOUT=* //RUN3 EXEC PGM=IEBCOPY //SYSIN DD * COPYPDS COPY INDD=DD1,OUTDD=DD2 SELECT MEMBER=(F,(F,,R),(F,G)) /* //SYSPRINT DD SYSOUT=* //DD1 DD DISP=SHR,DSN=A.B.C.D.E //DD2 DD DISP=(NEW,KEEP),DSN=A.B.C.D.F,DCB=(DSORG=PO)
IDCAMS
Description
IDCAMS Access Method Services. Used to define generation data groups, indexed (keyed), relative-record (numbered), sequential (non-indexed) datasets, delete them and reproduce (copy) them.
The commands IDCAMS accepts are described in the accompanying Standard Utility Language Reference Manual. Command options that are not supported are ignored. Normally, IDCAMS does not accept PARM values, however an EBP-only accepts the following parameters (JCL EXEC card, PARM value):
RC=REPRORECORDS
- Set the condition code for this job step to the total number of REPRO records copied from input to output (used for testing EBP).
The basic IDCAMS input commands are:
BLDINDEX
- Build or rebuild an alternate index after it is defined and before a cluster is loaded. Unnecessary in EBP as AIXes and PATHs are rebuilt when they are defined and records are inserted.
DEFINE GDG
- Create a generation data group with a certain dataset NAME and LIMIT, the number of generations EBP should keep before scratching older ones as new generations of the dataset are created.
- DEFINE CLUSTER
- Create an Indexed-sequential dataset (INDEXED), Relative-record dataset (NUMBERED), or sequential (NONINDEXED) file. LINEAR is supported as an alias for NONINDEXED files. Cluster attributes (KEYS, RECORDSIZE) must match those used by COBOL programs to open them.
- In addition to the usual keywords, EBP IDCAMS also supports the PROTOCOL keyword allowing the creation of files of various file formats supported by the Elastic COBOL runtime.
- DEFINE ALTERNATEINDEX
- Create an alternate index on an existing cluster (indexed dataset).
- DEFINE PATH
- Create an symbolic name to an alternate index defined on a Cluster. Used for reading an cluster in alternate index order as if it was a sequential file.
- Delete the dataset (of any type) specified on the command line.
- IF cond THEN statement [ ELSE statement ]
- Conditionally execute an IDCAMS statement if a conditional expression is true or a different statement if false, if the ELSE clause is given. Often used with the SET statement to reset the maximum condition code to 0, say, if the dataset being deleted does not exist. The cond expression can include symbolics such as LASTCC (the previous statement's condition code) and MAXCC (the maximum condition code of all executed statements).
- Copy the contents of a dataset attached to one DD name (INFILE, OUTFILE) or dataset (INDATASET, OUTDATASET) to another. Datasets may be IDCAMS created INDEXED, NUMBERED datasets or JCL created physical sequential datasets. Dataset ranges may be copied using the FROMKEY/TOKEY clauses for INDEXED files, FROMNUMBER/TONUMBER for NUMBERED files, FROMADDRESS/TOADDRESS for INDEXED and NONINDEXED files. Alternatively, SKIP(n) and COUNT(m) may be used to start copying n records into the file and copy only the m next records.
- Set the condition code to n. Should any of the other commands fail, this is a common technique to ensure that the condition code of the job step is always a certain value.
Note: The Elastic COBOL runtime library is used to create these COBOL-compatible ISAM files. The ecobol.jar library must be included in the $CLASSPATH. Also note that some JEE servers and servlet containers (Tomcat) choose not to pass the environment variables to programs running under them. You can configure one of the EBP classpath1..9 configurations to the full path of the ecobol.jar file. Lacking a viable ecobol.jar, IDCAMS will use Java I/O to REPRO files byte-at-a-time ignoring DCB parameters.
Example
The IDCAMS example below consists of two steps, the first of which invokes IDCAMS utility for a number of operations: create a generation data group limited to 3 generations, copy from one DD dataset to another, delete a dataset and finally ensure that the condition code of the job step is 0. The second step creates the first generation of the GDG.
//EXAMP JOB A492,PROGRAMMER //STEPID01 EXEC PGM=IDCAMS //SYSIN DD * DEFINE GDG( - NAME(A492.GDG.DAT) - LIMIT(3) - NOEMPTY - SCRATCH) REPRO INDD(DD1) OUTDD(DD2) DELETE A.B.C.D set maxcc=0 /* //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSERR DD SYSOUT=*
//INDD DD DISP=SHR,DSN=A492.INPS.DAT
//OUTDD D DISP=NEW,DSN=A492.OUTPS.DAT //* //STEPID02 EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD DUMMY //SYSUT1 DD * gdg dataset generation 1 /* //SYSUT2 DD DISP=(NEW,CATLG),DSN=A492.GDG.DAT(+1)
Description:
IKJEFT01, IKJEFT1A, IKJEFT1B implement the TSO execution environment handling only the commands DSN, RUN, END, % (script invocation) and certain IDCAMS commands. It is primarily used to dynamically attach to a database and run a program.
- DSN
- Define the symbolic DB name specified in SYSTEM keyword for use later in the command stream. The symbolic DB name must be defined in an IKJEFT.properties file available on the datalib.n or in the home (JES WebApps folder). It should contain url, user, password where url is of the form "jdbc:driver://location/dbname".
Note: The JDBC driver implementing the driver specified in the url must be present in the $CLASSPATH. Also note that many JEE servers and servlet containers may not pass environment variables to the programs they invoke. Set one of the classlib.n configurations to the JDBC driver path name.
- RUN
- Run the PROGRAM class (e.g., "RUN PROGRAM(MYPROG)" ) found in one of 4 places:
- A class contained in one of the directories of the job's JOBLIB concatenated DD list that mentions a directory (e.g., JOBLIB DD DISP=SHR,DSN=SYS1.CLASSES) , or a class within a JAR file mentioned by the DD card (e.g., JOBLIB DD DISP=SHR,DSN=ALLMYPGMS.JAR).
- A class contained in one of the directories of the current step's STEPLIB concatenated DD list that mentions a directory (e.g., STEPLIB DD DISP=SHR,DSN=STEP1.CLASSES) , or a class within a JAR file mentioned by the DD card (e.g., STEPLIB DD DISP=SHR,DSN=STEPPGMS.JAR).
- A class contained in a dataset mentioned on the RUN command's LIB parameter (e.g., "RUN PROGRAM(MYPROJ) LIB('STEPPGMS.JAR')
- A class contained in the classlib.n EBP configuration parameters
- Program parameters may be passed with the PARMS option to the RUN command (e.g., "RUN PROGRAM(MYPROG) PARMS('hi') ). The PLAN keyword, the DB2 query execution plan, is checked for syntax and ignored as there is no JDBC equivalent of execution plans.
- Note: Should Elastic COBOL programs be run the ecobol.jar file must be in the $CLASSPATH. Also note that many JEE servers and servlet containers may not pass environment variables to the programs they invoke. Set one of the classlib.n configurations to the ecobol.jar path name.
- DEFINE, DELETE, REPRO
- Run IDCAMS commands.
- % script args...
- Run a REXX, Python, or shell script. The script must be a member of a PDS associated (concatenated or otherwise). Which script interpreter to use is determined by the dataset's suffix: .PY (python), .SH (shell), .BAT (Windows command), .BASH (shell) or other (rexx). The script name and its arguments follow the interpreter path which must be available on the systemlib.n configured paths. The interpreter name (python, sh, cmd, bash or rexx) is used if a configuration for that command is not defined (pythoncommand, shcommand, cmdcommand, bashcommand or rexxcommand).
- END
- Terminate the TSO execution.
- Example
Below is an example of IKJEFT1B in the course of a number of steps to dynamically define a database, tables within it, and data with in. IKJEFT1B can invoke any program but it is typically used to invoke programs that interact with the databases. The main class of these programs must have a static JDBC Connection field called conn for this connection to be effective, otherwise a warning is issued. The utility DSNTIAD has such a connection defined. Elastic COBOL programs containing EXEC SQL statements also have such a variable defined in their context and relieves them from issuing an EXEC SQL CONNECT ... END-EXEC call within the code.
//EXAMP JOB A492,PROGRAMMER //* create the IKJEFT.properties file of symbolic DB names //DB01 EXEC PGM=IEBGENER //SYSUT2 DD DSN=IKJEFT.properties,DISP=NEW //SYSUT1 DD * # Heirloom Computing - Elastic Batch Platform - IKJEFT Properties P001.url=jdbc:mysql://localhost P001.user=root P001.password=abc000 P002.url=jdbc:mysql://localhost/test38 P002.user=root P002.password=abc000 /* //* create a database from the master database (P001) //DB02 EXEC PGM=IKJEFT1B //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(P001) RUN PROGRAM(DSNTIAD) END /* //SYSIN DD * -- create a test database create database test38; commit; /* //* create a test table in that database (P002) //DB03 EXEC PGM=IKJEFT1B //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(P002) RUN PROGRAM(DSNTIAD) END /* //SYSIN DD * -- create a test table, insert data, retrieve it create table test(col integer); commit; insert into test values(1); insert into test values(2); commit; -- extension in EBP DSNTIAD: select statements select col from test; /* //SYSUT2 DD SYSOUT=A /*
SORT, DFSORT
Description
SORT transforms simple DFSORT commands into the parameters to invoke an underlying Linux/UNIX sort command, which it invokes. It will also work with the Windows sort utility, but the options for DFSORT SYSIN are not supported in this version. Because the Linux/UNIX sort utility is more flexible and does allow these options, you can also download a Gnu sort command for Windows and install it in a systemlib.n location that is accessible to EBP. DFSORT commands are limited and are expanded as customers require additional functionality.
Note that as an alternative to SORT an EBP JCL job step can invoke the underlying Linux/UNIX sort command directly. In this case the PARM fields specify parameters to sort which will take DD cards SYSIN (stdin), SYSOUT (stdout) and SYSERR (stderr). Since they're named the same (EXEC PGM case is irrelevant), you should configure, for example, systemlib.1=$PATH and systemlib.2=com.heirloomcomputing.pgm (the location of Standard Utilities).
As with the IBM DFSORT utility, the EBP SORT utility utilizes the following JCL cards:
- //jobname JOB
- Signals the beginning of a job. At your site, you might be required to specify information such as your name and account number on the JOB statement.
- //stepname EXEC
- Signals the beginning of a job step and tells the operating system what program to run. To run DFSORT, write the EXEC statement like this:
//stepname EXEC PGM=SORT
- //SYSOUT DD
- Defines the data set in which DFSORT messages and control statements are listed.
- //SORTIN DD
- Defines the input data set or concatenated input data sets.
- //SYSERR DD
- Defines an error report output dataset from the sort(1) command.
- //SORTOUT DD
- Defines the output data set.
- //SYSIN DD
- Precedes or contains the DFSORT program control statements.
SORT accepts on input only the SORT command with optional FORMAT specification and FIELDS indicators. SORTIN dataset must be LINE SEQUENTIAL format (containing line ending characters). Format specifications accepted are CH, AC, ZD, ASL, UFF, SFF.
Example
Below is a typical example of JCL to run DFSORT with the Linux/UNIX sort command doing the work
//EXAMP JOB A492,PROGRAMMER //SORT EXEC PGM=SORT //SYSOUT DD SYSOUT=A //SORTIN DD DSN=A123456.SORT.SAMPIN,DISP=SHR //SORTOUT DD DSN=A123456.SORT.SAMPOUT,DISP=OLD //SYSIN DD * SORT FORMAT=CH, FIELDS=(110,10,A,145,17,A,1,75,A) /*
Below is a typical example of JCL to run with the Windows sort command doing the work. Windows sort doesn't allow sort field options, so SYSIN commands cannot be provided. It will process standard in (SYSIN) to standard output (SYSOUT). Because SORT command translation is geared toward Linux/UNIX/Gnu sort, SYSIN commands are not allowed if SORT is used (Windows SORT would report "2 input files given"). To pass Windows SORT specific parameters, use the PARM= parameter on the EXEC card.
//EXAMP JOB A492,PROGRAMMER //SORT EXEC PGM=SORT,PARM='/R'
//SYSOUT DD SYSOUT=A //SORTIN DD DSN=A123456.SORT.SAMPIN,DISP=SHR //SORTOUT DD DSN=A123456.SORT.SAMPOUT,DISP=OLD
//SYSOUT DD DUMMY
Note: To have JCL containing an EXEC card with PGM=SORT (or DFSORT) default to a different sort program, for example, SYNCSORT set up a PGM alias in EBP configuration.
SYNCSORT
Description
SYNCSORT invokes the Linux DMXPRESS from SyncSort, inc utilizing the DMXMMSRT utility which parses JCL and processes data as if it came from the mainframe. DMXPRESS is a 3rd party product whose license must be obtained from SyncSort. It must be available from one of the systemlib.n configuration settings. As with SORT, SYNCSORT will follow IBM DFSORT utility control cards with additional functionality and speed advantages over the SORT implementation of the Linux/UNIX sort command.
See documentation from SyncSort concerning DMXPRESS and DMXMMSRT for more information.
Example
//* :....1....:....2....:....3....:....4....:....5....:....6....:....7. //TEST44 JOB (25297812),'SYNCSORT',CLASS=A,MSGLEVEL=(2,2) //* //* job to invoke the DMEXPRESS through DMXMMSRT via //* our builtin SYNCSORT wrapper program //* setup required: DMXMMSRT available //* command available on systemlib.n //* //* create an unsorted file (example from IBM DFSORT manual) //INIT EXEC PGM=IEBGENER //SYSUT2 DD DSN=A123456.SORT.SAMPIN,DISP=NEW,DSORG=PS, // LRECL=162,RECFM=F //SYSUT1 DD * ADVANCED-TOPICS-IN-PSYCHOANALYSIS----------------------------------------------------------------------------PSYCH30975-------------------------NAKATSU--------FL COMPUTER-LANGUAGES-------------------------------------------------------------------------------------------COMP-00032-------------------------CHATTERJEE-----CL COMPUTERS:-AN-INTRODUCTION-----------------------------------------------------------------------------------COMP-00032-------------------------CHATTERJEE-----CL CRISES-OF-THE-MIDDLE-AGES------------------------------------------------------------------------------------HIST-50521-------------------------WILLERTON------DW EDITING-SOFTWARE-MANUALS-------------------------------------------------------------------------------------ENGL-10347-------------------------MADRID---------MM EIGHTEENTH-CENTURY-EUROPE------------------------------------------------------------------------------------HIST-50632-------------------------BISCARDI-------HR INKLINGS:-AN-ANTHOLOGY-OF-YOUNG-POETS------------------------------------------------------------------------ENGL-10856-------------------------FRIEDMAN-------KR INTRODUCTION-TO-BIOLOGY--------------------------------------------------------------------------------------BIOL-80521-------------------------GREENBERG------HC INTRODUCTION-TO-PSYCHOLOGY-----------------------------------------------------------------------------------PSYCH30016-------------------------ZABOSKI--------RL LIVING-WELL-ON-A-SMALL-BUDGET--------------------------------------------------------------------------------PSYCH30016-------------------------ZABOSKI--------RL MODERN-ANTHOLOGY-OF-WOMEN-POETS------------------------------------------------------------------------------ENGL-10856-------------------------FRIEDMAN-------KR NUMBERING-SYSTEMS--------------------------------------------------------------------------------------------COMP-00032-------------------------CHATTERJEE-----AN PICK'S-POCKET-DICTIONARY-------------------------------------------------------------------------------------COMP-00032-------------------------CHATTERJEE-----AN SHORT-STORIES-AND-TALL-TALES---------------------------------------------------------------------------------ENGL-10054-------------------------BUCK-----------GR STRATEGIC-MARKETING------------------------------------------------------------------------------------------BUSIN70124-------------------------LORCH----------HH SUPPLYING-THE-DEMAND-----------------------------------------------------------------------------------------BUSIN70251-------------------------MAXWELL--------RF SYSTEM-PROGRAMMING-------------------------------------------------------------------------------------------COMP-00103-------------------------SMITH----------DC THE-COMPLETE-PROOFREADER-------------------------------------------------------------------------------------ENGL-10347-------------------------MADRID---------MM THE-INDUSTRIAL-REVOLUTION------------------------------------------------------------------------------------HIST-50420-------------------------GOODGOLD-------ST VIDEO-GAME-DESIGN--------------------------------------------------------------------------------------------COMP-00205-------------------------NEUMANN--------LB /* //* //SORT EXEC PGM=SYNCSORT //SYSOUT DD SYSOUT=* -- DMXMMSRT/DMEXPRESS report output //SYSERR DD SYSOUT=* -- DMXMMSRT/DMEXPRESS error //SYSTSPRT DD SYSOUT=* -- SyncSort wrapper error output //SORTIN DD DSN=A123456.SORT.SAMPIN,DISP=SHR //SORTOUT DD DSN=A123456.SORT.SAMPOUT,DISP=NEW,DSORG=PS, // LRECL=162,RECFM=F //SYSIN DD * SORT FORMAT=CH, FIELDS=(110,10,A,145,17,A,1,75,A) /* //* //DUMP EXEC PGM=IEBGENER //SYSUT1 DD DSN=A123456.SORT.SAMPOUT,DISP=OLD //SYSUT2 DD SYSOUT=* //* //* :....1....:....2....:....3....:....4....:....5....:....6....:....7.
Note: To have JCL containing an EXEC card with PGM=SORT (or DFSORT) default to a different sort program, for example, SYNCSORT set up a PGM alias in EBP configuration.
Description
DSNTIAD - the DB2 Command Line Interpreter modified to work with any JDBC database. Database commands are read in on SYSIN and are delimited by ';' each is examined for DB2 syntax which is modified to be SQL92 compliant or ignored then prepared and executed. A CONNNECT statement similar to that accepted by COBOL (url, driver, user, password keywords) will connect to the database. however, the static Connection field "conn" is available to be modified by IKJEFT01 which may connect via the DSN SYSTEM command before RUNning PROGRAM DSNITIAD.
Example
See the example associated with IKJEFT01, which includes several invocations of DSNTIAD.
Description
DSNUTILB normally processes TABLESPACE configurations statements of the system DSN specified as a PARM. This ignores these configurations as they are not necessary when dealing with JDBC databases.
Description
TMSCLEAN will search through all configured datalib.1..9 directories and delete all of those datasets or tapes that were created with a EXPDT before the date is is run or a RETPD that has expired.
Description
BPXBATCH is the IBM JES compatible utility to invoke a Unix shell command. Of course, in EBP you can also process shell commands by using PGM=sh,PARM='cmd arg1 arg2...' on an EXEC card and any arbitrary Unix command and its arguments can be executed with a PGM=apgm,PARM='arg1 arg2...' on an EXEC card.
EBP BPXBATCH utility utilizes the following DD cards:
- //STDIN DD
- Indicates the input data to any shell commands that read from stdin (default is /dev/null)
- //STDOUT DD
- Indicates the destination dataset or SYSOUT of the stdout generated by the command (default is /dev/null)
- //STDERR DD
- Indicates the destination dataset or SYSOUT of the stderr generated by the command (default is /dev/null)
- //STDENV DD
- Indicates the dataset or immediate file containing environment statements of the form name=value (default is no additional environment)
- //STDPARM DD
- BPXBATCH commands to execute are normally placed on the PARM='SH cmd args...' of the step card. But, they can also come in on a dataset or immediate file using this DD card. Commands are of the form:
- SH shell-command arguments...
- PGM executable-command arguments...
- The difference being that SH invokes a subshell and can process "&" (background), "$var" (environment variable substitution), etc. The PGM directive indicates that the command is looked up in the systemlib.1..n configuration settings and executed directly with the appropriate arguments without variable substitution or shell interpretation. For SH operation a Unix compatible shell must exist in the systemlib.1..n configuration paths, requiring an external component on Windows systems. PGM functions on Windows without additional components.
- //SYSPRINT DD
- BPXBATCH generated messages are sent to SYSPRINT, an EBP extension. Turn EBP debugging on to also show the command executed.
DBDGEN
Description
DBDGEN is the Elastic IMS DB database generation program. From an IMS DB DBD input file it creates and intializes an Elastic IMS DB file or relational database table and creates a .DBD file containing schema data structures used by the DFSRRC00 program and DL/I API functions.
EBP DBDGEN takes a number of optional parameters in the PARM string in the form name=value or -name value.
- PROCOCOL=VDB|EC|MF8|MF3
- Indicates the Elastic COBOL file protocol to use when creating the Elastic IMS DB dataset or relational database table (default: EC).
- LISTING=listing-file
- Forces PRINT GEN listing information on and writes the report to the indicated file (default: SYSPRINT DD name).
- PRINT=GEN|NOGEN|1|0|YES|NO|TRUE|FALSE
- Override what is in the input DBD file's PRINT card (default: PRINT card within DBD file).
- DIRECTORY=output-dataset-location
- Place the output dataset (the Elastic IMS DB file and .dcb entry in the given directory (default: first writable datalib.1..9 EBP configured path).
- DATASET=output-dataset-name
- Overrides the name of the Elastic IMS DB file or database table (default: the NAME field on the DBD statement).
- input-file
- Use this input file containing DBD statements instead of standard in (default: SYSIN DD card).
EBP DBDGEN utility utilizes the following DD cards:
- //STDIN DD
- Indicates the input cards that form a DBD file. This includes PRINT, DBD, DATASET, SEGM, FIELD, DBDGEN, FINISH and END statements.
- //SYSPRINT DD
- Contains the output report for DBDGEN when the PRINT GEN DBD statement is encountered during DBD file processing or if the PRINT=GEN is specified on the PARM string. The report includes the input cards, analysis (with corrections) to those cards, a description of the Elastic IMS DB database created and the IDCAMS statements to recreate the database if necessary.
PSBGEN
Description
PSBGEN is the Elastic IMS DB database program status block generation program. From an IMS DB PSB input file it creates a ..PSB file containing schema data structures used by the DFSRRC00 program and user pgorams.
EBP PSBGEN takes a number of optional parameters in the PARM string in the form name=value or -name value.
- PROCOCOL=VDB|EC|MF8|MF3
- Indicates the Elastic COBOL file protocol to use when creating the Elastic IMS DB dataset or relational database table (default: EC).
- LISTING=listing-file
- Forces PRINT GEN listing information on and writes the report to the indicated file (default: SYSPRINT DD name).
- PRINT=GEN|NOGEN|1|0|YES|NO|TRUE|FALSE
- Override what is in the input PSB file's PRINT card (default: PRINT card within PSB file).
- DIRECTORY=output-dataset-location
- Place the output dataset (the .PSB file and .dcb entry in the given directory (default: first writable datalib.1..9 EBP configured path).
- DATASET=output-dataset-name
- Overrides the name of the PCB entry (default: the DBDNAME field on the PCB statement).
- input-file
- Use this input file containing DBD statements instead of standard in (default: SYSIN DD card).
EBP PSBGEN utility utilizes the following DD cards:
- //STDIN DD
- Indicates the input cards that form a PSB file. This includes PRINT, PCB, SENSEG, SENFLD and END statements.
- //SYSPRINT DD
- Contains the output report for PSBGEN when the PRINT GEN PSB statement is encountered during PSB file processing or if the PRINT=GEN is specified on the PARM string. The report includes the input cards, analysis (with corrections) to those cards, a description of the Elastic IMS DB database created and the IDCAMS statements to recreate the database if necessary.
DFSRRC00
Description
DFSRRC00 is the primary Elastic IMS DB control module run from a batch environment. It validates an Elastic IMS DB database (attached to the DB DD name) and control structures DBD and PSB (attached to the IMS DD name). It then invokes the user program through its DLITCBL entry point, which may be specified in libraries (.jar files or directories containing .class files) with the JOBLIB, STEPLIB DD cards or systemlib.1..9 or classlib.1..9 EBP configured directories.
EBP DFSRRC00 utility supports all of the DD cards that the user program requires, plus
- //STEPLIB DD
- Location of the user program containing the DLITCBL entry point.
- //DB DD
- The dataset indicating the Elastic IMS DB dataset name
- //IMS DD
- A concatenated DB indicating both the dataset containing the DBD created with the DBDGEN utility and the PSB to be used with this user program created by the PSBGEN utility.
- //SYSERR DD
- Severe database access issues are reported to the standard error output.
0 Comments