Function of DDNAME=COMMANDS



IBM's flagship relational database management system

Function of DDNAME=COMMANDS

Postby arshadhrashid » Thu Apr 24, 2014 9:18 pm

Hello there,
I have old legacy JCL that was working fine in db2 v9. But after the upgrade to v10 , it fails with CC=08.
I am trying to understand this JCl but need some help.
Here is the code
//KZDBCMD  PROC SSID=,
//         DB2VER=V10R1M0,
//         MODE=TEST,
//         MEMBER=COMMENT,
//*        S='',
//         SOUT='*'
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
//*  THIS PROCEDURE EXECUTES THE TSO/E TERMINAL MONITOR PROGRAM
//*  AND CALLS THE DB2 ATTACHMENT INTERFACE. DB2 COMMANDS ARE
//*  SUBSEQUENTLY PROCESSED VIA THE "COMMANDS" OVERRIDE.
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
//P010     EXEC PGM=IKJEFT01,DYNAMNBR=20
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
//STEPLIB  DD DSN=DB2.&SSID..&DB2VER..SDSNLOAD,DISP=SHR
//SYSTSPRT DD SYSOUT=&SOUT
//SYSPRINT DD SYSOUT=&SOUT
//SYSOUT   DD SYSOUT=&SOUT
//DBRMLIB  DD DSN=DB2.&SSID..DBRMLIB,DISP=SHR
//SYSTSIN  DD DSN=DB2.&SSID..&DB2VER..CNTLCARD(DSN&SSID),DISP=SHR
//         DD DSN=&MODE..KZ.CTLCARD(&MEMBER),DISP=SHR
//         DD DDNAME=COMMANDS,DCB=BLKSIZE=80
//         DD DSN=DB2.&SSID..&DB2VER..CNTLCARD(LIB&SSID),DISP=SHR
//*


The DD DSN=DB2.&SSID..&DB2VER..CNTLCARD(DSN&SSID) contains
DSN SYSTEM(KDP)

DSN=&MODE..KZ.CTLCARD(&MEMBER) contains
* DEFAULT COMMENT CARD
And DB2.&SSID..&DB2VER..CNTLCARD(LIB&SSID), contains
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA10) -
LIB('DB2.KDP.V10R1M0.RUNLIB.LOAD')


==========================
I am unable to figure out what its trying to do
Can someone shed some light specialty what is meant by

DD DDNAME=COMMANDS,DCB=BLKSIZE=80
arshadhrashid
 
Posts: 70
Joined: Tue Jul 28, 2009 5:03 am
Has thanked: 0 time
Been thanked: 0 time

Re: Function of DDNAME=COMMANDS

Postby dick scherrer » Thu Apr 24, 2014 10:09 pm

Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times

Re: Function of DDNAME=COMMANDS

Postby arshadhrashid » Fri Apr 25, 2014 12:04 am

Thanks a lot.
I see the concatenation but I still don't understand the function of DD DDNAME=COMMANDS,DCB=BLKSIZE=80.
In fact if I have the following sequence
//DBRMLIB DD DSN=DB2.KDB.DBRMLIB,DISP=SHR
//SYSTSIN DD DSN=DB2.KDB.V10R1M0.CNTLCARD(DSNKDB),DISP=SHR
// DD DSN=TEST.KZ.CTLCARD(COMMENT),DISP=SHR
// DD DSN=DB2.KDB.V10R1M0.CNTLCARD(LIBKDB),DISP=SHR
// DD DDNAME=COMMANDS,DCB=BLKSIZE=80

The job runs fine and I can see the action in job log as
READY
DSN SYSTEM(KDB)
DSN
* DEFAULT COMMENT CARD
DSN
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA10) LIB('DB2.KDB.V10R1M0.RUNLIB.LOAD')
DSN
END
DSNTIAD - SAMPLE DYNAMIC SQL PROGRAM 2.0

But if change the sequence of DD DDNAME=COMMANDS, as follows
//SYSTSIN DD DSN=DB2.KDB.V10R1M0.CNTLCARD(DSNKDB),DISP=SHR
// DD DSN=TEST.KZ.CTLCARD(COMMENT),DISP=SHR
// DD DDNAME=COMMANDS,DCB=BLKSIZE=80
// DD DSN=DB2.KDB.V10R1M0.CNTLCARD(LIBKDB),DISP=SHR


Job fails with CC=012
11 IEF686I DDNAME REFERRED TO ON DDNAME KEYWORD IN PRIOR STEP WAS NOT RESOLVED.
If you can suggest what is DDNAME=COMMANDS stand for.
arshadhrashid
 
Posts: 70
Joined: Tue Jul 28, 2009 5:03 am
Has thanked: 0 time
Been thanked: 0 time

Re: Function of DDNAME=COMMANDS

Postby dick scherrer » Fri Apr 25, 2014 12:36 am

Hello,

DDNAME=COMMANDS is specific to your process. You need to find the "old" process and in that should be a COMMANDS DD statement.

You could always run a test removing this particular DD statement to see what happens.

Asking someone who has been involved with your V9 environment might help. Possibly, this was done away with in the V10 upgrade?
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times


Return to DB2

 


  • Related topics
    Replies
    Views
    Last post