View previous topic :: View next topic |
Author |
Message |
Mukunda Beginner
Joined: 11 Dec 2002 Posts: 46 Topics: 15
|
Posted: Thu May 22, 2003 5:47 pm Post subject: Error in using ISPF Skeletons |
|
|
I'm trying to use ISPF skeletons.
Here is the REXX code
Code: | /*REXX*/
arg NEWDS OLDDS
if (NEWDS = '') then do
say "Missing New file name - to be created"
exit
end
if (OLDDS = '') then do
say "Missing Existing file name - to be cloned"
exit
end
"ispexec libdef ispslib library id(sysproc)
"ispexec ftincl CLONEDS"
"ispexec ftclose"
"ispexec vget (ztempf) shared"
"submit '"ztempf"'"
exit 0 |
Skeleton (CLONEDS) resides on the sampe PDS as that of the REXX member (Both assigned to SYSPROC). Here is how the skeleton looks like
Code: | //JOB CARD....
//*
//**********************************************************************
//* TO CREATE A FILE (PS/PDS) BY CLONING ATTRIBUTES OF ANOTHER FILE *
//**********************************************************************
//STEP010 EXEC PGM=IEFBR14
//CREAT DD DSN=&NEWDS,
// LIKE=&OLDDS,
// DISP=(,CATLG,),
// UNIT=SYSDA
//STEP020 EXEC PGM=SORT
//SORTIN DD DSN=&OLDDS,
// DISP=SHR
//SORTOUT DD DSN=&NEWDS,
// DISP=SHR
//SYSIN DD *
SORT FIELDS=COPY
//SYSOUT DD SYSOUT=Q
//* |
When I invoke the REXX macro, it is failing with the following message
Code: | Data set not allocated
ISPFILE data set is not allocated
Current dialog statement:
ftincl CLONEDS |
Can you please tell me what I'm missing out? |
|
Back to top |
|
|
RonB Beginner
Joined: 02 Dec 2002 Posts: 93 Topics: 0 Location: Orlando, FL
|
Posted: Thu May 22, 2003 9:13 pm Post subject: |
|
|
Perhaps an FTOPEN, for starters.
Ron _________________ A computer once beat me at chess, but it was no match for me at kick boxing. |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Thu May 22, 2003 9:16 pm Post subject: |
|
|
FTOPEN maybe? (I admit I didn't look too closely)
and maybe a Library keyword on the FTCLOSE. I forget the deatils of skel services but this should be a start. |
|
Back to top |
|
|
Phantom Data Mgmt Moderator
Joined: 07 Jan 2003 Posts: 1056 Topics: 91 Location: The Blue Planet
|
Posted: Thu May 22, 2003 10:59 pm Post subject: |
|
|
Mukunda,
I also have the same answer. Try to give FTOPEN before FTINCL.
The code should be like this
Code: |
"ISPEXEC FTOPEN TEMP"
"ISPEXEC FTINCL CLONEDS"
"ISPEXEC FTCLOSE"
"ISPEXEC VGET (ZTEMPF) SHARED"
"SUBMIT '"ZTEMPF"'"
|
Hope this helps, |
|
Back to top |
|
|
DaveyC Moderator
Joined: 02 Dec 2002 Posts: 151 Topics: 3 Location: Perth, Western Australia
|
Posted: Fri May 23, 2003 7:20 am Post subject: |
|
|
Quote: | I forget the deatils of skel services but this should be a start |
All those years as an ISPF developer and your starting to forget already! What's it all about these days, WebSphere etc? _________________ Dave Crayford |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Fri May 23, 2003 8:14 am Post subject: |
|
|
Sort of. But the idiosyncrasies of tables and, to some extent, skels always eluded me since I did mostly editor and utilities work. Really, the only odd things about skels are getting the input and output files right, and understanding some of the performance implications of imbeds (because each )IM rereads the skel file). Not much there. Tables, on the other hand are simply evil... |
|
Back to top |
|
|
Mukunda Beginner
Joined: 11 Dec 2002 Posts: 46 Topics: 15
|
Posted: Fri May 23, 2003 8:26 am Post subject: |
|
|
Thanks a lot. FTOPEN works fine. But I'm struck with one more issue.
When the job at CLONEDS is submitted after substitution...it fails. The reason, is the serial numbers that gets generated when the JCL is copied to the temp dataset. The submitted JCL looks like this...
Code: | //**JOB STATEMENT GENERATED BY SUBMIT**
//
//
//SYSIN DD * GENERATED STATEMENT
00010001//JCL at CLONEDS
00020001//STEP010 EXEC PGM=IEFBR14
00030001//CREAT DD DSN=NEW.FILE,
00040001//.... |
I guess I'm missing out something very basic |
|
Back to top |
|
|
Phantom Data Mgmt Moderator
Joined: 07 Jan 2003 Posts: 1056 Topics: 91 Location: The Blue Planet
|
Posted: Fri May 23, 2003 9:35 am Post subject: |
|
|
Mukunda,
In your previous note you have shown STEP010 as your first step. But In the submitted JCL there is a SYSIN DD * statement preceding step STEP010. Can you please post your actual JCL and the entire submitted JCL. Also, the error message / error code / JCL Error message would be useful to detect your problem. Can you please post them.
Thanks |
|
Back to top |
|
|
RonB Beginner
Joined: 02 Dec 2002 Posts: 93 Topics: 0 Location: Orlando, FL
|
Posted: Fri May 23, 2003 12:04 pm Post subject: |
|
|
I'll bet that your SYSPROC library is Variable Length and that your JCL actually does have sequence numbers in columns 1 - 8 ( the default for VB data under the ISPF editor ). When in EDIT on your skeleton, Scroll max LEFT and see. You will probably have to NUMBER OFF, then SHIFT all rows 8 bytes to the left.
Ron _________________ A computer once beat me at chess, but it was no match for me at kick boxing. |
|
Back to top |
|
|
Mervyn Moderator
Joined: 02 Dec 2002 Posts: 415 Topics: 6 Location: Hove, England
|
Posted: Mon May 26, 2003 3:29 pm Post subject: |
|
|
It's probably better to use a different library altogether. Working with some members numbered and some unnumbered gets very tedious.
Phantom, the //SYSIN statement was generated because the intended JCL had the sequence numbers in columns 1-8, making it look like data. _________________ The day you stop learning the dinosaur becomes extinct |
|
Back to top |
|
|
Phantom Data Mgmt Moderator
Joined: 07 Jan 2003 Posts: 1056 Topics: 91 Location: The Blue Planet
|
Posted: Mon May 26, 2003 10:21 pm Post subject: |
|
|
Oh I see
Well, Thanks!!!! |
|
Back to top |
|
|
Mukunda Beginner
Joined: 11 Dec 2002 Posts: 46 Topics: 15
|
Posted: Tue May 27, 2003 12:19 pm Post subject: |
|
|
That was a great pointer. Thank you very much. There was another member with the name CLONEDS ahead in the contatenation list of SYSPROC DD. I found it through ISRDDN and just followed Mervyn's idea - used a different library altogether. 8) |
|
Back to top |
|
|
coolman Intermediate
Joined: 03 Jan 2003 Posts: 283 Topics: 27 Location: US
|
Posted: Wed May 28, 2003 1:37 am Post subject: |
|
|
Merv,
Im sorry, I didnt get you. There was no SYSIN in the CLONEDS (skeleton JCL) that he had shown. In such a scenario, how will it get generated ? Might be because, he's picking it up from another CLONEDS member as Mukunda himself has pointed. Correct me If Iam wrong ?
Cheers,
Coolman
________
Mercedes-benz m103 engine specifications
Last edited by coolman on Sat Mar 12, 2011 8:29 pm; edited 1 time in total |
|
Back to top |
|
|
Mike Beginner
Joined: 03 Dec 2002 Posts: 114 Topics: 0 Location: Sydney, Australia
|
Posted: Wed May 28, 2003 10:05 pm Post subject: |
|
|
Coolman,
JES when it reads in a job, has a feature that kindly (or perhaps unkindly for the many who've been caught out by this) automatically generates a //SYSIN DD * statement if it encounters what it considers to be instream data that has not been introduced by a statement indicating instream data. look at the following JCL, especially the line PRINT DS(..........., you'd possibly assume that this would fail with a JCL error, however look at the resultant output created when the job runs (this follows the JCL) and the JCL line with statement number 3 (the line before the2nd //*----------------------------- line. You get a new line added //SYSIND DD * GENERATED STATEMENT .This is what Merv is talking about (I hope).
Back in the days of punched cards this could save you having to punch out the //SYSIN DD * card. But this would obviously only be useful if the invoked program (considering the position of the data) knew to read the SYSIN DDNAME.
Code: |
//DMI021AH JOB UD228542026,'MITRE ARCH',CLASS=A,
// MSGCLASS=X,NOTIFY=&SYSUID
//*--------------------------------------------------------------------
//ST1 EXEC PGM=IEFBR14
PRINT DS(DMI021.USER.SPOOL) INDDNAME(I01) WAIT(10,1)
//*--------------------------------------------------------------------
|
Code: |
********************************* TOP OF DATA **********************************
J E S 2 J O B L O G -- S Y S T E M D I P M -- N O
12.48.17 JOB18193 ---- THURSDAY, 29 MAY 2003 ----
12.48.17 JOB18193 IRR010I USERID DMI021 IS ASSIGNED TO THIS JOB.
12.48.17 JOB18193 ICH70001I DMI021 LAST ACCESS AT 12:16:19 ON THURSDAY, MAY 2
12.48.17 JOB18193 $HASP373 DMI021AH STARTED - INIT 50 - CLASS 1 - SYS DIPM
12.48.17 JOB18193 IEF403I DMI021AH - STARTED - TIME=12.48.17
12.48.17 JOB18193 - --TIMINGS (M
12.48.17 JOB18193 -JOBNAME STEPNAME PROCSTEP RC EXCP CONN CPU SRB
12.48.17 JOB18193 -DMI021AH ST1 00 1 1 .00 .00
12.48.17 JOB18193 IEF404I DMI021AH - ENDED - TIME=12.48.17
12.48.17 JOB18193 -DMI021AH ENDED. NAME-MITRE ARCH TOTAL CPU TIME=
12.48.17 JOB18193 $HASP395 DMI021AH ENDED
------ JES2 JOB STATISTICS ------
29 MAY 2003 JOB EXECUTION DATE
8 CARDS READ
56 SYSOUT PRINT RECORDS
0 SYSOUT PUNCH RECORDS
4 SYSOUT SPOOL KBYTES
0.00 MINUTES EXECUTION TIME
1 //DMI021AH JOB UD228542026,'MITRE ARCH',CLASS=A,
// MSGCLASS=X,
// NOTIFY=&SYSUID
//* SUBMITTED AT PDEV 3.149 AT 12:48:17 BY DMI021 FROM W5515EF
//*-------------------------------------------------------------------
IEFC653I SUBSTITUTION JCL - UD228542026,'MITRE ARCH',CLASS=A,MSGCLASS=
2 //ST1 EXEC PGM=IEFBR14
3 //SYSIN DD * GENERATED STATEMENT
//*-------------------------------------------------------------------
................
|
_________________ Regards,
Mike. |
|
Back to top |
|
|
Mervyn Moderator
Joined: 02 Dec 2002 Posts: 415 Topics: 6 Location: Hove, England
|
Posted: Thu May 29, 2003 2:13 pm Post subject: |
|
|
Mike,
Yes, that's what I was getting at. Thanks for the clear explanation.
BTW, I just twigged that the JOB card was generated, also. Isn't JES just sooo helpful??
_________________ The day you stop learning the dinosaur becomes extinct |
|
Back to top |
|
|
|
|