Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Parameter Passing from a JOB to a PROC
Goto page 1, 2  Next
 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
murali922

New User


Joined: 25 Jul 2005
Posts: 92
Location: India

PostPosted: Wed Jan 31, 2007 7:49 pm    Post subject: Parameter Passing from a JOB to a PROC
Reply with quote

Hi all,

My requirement is to pass 2 parameters from my job to a proc. The proc receives the parameters and then sends executes the corresponding cobol program.

I have written parameter passing JCLs before. But this one seems to give me an error and I am not able to correct them.

I have the below JCL to pass 2 parameters to a PARM. And the error I get are :-

Code:
//user123  JOB (U,NM),                           
//         'TEST-JOB',                           
//         MSGCLASS=X,                           
//         CLASS=0,                               
//         NOTIFY=&SYSUID                         
// JCLLIB ORDER=user123.DENVER.PROCLIB           
//STEP1    EXEC PROCNAME
//         MKT=11,                               
//         SYSTEM=ABC


LABEL SV MSG.NO. ERROR MESSAGE
-------- -- -------- -------------------------------------------------
.JAAA 8 DSS5210E - IMPROPER ATTRIBUTES FOR A
JOBLIB/STEPLIB
.JAAA 0 DSS2052A - LIBRARY NOT SEARCHED FOR PROGRAM
NAME
.JAAA 8 DSS6130E - CONTINUATION CARD STARTS PAST COLUMN
16
.JAAA 8 DSS6050E - UNKNOWN OPERATOR
.JAAA 4 DSS2050W - PROGRAM "DOCONE " NOT FOUND
.JAAB 8 DSS6050E - UNKNOWN OPERATOR

Below is the PROC, and I have inserted the error in them too.

Code:
//PROCNAME PROC MKT=,SYSTEM=                           
//STEP1    EXEC PGM=<program name>,PARM='&MKT.&SYSTEM'         
//STEPLIB  DD   DSN=x.y.z,DISP=SHR   
 ***ERROR  - DSS5210E - IMPROPER ATTRIBUTES FOR A JOBLIB/STEPLIB
 *ADVISORY - DSS2052A - LIBRARY NOT SEARCHED FOR PROGRAM NAME   
//IDOC     DD   DSN=user123.INPUT.FILE,DISP=SHR       
//ODOC     DD   DSN=user123.OUTPUT.FILE,               
//              DISP=(NEW,CATLG,CATLG),               
 ***ERROR  - DSS6130E - CONTINUATION CARD STARTS PAST COLUMN 16   
//              DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
***ERROR  - DSS6050E - UNKNOWN OPERATOR           
**WARNING - DSS2050W - PROGRAM "DOCONE " NOT FOUND
Back to top
View user's profile Send private message

William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3158
Location: Tucson AZ

PostPosted: Wed Jan 31, 2007 8:07 pm    Post subject: Re: Parameter Passing from a JOB to a PROC
Reply with quote

murali922 wrote:
LABEL SV MSG.NO. ERROR MESSAGE
-------- -- -------- -------------------------------------------------
.JAAA 8 DSS5210E - IMPROPER ATTRIBUTES FOR A
JOBLIB/STEPLIB
.JAAA 0 DSS2052A - LIBRARY NOT SEARCHED FOR PROGRAM
NAME
.JAAA 8 DSS6130E - CONTINUATION CARD STARTS PAST COLUMN
16
.JAAA 8 DSS6050E - UNKNOWN OPERATOR
.JAAA 4 DSS2050W - PROGRAM "DOCONE " NOT FOUND
.JAAB 8 DSS6050E - UNKNOWN OPERATOR
Is x.y.z a PDS? With the correct recfm?
The DISP of the output file starts after cc16, move it over. Same for the DCB.
Back to top
View user's profile Send private message
murali922

New User


Joined: 25 Jul 2005
Posts: 92
Location: India

PostPosted: Wed Jan 31, 2007 8:14 pm    Post subject:
Reply with quote

Yes x.y.z is a PDS. And its should have the correct recfm as i am using it in other jobs.

Code:
//STEPLIB  DD   DSN=CHGMAN.CRSU.#003238.BSB,DISP=SHR             
***ERROR  - DSS5210E - IMPROPER ATTRIBUTES FOR A JOBLIB/STEPLIB 
*ADVISORY - DSS2052A - LIBRARY NOT SEARCHED FOR PROGRAM NAME     


The above is the error I dont know how to resolve....

x.y.z looks like this :-

Code:
General Data                           Current Allocation                     
 Management class . . : NOACTION        Allocated tracks  . : 240             
 Storage class  . . . : SINGLEV         Allocated extents . : 16             
  Volume serial . . . : SVZQ90                                               
  Device type . . . . : 3390                                                 
 Data class . . . . . : NONSTD         Current Utilization                   
  Organization  . . . : PO              Used tracks . . . . : 33             
  Record format . . . : FB              Used extents  . . . : 3               
  Record length . . . : 80                                                   
  Block size  . . . . : 27920                                                 
  1st extent tracks . : 15                                                   
  Secondary tracks  . : 15                                                   
  Data set name type  : PDS                                                   
                                                                             
  Creation date . . . : 2007/01/23      Referenced date . . : 2007/01/31     
  Expiration date . . : ***None***                                           
                                                                             
Back to top
View user's profile Send private message
murali922

New User


Joined: 25 Jul 2005
Posts: 92
Location: India

PostPosted: Wed Jan 31, 2007 8:19 pm    Post subject:
Reply with quote

I changed the steplib to proclib and the problem is resolved.
But I am still getting one error which is

Quote:
***ERROR - DSS2050E - PROGRAM "DOC1VER4" NOT FOUND
Back to top
View user's profile Send private message
murali922

New User


Joined: 25 Jul 2005
Posts: 92
Location: India

PostPosted: Wed Jan 31, 2007 8:47 pm    Post subject:
Reply with quote

Hi william,

As u suggested I checked the PDS attributes again and resolved the problem. The following are the errors I get now...

Code:
1 //PV9793AA JOB (UU506505625,NM),                                   
  //         'TEST-JOB',                                             
  //         MSGCLASS=X,                                             
  //         CLASS=0,                                               
  //         NOTIFY=&SYSUID                                         
2 //PROCLIB  DD DSN=PV9793A.DENVER.PROCLIB                           
3 //STEP1    EXEC DOC1PROC,                                         
  //         MKT=37,SYSTEM=TRIUMPH                                   


STMT NO. MESSAGE
2 IEFC019I MISPLACED DD STATEMENT
3 IEFC612I PROCEDURE DOC1PROC WAS NOT FOUND
3 IEFC657I THE SYMBOL MKT WAS NOT USED
3 IEFC657I THE SYMBOL SYSTEM WAS NOT USED
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3158
Location: Tucson AZ

PostPosted: Wed Jan 31, 2007 8:55 pm    Post subject:
Reply with quote

murali922 wrote:
I changed the steplib to proclib and the problem is resolved.
But I am still getting one error which is

Quote:
***ERROR - DSS2050E - PROGRAM "DOC1VER4" NOT FOUND
What is DOC1VER4? A program? And where is it located, not in x.y.z I hope.....
Back to top
View user's profile Send private message
murali922

New User


Joined: 25 Jul 2005
Posts: 92
Location: India

PostPosted: Wed Jan 31, 2007 8:58 pm    Post subject:
Reply with quote

But I am still getting the error message as quoted in my previous message...
Code:

1 //PV9793AA JOB (UU506505625,NM),                                   
  //         'TEST-JOB',                                             
  //         MSGCLASS=X,                                             
  //         CLASS=0,                                               
  //         NOTIFY=&SYSUID                                         
2 //PROCLIB  DD DSN=PV9793A.DENVER.PROCLIB                           
3 //STEP1    EXEC DOC1PROC,                                         
  //         MKT=37,SYSTEM=TRIUMPH     



STMT NO. MESSAGE
2 IEFC019I MISPLACED DD STATEMENT
3 IEFC612I PROCEDURE DOC1PROC WAS NOT FOUND
3 IEFC657I THE SYMBOL MKT WAS NOT USED
3 IEFC657I THE SYMBOL SYSTEM WAS NOT USED
Back to top
View user's profile Send private message
murali922

New User


Joined: 25 Jul 2005
Posts: 92
Location: India

PostPosted: Wed Jan 31, 2007 9:03 pm    Post subject:
Reply with quote

To be clear, you can see below the JCL along with the PROC prefixed with P1 :-

Code:
//PV9793AA JOB (UU506505625,NM),                       
//         'TEST-JOB',                                 
//         MSGCLASS=X,                                 
//         CLASS=0,                                   
//         NOTIFY=&SYSUID                             
--         NOTIFY=PV9793A                             
//PROCLIB  DD DSN=PV9793A.DENVER.PROCLIB               
//STEP1    EXEC DOC1PROC,                             
//         MKT=37,                                     
//         SYSTEM=TRIUMPH                             
  P1//DOC1PROC PROC MKT=,SYSTEM=                       
  P1//STEP1    EXEC PGM=DOCONE,PARM=&MKT.&SYSTEM       
  P1--STEP1    EXEC PGM=DOCONE,PARM=37TRIUMPH         
  P1//STEPLIB  DD DSN=CHGMAN.CRSU.#003238.BLB,DISP=SHR
  P1//IDOC     DD DSN=PV9793A.INPUT.FILE,DISP=SHR     
  P1//ODOC     DD DSN=PV9793A.OUTPUT.FILE,             
  P1//            DISP=(NEW,CATLG,CATLG),             
  P1//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=800) 
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Wed Jan 31, 2007 11:20 pm    Post subject:
Reply with quote

Hello,

Look in the PV9793A.DENVER.PROCLIB dataset for a member named DOC1PROC. The member name is what the PROCload looks for. The //DOC1PROC inside the proc is not what the system uses to find and load the proc.
Back to top
View user's profile Send private message
superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 4648
Location: Raleigh, NC, USA

PostPosted: Wed Jan 31, 2007 11:23 pm    Post subject: Re: Parameter Passing from a JOB to a PROC
Reply with quote

Code:

//PROCLIB  DD DSN=PV9793A.DENVER.PROCLIB


is a new one on me, and is not documented in the JCL Reference Manuals. Does this statement actually do anything?
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Feb 01, 2007 1:17 am    Post subject:
Reply with quote

Hello,

If memory serves (and it may not) this may be an obsolete statement. I seem to recall that some sites installed an exit to just ignore this statement rather than raise a JES2 error because it was in all of their jobstreams. It may have been re-activated in JES3, but i don't know for sure. If raises a jcl error here. This machine is JES2.

Once upon a time, it could be used for PROCs like like JOBLIB is used for programs.

Murali922 - where did you get the "P1" lines you posted? Which pds and member name?
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3158
Location: Tucson AZ

PostPosted: Thu Feb 01, 2007 4:07 am    Post subject:
Reply with quote

No, the "2 IEFC019I MISPLACED DD STATEMENT" says it isn't.
Just how do you override modify the concat for proclibs?

Bill
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Feb 01, 2007 5:18 am    Post subject:
Reply with quote

Hello,

Well, now i'm confused. . . Bill, help me out here - i know that my IEBIBALL isn't what it used to be, but in the following:

Quote:
No, the "2 IEFC019I MISPLACED DD STATEMENT" says it isn't.


what is "it" and what "is it not"? icon_confused.gif

I'm pretty sure the IEFC019I is because this DD card is encountered before an EXEC.
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3158
Location: Tucson AZ

PostPosted: Thu Feb 01, 2007 5:57 am    Post subject:
Reply with quote

I'm sorry Dick, but (as you pointed out earlier for him, to look into the PDS for the existence of the proc) the (as you may already know from COBOL compiles) first error generally explains a lot that follow.
If the (whatever) says that the PROCLIB is a "MISPLACED" statement, any hope of murali922 finding his PROC in it is zip.
And I still ask the question, just how do you override/modify/whatever the "standard" PROCLIB concatenation? 'Cause that might be his problem....grin....
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Feb 01, 2007 6:43 am    Post subject:
Reply with quote

Hi Bill,

To answer you last question, a way to override the system PROCLIB concatenation is with the JCLLIB statement. It is not a dd systement and goes something like:
Code:

//MYLIB  JCLLIB  ORDER=('MY.PROC1','MY.PROC2',etc)


There is also the ever popular:
Code:
/*JOBPARM PROCLIB=dsn


Have a good one. . . icon_biggrin.gif
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3158
Location: Tucson AZ

PostPosted: Thu Feb 01, 2007 6:46 am    Post subject:
Reply with quote

thanks.... icon_lol.gif
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Feb 01, 2007 6:52 am    Post subject:
Reply with quote

You're Welcome. icon_wink.gif
Back to top
View user's profile Send private message
murali922

New User


Joined: 25 Jul 2005
Posts: 92
Location: India

PostPosted: Thu Feb 01, 2007 8:13 am    Post subject: Re: Parameter Passing from a JOB to a PROC
Reply with quote

I got all the /P1 lines when I did a job scan on the main JCL.

Job Scan just showed the PROC contents with a /P1 prefixed....

Should I just change the PARMLIB statement to something else ?
Also I have checked PV9793A.DENVER.PROCLIB and it does have the PROC DOC1PROC in it !

I just dont know how to rectify the misplaced DD statement error....

Seeing the discussion, I find that the problem might be because of

Code:
//PROCLIB  DD DSN=PV9793A.DENVER.PROCLIB


Should I be removing the above and then putting in :-

Code:
//MYLIB  JCLLIB  ORDER=('PV9793A.DENVER.PROCLIB ')


Let me know if I have understood...
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Feb 01, 2007 9:15 am    Post subject:
Reply with quote

Hello,

PARMLIB?

Please try to run the job without either the PROCLIB or the JCLLIB statements.

If that does not work, try with the JCLLIB you posted.

If you don't need it, it will be cleaner to leave it out.

You might also look in the PV9793A.DENVER.PROCLIB and see what other PROCs are there. Check the execution jcl for a couple of them and see if they specify the proc library in the jcl or if the standard procedure library concatenation is sufficient for other PROCs in that library.

The system support people can tell you what PROClibs are in the standard list.

Good luck and let us know how it progresses icon_smile.gif
Back to top
View user's profile Send private message
murali922

New User


Joined: 25 Jul 2005
Posts: 92
Location: India

PostPosted: Thu Feb 01, 2007 3:05 pm    Post subject: Re: Parameter Passing from a JOB to a PROC
Reply with quote

Superb ! Thanks a lot guys. Its working perfect now icon_biggrin.gif
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts FTP - JCL failed while passing FTP co... Suneetha1612 JCL & VSAM 12 Wed Nov 16, 2016 7:33 pm
No new posts TOT & DATE parameter in ICEMAN hemanthj642 DFSORT/ICETOOL 4 Mon Nov 14, 2016 5:19 am
No new posts How to display value of an exit param... lind sh CICS 2 Sun Oct 09, 2016 12:28 pm
No new posts Send parameter for macro STIMERM from... Daniel Teolotitla PL/I & Assembler 13 Tue Jul 05, 2016 9:23 pm
No new posts COND parameter vs IF THEN ELSE Alks JCL & VSAM 11 Fri Jun 17, 2016 5:28 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us