MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Current Date and Time Issue

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL)
View previous topic :: View next topic  
Author Message
sri50131
Beginner


Joined: 07 Oct 2004
Posts: 38
Topics: 15

PostPosted: Mon Nov 27, 2006 2:11 pm    Post subject: Current Date and Time Issue Reply with quote

Hello,

I am having a problem when the following JCL:
Problem:
JSTEP006 is not executing
Code:

//JSTEP005 EXEC PGM=IDCAMS                                             
//*                                                                     
//SYSPRINT DD  SYSOUT=X                                                 
//SYSIN    DD  *                                                       
        DELETE ATEST.USERID.TSTPROCY.REGN.EDS.NAMEADD                   
        DELETE ATEST.USERID.TSTPROCY.REGN.S10.SRTOF02                   
        DELETE ATEST.USERID.RENAME.OUTPUT                               
                                                                       
   IF MAXCC>0 THEN SET MAXCC=0                                         
                                                                       
/*                                                                     
//JSTEP006 EXEC PGM=EZACFSM1                                           
//SYSOUT    DD SYSOUT=(*,INTRDR)                                                 
//SYSIN     DD DATA,DLM=@@                                             
//PSR012A1 JOB (AMI00-TT-DB2-3Z),                                       
//             'SRIDHAR',                                               
//             CLASS=T,                                                 
//             MSGCLASS=X,                                             
//             NOTIFY=&SYSUID                                           
//STEPK1   EXEC PGM=IEBGENER                                           
//SYSPRINT DD SYSOUT=*                                                 
//SYSUT1   DD DUMMY                                                     
//SYSUT2   DD DSN=ATEST.USERID.TSTPROCY.REGN.EDSNM.D&LYYMMDD..T&LHHMMSS,
//            UNIT=SYSDA,DISP=(NEW,CATLG,KEEP),                         
//            SPACE=(TRK,(50,50),RLSE)                                 
//SYSIN   DD  DUMMY                                                     
@@                                                                     
//JSTEP010 EXEC SORTER,PARM='EQUALS',                                   
//         AMT=50,                                                     
//         OUTC=X                                                       
//*                                                                     
//SORTIN   DD  DSN=INSORT                                               
//            DISP=SHR                                                 
//*                                                                     
//SORTOF01 DD DSN=ATEST.USERID.TSTPROCY.REGN.EDSNM.D&LYYMMDD..T&LHHMMSS,
//           DISP=OLD     
//SORTOF02 DD  DSN=ATEST.USERID.TSTPROCY.REGN.S10.SRTOF02,             
//           UNIT=SYSDA,DISP=(,CATLG,DELETE),SPACE=(CYL,(10,10),RLSE), 
//           DCB=(LRECL=1504,RECFM=VB),STORCLAS=SPECIAL                 
//SYSIN    DD  *                                                       
      SORT FIELDS=(14,18,A,47,2,A,43,4,A,12,2,A,5,5,A,92,1,A),         
           FORMAT=BI                                                   
       RECORD TYPE=V                                                   
        OUTFIL FILES=01,                                               
             INCLUDE=(5,6,CH,EQ,C'FPP910',OR,                           
                      5,6,CH,EQ,C'FPP410',OR,                           
                      5,6,CH,EQ,C'FPP110')                             
        OUTFIL FILES=02,                                               
             INCLUDE=(5,6,CH,NE,C'FPP910',AND,                         
                      5,6,CH,NE,C'FPP410',AND,                         
                      5,6,CH,NE,C'FPP110',AND,                         
                      5,5,CH,NE,C'IPP10',AND,                           
                      5,5,CH,NE,C'IPP11',AND,                           
                      5,5,CH,NE,C'IPP12',AND,                           
                      5,5,CH,NE,C'MMS10',AND,                           
                      5,5,CH,NE,C'MMS11')                               
        END                                                             
/*           

Here is the error that I am getting:
IEFC618I OPERAND FIELD DOES NOT TERMINATE IN COMMA OR BLANK

Line 18 is:
18 //SORTOF01 DD DSN=ATEST.PSR012.APCPE602.SR2B.EDSNM.D&LYYMMDD..T&LHHMMS
// DISP=OLD

Can someone please tell me what I am doing wrong.

Thanks.
Back to top
View user's profile Send private message
superk
Advanced


Joined: 19 Dec 2002
Posts: 684
Topics: 5

PostPosted: Mon Nov 27, 2006 2:26 pm    Post subject: Reply with quote

What I see is that, in step JSTEP006, you are executing the EZACFSM1 program (TCP/IP Variable Substitution) and creating a new job PSR012A1, which you are routing to the Internal Reader for submission. This job appears to copy a dataset to a new dataset with a value substituted for the system date and time.

Meanwhile, back in the original job, step JSTEP010 executes, and uses two symbolic variables (D&LYYMMDD and T&LHHMMSS) that you have not previously defined (you would need a SET statement).

How'd I do?
Back to top
View user's profile Send private message
superk
Advanced


Joined: 19 Dec 2002
Posts: 684
Topics: 5

PostPosted: Mon Nov 27, 2006 3:22 pm    Post subject: Reply with quote

An unresolved variable will cause a JCL error. A value must be supplied before the job ever executes (usually with a SET statement).
Back to top
View user's profile Send private message
superk
Advanced


Joined: 19 Dec 2002
Posts: 684
Topics: 5

PostPosted: Mon Nov 27, 2006 3:50 pm    Post subject: Reply with quote

It would work better if you re-arranged the job like this:

Code:

//JSTEP005 EXEC PGM=IDCAMS
//*
//SYSPRINT DD SYSOUT=X
//SYSIN DD *
DELETE ATEST.USERID.TSTPROCY.REGN.EDS.NAMEADD
DELETE ATEST.USERID.TSTPROCY.REGN.S10.SRTOF02
DELETE ATEST.USERID.RENAME.OUTPUT

IF MAXCC>0 THEN SET MAXCC=0

/*
//*
//JSTEP006 EXEC PGM=EZACFSM1
//SYSOUT DD SYSOUT=(*,INTRDR)
//SYSIN DD DATA,DLM=@@
//PSR012A1 JOB (AMI00-TT-DB2-3Z),
// 'SRIDHAR',
// CLASS=T,
// MSGCLASS=X,
// NOTIFY=&SYSUID
//STEPK1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DUMMY
//SYSUT2 DD DSN=ATEST.USERID.TSTPROCY.REGN.EDSNM.D&LYYMMDD..T&LHHMMSS,
// UNIT=SYSDA,DISP=(NEW,CATLG,KEEP),
// SPACE=(TRK,(50,50),RLSE)
//SYSIN DD DUMMY
//*
//JSTEP010 EXEC SORTER,PARM='EQUALS',
// AMT=50,
// OUTC=X
//*
//SORTIN DD DSN=INSORT
// DISP=SHR
//*
//SORTOF01 DD DSN=ATEST.USERID.TSTPROCY.REGN.EDSNM.D&LYYMMDD..T&LHHMMSS,
// DISP=OLD
//SORTOF02 DD DSN=ATEST.USERID.TSTPROCY.REGN.S10.SRTOF02,
// UNIT=SYSDA,DISP=(,CATLG,DELETE),SPACE=(CYL,(10,10),RLSE),
// DCB=(LRECL=1504,RECFM=VB),STORCLAS=SPECIAL
//SYSIN DD *
  SORT FIELDS=(14,18,A,47,2,A,43,4,A,12,2,A,5,5,A,92,1,A),
    FORMAT=BI
  RECORD TYPE=V
  OUTFIL FILES=01,
    INCLUDE=(5,6,CH,EQ,C'FPP910',OR,
      5,6,CH,EQ,C'FPP410',OR,
      5,6,CH,EQ,C'FPP110')
  OUTFIL FILES=02,
    INCLUDE=(5,6,CH,NE,C'FPP910',AND,
      5,6,CH,NE,C'FPP410',AND,
      5,6,CH,NE,C'FPP110',AND,
      5,5,CH,NE,C'IPP10',AND,
      5,5,CH,NE,C'IPP11',AND,
      5,5,CH,NE,C'IPP12',AND,
      5,5,CH,NE,C'MMS10',AND,
      5,5,CH,NE,C'MMS11')
END
/*
@@
//
Back to top
View user's profile Send private message
sri50131
Beginner


Joined: 07 Oct 2004
Posts: 38
Topics: 15

PostPosted: Mon Nov 27, 2006 5:43 pm    Post subject: Reply with quote

superk, after making the changes that you suggested, I am now getting a 0C4, reason code 11 ((Page-Translation Exception) on the sort step (JSTEP010). Here is the JCL that I am executing:
Code:

//WHORUNIT JOB (AMI00-TT-EDS-3W),'EDS TSTPROCY REGN',MSGLEVEL=(1,1),   
//*       RESTART=JSTEP085,                                             
//         CLASS=T,MSGCLASS=X,REGION=4096K,NOTIFY=&SYSUID               
//*                                                                     
//ROTATE   OUTPUT FORMDEF=0101,PAGEDEF=V06481,PRMODE=PAGE               
//*                                                                     
//JSTEP005 EXEC PGM=IDCAMS                                             
//*                                                                     
//SYSPRINT DD  SYSOUT=X                                                 
//SYSIN    DD  *                                                       
        DELETE ATEST.USERID.TSTPROCY.REGN.EDS.NAMEADD                   
        DELETE ATEST.USERID.TSTPROCY.REGN.S10.SRTOF2                   
        DELETE ATEST.USERID.RENAME.OUTPUT                               
                                                                       
   IF MAXCC>0 THEN SET MAXCC=0                                         
                                                                       
/*                                                                     
//JSTEP006 EXEC PGM=EZACFSM1                                           
//SYSOUT    DD SYSOUT=(*,INTRDR)                                       
//SYSIN     DD DATA,DLM=@@                                             
//WHORUNIT JOB (AMI00-TT-DB2-3Z),                                       
//             'SRIDHAR',                                               
//             CLASS=T,                                                 
//             MSGCLASS=X,                                             
//             NOTIFY=&SYSUID                                           
//STEPK1   EXEC PGM=IEBGENER                                           
//SYSPRINT DD SYSOUT=*                                                 
//SYSUT1   DD DUMMY                                                     
//SYSUT2 DD DSN=ATEST.USERID.TSTPROCY.REGN.EDSNM.D&LMON&LDAY..T&HR&MIN,
//            UNIT=SYSDA,DISP=(NEW,CATLG,KEEP),                         
//            SPACE=(TRK,(50,50),RLSE)                                 
//SYSIN   DD  DUMMY                                                     
//*                                                                     
//JSTEP010 EXEC SORTER,PARM='EQUALS',                                   
//         AMT=50,                                                     
//         OUTC=X                                                       
//*                                                                     
//SORTIN   DD  DSN=INSORT                                               
//            DISP=SHR                                                 
//*                                                                     
//SORTOF1 DD DSN=ATEST.USERID.TSTPROCY.REGN.EDSNM.D&LMON&LDAY..T&HR&MIN,
//            DISP=SHR                                                 
//*          UNIT=SYSDA,DISP=(,CATLG,DELETE),SPACE=(TRK,150,RLSE),     
//*          DCB=(LRECL=1504,RECFM=VB)                                 
//SORTOF2 DD  DSN=ATEST.USERID.TSTPROCY.REGN.S10.SRTOF2,               
//           UNIT=SYSDA,DISP=(,CATLG,DELETE),SPACE=(CYL,(10,10),RLSE), 
//           DCB=(LRECL=1504,RECFM=VB)                                 
//SYSIN    DD  *                                                       
      SORT FIELDS=(14,18,A,47,2,A,43,4,A,12,2,A,5,5,A,92,1,A),         
           FORMAT=BI                                                   
       RECORD TYPE=V                                                   
        OUTFIL FILES=01,                                               
             INCLUDE=(5,6,CH,EQ,C'FPP910',OR,                           
                      5,6,CH,EQ,C'FPP410',OR,                           
                      5,6,CH,EQ,C'FPP110')                             
        OUTFIL FILES=02,                                               
             INCLUDE=(5,6,CH,NE,C'FPP910',AND,                         
                      5,6,CH,NE,C'FPP410',AND,                         
                      5,6,CH,NE,C'FPP110',AND,                         
                      5,5,CH,NE,C'IPP10',AND,                           
                      5,5,CH,NE,C'IPP11',AND,                           
                      5,5,CH,NE,C'IPP12',AND,                           
                      5,5,CH,NE,C'MMS10',AND,                           
                      5,5,CH,NE,C'MMS11')                               
        END                                                             
/*                                                                     
@@                                                                     
//*                                                                     

Please let me know what my mistake is?

Thanks.
Back to top
View user's profile Send private message
superk
Advanced


Joined: 19 Dec 2002
Posts: 684
Topics: 5

PostPosted: Mon Nov 27, 2006 11:29 pm    Post subject: Reply with quote

First of all, I fail to understand the concept of cataloging an empty dataset in step STEPK1 (as RECFM=FB, LRECL=80) and then re-using that same dataset in the SORT step, where it needs to be RECFM=VB, LRECL-1504). I'd eliminate the entire step STEPK1 and instead catalog the dataset in the DD SORTOF1 in step JSTEP010 where you've commented out the code.
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12375
Topics: 75
Location: San Jose

PostPosted: Tue Nov 28, 2006 6:08 am    Post subject: Reply with quote

I did not read the entire thread but did it ever occur to you that

Code:

ATEST.USERID.TSTPROCY.REGN.EDSNM.D&LMON&LDAY..T&HR&MIN


may have exceeded the allowable length of 44 for a DSN name which would result in a JCL error?

Also looking at the sort control cards, the output file names should be SORTOF01 & SORTOF02.



Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
sri50131
Beginner


Joined: 07 Oct 2004
Posts: 38
Topics: 15

PostPosted: Thu Nov 30, 2006 2:02 pm    Post subject: Reply with quote

Kolusu, the job that I am trying to modify currently runs in production every 2 hours. I am trying to add the current time and date to the output datasets to make sure that there would be no overlay of the output datasets. So, I am using EZACFSM1 to get the current time and date. However, I am now having a problem:

the SYSTSIN card in the JCL that I am submitting is getting truncated at the beginning. Here is the JCL that I executing:
Code:

//JSTEP006 EXEC PGM=EZACFSM1                                         
//SYSOUT   DD  SYSOUT=(*,INTRDR)                                     
//SYSIN    DD  DATA,DLM=@@                                           
//PSR012A2 JOB (AMI00-TT-DB2-3Z),                                     
//            'SRIDHAR',                                             
//            CLASS=T,                                               
//            MSGCLASS=X,                                             
//            NOTIFY=&SYSUID                                         
//JSTEP010 EXEC SORTER,PARM='EQUALS',COND=(0,LT),                     
//         AMT=50,                                                   
//         OUTC=X                                                     
//SORTIN   DD  DSN=INSORT                                             
//            DISP=SHR                                               
//SORTOF01 DD DSN=ATEST.USERID.TSTPROCY.REGN.EDSNM.D&LMON&LDAY..T&HR,
//           UNIT=SYSDA,DISP=(,CATLG,DELETE),SPACE=(TRK,150,RLSE),   
//           DCB=(LRECL=1504,RECFM=VB)                               
//SORTOF02 DD  DSN=ATEST.USERID.TSTPROCY.REGN.S10.SRTOF02,           
//           UNIT=SYSDA,DISP=(,CATLG,DELETE),SPACE=(CYL,(10,10),RLSE),
//           DCB=(LRECL=1504,RECFM=VB)                               
//SYSIN    DD DSN=ATEST.PSR012.JCLLIB(SRSORT10),DISP=SHR             
/*                                                                   
//*                                                                 
//JSTEP012 EXEC PGM=IDCAMS,                                         
//         COND=(0,LT)                                               
//*                                                                 
//*YSPRINT DD  SYSOUT=*                                             
//SYSPRINT DD  DSN=ATEST.USERID.RENAME.OUTPUT,                       
//           DISP=(,CATLG,DELETE),SPACE=(TRK,(5,5),RLSE),           
//           DCB=(LRECL=132,RECFM=FB)                               
//SYSIN    DD  *                                                     
        ALTER -                                                     
  IF MAXCC > 0 THEN SET MAXCC = 0                                   
/*                                                                   
//*                                                                 
//* ---------------------------------------------------             
//* -----IDCAMS DELETE --------------------------------             
//* ---------------------------------------------------             
//*                                                                 
//JSTEP015 EXEC PGM=IDCAMS,                                         
//         COND=(0,LT)                                               
//*                                                                 
//SYSPRINT DD  SYSOUT=X                                             
//SYSIN    DD  *                                                     
        DELETE ATEST.USERID.TSTPROCY.REGN.IOB00110.STATOUT           
                                                                     
   IF MAXCC>0 THEN SET MAXCC=0                                       
                                                                     
/*                                                                   
//*                                                                 
//* ---------------------------------------------------             
//* -----    IOB00110  --------------------------------             
//* ---------------------------------------------------             
//*                                                                 
//JSTEP020 EXEC PGM=IKJEFT01,                                       
//         COND=(0,LT),                                             
//         DYNAMNBR=20                                               
//*                                                                   
//STEPLIB  DD  DSN=EXEAMI00.BTD.PROD,                                 
//           DISP=SHR                                                 
//         DD  DSN=EXEAMI00.BTL.PROD,                                 
//           DISP=SHR                                                 
//ADRCDVN1 DD  DSN=ATEST.USERID.TSTPROCY.REGN.S10.SRTOF02,           
//           DISP=(OLD,DELETE,KEEP)                                   
//STATOUT  DD  DSN=ATEST.USERID.TSTPROCY.REGN.IOB00110.STATOUT,       
//           UNIT=SYSDA,DISP=(,CATLG,CATLG),SPACE=(CYL,(10,10),RLSE),
//           LRECL=1504,RECFM=VB,STORCLAS=SPECIAL                     
//SYSTSPRT DD  SYSOUT=X                                               
//SQLERROR DD  SYSOUT=X                                               
//SYSOUT   DD  SYSOUT=X                                               
//SYSUDUMP DD  SYSOUT=5,FREE=CLOSE,HOLD=YES                           
//SYSTSIN  DD  *                                                     
       DSN SYSTEM(DBT0)                                               
       RUN PROGRAM(EDS000) PLAN%NALP                                 

After the execution of the job, JSTEP020 SYSTSPRT looks like this:
READY                                 
STEM(DBT0)                           
IKJ56621I INVALID COMMAND NAME SYNTAX
READY                                 
OGRAM(EDS000) PLAN(EDSB0001)         
IKJ56621I INVALID COMMAND NAME SYNTAX
READY                                 
END                                   

When I "SJ" on the job in the held output, JSTEP020 looks like this:
Code:

//JSTEP020 EXEC PGM=IKJEFT01,                                       
//         COND=(0,LT),                                             
//         DYNAMNBR=20                                               
//*                                                                 
//STEPLIB  DD  DSN=EXEAMI00.BTD.PROD,                               
//           DISP=SHR                                               
//         DD  DSN=EXEAMI00.BTL.PROD,                               
//           DISP=SHR                                               
//ADRCDVN1 DD  DSN=ATEST.PSR012.ISPRC605.EDS1.S10.SRTOF02,           
//           DISP=(OLD,DELETE,KEEP)                                 
//STATOUT  DD  DSN=ATEST.PSR012.ISPRC605.EDS1.IOB00110.STATOUT,     
//           UNIT=SYSDA,DISP=(,CATLG,CATLG),SPACE=(CYL,(10,10),RLSE),
//           LRECL=1504,RECFM=VB,STORCLAS=SPECIAL                   
//SYSTSPRT DD  SYSOUT=X                                             
//SQLERROR DD  SYSOUT=X                                             
//SYSOUT   DD  SYSOUT=X                                             
//SYSUDUMP DD  SYSOUT=5,FREE=CLOSE,HOLD=YES                         
//SYSTSIN  DD  *                                                     
  DSN SYSTEM(DBT0)                                                   
  RUN PROGRAM(EDS000) PLAN(EDSB0001)     

Can you please tell me what my mistake is.

Thanks
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Thu Nov 30, 2006 4:36 pm    Post subject: Reply with quote

this is one purpose of generation data sets (GDG's).
_________________
Dick Brenholtz
American living in Varel, Germany
Back to top
View user's profile Send private message
sri50131
Beginner


Joined: 07 Oct 2004
Posts: 38
Topics: 15

PostPosted: Thu Nov 30, 2006 4:51 pm    Post subject: Reply with quote

dbzTHEdinosauer, can you please be more specific/clear?

Thanks
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12375
Topics: 75
Location: San Jose

PostPosted: Thu Nov 30, 2006 9:18 pm    Post subject: Reply with quote

sri50131,

The reason the first byte is getting truncated is because the default recfm for intrdr is FBA . You need to override that

change the following statement

Code:

//SYSOUT   DD  SYSOUT=(*,INTRDR)

to
Code:

//SYSOUT   DD  SYSOUT=(*,INTRDR),RECFM=FB


Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
sri50131
Beginner


Joined: 07 Oct 2004
Posts: 38
Topics: 15

PostPosted: Fri Dec 01, 2006 1:50 pm    Post subject: Reply with quote

Kolusu, it worked!

Thanks a lot!!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL) All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group