The purpose of the utility I'm working on is to transfer a file to HFS, then run
a utility on OMVS and transfer back the HFS result to an MVS file.
So, IEBGENER looks perfect except that I must also be able to specify the MVS
input and output files in DD statements.
Eventually, the DD may reference a TAPE catalogued in a GDG as input or output.
Anyway, I must run two times the same utility, IEBGENER, the first time to
transfer to HFS and the second to transfer back�from HFS to MVS.
But the problem is that if I could eventually impose the user to use SYSUT1 and
SYSUT2 as DD statement (SYSUT1 being the input file on MVS and SYSUT2 being the
output file on MVS)...
I will have a problem during my first run on IEBGENER (transfer of MVS to HFS)
�as SYSUT2 is supposed to be used to allocate the output while SYSUT2 is already
JCL-allocated and�I can't be freed it.
Another way of saying it is that what I'd really need is an IEBGENER where I
could possibly specify other input and output DDNAMES than SYSUT1 and SYSUT2,
which IMHO is not possible (or am I missing something ?).
Eventually, I guess a solution might be if I could possibly allocate two DDs :
INDD and OUTDD and then dynamically change the DDNAME INDD into SYSUT1 just
before doing my first IEBGENER and OUTDD into SYSUT2 juste before doing the
second.
I know this can seem a bit weird but I was just wondering if this was just
possible.
Any other solution allowing me to run an IEBGENER in REXX using as input and
output JCL allocated DDNAMES other than SYSUT1 and SYSUT2 will be just fine.
NB: please do not suggest a commercial utility as a replacement of IEBGENER.
Best regards to all of you,
Eric
----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX
Dynamic allocation of GDG members is reported to be tricky.
-- gil
http://dovetail.com/products/dspipes.html
So you could do:
fromdsn "//'mvs.dsn'" |\
some-unix-command |\
todsn "//'some.other.dsn'"
The commands have a lot of options!
--
John McKown
Maranatha! <><
:>I've noted people had suggested me to use IEBGENER in a previous post in order
Use address linkmvs with a DDNAME override.
ddlist = copies('00'x,8*4) ||, /* Skip first 4 */
LEFT(sysin_override_ddname,8) ||,
LEFT(sysprint_override_ddname,8) ||,
copies('00'x,8) ||,
LEFT(sysut1_override_ddname,8) ||,
LEFT(sysut2_override_ddname,8)
parm = ""
address "LINKMVS" IEBGENER 'PARM DDLIST'
--
Binyamin Dissen <bdi...@dissensoftware.com>
http://www.dissensoftware.com
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.
----- Message d'origine ----
De : Paul Gilmartin <PaulGB...@AIM.COM>
� : TSO-...@VM.MARIST.EDU
Envoy� le : Mar 19 octobre 2010, 15h 22min 06s
Objet�: Re: [TSO-REXX] IEBGENER in REXX : how to use JCL-allocated files other
----- Message d'origine ----
De : John McKown <joa...@SWBELL.NET>
� : TSO-...@VM.MARIST.EDU
Envoy� le : Mar 19 octobre 2010, 15h 28min 25s
Objet�: Re: [TSO-REXX] IEBGENER in REXX : how to use JCL-allocated files other
> :>Any other solution allowing me to run an IEBGENER in REXX using as input and
> :>output JCL allocated DDNAMES other than SYSUT1 and SYSUT2 will be just fine.
>
> Use address linkmvs with a DDNAME override.
>
> ddlist = copies('00'x,8*4) ||, /* Skip first 4 */
> LEFT(sysin_override_ddname,8) ||,
> LEFT(sysprint_override_ddname,8) ||,
> copies('00'x,8) ||,
> LEFT(sysut1_override_ddname,8) ||,
> LEFT(sysut2_override_ddname,8)
> parm = ""
>
> address "LINKMVS" IEBGENER 'PARM DDLIST'
>
Or,
address LINKMVS 'IEBGENER PARM DDLIST' /* all names are constants. */
Apologies for my earlier terse reply which sounded uncomfortably
like RTFM. I was in a hurry. The relevant passages are:
2.5.9.2 "z/OS V1R12.0 TSO/E REXX Reference"
2.5.9.2 The LINKMVS and ATTCHMVS host command environments
A.1.2 "z/OS V1R12.0 DFSMSdfp Utilities"
A.1.2 ddname List
-- gil
Also, consider a batch TSO step to execute the TSO OCOPY command. You can allocate new files on HFS with OCOPY, as well as copy existing files in either direction between MVS and HFS.
-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf Of Eric Loriaux
Sent: Tuesday, October 19, 2010 9:09 AM
To: TSO-...@VM.MARIST.EDU
http://dovetail.com/products/dspipes.html
So you could do:
This e-mail (and any attachments) may contain information that is confidential and/or protected by law. Any review, use, distribution or disclosure to anyone other than the intended recipient(s) is strictly prohibited. If you are not the intended recipient, please contact the sender by reply email and delete all copies of this message.
I even found a similar example to the one you gave, in the TSO/E REXX User's
Guide when looking for details about LINKMVS.
Thanks a lot...
This mail is also to advice people who would ignore that info to also have a
look, as the info you provided is really valuable...
And also to let you know you can consider I received all the info I needed
concerning this issue.
Regards,
Eric
----- Message d'origine ----
De : Binyamin Dissen <bdi...@DISSENSOFTWARE.COM>
� : TSO-...@VM.MARIST.EDU
Envoy� le : Mar 19 octobre 2010, 15h 28min 37s
Objet�: Re: [TSO-REXX] IEBGENER in REXX : how to use JCL-allocated files other
Actually it looks to me like there there's no use allocating the tape file using
BPXWDYN and then perform an OGET command, as OGET does an allocation on his own.
I know you would suggest maybe to preallocate the output dataset for OGET but
this is not possible in this case cause I'm using a tape as output.
Moreover, I don't see how I could instruct OGET to use a sequential file on tape
rather than on disk so that's by I'm using IEBGENER instead.
Regards,
Eric
----- Message d'origine ----
De : Jeff Byrum <Jeff....@ASG.COM>
� : TSO-...@VM.MARIST.EDU
Envoy� le : Mar 19 octobre 2010, 16h 23min 09s
Objet�: Re: [TSO-REXX] Re : [TSO-REXX] IEBGENER in REXX : how to use
OCOPY INDD(ddname1) OUTDD(ddname2) . . .
And if you are running this under batch TSO, "preallocating" the files just means coding a couple of JCL DD statements. I haven't tried this, but there's nothing in the doc that implies the output DD couldn't be a DISP=NEW tape dataset. OCOPY, unlike OGET, also provides an easy means of satisfying your requirement to define your own DDNAMEs.
cp "//'mvs.dsn'" /dev/fd1 |\
some-unix-command |\
cp /dev/fd0 "//'mvs.dsn'"
On Tue, 2010-10-19 at 15:08 +0100, Eric Loriaux wrote:
> Yes I really need an HFS in order to use a utility under OMVS.
> But I'm looking for a solution without a third-party solution, using what's
> being provided by IBM
----------------------------------------------------------------------
IEC130I SYSUT1 DD STATEMENT MISSING
�
parm = '' /* Standard PARM, as from JCL */
ddlist = copies('00'x,8) !!, /* DDname 1 override: SYSLIN */
copies('00'x,8) !!, /* DDname 2 override: n/a */
copies('00'x,8) !!, /* DDname 3 override: SYSLMOD */
copies('00'x,8) !!, /* DDname 4 override: SYSLIB */
copies('00'x,8) !!, /* DDname 5 override: SYSIN */
copies('00'x,8) !!, /* DDname 6 override: SYSPRINT */
copies('00'x,8) !!, /* DDname 7 override: SYSPUNCH */
left('INP', 8) !!, /* DDname 8 override: SYSUT1 */
left('OUT', 8) !!, /* DDname 9 override: SYSUT2 */
copies('00'x,8) !!, /* DDname 10 override: SYSUT3 */
copies('00'x,8) !!, /* DDname 11 override: SYSUT4 */
copies('00'x,8) !!, /* DDname 12 override: SYSTERM */
copies('00'x,8) !!, /* DDname 13 override: n/a */
copies('00'x,8) /* DDname 14 override: SYSCIN */
address 'LINKMVS' prog 'PARM DDLIST'
"IEBGENER"
rc_IEBGENER = RC
SAY 'rc_IEBGENER=' rc_IEBGENER
----- Message d'origine ----
De : Binyamin Dissen <bdi...@DISSENSOFTWARE.COM>
� : TSO-...@VM.MARIST.EDU
Envoy� le : Mar 19 octobre 2010, 15h 28min 37s
Objet�: Re: [TSO-REXX] IEBGENER in REXX : how to use JCL-allocated files other
--------------------------------------------------
From: "Paul Gilmartin" <PaulGB...@AIM.COM>
Sent: Tuesday, October 19, 2010 9:22 AM
To: <TSO-...@VM.MARIST.EDU>
Subject: Re: [TSO-REXX] IEBGENER in REXX : how to use JCL-allocated files