Re: Problems calling IDCAMS:
In CA+Vt6kN==55uhuthu_joqlweirvqqoncadivx5ba71zpnfj...@mail.gmail.com, on 11/01/2011 at 04:24 PM, Joe Aulph syspro...@gmail.com said: *LOAD EP=IDCAMS, *LRR15,R0 , *CALL (15),VGCARGL,VL One of LOAD EP=IDCAMS LRR15,R0 LAR1,VGCARGL CALL (15) LOAD EP=IDCAMS LRR15,R0 CALL (15),(VGCOPTA),VL LINK EP=IDCAMS,PARAM=VGCOPTA,VL=1 LAR1,VGCARGL LINK EP=IDCAMS VGCARGL DS0XL12 VGCOPTDCAL4(VGCOPTA) VGCDDNDCAL4(VGCDDNA) VGCPGN DCAL4(VGCPGNA) VGCARGL DS0A VGCOPTDCAL4(VGCOPTA+X'8000') You don't need anything past the end of list. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
On Mon, 31 Oct 2011 15:12:04 -0400 Joe Aulph syspro...@gmail.com wrote: :My intent is to construct a proper SYSIN statement and Call IDCAMS using my :SYSIN, this I have done. :After IDCAMS is finished I should have some SYSPRINT which I would massage :after the call to IDCAMS, ie... not using the IDCAMS user I/O routine :fcaility. :At this point I've modified my code to immediately exit upon return from :IDCAMS, no massaging of SYSPRINT at all. :As such the SYSPRINT output remains as I described earlier. If that is what you are doing, i.e., writing the input to a file and then reading the output from a file, it would make much sense to do this as two programs, P1 writes the input, IDCAMS runs and P2 reads the output. Why invoke IDCAMS from a program? :According to the AMS for ICF catalogs, the LOAD CALL scenario is: :LOAD EP=IDCAMS :then load register 15 with the address returned from LOAD: :LR 15,0 :Followed by the call: :CALL (15),optionaddr,VL :Because I have specified no IDCAMS processing options, PARM= on the EXEC :PGM= JCL card. :The optionaddr points to a half word of binary zeros. Looks fine. :Because the 0C4 was happening in IDCAMS I thought I couldn't change IDCAMS :code. :So I opted for the LOAD CALL scenario instead of the LINK, it might work, :which I initially thought it did, I got around the S0C4. I would suggest that your plist is wrong. Is optionaddr an address constant (wrong) or DC H'0' (correct)? :I have found this in my testing today. :Initially I used an example of an IDCAMS call from a CBT tape program it :was simply: : LAR1,argumentlist (points to binary zeros) . : LINK EP=IDCAMS :Which was the format that initially worked, until the S0C4. I would suggest that argumentlist is defined incorrectly. :After a bit of RTFM in the AMS guide, I find this format should be: : LAR1,VGCARGL Useless, as the following PARAM= sets R1. : LINK EP=IDCAMS,PARAM=options,VL=1 Options pointing to a half word of :binary zeros. :Now whether I use this method or the LOAD CALL method I get my SYSPRINT :messed up. :As much as I am trying to avoid the user I/O routine is this the route I :must take? I repeat my suggestion that you do this a two programs UNLESS you are going to use the I/O routines. :On Sat, Oct 29, 2011 at 7:29 PM, Shmuel Metz (Seymour J.) :shmuel+ibm-m...@patriot.net wrote: : : In : ca+vt6kp9zp4meyxjrqwkm9hilvdutrcqzonmnx2dwegqrdu...@mail.gmail.com, : on 10/28/2011 : at 03:39 PM, Joe Aulph syspro...@gmail.com said: : : LAR1,ARGLIST : : What is in ARGLIST and the things it points at? : : I was able to construct SYSIN and get the appropriate SYSPRINT. But : as the program grew I ran into S0C4 rsn=0011 problems. : : Where? Did you try to resolve them? : : -- : Shmuel (Seymour J.) Metz, SysProg and JOAT : ISO position; see http://patriot.net/~shmuel/resume/brief.html : We don't care. We don't have to care, we're Congress. : (S877: The Shut up and Eat Your spam act of 2003) : : -- : For IBM-MAIN subscribe / signoff / archive access instructions, : send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO : Search the archives at http://bama.ua.edu/archives/ibm-main.html : -- Binyamin Dissen bdis...@dissensoftware.com http://www.dissensoftware.com Director, Dissen Software, Bar Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS
Hi Joe, As I understand your problem, you have progressed beyond the S0C4 when invoking IDCAMS dynamically, but are now faced with the situation that SYSPRINT does not flow elegantly as you would expect. If this is the case it may be nothing to do with the calling rogram, but a problem with the JCL. I spent 30 minutes producing the following code and JCL to test dynamic invocation of IDCAMS, and SYSPRINT appeared as I had anticipated it would, i.e. in the same format as when viewed via SDSF, albeit in a data set now. Assembler Code - (Not elegant but it was under 30 minutes remember) PRINT NOGEN KMSASM CSECT USING *,R15 INITIAL BASE REGISTER BEGINB START DCAL1(8),CL8'KMSASM' PROGRAM NAME FOR DEBUGGING *P-O-S-I-T-I-O-N-A-L-L-YD-E-P-E-N-D-A-N-TC-O-D-E--* SAVEAREA DS0F MY SAVE AREA * DCAL4(*-*) * PRESAVE DCAL4(*-*)ADDR OF PREVIOUS SAVE AREA * NEXTSAVE DCAL4(*-*)ADDR OF NEXT SAVE AREA * SREG14 DCAL4(*-*)GENERAL* SREG15 DCAL4(*-*) PURPOSE * SREG0DC13AL4(*-*)REGISTER SAVE* SAVEEND DS0H END OF MY SAVE AREA* *-* SPACE 1 DROP R15 LOOSE INITAL BASE STARTBAKR 14,0STACK REGISTERS ETC LRR12,R15 SET BASE ADDRESS, AND USING BEGIN,R12 TELL THE COMPILER. STR13,SAVEAREA+4 NOW SAVE REGISTER 13 CONTENTS LAR13,SAVEAREAR13 = MY SAVE AREA ADDRESS OPEN (SYSIN,OUTPUT) OPEN THE FILES. PUT SYSIN,IDCAMSCC WRITE MY AMS CONTROL CARD CLOSE (SYSIN) CLOSE SYSIN READY FOR IDCAMS LINK EP=IDCAMS,PARAM=(AMSOPT),VL=1 PRRETURN WHENCE I CAME EJECT LTORG AMSOPT DCH'0' SYSINDCB MACRF=PM,DDNAME=SYSIN,DSORG=PS,LRECL=80 IDCAMSCC DCCL80' LISTC LVL(ASMMST) ' COPY REGS END Invoking JCL //ADCDMSTJ JOB CLASS=A,MSGCLASS=X,NOTIFY=SYSUID //S0010EXEC PGM=KMSAMS //STEPLIB DD DSN=USER.LINKLIB,DISP=SHR //SYSPRINT DD DSN=SYSUID..IDCAMS.SYSPRINT,LRECL=121,RECFM=FBA, // UNIT=SYSDA,BLKSIZE=1210,SPACE=(TRK,(1,1)), // DISP=(,CATLG) //SYSINDD UNIT=SYSDA,SPACE=(TRK,1),BLKSIZE=80,RECFM=F Kind Regards - Terry Director KMS-IT Limited 228 Abbeydale Road South Dore Sheffield S17 3LA UK Reg : 3767263 Outgoing e-mails have been scanned, but it is the recipients responsibility to ensure their anti-virus software is up to date. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
In ca+vt6kpukk5fengnp-_mzwq7vxany9g-sp0t2ddz8c7hxcw...@mail.gmail.com, on 10/31/2011 at 03:12 PM, Joe Aulph syspro...@gmail.com said: LAR1,VGCARGL LINK EP=IDCAMS,PARAM=options,VL=1 Options pointing to a half word of binary zeros. Why the LA? Look at the macro expansion. Also, PARAM specifies the parameter list, not the address of the parameter list. If VFCARGL is a correct parameter list, removed the PARAMS keyword; if not, specify PARAM as the address of the DC H'0' rather than the address of a DC A pointing to it. The same thing goes for CALL, although there it's a positional parameter. Now whether I use this method or the LOAD CALL method I get my SYSPRINT messed up. What's in your SYSIN data set? As much as I am trying to avoid the user I/O routine is this the route I must take? I doubt it. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
In 1320105062.4229.yahoomailmob...@web161402.mail.bf1.yahoo.com, on 10/31/2011 at 04:51 PM, Ed Gould ps2...@yahoo.com said: You really need to look. At the IDCAMS book on how to invoke IDCAMS. From a iffy memory R1 points to a list of DDNAMES like SYSIN1 and SYSRINT2 but you have to look at the docuetation. R1 points to a standard parameter list. The first word should point to a parm string, i.e., halfword length followed by characters. If he correctly sets the end of list bit then only the first word is relevant. Had he wanted the ddname list then he'd have needed a second word in the parameter list, again with the end-of-list bit set correctly. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
I see said the blind man. I probably sohuld have included this at first: The variations I was working with. *LOAD EP=IDCAMS, *LRR15,R0 , *CALL (15),VGCARGL,VL *LAR1,VGCARGL , R1 = IDCAMS ARGUMENT LIST LINK EP=IDCAMS,PARAM=VGCOPTA,VL=1 B VGCRET , . . . . ** DS0F VGCARGL DS0XL12 VGCOPTDCAL4(VGCOPTA) VGCDDNDCAL4(VGCDDNA) VGCPGN DCAL4(VGCPGNA) ** *DUMMY PARMS FOR IDCAMS. ** VGCOPTA DCH'' , NO OPTIONS SPECIFIED VGCDDNA DCH'' , NO OVERRIDING DDNAMES VGCPGNA DCH'' , NO PAGE NUMBER SPECIFIED ** The LINK (uncomented) now works. Seymour, as you indicated my LINK was previously using VGCOPT, the address of the options, not the options specifically. Once I specified the options directly, VGCOPTA, Voila! It worked, The SYSPRINT is now as it should be. Thanks guys. On Tue, Nov 1, 2011 at 9:03 AM, Shmuel Metz (Seymour J.) shmuel+ibm-m...@patriot.net wrote: In 1320105062.4229.yahoomailmob...@web161402.mail.bf1.yahoo.com, on 10/31/2011 at 04:51 PM, Ed Gould ps2...@yahoo.com said: You really need to look. At the IDCAMS book on how to invoke IDCAMS. From a iffy memory R1 points to a list of DDNAMES like SYSIN1 and SYSRINT2 but you have to look at the docuetation. R1 points to a standard parameter list. The first word should point to a parm string, i.e., halfword length followed by characters. If he correctly sets the end of list bit then only the first word is relevant. Had he wanted the ddname list then he'd have needed a second word in the parameter list, again with the end-of-list bit set correctly. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- Joe Aulph, Florida Dept. of Children Families Senior Systems Programmer: 850-487-8945 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
My intent is to construct a proper SYSIN statement and Call IDCAMS using my SYSIN, this I have done. After IDCAMS is finished I should have some SYSPRINT which I would massage after the call to IDCAMS, ie... not using the IDCAMS user I/O routine fcaility. At this point I've modified my code to immediately exit upon return from IDCAMS, no massaging of SYSPRINT at all. As such the SYSPRINT output remains as I described earlier. According to the AMS for ICF catalogs, the LOAD CALL scenario is: LOAD EP=IDCAMS then load register 15 with the address returned from LOAD: LR 15,0 Followed by the call: CALL (15),optionaddr,VL Because I have specified no IDCAMS processing options, PARM= on the EXEC PGM= JCL card. The optionaddr points to a half word of binary zeros. Because the 0C4 was happening in IDCAMS I thought I couldn't change IDCAMS code. So I opted for the LOAD CALL scenario instead of the LINK, it might work, which I initially thought it did, I got around the S0C4. I have found this in my testing today. Initially I used an example of an IDCAMS call from a CBT tape program it was simply: LAR1,argumentlist (points to binary zeros) . LINK EP=IDCAMS Which was the format that initially worked, until the S0C4. After a bit of RTFM in the AMS guide, I find this format should be: LAR1,VGCARGL LINK EP=IDCAMS,PARAM=options,VL=1 Options pointing to a half word of binary zeros. Now whether I use this method or the LOAD CALL method I get my SYSPRINT messed up. As much as I am trying to avoid the user I/O routine is this the route I must take? On Sat, Oct 29, 2011 at 7:29 PM, Shmuel Metz (Seymour J.) shmuel+ibm-m...@patriot.net wrote: In ca+vt6kp9zp4meyxjrqwkm9hilvdutrcqzonmnx2dwegqrdu...@mail.gmail.com, on 10/28/2011 at 03:39 PM, Joe Aulph syspro...@gmail.com said: LAR1,ARGLIST What is in ARGLIST and the things it points at? I was able to construct SYSIN and get the appropriate SYSPRINT. But as the program grew I ran into S0C4 rsn=0011 problems. Where? Did you try to resolve them? -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- Joe Aulph, Florida Dept. of Children Families Senior Systems Programmer: 850-487-8945 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
Joe, You really need to look. At the IDCAMS book on how to invoke IDCAMS. From a iffy memory R1 points to a list of DDNAMES like SYSIN1 and SYSRINT2 but you have to look at the docuetation. Ed -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
On 10/31/2011 12:12 PM, Joe Aulph wrote: Because the 0C4 was happening in IDCAMS I thought I couldn't change IDCAMS code. So I opted for the LOAD CALL scenario instead of the LINK, it might work, which I initially thought it did, I got around the S0C4. In my experience such utilities works much better when ATTACHed rather than LINKed or CALLed. -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 310-338-0400 x318 edja...@phoenixsoftware.com http://www.phoenixsoftware.com/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
On Fri, 28 Oct 2011 15:39:29 -0400 Joe Aulph syspro...@gmail.com wrote: :I'm having an issue with calling IDCAMS from within my program and if anyone :could shed some light on this I'd appreciate it. :The scenario is like this my program manipulates the SYSIN input to IDCAMS :and would, post call, manipulate the SYSPRINT output. :The execution JCL allocates both SYSIN SYSPRINT. :Initially I was having good success using the call format: No options :specified. : LAR1,ARGLIST : LINK IDCAMS ...nit EP= :I was able to construct SYSIN and get the appropriate SYSPRINT. But as the :program grew I ran into S0C4 rsn=0011 problems. Because of :After wrestling a bit with that I switched to the LOAD CALL format: Why? : LOAD EP=IDCAMS : LR R15,R0 : CALL (15),OPTIONS,VL once again no options specified. What is OPTIONS? In you previous example it would appear that ARGLIST points to the option list. :This worked just fine, getting around the S0C4 problem, except that now the :SYSPRINT output is a total mess. :The output is 146 lines of VBA/125 output. Interlaced through out are the :IDCAMS headders, page numbers, SYSIN commands stuff you'd expect to see. :But no actual output from the SYSIN commands, everything else is hundreds of :x'4B', an ocassional other odd character but mostly periods, x'4B' . Is that based on examining the true sysprint or after it is massaged by your program? :The code is not-reentrant, I've done no GETMAIN's, has anyone ever ran into :this sort of thing? Any help would be appreciated. Your original 0C4 points to bugs. -- Binyamin Dissen bdis...@dissensoftware.com http://www.dissensoftware.com Director, Dissen Software, Bar Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
In ca+vt6kp9zp4meyxjrqwkm9hilvdutrcqzonmnx2dwegqrdu...@mail.gmail.com, on 10/28/2011 at 03:39 PM, Joe Aulph syspro...@gmail.com said: LAR1,ARGLIST What is in ARGLIST and the things it points at? I was able to construct SYSIN and get the appropriate SYSPRINT. But as the program grew I ran into S0C4 rsn=0011 problems. Where? Did you try to resolve them? -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Problems calling IDCAMS:
Hello List, I'm having an issue with calling IDCAMS from within my program and if anyone could shed some light on this I'd appreciate it. The scenario is like this my program manipulates the SYSIN input to IDCAMS and would, post call, manipulate the SYSPRINT output. The execution JCL allocates both SYSIN SYSPRINT. Initially I was having good success using the call format: No options specified. LAR1,ARGLIST LINK IDCAMS I was able to construct SYSIN and get the appropriate SYSPRINT. But as the program grew I ran into S0C4 rsn=0011 problems. After wrestling a bit with that I switched to the LOAD CALL format: LOAD EP=IDCAMS LR R15,R0 CALL (15),OPTIONS,VL once again no options specified. This worked just fine, getting around the S0C4 problem, except that now the SYSPRINT output is a total mess. The output is 146 lines of VBA/125 output. Interlaced through out are the IDCAMS headders, page numbers, SYSIN commands stuff you'd expect to see. But no actual output from the SYSIN commands, everything else is hundreds of x'4B', an ocassional other odd character but mostly periods, x'4B' . The code is not-reentrant, I've done no GETMAIN's, has anyone ever ran into this sort of thing? Any help would be appreciated. TIA -- Joe Aulph, Florida Dept. of Children Families Senior Systems Programmer: 850-487-8945 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problems calling IDCAMS:
On 10/28/2011 3:39 PM, Joe Aulph wrote: The code is not-reentrant, I've done no GETMAIN's, has anyone ever ran into this sort of thing? Any help would be appreciated. Your second sample doesn't show you loading R1 after the LOAD. If that's not it, then the most likely cause, in my experience, is that your program is doing something nasty, perhaps (re)using the SYSIN/SYSPRINT data sets, or overwriting storage, or shifting to an inappropriate addressing mode. In the case that your DD names are also used by the program, you could change ARGLIST to include substitute DD names for input and output DDs, to see if that changes anything. As I mentioned yesterday, in assembler it is possible to call IDCAMS with a parameter list that enables an input and output exit, so you do not need to allocate unneeded SYSIN/SYSPRINT data sets. While it takes a little effort to set up the first time, it's nice to have in the long run. Gerhard Postpischil Bradford, VT -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html