Unconverted JCL Option


Introduction

This option allows you to run existing Batch JCL with very minimal changes, and in many cases, no changes.

To use this option, the COPE Administrator must do the following.

  • Choose a set of tokens (identifying character strings) suitable for identifying each Lsys within each Psys, given the methods available described below.
  • Have the Systems Programmer relink the IBM DFSRRC00 module to provide an intercept.

The token can be specified by using either of the following methods:

  1. In the IMSID parameter of the PARM= on the EXEC (the 14th parameter). This is only applicable to BMPs. For consistency, this method limits the token length to 4 characters, although longer tokens could be used.
  2. In the programmer name field of the Job card, (the second positional parameter). A token of up to 17 characters can be used in this method.

Use in a DD card of the form:

//COPEBSYS DD DSN=&&TOKEN,UNIT=SYSDA,SPACE=(TRK,(1))Insert this DD anywhere in the job stream. So that existing JCL is not disturbed, you could put a dummy IEFBR14 step at the start of the job, containing this COPEBSYS DD. A token up to 8 characters long can be used via this method.

Whenever a step with a PGM=DFSRRC00 statement executes, COPE gets control, and looks first at the 14th (IMSID) position of the PARM= for this step, then at the programmer name field of the JOB card, and lastly scans from the top of the JCL for a COPEBSYS DD. In each case if is looking for a value matching one of the tokens you have defined, to specify a Psys\Lsys combination. Once a Psys.Lsys combination has been identified, COPE reallocates DDnames appropriately. If no matching token is found, COPE assumes this is a non-COPE DFSRRC00 step, and passes control to DFSRRC00, with no action.

The DDnames reallocated are the IMS (PSBLIB and DBDLIB) IMSACB (ACBLIB), STEPLIB (to include the database dynamic allocation load library, and the COPE libraries), and RECONs.

All the dataset names in the JCL must be valid, otherwise the job will 'JCL error' before execution.

Any non-GSAM database DDs present in an IMS step won't actually be used (the dynamic allocation datasets will be used instead). GSAM and non-database DDs must point to the correct DSNs for this Psys. Lsys in the JCL, because COPE does not translate these allocations in any way.

Defining Unconverted JCL (Option 4.9)

To define Unconverted JCL options go into option 4.9.

JCL/Control Card Conversion Options


cope-Admin-DBCTL-Unconverted_JCL_Option_00725.jpg


Option 1 allows control cards to be converted.

Option 2 allows specification of the tokens for BMP jobs. After selecting option 2, the following screen is displayed.

Unconverted JCL Token Definition Menu


cope-Admin-DBCTL-Unconverted_JCL_Option_00727.jpg


Select G.

A definition application is invoked that allows specification of the Physical systems (Psys’s) controlled by COPE and the identifying tokens that are required to be present in the JCL at run-time.

A Physical system is uniquely identified by the specification of the dataset and member name of the ZDEFCICS member copy. The "ZDEFCICS" member contents are described in the COPE for DBCTL/CICS Installation Guide. You specify the PROCS DSN and member name for each Psys on the first screen is displayed in the following figure. If you only have one Psys, you only need one line.

Unconverted JCL Psys Definition Screen

cope-Admin-DBCTL-Unconverted_JCL_Option_00729.jpg


Press PF3, and a screen is displayed for specifying the identifying Psys.Lsys tokens as displayed in Unconverted JCL Psys Definition Screen.

 Unconverted JCL Psys/Lsys Token Definition Screen

cope-Admin-DBCTL-Unconverted_JCL_Option_00731.jpg


The fields are initially filled in with default tokens equal to the Lsys names, for any previously defined "ZDEFCICS" members.

The STMT and PARAM fields of a row identify the position in the JCL for the token as follows:

JOB PGMR

Programmer name field of the job card. Tokens can be 1 to 17 characters long.

EXEC IMSID

14th position of the PARM= on the EXEC (IMSID field). IMSID tokens can also be 1 to 17 characters long, but your JCL proc parameter conventions might limit them to 4 characters (e.g. if also used in DSNs).

The tokens must be unique within the entire table (no duplicates). At run time, if neither the IMSID nor JOB produce a match to a token, either token will be used to match against a COPEBSYS DD (if present). You do not need to have both JOB and IMSID rows, unless this is desirable. Multiple different tokens can refer to the same Psys.Lsys combination, if needed.

Press PF3, and you will be placed into EDIT on JCL that links a COPE Psys table module to the IMS RESLIB, and re-links DFSRRC00 to contain the COPEALUJ front-end.

Submit the job, and when it completes, check the condition codes.

Convert Control Cards

Sometimes installations have systems that require DBD and PSB names to be specified in some format that is unique to that system. As a convenience for converting these names, the option 4.9 Sub-option 1 allows individual members to be edited, and an edit macro executed to translate any names found in the member to the corresponding COPE C-number name. Another option is provided that allows all members in a dataset to be scanned and translated and rewritten to another dataset. Two modes of operation are provided. The first allows specification of a dataset and individual members are selected, the second allows scanning and conversion of all members in a dataset.

Control Card Conversion (Individual Members)

cope-Admin-DBCTL-Unconverted_JCL_Option_00733.jpg


If all members in a dataset are to be converted, specify BC and the dataset name. When pressing Enter, the following screen will be presented for specification of the output dataset. A background job will be submitted for conversion.

Control Card Conversion (All Members)

cope-Admin-DBCTL-Unconverted_JCL_Option_00735.jpg

The 'T' macro command

When in edit on a member, a 'T' command may be entered in the command field.

An explanation of the T command can be obtained by pressing PF1 when in Edit. The format of the T command is as follows:

T Lsys-name (DBD) {label-range} {NEXT} {x} {col1-col2}
(DD) {ALL} {NX}
(PSB) {FIRST} (PGM){LAST}
{PREV}
The Lsys-name is the COPE logical system name, and DBD/PSB/DD/PGM defines the internal translate table to access to perform the control card translation.

Translation is performed by extracting every word beginning with a character, and looking for it in the translate table. It is important to limit the number of lines scanned with the range and column modifiers to reduce the number of searches.

If a match is found, the edited line is changed to contain the internal C-number name, and the original line is displayed under it as a note. If the translation is incorrect, the note line can be made a 'real' statement again by typing the characters MD (for 'Make Data') in the line command field.

The following examples demonstrate the operation of the 'T' command.

Using the 'T' command

cope-Admin-DBCTL-Unconverted_JCL_Option_00737.jpg


In this example (Using the 'T' command), the second and third lines will be scanned for DBD names between columns 1 and 17, and any names that match will be converted to those COPE names assigned to Logical System CICSA. The result of issuing this command is displayed in the following figure.

Results of the 'T' Command Conversion

cope-Admin-DBCTL-Unconverted_JCL_Option_00739.jpg

If RESET is entered in the command field, the NOTE lines and the previous data lines will be removed. If the previous data is required to be kept, MD can be entered in the left columns to convert the node to a row of data.

The COPEBSYS DD Statement

The logical system name is coded on batch or BMP jobs on a JCL //COPEBSYS DD statement. This always overrides any Logon in USTDLMGR, and any transmitted Lsys. An example that specifies logical system TFT4 to the batch or BMP step is:

//COPEBSYS DD DSN=&&TFT4,UNIT=SYSDA,SPACE=(CYL,(1))

The COPETRAC DD statement

IF DL/1 calls are required to be trapped, a //COPETRAC DD SYSOUT=* statement may be added to the BMP or batch job to generate a listing of all DL/1 calls.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*