Follow

Standard Utility Programmers Guide

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.

 

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
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).
REPRO
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 MAXCC=n
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)

 

IKJEF01, IKJEF1A, IKJEF1B

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:
  1. 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).
  2. 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).
  3. A class contained in a dataset mentioned on the RUN command's LIB parameter (e.g., "RUN PROGRAM(MYPROJ) LIB('STEPPGMS.JAR')
  4. 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.

DSNTIAD

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.

DSNUTILB

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.

TMSCLEAN

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.

BPXBATCH

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.
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk