I have a CLIST that reads a dataset member which has a standard format for release of Subschema(s) source to our production system. It creates a single member with all of the subchema source. It is working, but I would like to add a feature that puts the word GENERATE after each subschema source in the member. Here is the coding - I am open to any ideas.
Code:
ISPEXEC TBCREATE AAATABLE NAMES(SSC) +
NOWRITE REPLACE SHARE
DO WHILE &SUBSTR(2:17,&RELLINE) NE &STR(Change Rationale)
SET &FF EQ &STR(A)
SET &SSC EQ &STR( )
IF &SUBSTR(2:3,&RELLINE) EQ &STR(YH) THEN +
DO
SET &SSC EQ &SUBSTR(2:9,&RELLINE)
SET &FF EQ &STR(B)
SET &TCOUNT EQ &TCOUNT + 1
END
IF &FF EQ &STR(B) THEN +
ISPEXEC TBADD AAATABLE ORDER MULT(400)
ISPEXEC LMGET DATAID(&RELDD) MODE(INVAR) +
DATALOC(RELLINE) DATALEN(DATALEN) MAXLEN(80
END
ENDLOOP: +
WRITE CURRENT TCOUNT &TCOUNT MEMBER &I.&B.&RELDATE
SET &TOTAL EQ &TOTAL + &TCOUNT
WRITE TOTAL IS &TOTAL
SET &TCOUNT EQ 0
SET &B EQ &B + 1
END
SET &RC = 0
ISPEXEC TBTOP AAATABLE
ISPEXEC TBSORT AAATABLE FIELDS(SSC,C,A)
READTAB: +
ERROR OFF
ERROR DO
IF &LASTCC = 8 THEN SET &LASTCC = 0
GOTO READEND
END
CONTROL MSG
ISPEXEC TBTOP AAATABLE
ISPEXEC TBSKIP AAATABLE NUMBER(+1) POSITION(CRP)
ISPEXEC FTOPEN TEMP
ISPEXEC FTINCL SUBJOB
ISPEXEC FTINCL DBAR603
DO WHILE &LASTCC = 0
IF &SSC NE &STR( ) THEN +
DO
SET &PDILOG EQ &STR(PUN SUB &SSC SCH YCDEVL V 12 AS SYN.)
ISPEXEC FTINCL SUBLINE
END
ISPEXEC TBSKIP AAATABLE NUMBER(+1) POSITION(CRP)
END
Your post is quite unclear...
post a sample of how the jcl is being generated now,
how You want it to be generated
and from where Your skel should get the values...
This is what I am currently doing. We have two IDMS CV (Version 16) databases. One Database is used for development and the other is production. I developed (over a period of 20 years) over 40 of ISPF screens to aid in the Compiling/testing/releasing programs into the production database. The change I would like to make is in the release portion. When we release a dialog/map or batch program it is the load module that is loaded to production. The only source is the subchemas. I have discussed changing the release of subschemas to load module, but of course if it is not broke do not fix it. The production team does not want any changes. Here are the steps involed to do a release. First, the programmer sets up a standard release TSO dataset member using ISPF screens. Next, I run the TSO member(s) through the Clist I would like to change. The Clist reads the TSO member(s) and extracts the subchema(s) that are marked as revised or new. Creates a list of subchema names in alphabetical order to a table called AAATABLE. The AAATABLE is read and creates the syntax "PUN SUB &SSC (SSC=Subschema name) SCH YCDEVL V 12 AS SYN" to a data set member called SUBLINE. Creates a tempory dataset &ZUSER..PTU01.PUNCH (this dataset contains the "PUN SUB" statements") - which is passed to IDMS untility program IDMSUBSC.
The change is I would like to add the word Generate at the end of each subschema source. How can I read AAATABLE in a second time and add Generate.
The SOURCE of the jcl being submitted, reply - it is in the first post
SOURCE You would like to submit, - I am not sure how to approach this problem. I do not want to Generate anything. I want to put the word "GENERATE" after the subchema Source. Here is the source I would like to add
Code:
ISPEXEC TBCREATE AAATABLE NAMES(SSC) +
NOWRITE REPLACE SHARE
DO WHILE &SUBSTR(2:17,&RELLINE) NE &STR(Change Rationale)
SET &FF EQ &STR(A)
SET &SSC EQ &STR( )
IF &SUBSTR(2:3,&RELLINE) EQ &STR(YH) THEN +
DO
SET &SSC EQ &SUBSTR(2:9,&RELLINE)
SET &FF EQ &STR(B)
SET &TCOUNT EQ &TCOUNT + 1
END
IF &FF EQ &STR(B) THEN +
ISPEXEC TBADD AAATABLE ORDER MULT(400)
ISPEXEC LMGET DATAID(&RELDD) MODE(INVAR) +
DATALOC(RELLINE) DATALEN(DATALEN) MAXLEN(80
END
ENDLOOP: +
WRITE CURRENT TCOUNT &TCOUNT MEMBER &I.&B.&RELDATE
SET &TOTAL EQ &TOTAL + &TCOUNT
WRITE TOTAL IS &TOTAL
SET &TCOUNT EQ 0
SET &B EQ &B + 1
END
SET &RC = 0
ISPEXEC TBTOP AAATABLE
ISPEXEC TBSORT AAATABLE FIELDS(SSC,C,A)
READTAB: +
ERROR OFF
ERROR DO
IF &LASTCC = 8 THEN SET &LASTCC = 0
GOTO READEND
END
CONTROL MSG
ISPEXEC TBTOP AAATABLE
ISPEXEC TBSKIP AAATABLE NUMBER(+1) POSITION(CRP)
ISPEXEC FTOPEN TEMP
ISPEXEC FTINCL SUBJOB
ISPEXEC FTINCL DBAR603
DO WHILE &LASTCC = 0
IF &SSC NE &STR( ) THEN +
DO
SET &PDILOG EQ &STR(PUN SUB &SSC SCH YCDEVL V 12 AS SYN.)
ISPEXEC FTINCL SUBLINE
END
ISPEXEC TBSKIP AAATABLE NUMBER(+1) POSITION(CRP)
END
READEND: +
ISPEXEC FTINCL SUB602
ISPEXEC TBEND AAATABLE
ISPEXEC FTCLOSE
===================NEW Source starts here ===========
ISPEXEC FTOPEN TEMP2
ISPEXEC FTINCL SUBJOB
ISPEXEC FTINCL DBAR700
DO WHILE &LASTCC = 0
IF &SSC NE &STR( ) THEN +
DO
SET &PDILOG EQ &STR(MOD SUB &SSC. GENERATE.)
ISPEXEC FTINCL SUBLINE
END
ISPEXEC TBSKIP AAATABLE NUMBER(+1) POSITION(CRP)
END
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
Quote:
Creates dataset member
ADD
SUBSCHEMA NAME IS YHxxxxxx OF SCHEMA NAME IS YCxxxx VERSION IS 1
followed by Add AREA, Add SET, and etc.
i would like to ADD - Generate
So far, you have not provided the source of these statements. Presumably, it is coming from a file tailoring skeleton. Please provide the file tailoring skeleton SOURCE. I believe that is where you will need to append the word GENERATE.
-----------Release Quarterly/Monthly Subschema Source/Dialog load modules------
COMMAND =========> SCROLL PAGE
Enter SUB to process list, CAN to cancel this function TIME: 13:18
Use PF1 for HELP DATE: 10/01/22
CLID: DBAPN600
Release DATE: 10001 Type of Release: I
Dictionary Name where load modules reside: Q1
Execution jobclass (S, T, U, X or Z) :-> S Return to this screen?: N
===============================================
create a list
PUN SUB YHDVC01G SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC10F SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60D SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60E SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60F SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60G SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60H SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60I SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60J SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60K SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60M SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60P SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60T SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60U SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60V SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60W SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60X SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60Y SCH YCDEVL V 12 AS SYN.
PUN SUB YHDVC60Z SCH YCDEVL V 12 AS SYN.
ADD
SUBSCHEMA NAME IS YHDVC01G OF SCHEMA NAME IS YCDEVL VERSION IS 12.
ADD
AREA NAME IS YA-CASE
.
ADD
AREA NAME IS YA-CNTRY
.
ADD
AREA NAME IS YA-CTXPND
.
ADD
AREA NAME IS YA-FMSG
.
ADD
AREA NAME IS YA-IFUND
.
ADD
AREA NAME IS YA-MSGCD
.
ADD
RECORD NAME IS YR-ACCTRCD
CONNECT IS NOT ALLOWED
MODIFY IS NOT ALLOWED
DISCONNECT IS NOT ALLOWED
KEEP IS NOT ALLOWED
.
ADD
RECORD NAME IS YR-CASE
STORE IS NOT ALLOWED
CONNECT IS NOT ALLOWED
MODIFY IS NOT ALLOWED
DISCONNECT IS NOT ALLOWED
ERASE IS NOT ALLOWED
KEEP IS NOT ALLOWED
ELEMENTS ARE CA-CASE-ID
.
ADD
SET NAME IS YI-UNQ-IDX
.
ADD
SET NAME IS YV-CASE-ACCTRCD
.
ADD
SET NAME IS YV-CASE-XCPTN
.
ADD
SET NAME IS YV-FNDMS-XCPTN
.
would like to add the word GENERATE at the end
ADD
SUBSCHEMA NAME IS YHDVC10F OF SCHEMA NAME IS YCDEVL VERSION IS 12.
ADD
AREA NAME IS YA-CASE
.
ADD
AREA NAME IS YA-CNTRCT
.
ADD
AREA NAME IS YA-CNTRCTX
.
ADD
AREA NAME IS YA-FUDOC
.
ADD
AREA NAME IS YA-FUDOCX
.
ADD
AREA NAME IS YA-LOG
.
ADD
RECORD NAME IS YR-APPN
STORE IS NOT ALLOWED
CONNECT IS NOT ALLOWED
MODIFY IS NOT ALLOWED
DISCONNECT IS NOT ALLOWED
ERASE IS NOT ALLOWED
KEEP IS NOT ALLOWED
ELEMENTS ARE OA-APRPRTN-CD
.
ADD
RECORD NAME IS YR-BCKFT
KEEP IS NOT ALLOWED
.
ADD
SET NAME IS YI-CNTRCT-LINE
.
ADD
SET NAME IS YI-FUNDS-LINE
.
ADD
SET NAME IS YV-APPN-CTACRN
.
In the CLIST - I do ISPEXEC - used to execute JCL - IDMS CV IDMSUBSC utility program creates the source - see below
ISPEXEC FTOPEN TEMP
ISPEXEC FTINCL SUBJOB Note: Job Card info
ISPEXEC FTINCL DBAR603 Note: utililty's IEFBR14 (used to delete the old (previous run) temporary data set &ZUSER..PTU01.PUNCH) SORT to put the Subschema names in order.
create a list of Punch statements
ISPEXEC FTINCL SUB602 Note: uses &ZUSER..PTU01.PUNCH as input to IDMSUBSC (IDMS CV utility program).