View previous topic :: View next topic
|
Author |
Message |
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Hi All,
Can any one solve this error
//IFELSE JOB 'IF ELSE STRUCTURE',NOTIFY=&SYSUID,CLASS=Y,
// MSGCLASS=X,MSGLEVEL=(1,1)
// JCLLIB ORDER=OSOP.BCB1O.PROC
//STEP1 EXEC PROC=VTOCLIST
//SYSIN DD *
LISTVTOC FORMAT,VOL=3390=WORKY1
/*
//IFPART IF STEP1.RC=0THEN
//STEP2 EXEC PROC=LISTPDS
//SYSIN DD *
LISTPDS DSN=OSOP.BCB1O.JCL,VOL=3390=WORKY1
//ELSEPART ELSE
//ELSECOND EXEC PROC=BHAVESH
// ENDIF
JESYSMSG
********************************* TOP OF DATA ****************
STMT NO. MESSAGE
3 IEFC001I PROCEDURE VTOCLIST WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
10 IEFC621I EXPECTED CONTINUATION NOT RECEIVED
11 IEFC001I PROCEDURE LISTPDS WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
19 IEFC001I PROCEDURE BHAVESH WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
******************************** BOTTOM OF DATA *************
JESJCL
1 //IFELSE JOB 'IF ELSE STRUCTURE',NOTIFY=&SYSUID,CLASS=Y,
// MSGCLASS=X,MSGLEVEL=(1,1)
IEFC653I SUBSTITUTION JCL - 'IF ELSE STRUCTURE',NOTIFY=BCB1O,CLASS=Y
2 // JCLLIB ORDER=OSOP.BCB1O.PROC
3 //STEP1 EXEC PROC=VTOCLIST
4 XXVTOCLIST PROC
5 XXSTEP1 EXEC PGM=IEHLIST
6 XXSYSPRINT DD SYSOUT=*
7 XXDISK DD UNIT=3390,VOL=SER=WORKY1
8 //SYSIN DD *
9 XX PEND
10 //IFPART IF STEP1.RC=JCLERRORTHEN
11 //STEP2 EXEC PROC=LISTPDS
12 XXLISTPDS PROC
13 XXSTEP2 EXEC PGM=IEHLIST
14 XXSYSPRINT DD SYSOUT=*
15 XXDRUM DD UNIT=3390,VOL=SER=WORKY1,DISP=OLD
16 //SYSIN DD *
17 XX PEND
18 //ELSEPART ELSE
19 //ELSECOND EXEC PROC=BHAVESH
20 XXBHAVESH PROC
21 XXSTEP3 EXEC PGM=IEFBR14
22 XXSYSPRINT DD SYSOUT=*
23 XXALLOC DD DSN=OSOP.BCB1O.ALLOC,DISP=(NEW,CATLG,DELETE),
XX UNIT=3390,VOL=SER=WORKY1,
XX SPACE=(TRK,(2,2)),
XX DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
24 XXSYSOUT DD SYSOUT=*
25 XX PEND
26 // ENDIF |
|
Back to top |
|
|
murmohk1
Senior Member
Joined: 29 Jun 2006 Posts: 1436 Location: Bangalore,India
|
|
|
|
Bhavesh,
Quote: |
10 //IFPART IF STEP1.RC=JCLERRORTHEN |
You dont have any thing JCLERROR. It should be RC value (numeric value). |
|
Back to top |
|
|
monga
New User
Joined: 18 Apr 2006 Posts: 13
|
|
|
|
IEFC621I lists the reason as expected continuation not received.
Can you modify this text as below:
Code: |
//IFPART IF STEP1.RC=0 THEN |
just give a space before 'Then' and try it out.
Thanks,
monga |
|
Back to top |
|
|
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Hi
i replace JCLERROR WITH
//IFPART IF STEP1.RC=0THEN
then also it is giving the jclerror message
********************************* TOP OF DATA ***************
STMT NO. MESSAGE
3 IEFC001I PROCEDURE VTOCLIST WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCb1O.PROC
10 IEFC621I EXPECTED CONTINUATION NOT RECEIVED
11 IEFC001I PROCEDURE LISTPDS WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
19 IEFC001I PROCEDURE BHAVESH WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
******************************** BOTTOM OF DATA ************* |
|
Back to top |
|
|
vkphani
New User
Joined: 29 Oct 2003 Posts: 29
|
|
|
|
In the 8th line, after SYSIN DD *, where is the delimter /* ? Give that and try and give a space in between 0 and THEN in 10th line. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Is the SYSIN DD * defined in the PROC ?
If so, it's invalid. |
|
Back to top |
|
|
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Hi all
i am again getting error
********************************* TOP OF DATA ***************
STMT NO. MESSAGE
3 IEFC001I PROCEDURE VTOCLIST WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
11 IEFC001I PROCEDURE LISTPDS WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
19 IEFC001I PROCEDURE BHAVESH WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
10 IEF645I INVALID REFERBACK IN THE RC FIELD
******************************** BOTTOM OF DATA ************
i have modified as you said
JESJCL
********************************* TOP OF DATA ***************
1 //IFELSE JOB 'IFELSSTRUCTURE',NOTIFY=&SYSUID,CLASS=Y,
// MSGCLASS=X,MSGLEVEL=(1,1)
2 // JCLLIB ORDER=OSOP.BCB1O.PROC
3 //STEP1 EXEC PROC=VTOCLIST
4 XXVTOCLIST PROC
5 XXSTEP1 EXEC PGM=IEHLIST
6 XXSYSPRINT DD SYSOUT=*
7 XXDISK DD UNIT=3390,VOL=SER=WORKY1
8 //SYSIN DD *
9 XX PEND
10 //IFPART IF STEP1.RC=0 THEN
11 //STEP2 EXEC PROC=LISTPDS
12 XXLISTPDS PROC
13 XXSTEP2 EXEC PGM=IEHLIST
14 XXSYSPRINT DD SYSOUT=*
15 XXDRUM DD UNIT=3390,VOL=SER=WORKY1,DISP=OLD
16 //SYSIN DD *
17 XX PEND
18 //ELSEPART ELSE
19 //ELSECOND EXEC PROC=BHAVESH
20 XXBHAVESH PROC
21 XXSTEP3 EXEC PGM=IEFBR14
22 XXSYSPRINT DD SYSOUT=*
23 XXALLOC DD DSN=OSOP.BCB1O.ALLOC,DISP=(NEW,CATLG,DELETE),
XX UNIT=3390,VOL=SER=WORKY1,
XX SPACE=(TRK,(2,2)),
XX DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
24 XXSYSOUT DD SYSOUT=*
25 XX PEND
26 // ENDIF |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
Back to top |
|
|
murmohk1
Senior Member
Joined: 29 Jun 2006 Posts: 1436 Location: Bangalore,India
|
|
|
|
Give stepname.procname in the IF condition. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Quote: |
Give stepname.procname in the IF condition. |
Given that both names are the same, STEP1, in this case your solution would work.
From my interpretation of your terminology stepname.procname it would not work if the names were different. |
|
Back to top |
|
|
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Hi
I am still getting error
even i have given the same name
10 IEF645I INVALID REFERBACK IN THE RC FIELD
JCl of VTOCLIST
//VTOCLIST PROC
//STEP1 EXEC PGM=IEHLIST
//SYSPRINT DD SYSOUT=*
//DISK DD UNIT=3390,VOL=SER=WORKY1
// PEND
JCL of IFELSE
//IFELSE JOB 'IF ELSE STRUCTURE',NOTIFY=&SYSUID,CLASS=Y,
// MSGCLASS=X,MSGLEVEL=(1,1)
// JCLLIB ORDER=OSOP.BCB1O.PROC
//STEP1 EXEC PROC=VTOCLIST
//SYSIN DD *
LISTVTOC FORMAT,VOL=3390=WORKY1
/*
//IFPART IF STEP1.VTOCLIST.RC=0 THEN
//STEP2 EXEC PROC=LISTPDS
//SYSIN DD *
LISTPDS DSN=OSOP.BCB1O.JCL,VOL=3390=WORKY1
/*
//ELSEPART ELSE
//ELSECOND EXEC PROC=BHAVESH
// ENDIF |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
You need to post all of the jcl and control statements together - the same as are submitted - and all of the messages from the actual job output. Please do not add anything to the submitted jcl.
The pieces posted are not complete.
Post the sysout that shows the jcl with line numbers.
When you post this information, use the "Code" tab at the top of the reply panel.
What you posted does not say anything about the "same name" - it says there is an invalid backward reference. |
|
Back to top |
|
|
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Hi Dick
********************************* TOP OF DATA ***************
1 //IFELSE JOB 'IF ELSE STRUCTURE',NOTIFY=&SYSUID,CLASS=Y,
// MSGCLASS=X,MSGLEVEL=(1,1)
IEFC653I SUBSTITUTION JCL - 'IF ELSE STRUCTURE',NOTIFY=BCB1O,CLASS=Y,MSGCLASS=X,MSGLEVEL=(1,1)
2 // JCLLIB ORDER=OSOP.BCB1O.PROC
3 //STEP1 EXEC PROC=VTOCLIST
4 XXVTOCLIST PROC
5 XXSTEP1 EXEC PGM=IEHLIST
6 XXSYSPRINT DD SYSOUT=*
7 XXDISK DD UNIT=3390,VOL=SER=WORKY1
8 //SYSIN DD *
9 XX PEND
10 //IFPART IF STEP1.VTOCLIST.RC=0 THEN
11 //STEP2 EXEC PROC=LISTPDS
12 XXLISTPDS PROC
13 XXSTEP2 EXEC PGM=IEHLIST
14 XXSYSPRINT DD SYSOUT=*
15 XXDRUM DD UNIT=3390,VOL=SER=WORKY1,DISP=OLD
16 //SYSIN DD *
17 XX PEND
18 //ELSEPART ELSE
19 //ELSECOND EXEC PROC=BHAVESH
20 XXBHAVESH PROC
21 XXSTEP3 EXEC PGM=IEFBR14
22 XXSYSPRINT DD SYSOUT=*
23 XXALLOC DD DSN=OSOP.BCB1O.ALLOC,DISP=(NEW,CATLG,DELETE),
XX UNIT=3390,VOL=SER=WORKY1,
XX SPACE=(TRK,(2,2)),
XX DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
24 XXSYSOUT DD SYSOUT=*
25 XX PEND
26 // ENDIF
JESYSMSG
********************************* TOP OF DATA ***************
STMT NO. MESSAGE
3 IEFC001I PROCEDURE VTOCLIST WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
11 IEFC001I PROCEDURE LISTPDS WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
19 IEFC001I PROCEDURE BHAVESH WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
10 IEF645I INVALID REFERBACK IN THE RC FIELD
******************************** BOTTOM OF DATA *******
OSOP.BCB1O.PROC(VTOCLIST)
//VTOCLIST PROC
//STEP1 EXEC PGM=IEHLIST
//SYSPRINT DD SYSOUT=*
//DISK DD UNIT=3390,VOL=SER=WORKY1
// PEND
OSOP.BCB1O.PROC(LISTPDS)
//LISTPDS PROC
//STEP2 EXEC PGM=IEHLIST
//SYSPRINT DD SYSOUT=*
//DRUM DD UNIT=3390,VOL=SER=WORKY1,DISP=OLD
// PEND
OSOP.BCB1O.PROC(BHAVESH)
//BHAVESH PROC
//STEP3 EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//ALLOC DD DSN=OSOP.BCB1O.ALLOC,DISP=(NEW,CATLG,DELETE),
// UNIT=3390,VOL=SER=WORKY1,
// SPACE=(TRK,(2,2)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSOUT DD SYSOUT=*
// PEND
THIS IS THE CODE NOW PLEASE TELL ME WHAT IS WRONG WITH WHAT
***************************** Top of Data ********************
//IFELSE JOB 'IF ELSE STRUCTURE',NOTIFY=&SYSUID,CLASS=Y,
// MSGCLASS=X,MSGLEVEL=(1,1)
// JCLLIB ORDER=OSOP.BCB1O.PROC
//STEP1 EXEC PROC=VTOCLIST
//SYSIN DD *
LISTVTOC FORMAT,VOL=3390=WORKY1
/*
//IFPART IF STEP1.VTOCLIST.RC=0 THEN
//STEP2 EXEC PROC=LISTPDS
//SYSIN DD *
LISTPDS DSN=OSOP.BCB1O.JCL,VOL=3390=WORKY1
/*
//ELSEPART ELSE
//ELSECOND EXEC PROC=BHAVESH
// ENDIF
**************************** Bottom of Data ****************** |
|
Back to top |
|
|
agkshirsagar
Active Member
Joined: 27 Feb 2007 Posts: 691 Location: Earth
|
|
|
|
Code: |
//VTOCLIST PROC
//STEP1 EXEC PGM=IEHLIST
//SYSPRINT DD SYSOUT=*
//DISK DD UNIT=3390,VOL=SER=WORKY1
// PEND |
You can not use SYSOUT=* in PROC. Change that to a dataset.
Hope it will work if your JCL has no other problem. |
|
Back to top |
|
|
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Hi agkshirsagar
i have changed SYSOUT=* in PROC Change to a dataset.
but still it is giving error in 10 IEF645I INVALID REFERBACK IN THE RC FIELD
the jcl is same as above i have only changed the SYSOUT=* in PROC with a dataset
JESYSMSG
********************************* TOP OF DATA ***************
STMT NO. MESSAGE
3 IEFC001I PROCEDURE VTOCLIST WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
11 IEFC001I PROCEDURE LISTPDS WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
19 IEFC001I PROCEDURE BHAVESH WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
10 IEF645I INVALID REFERBACK IN THE RC FIELD
******************************** BOTTOM OF DATA ******* |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Quote: |
You can not use SYSOUT=* in PROC. Change that to a dataset.
|
Of course you can
If you look at the examples shown in the fine manual, each one shows a space between the operators, e.g. RC = 0
You code does not show these spaces. |
|
Back to top |
|
|
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Hi expat
i have change it
//IFPART IF STEP1.VTOCLIST.RC = 0 THEN
and saved it and submitted it but still it is generating an error same as before
********************************* TOP OF DATA ***************
STMT NO. MESSAGE
3 IEFC001I PROCEDURE VTOCLIST WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
11 IEFC001I PROCEDURE LISTPDS WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
19 IEFC001I PROCEDURE BHAVESH WAS EXPANDED USING PRIVATE LIBRARY OSOP.BCB1O.PROC
10 IEF645I INVALID REFERBACK IN THE RC FIELD
******************************** BOTTOM OF DATA ******* |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
SYSOUT=* is quite normal in cataloged PROCedures. We have many coded this way.
The problem is the backward reference to
Code: |
STEP1.VTOCLIST.RC=0 |
This "//IFPART IF RC=0 THEN" does not generate a JCL error here - give it a try and let us know what happens. |
|
Back to top |
|
|
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Yes Dick
It is working fine
after spending Two days on that program i want to know the reason why it is not accepting
STEP1.VTOCLIST.RC=0 THEN
and accepting
IF RC=0 THEN |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hi Bhavesh,
Going forward from the simpler example i gave, you will want to change this synntax "STEP1.VTOCLIST.RC=0". Among other things, you've used STEP1 as the procstepname as well as the stepname in the VTOCLIST PROC.
Please look at this example from the Fine Manual and try making the same type of changes to your syntax.
Code: |
//JOBD JOB ...
//PROC1 PROC
//PSTEPONE EXEC PGM=...
//PSTEP11 EXEC PGM=...
//PSTEP12 EXEC PGM=...
// PEND
//PROC2 PROC
//PSTEPTWO EXEC PGM=...
// PEND
//EXP1 EXEC PROC=PROC1
//EXP2 EXEC PROC=PROC2
//IFTEST3 IF (RC > 12) THEN
//STEP1BAD IF (EXP1.PSTEP11.RC > 12 OR EXP1.PSTEP12.RC > 12) THEN
//STEP1ERR EXEC PGM=ERRTN,PARM=(EXP1)
// ELSE
//STEP2ERR EXEC PGM=ERRTN,PARM=(EXP2)
//END1BAD ENDIF
// ELSE
//NOPROB EXEC PROC=RUNOK
//ENDTEST3 ENDIF
//NEXTSTEP EXEC ...
|
Note the way the procs and steps are named - no duplications.
Give this a try and let us know how it goes. |
|
Back to top |
|
|
ybhavesh Warnings : 1 New User
Joined: 17 Feb 2007 Posts: 46 Location: mumbai
|
|
|
|
Hi all
The above ERROR can be solved
ie.
//IFPART IF STEP1.VTOCLIST.RC=0 THEN
it we code
//IFPART IF STEP1.STEP1.RC = 0 THEN |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Yes, while that will work, it is better (IMHO) to make things more clear by having standards that would not permit that naming. . . Typically, it is easier to read/understand when different things have different names. FWIW
Good to hear that it is now working for you |
|
Back to top |
|
|
|