View previous topic :: View next topic
Author
Message
venuhunev New User Joined: 26 May 2007Posts: 70 Location: chennai
i got the soln... i tried to override the test1 (member given in prc) with zzz (member given in jcl)... i got it... thanks a ton.
Code:
//TESTJCL JOB (E0M0,EM),SPUFISAS,MSGCLASS=E,REGION=8000K,
// NOTIFY=&SYSUID,SCHENV=CQ90
//PROCS JCLLIB ORDER=PBSE.SPUFI.AUTOMATE.TEST
//S01CLEAN EXEC PENCORE
//STEP1PRC EXEC TSTPRC1,
// CYCL=8537,
// MEM=ZZZ
Code:
//TSTPRC1 PROC CYCL='????',
// MEM=TEST1
//PDSCPY EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.INSSEL
// DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.SEL01
// DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.SEL02
//SYSUT2 DD DSN=PBSE.SPUFI.AUTOMATE.TEST1(&MEM),DISP=SHR
//SYSIN DD DUMMY
//SYSOUT DD SYSOUT=*
// PEND
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10873 Location: italy
when writing jcl procedures it is sometimes a good habit to give to the
procedure parameters some default values in order to avoid jcl errors
tempfile, should have been tempname, is th member name that will be created
when the procedure is executed without parameters,
zzz was just a generic member name used to test both cases
You got a warning because the pend procedure statement is used only in inline procs
did it work at least ?
Back to top
venuhunev New User Joined: 26 May 2007Posts: 70 Location: chennai
Code:
//TSTPRC1 PROC CYCL='????',
// IMPDATE='??????????',
// PSTDATE='??????????',
// RDTRAC='????????????',
// CRNUMN='???????',
// CRNUMS='???????',
// MEM1='TEST1',
// MEM2='TEST1',
// MEM3='TEST1'
//* MON='??',
//* REG='??'
//* HEADER FOR INSERT / SELECT STATEMENTS
//HEADER EXEC PGM=SYU9,
//* PARM=('&MEM1','&RDTRAC','&CRNUMN','&IMPDATE','&CYCL','&CRNUMS',
// PARM='&MEM1,&RDTRAC,&CRNUMN,&IMPDATE,&CYCL,&CRNUMS,&MEM2,&MEM3'
//*
//INDD DD DSN=PBSE.SPUFI.AUTOMATE.TEST(HEADER01),
// DISP=SHR
//OUTDD DD DSN=PBSE.C&CYCL..HEADER.INSSEL,
// DISP=(,CATLG,CATLG),
// SPACE=(CYL,(1,1),RLSE),
// DCB=(LRECL=80,RECFM=FB)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//* SELECT STATEMNTS W/O COMMENTS
//*ELECT1 EXEC PGM=SYU9,PARM='111111111,2222222'
//SELECT1 EXEC PGM=SYU9,PARM='&IMPDATE,&PSTDATE'
//INDD DD DSN=PBSE.SPUFI.AUTOMATE.TEST(HEADER02),
// DISP=SHR
//*YSUT2 DD SYSOUT=*
//OUTDD DD DSN=PBSE.C&CYCL..HEADER.SEL01,
// DISP=(,CATLG,CATLG),
// SPACE=(CYL,(1,1),RLSE),
// DCB=(LRECL=80,RECFM=FB)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//* SELECT STATEMNTS WIT COMMENTS
//SELECT2 EXEC PGM=SYU9,PARM='&IMPDATE,&PSTDATE'
//INDD DD DSN=PBSE.SPUFI.AUTOMATE.TEST(HEADER03),
// DISP=SHR
//OUTDD DD DSN=PBSE.C&CYCL..HEADER.SEL02,
// DISP=(,CATLG,CATLG),
// SPACE=(CYL,(1,1),RLSE),
// DCB=(LRECL=80,RECFM=FB)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//* CNWK INSERT MEMBER
//INSMEM EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.INSSEL
// DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.SEL01
// DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.SEL02
//SYSUT2 DD DSN=PBSE.SPUFI.AUTOMATE.TEST1(&MEM1),DISP=SHR
//SYSIN DD DUMMY
//SYSOUT DD SYSOUT=*
PLZ ignore steps 1 to 3... and see the step INSMEM....
I used the prev method...
but its giving
Quote:
PDS MEMBER CNWK1 NOT FOUND
Back to top
Douglas Wilder Active User Joined: 28 Nov 2006Posts: 305 Location: Deerfield IL
The error I got with this JCL is STMT NO. MESSAGE
3 IEFC612I PROCEDURE CREATE WAS NOT FOUND
4 IEFC612I PROCEDURE CREATE WAS NOT FOUND
4 IEFC657I THE SYMBOL MEM WAS NOT USED
The proc you call, "CREATE" should match the proc in your JCL, "TSTPRC1", unless you mean to execute a different proc from your proclib. Change one of these so they match and give a good value to symbolic CYCL so that the input file names will be found.
Tempfile will be the PDS member name if you do not over-ride MEM with some other name.
Back to top
venuhunev New User Joined: 26 May 2007Posts: 70 Location: chennai
Code:
//TSTPRC1 PROC CYCL='????',
// IMPDATE='??????????',
// PSTDATE='??????????',
// RDTRAC='????????????',
// CRNUMN='???????',
// CRNUMS='???????',
// MEM1='TEST1',
// MEM2='TEST1',
// MEM3='TEST1'
//* MON='??',
//* REG='??'
//* HEADER FOR INSERT / SELECT STATEMENTS
//HEADER EXEC PGM=SYU9,
//* PARM=('&MEM1','&RDTRAC','&CRNUMN','&IMPDATE','&CYCL','&CRNUMS',
// PARM='&MEM1,&RDTRAC,&CRNUMN,&IMPDATE,&CYCL,&CRNUMS,&MEM2,&MEM3'
//*
//INDD DD DSN=PBSE.SPUFI.AUTOMATE.TEST(HEADER01),
// DISP=SHR
//OUTDD DD DSN=PBSE.C&CYCL..HEADER.INSSEL,
// DISP=(,CATLG,CATLG),
// SPACE=(CYL,(1,1),RLSE),
// DCB=(LRECL=80,RECFM=FB)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//* SELECT STATEMNTS W/O COMMENTS
//*ELECT1 EXEC PGM=SYU9,PARM='111111111,2222222'
//SELECT1 EXEC PGM=SYU9,PARM='&IMPDATE,&PSTDATE'
//INDD DD DSN=PBSE.SPUFI.AUTOMATE.TEST(HEADER02),
// DISP=SHR
//*YSUT2 DD SYSOUT=*
//OUTDD DD DSN=PBSE.C&CYCL..HEADER.SEL01,
// DISP=(,CATLG,CATLG),
// SPACE=(CYL,(1,1),RLSE),
// DCB=(LRECL=80,RECFM=FB)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//* SELECT STATEMNTS WIT COMMENTS
//SELECT2 EXEC PGM=SYU9,PARM='&IMPDATE,&PSTDATE'
//INDD DD DSN=PBSE.SPUFI.AUTOMATE.TEST(HEADER03),
// DISP=SHR
//OUTDD DD DSN=PBSE.C&CYCL..HEADER.SEL02,
// DISP=(,CATLG,CATLG),
// SPACE=(CYL,(1,1),RLSE),
// DCB=(LRECL=80,RECFM=FB)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//* CNWK INSERT MEMBER
//INSMEM EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.INSSEL
// DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.SEL01
// DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.SEL02
//SYSUT2 DD DSN=PBSE.SPUFI.AUTOMATE.TEST1(&MEM1),DISP=SHR
//SYSIN DD DUMMY
//SYSOUT DD SYSOUT=*
This was the one ised in the method, Enrico told.
Plz look at the INSMEM step, whre my prob lies.
I gave MEM1 as Test1 in my proc.
I have overriden it in JCL as CNWK1.
i dont know wats the diff b/w this method and my prev prc. my prev prc is
Code:
//TSTPRC1 PROC CYCL='????',
// MEM=TEST1
//PDSCPY EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.INSSEL
// DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.SEL01
// DD DISP=SHR,DSN=PBSE.C&CYCL..HEADER.SEL02
//SYSUT2 DD DSN=PBSE.SPUFI.AUTOMATE.TEST1(&MEM),DISP=SHR
//SYSIN DD DUMMY
//SYSOUT DD SYSOUT=*
// PEND
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10873 Location: italy
Quote:
/hamlet on
JCLPREP that' s the ******g problem
/hamlet off
Jcl scanning tools think they are INTELLIGENT,
but in reality that' s the other way around... they are STUPID...
In jcl is perfectly legal to use a nonexistent pds member
with disp SHR or OLD
looks like JCLstupid is of a different opinion and
this time fouled us in searching inexistent errors
THE ULTIMATE AUTHORITY FOR JCL IS MVS...
Run some tests without using JCLstupid and see what happens
Or more seriously ask Your support people to fix the problem
Back to top
superk Global Moderator Joined: 26 Apr 2004Posts: 4652 Location: Raleigh, NC, USA
The JCL is fine. The PROC is fine. However, I never saw a follow-up post about the SB14 abend being addressed.
Back to top
enrico-sorichetti Superior Member Joined: 14 Mar 2007Posts: 10873 Location: italy
Quote:
I never saw a follow-up post about the SB14 abend being addressed.
OK OK.. I lost it
If I remember correctly "SB14" is a system abend related to
the lack of directory space to write the current member info
Action : recreate the PDS with more directory blocks,
or migrate to PDSE
Back to top
Please enable JavaScript!