Joined: 07 May 2005 Posts: 110 Location: hyderabad
Code:
CLIST PGM : GFCHUS
SET &JTM1 = '&STR(&STR(&JYER)&STR(&JDAY))' VALUES IS " '2008310'
SET &JTM2 = '&STR(&STR(&JYER)&STR(&JMON)&STR(&JDAT))' VALUES IS " '20080104'
SET &JTM3 = '&STR(&STR(&JYER)&STR(&JTXT)&STR(&JDAT))' VALUES IS " '2008NO08'
[color=darkblue]SET &JTF1 = Y2KDDD DC CL8&JTM1 + &STR( )&STR(DATE IN FMT1 - TEST Y2K)
SET &JTF2 = Y2KMMDD DC CL8&JTM2 + &STR( )&STR(DATE IN FMT2 - TEST Y2K)
SET &JTF3 = Y2KXXDD DC CL8&JTM3 + &STR( )&STR(DATE IN FMT3 - TEST Y2K)
SET &JORG = &STR( )&STR(LTORG)
SET &JEND = &STR( )&STR(END)
ALLOCATE FILE(AFCDAT) DA('PXXXXA.NAG.SYSPROC(AFCDAT1)') OLD REUSE
OPENFILE AFCDAT OUTPUT
SET AFCDAT=&STR(&JTF1)
PUTFILE AFCDAT
SET AFCDAT=&STR(&JTF2)
PUTFILE AFCDAT
SET AFCDAT=&STR(&JTF3)
PUTFILE AFCDAT
SET AFCDAT=&STR(&JORG)
PUTFILE AFCDAT
SET AFCDAT=&STR(&JEND)
PUTFILE AFCDAT
CLOSFILE AFCDAT [/color]
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
The Messages manual says
Quote:
6.358 IKJ56274A
IKJ56274A ENTER INPUT JOB STREAM:
Explanation: A SUBMIT * command has been issued as a primary command. You must now enter the input job stream.
Detected by: IKJEFF04
Program: SUBMIT
so pretty much as long as you've got SUBMIT * you're going to see that message. And I doubt there's any way to suppress the message without a lot of work -- you're better off storing the JCL in a file somewhere and submitting from the file.
Joined: 07 May 2005 Posts: 110 Location: hyderabad
Have tried in the following methods in each trail it has given below errors
SUMIT PXXXXXA.NAG.CLIST(JCLAFC)
IKJ56269I DATA SET PU7052A.NAG.CLIST NOT FOUND
SUMIT "PXXXXXA.NAG.CLIST(JCLAFC)"
IKJ56701I MISSING DATA SET NAME+
IKJ56712I INVALID KEYWORD, "PU7052A.NAG.CLIST(JCLAFC)"
IKJ56701I MISSING NAME OF DATA SET CONTAINING JCL
"SUMIT PXXXXXA.NAG.CLIST(JCLAFC)"
A command entered or contained in a CLIST has invalid syntax
If you're using the fully qualified name, only single quote marks (tics) are supported. If you're not using tic marks, your TSO user id will be automatically added to the front of the dataset name.
Joined: 07 May 2005 Posts: 110 Location: hyderabad
In the above JCL, lines are editing each and every time what was keyed in the screen in the below loc as updated earlier
Code:
PXXXXA.NAG.SYSPROC(AFCDAT1)
But when second step(LINK) of the above jcl copies the object pgm in the below location. But it is not reflecting with the dates which we entered in the AFCDAT1.
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
Quote:
lines are editing each and every time what was keyed in the screen in the below loc as updated earlier
I recognize each individual word... but when used together, I do understand what you are trying to say. Please elaborate. (not trying to offend, I realize that English might be your second language, but I cannot understand your sentence)
It looks like you are making a short assembler program and then looking at the OBJ file to make sure the correct value is there. Please show your two files that go into creating the assembler program.
Joined: 07 May 2005 Posts: 110 Location: hyderabad
Functionality :
The below job takes the input from sysin card in the first step and creates the obj pgm and the replacess object code in
PUXXXA.NAG.SPFLNKLB.ISPLLIB(AFC00242) through the second step.
Code:
//PUXXXAD JOB (U),'COMP AFCDATE',
// CLASS=A,TIME=(,20),
// NOTIFY=&SYSUID,
// MSGCLASS=R
//*********************************************************************
//* ASSEMBLER COMPILE JOB
//*********************************************************************
//ASM EXEC PGM=ASMA90,
// COND=(4,LT),
// PARM=(NODECK,OBJECT)
//SYSPRINT DD SYSOUT=*
//SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB
// DD DISP=SHR,DSN=SYSAROC.MACLIB
// DD DISP=SHR,DSN=IMSVS.IPCS.MACLIB
// DD DISP=SHR,DSN=DXXX#G.CHGMAN.CPY.BASE0
// DD DISP=SHR,DSN=DXXX#G.CHGMAN.DCL.BASE0
// DD DISP=SHR,DSN=DXXX#G.CHGMAN.RSD.COPYLIB
//*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,2))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(2,2))
//SYSPUNCH DD DUMMY,DCB=BLKSIZE=80
//SYSLIN DD DISP=(,PASS),DSN=&&OBJECT,
// UNIT=SYSDA,SPACE=(CYL,(1,1)),
// DCB=(BLKSIZE=400)
//SYSIN DD DSN=PUXXXA.NAG.SYSPROC(AFCDATE),DISP=SHR
----+----1----+----2----+----3----+----4----+----5----+----6----+----7
[color=blue] TITLE 'AFCDATE - A ROUTINE TO GET THE SYSTEM DATE'
* PROGRAM AFCDATE AT LEVEL 001 AS OF 28/02/85
* BY P.TSAMBOS
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* THIS SUBROUTINE OUTPUTS THE CURRENT DATE IN SEVERAL FORMATS
* WHEN CALLED BY THE STATEMENT:
*
* AFCDATE (FMT1,FMT2,FMT3)
*
* ERROR CODES:
* FILLS ARGUMENTS WITH '********'
*
* FMT1 - THE 1'ST OUTPUT ARGUMENT CONTAINING DATE IN
* YYYYDDD IN EBCDIC FORMAT PIC X(7).
*
* FMT2 - THE 2'ND OUTPUT ARGUMENT CONTAINING DATE IN
* YYYYMMDD IN EBCDIC FORMAT PIC X(8).
*
* FMT3 - THE 3'RD OUTPUT ARGUMENT CONTAINING DATE IN
* YYYYXXDD IN EBCDIC FORMAT PIC X(8).
*
* WHERE
* DD - DAY OF THE MONTH
* MM - MONTH OF THE YEAR (2 DECIMAL DIGITS)
* XX - MONTH OF THE YEAR (2 CHARS)
* (JA,FE,MR,AP,MY,JN,JL,AU,SE,OC,NO,DE)
* YYYY - THE YEAR
*
*
* NOTES:
* THIS ROUTINE WAS REQUIRED, TO PASS BACK THE YEAR IN YYYY
* FORMAT, HOWEVER DUE TO AN OPERATING SYSTEM RESTRICTION
* THE CENTURY INFORMATION CAN NEITHER BE KEPT OR SUPPLIED
* LATER. CONSEQUENTLY THE FIRST TWO DIGITS ARE ADDED ARTIFI-
* CIALLY BY THIS PROGRAM. IF THE YEAR IS LESS THAN OR EQUAL
* TO 80 IT IS ASSUMED THAT IT IS 20YY ELSE IT MUST BE 19YY.
*
* NATURALLY THIS ROUTINE WILL FAIL IF THE YEAR IS MEANT TO
* BE GREATER THAN 2080. BECAUSE OF THIS RESTRICTION, LEAP
* YEAR CHECKING PAST 2099 IS NOT DONE.
*
* HOPEFULLY WITHIN THE NEXT 95 YEARS THIS RESTRICTION WILL
* BE LIFTED BY IBM.
* PT.
*
* 07/31/97 COPIED AND RENAMED FROM DSUDATE TO AFCDATE FOR
* COBOL370 PROJECT BY TONY DESENSI.
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
EJECT
*
* SAVE REGISTERS AND GET SYSTEM DATE
*
AFCDATE $ENTER BASE=(R12),SAVE=SAVEAREA
LR R6,R1 ARGLIST ADDRS NOW IN R6
TIME DEC DATE IN R1, FORMAT 00YYDDDC
SPACE 5
*
* CONVERT YEAR FROM YY TO YYYY
*
LM R2,R4,0(R6) GET ADDRESSES OF ARGUMENTS
ST R1,SYSDATE SAVE DATE DIGITS
MVI SYSDATE,X'19' SET YEAR TO 19YY
CLI SYSDATE+1,X'80' IF YEAR <= 80
BH GETYYYY
MVI SYSDATE,X'20' THEN YEAR MUST BE 20YY
EJECT
*
* CONVERT YYYY TO EBCDIC FORMAT AND TEST FOR LEAP YEAR
*
GETYYYY MVC TEMPVAL(2),SYSDATE PREPARE FOR CONVERSION
SRP TEMP(L'TEMP),63(R0),0 SHIFT RIGHT 1 DECIMAL DIGIT
UNPK YYYY,TEMP FORMAT TO EBCDIC YYYY
OI YYYY+3,X'F0' CHANGE SIGN TO 'F'
CVB R9,TEMP CONVERT YYYY TO BINARY
N R9,=X'00000003' LEAP YEAR IS ONE DIVISIBLE
BZ LEAPYEAR BY 4 (GOOD TO YEAR 2099)
MVC DAYTABLE+2,=H'28' MODIFY TABLE
MVC #DAYS,=F'365' NUMBER OF DAYS PER YEAR
B GETDDD
LEAPYEAR MVC DAYTABLE+2,=H'29' MODIFY TABLE
MVC #DAYS,=F'366' NUMBER OF DAYS PER YEAR
SPACE 4
*
* CONVERT DDD TO EBCDIC AND TEST FOR VALID DATE
*
GETDDD MVI TEMPVAL,X'00' CLEAR TEMP LOCN
MVC TEMPVAL+1(2),SYSDATE+2 PREPARE TO CONVERT DDD
UNPK DDD,TEMP FORMAT TO EBCDIC DDD
CVB R11,TEMP CONVERT DDD TO BINARY
CL R11,#DAYS CK ON DAYS PER YEAR
BNH GETMONTH
MVC YYYYDDD,ASTERISK ERROR FOUND
MVC YYYYMMDD,ASTERISK
MVC YYYYXXDD,ASTERISK
B SEND SYSDATE INVALID
SPACE 4
* [/color]
// DD DSN=PUXXXA.NAG.SYSPROC(AFCDAT1),DISP=SHR
----+----1----+----2----+----3----+----4----+----5----+----6----+----7
Y2KDDD DC CL8'2008330' DATE IN FMT1 - TEST Y2K
Y2KMMDD DC CL8'20081207' DATE IN FMT2 - TEST Y2K
Y2KXXDD DC CL8'2008DE07' DATE IN FMT3 - TEST Y2K
LTORG
END
//*********************************************************************
//LINK EXEC PGM=IEWL,
// COND=(4,LT),
// PARM=(LIST,XREF,MAP,RENT,'AMODE=31','RMODE=ANY')
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSLIB DD DSN=IMSVS.IMSR.RESLIB,DISP=SHR
// DD DSN=DXXX#G.CHGMAN.SUL.BASE0,DISP=SHR
//SYSLMOD DD DSN=PUXXXA.NAG.SPFLNKLB.ISPLLIB(AFC00242),DISP=SHR
//SYSLIN DD DISP=(OLD,DELETE),DSN=&&OBJECT
// DD *
NAME AFCDATE(R)
//
Using CLIST i am replacing the exisiting dates with given dates in AFCDAT1 member every time before submitting the jcl
PUXXXA.NAG.SYSPROC(AFCDAT1)
Once the jcl is completed successfully the obj code will reflect like below with the given dates
But its reflecting with the current system date but not with the given dates in the member AFCDAT1.
The below code is used to edit the member(AFCDAT1) and to submit the given job
Code:
SET &JTM1 = '&STR(&STR(&JYER)&STR(&JDAY))'
SET &JTM2 = '&STR(&STR(&JYER)&STR(&JMON)&STR(&JDAT))'
SET &JTM3 = '&STR(&STR(&JYER)&STR(&JTXT)&STR(&JDAT))'
SET &JTF1 = Y2KDDD DC CL8&JTM1 +
&STR( )&STR(DATE IN FMT1 - TEST Y2K)
SET &JTF2 = Y2KMMDD DC CL8&JTM2 +
&STR( )&STR(DATE IN FMT2 - TEST Y2K)
SET &JTF3 = Y2KXXDD DC CL8&JTM3 +
&STR( )&STR(DATE IN FMT3 - TEST Y2K)
SET &JORG = &STR( )&STR(LTORG)
SET &JEND = &STR( )&STR(END)
ALLOCATE FILE(AFCDAT) DA('PU7052A.NAG.SYSPROC(AFCDAT1)') SHR
OPENFILE AFCDAT OUTPUT
SET AFCDAT=&STR(&JTF1)
PUTFILE AFCDAT
SET AFCDAT=&STR(&JTF2)
PUTFILE AFCDAT
SET AFCDAT=&STR(&JTF3)
PUTFILE AFCDAT
SET AFCDAT=&STR(&JORG)
PUTFILE AFCDAT
SET AFCDAT=&STR(&JEND)
PUTFILE AFCDAT
CLOSFILE AFCDAT
FREE FILE(AFCDAT)
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
Quote:
Once the jcl is completed successfully the obj code will reflect like below with the given dates
Has it completed successfully? Your program job does not look right as it is shown. Assembler labels have to be column 1, but seem to be col 3. So, I doubt it is assembling correctly.