IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Using EZACFSM1 prog with instream data for file qualifier


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
rabiswas

New User


Joined: 15 Oct 2008
Posts: 11
Location: India

PostPosted: Sun Jun 08, 2014 5:12 pm
Reply with quote

Hi,


Im facing an issue in creating date-time qualified files via EZACFSM1. Im also punching the JCL to a PDS member and adding the filename to a VSAM control file.
This works fine if it is done directly in a JCL.. but there is JCL error if it is put in a PROC and called from a JCL.

Below is the PROC step -
//ARCH10 EXEC PGM=EZACFSM1
//SYSOUT DD DSN=USR1.TEST.IBM.JCL(SPZ864P1),DISP=SHR
//SYSIN DD DATA,DLM=@@
//SPZ864P1 JOB T,'ARCHIVE',CLASS=T,MSGCLASS=T
//*
//IEBGN01 EXEC PGM=IEBGENER
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=IBM.WBM.TX11,DISP=SHR
//SYSUT2 DD DSN=IBM.WBM.TX11.D&LYYMMDD..T&LHHMMSS,
// DISP=(NEW,CATLG,DELETE),UNIT=DISK,
// DCB=(LRECL=300,RECFM=FB),
// SPACE=(CYL,(5,5),RLSE)
//SYSIN DD DUMMY
//**
//**
//IDCAM01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//INDD1 DD *
IBM.WBM.TX11.D&LYYMMDD..T&LHHMMSS
//*
//OUTDD1 DD DSN=VSP.GDG.BKP.CNTLFILE,DISP=SHR
//SYSIN DD DSN=USR1.SYSINLIB(REPRO1),DISP=SHR
@@
//*


Calling JCL -
//RBISW0B1 JOB T,NOTIFY=&SYSUID,RESTART=*
//PROCLIB JCLLIB ORDER=USR1.TEST.IBM.PRC
//*
//JOBLIB DD DSN=USR1.LIBCCF.TESTLOAD,DISP=SHR
//*
//SPZ864P EXEC SPZ864P1
//*
//

Error shown -
4 IEFC001I PROCEDURE SPZ864P1 WAS EXPANDED USING PRIVA
27 IEFC601I INVALID JCL STATEMENT
28 IEFC019I MISPLACED JOB STATEMENT
30 IEFC601I INVALID JCL STATEMENT
33 IEFC627I INCORRECT USE OF AMPERSAND IN THE DSN FIELD
37 IEFC601I INVALID JCL STATEMENT
38 IEFC601I INVALID JCL STATEMENT
41 IEFC601I INVALID JCL STATEMENT


The JOBSCAN also shows error, most relevant one is probably -
P1//SYSIN DD DATA,DLM=@@
***ERROR - DSS2140E - IN-STREAM DATA NOT ALLOWED IN PROC
----+----1----+----2----+----3----+----4----+----5----+--
//SPZ864P1 JOB T,'ARCHIVE',CLASS=T,MSGCLASS=T



I need guidance to make it work inside a PROC. Any help is appreciated ! icon_smile.gif

RBiswas
Back to top
View user's profile Send private message
superk

Global Moderator


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

PostPosted: Sun Jun 08, 2014 6:48 pm
Reply with quote

You've got me. Are you not running on the latest version of z/OS?
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Sun Jun 08, 2014 7:01 pm
Reply with quote

Kevin -

Judging by the partial error messages, it would appear this is not z/OS 2.1. In addition, there appears to be a // JOB statement in a procedure, which I think is invalid even in z/OS 2.1.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Sun Jun 08, 2014 7:05 pm
Reply with quote

You already know the source of the problem:
rabiswas wrote:
The JOBSCAN also shows error, most relevant one is probably -
P1//SYSIN DD DATA,DLM=@@
***ERROR - DSS2140E - IN-STREAM DATA NOT ALLOWED IN PROC
And you know that because you've read the manual, of course:
MVS JCL Reference wrote:
A cataloged or in-stream procedure cannot contain a DD DATA statement.

So, why don't you put your in-stream data in some PDS and use
Code:
//SYSIN    DD   DISP=SHR,DSN=some.pds(SPZ864)

The procedure becomes:
Code:
//ARCH10   EXEC PGM=EZACFSM1
//SYSOUT   DD   DSN=USR1.TEST.IBM.JCL(SPZ864P1),DISP=SHR
//SYSIN    DD   DISP=SHR,DSN=some.pds(SPZ864)

The calling JCL stays the same, and then maybe the whole procedure becomes irrelevant and you can have this for JCL:
Code:
//RBISW0B1 JOB  T,NOTIFY=&SYSUID,RESTART=*
//JOBLIB   DD   DSN=USR1.LIBCCF.TESTLOAD,DISP=SHR
//ARCH10   EXEC PGM=EZACFSM1
//SYSOUT   DD   DSN=USR1.TEST.IBM.JCL(SPZ864P1),DISP=SHR
//SYSIN    DD   DISP=SHR,DSN=some.pds(SPZ864)
//*
//
Back to top
View user's profile Send private message
David Robinson

Active User


Joined: 21 Dec 2011
Posts: 199
Location: UK

PostPosted: Mon Jun 09, 2014 2:10 pm
Reply with quote

I believe instream data can be used in a proc from z/OS v1.13.
Back to top
View user's profile Send private message
rabiswas

New User


Joined: 15 Oct 2008
Posts: 11
Location: India

PostPosted: Wed Jun 18, 2014 3:58 pm
Reply with quote

I could make this work.. followed Marso's inputs..

Thanks !
Back to top
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1249
Location: Richfield, MN, USA

PostPosted: Wed Jun 18, 2014 7:03 pm
Reply with quote

In z/OS 1.13, JEM will give you a "not allowed" message, but the PROC WILL allow instream data when executed.
Back to top
View user's profile Send private message
superk

Global Moderator


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

PostPosted: Wed Jun 18, 2014 7:10 pm
Reply with quote

Yes. The original code as posted worked for me in both the JCL checker and when actually submitted.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts How to save SYSLOG as text data via P... All Other Mainframe Topics 2
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 3
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Store the data for fixed length COBOL Programming 1
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
Search our Forums:

Back to Top