Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Can REPRO run Under REXX ?

531 views
Skip to first unread message

Sergio Lima

unread,
May 10, 2007, 1:56:42 PM5/10/07
to
Hello,

We need here, create a KSDS file, using with input a sequential file.
Times ago, We got some Rexx that do a Interface with VSAM (REXXVSAM).
Looking that , We found some examples that do a delete / define cluster.
So, We try, also do a REPRO in this same REXX, but not sure if this is possible.

Now, We wrote this REXX :

/* REXX */
trace r
ARG user
IF user = '' THEN user = USERID()
vol = PSB000
dsn = user || '.VSAMKSDS'
dsni = 'SUP.CICS.P991107.SEQ10'

address TSO "DELETE '"dsn"' PURGE" /* ignore r.c. */

address TSO "DEFINE CLUSTER (NAME('"dsn"') INDEXED RECSZ(08 80) ",
"KEYS(5 0) REUSE VOLUMES("vol") SHAREOPTIONS(2 3)) ",
"DATA (NAME('"dsn".DATA') VOLUMES("vol") CYLINDERS(3 1))",
"INDEX (NAME('"dsn".INDEX') VOLUMES("vol") TRACKS(2 1))"

address TSO "REPRO IFILE('"dsni"') OUTFILE('"dsn"')"

exit


When execute this, the DELETE / DEFINE run without problems, but REPRO don't execute, this is the trace :

>>> "1"
*-* THEN
*-* user = USERID()
>>> "P991107"
5 *-* vol = PSB000
>>> "PSB000"
6 *-* dsn = user || '.VSAMKSDS'
>>> "P991107.VSAMKSDS"
7 *-* dsni = 'SUP.CICS.P991107.SEQ10'
>>> "SUP.CICS.P991107.SEQ10"
9 *-* address TSO "DELETE '"dsn"' PURGE" /* ignore r.c. */
>>> "DELETE 'P991107.VSAMKSDS' PURGE"
IDC0550I ENTRY (D) P991107.VSAMKSDS.DATA DELETED
IDC0550I ENTRY (I) P991107.VSAMKSDS.INDEX DELETED
IDC0550I ENTRY (C) P991107.VSAMKSDS DELETED
11 *-* address TSO "DEFINE CLUSTER (NAME('"dsn"') INDEXED RECSZ(08 80) ",
"KEYS(5 0) REUSE VOLUMES("vol") SHAREOPTIONS(2 3)) ",
"DATA (NAME('"dsn".DATA') VOLUMES("vol") CYLINDERS(3 1))",
"INDEX (NAME('"dsn".INDEX') VOLUMES("vol") TRACKS(2 1))"
>>> "DEFINE CLUSTER (NAME('P991107.VSAMKSDS') INDEXED RECSZ(08 80) KE
YS(5 0) REUSE VOLUMES(PSB000) SHAREOPTIONS(2 3)) DATA (NAME('P991107.VSAMKSDS.
DATA') VOLUMES(PSB000) CYLINDERS(3 1)) INDEX (NAME('P991107.VSAMKSDS.INDEX') VO
LUMES(PSB000) TRACKS(2 1))"
***
IDC0508I DATA ALLOCATION STATUS FOR VOLUME PSB000 IS 0
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME PSB000 IS 0
IDC0181I DATACLASS USED IS DCDFLT
16 *-* address TSO "REPRO IFILE('"dsni"') OUTFILE('"dsn"')"
>>> "REPRO IFILE('SUP.CICS.P991107.SEQ10') OUTFILE('P991107.VSAMKSDS')
"
IDC3241I INVALID 'OUTFILE' NAME - 'P991107.VSAMKSDS'
IDC0014I LASTCC=12
+++ RC(12) +++
18 *-* exit
***

May be , We try execute something that is not possible ?

Thanks for any Help

Sergio Lima Costa
System Consultant
Caixa Economica Federal
Sao Paulo _ Brazil

__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

Richards.Bob

unread,
May 10, 2007, 2:02:39 PM5/10/07
to
Sergio,

REPRO is not a TSO subcommand, You need to call IDCAMS and pass the REPRO as SYSIN to it


Bob Richards

LEGAL DISCLAIMER
The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer.

SunTrust and Seeing beyond money are federally registered service marks of SunTrust Banks, Inc.
[ST:XCL]

Richards.Bob

unread,
May 10, 2007, 2:05:56 PM5/10/07
to
Oops, ignore that. REPRO *is* a subcommand. I'll look further. (been
awhile since I play with this).

Bob Richards


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf
Of Sergio Lima
Sent: Thursday, May 10, 2007 1:56 PM
To: TSO-...@VM.MARIST.EDU
Subject: Can REPRO run Under REXX ?

LEGAL DISCLAIMER
The information transmitted is intended solely for the individual or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this email in error please contact the sender and delete the material from any computer.

SunTrust and Seeing beyond money are federally registered service marks of SunTrust Banks, Inc.
[ST:XCL]



Cruz, Robert

unread,
May 10, 2007, 2:07:47 PM5/10/07
to
In batch, the REPRO would have to be passed to IDCAMS. However, REPRO is a valid TSO/E command. You can issue the request TSO HELP REPRO to get help on it. Also note that the message accompanying the failure of Sergio's REPRO command does not state that the command is invalid, but rather that the OUTFILE parameter is incorrect.

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf Of Richards.Bob
Sent: Thu 10 May 2007 11:02
To: TSO-...@VM.MARIST.EDU
Subject: Re: [TSO-REXX] Can REPRO run Under REXX ?


Sergio,

REPRO is not a TSO subcommand, You need to call IDCAMS and pass the REPRO as SYSIN to it


Bob Richards

>>> "1"
*-* THEN
*-* user = USERID()
>>> "P991107"
5 *-* vol = PSB000
>>> "PSB000"
6 *-* dsn = user || '.VSAMKSDS'
>>> "P991107.VSAMKSDS"
7 *-* dsni = 'SUP.CICS.P991107.SEQ10'
>>> "SUP.CICS.P991107.SEQ10"
9 *-* address TSO "DELETE '"dsn"' PURGE" /* ignore r.c. */
>>> "DELETE 'P991107.VSAMKSDS' PURGE"
IDC0550I ENTRY (D) P991107.VSAMKSDS.DATA DELETED
IDC0550I ENTRY (I) P991107.VSAMKSDS.INDEX DELETED
IDC0550I ENTRY (C) P991107.VSAMKSDS DELETED

11 *-* address TSO "DEFINE CLUSTER (NAME('"dsn"') INDEXED RECSZ(08 80) ",

"KEYS(5 0) REUSE VOLUMES("vol") SHAREOPTIONS(2 3)) ",
"DATA (NAME('"dsn".DATA') VOLUMES("vol") CYLINDERS(3 1))",
"INDEX (NAME('"dsn".INDEX') VOLUMES("vol") TRACKS(2 1))"

>>> "DEFINE CLUSTER (NAME('P991107.VSAMKSDS') INDEXED RECSZ(08 80) KE
YS(5 0) REUSE VOLUMES(PSB000) SHAREOPTIONS(2 3)) DATA (NAME('P991107.VSAMKSDS.
DATA') VOLUMES(PSB000) CYLINDERS(3 1)) INDEX (NAME('P991107.VSAMKSDS.INDEX') VO
LUMES(PSB000) TRACKS(2 1))"
***
IDC0508I DATA ALLOCATION STATUS FOR VOLUME PSB000 IS 0
IDC0509I INDEX ALLOCATION STATUS FOR VOLUME PSB000 IS 0
IDC0181I DATACLASS USED IS DCDFLT
16 *-* address TSO "REPRO IFILE('"dsni"') OUTFILE('"dsn"')"
>>> "REPRO IFILE('SUP.CICS.P991107.SEQ10') OUTFILE('P991107.VSAMKSDS')
"
IDC3241I INVALID 'OUTFILE' NAME - 'P991107.VSAMKSDS'
IDC0014I LASTCC=12
+++ RC(12) +++
18 *-* exit
***

May be , We try execute something that is not possible ?

Thanks for any Help

Sergio Lima Costa
System Consultant
Caixa Economica Federal
Sao Paulo _ Brazil

__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/

----------------------------------------------------------------------

Hardee, Charles H

unread,
May 10, 2007, 2:07:55 PM5/10/07
to
If the syntax is coded as indicated, then the REPRO commands INFILE parm
is not correct. It's been coded as IFILE.

Syntax:

REPRO INFILE('DNAME/PASSWORD' ENVIRONMENT(DUMMY) ) |
INDATASET('ENTRYNAME/PASSWORD'
ENVIRONMENT(DUMMY) )
OUTFILE('DNAME/PASSWORD') |
OUTDATASET('ENTRYNAME/PASSWORD')
FROMKEY('KEY') | FROMADDRESS('ADDRESS') |
FROMNUMBER('NUMBER') | SKIP('COUNT')
TOKEY('KEY') | TOADDRESS('ADDRESS') |
TONUMBER('NUMBER') | COUNT('COUNT')
REPLACE | NOREPLACE
REUSE | NOREUSE
FILE('DNAME')
MERGECAT | NOMERGECAT
ENTRIES('ENTRYNAME/PASSWORD' ...) |
VOLUMEENTRIES('ENTRYNAME' ...) |
LEVEL('LEVEL')
ENCIPHER('PARMLIST1')
DECIPHER('PARMLIST2')
'PARMLIST1' - INTERNALKEYNAME('KEYNAME') |
EXTERNALKEYNAME('KEYNAME') |
PRIVATEKEY
SHIPKEYNAMES('KEYNAME' ...)
DATAKEYVALUE('VALUE') |
DATAKEYFILE('DNAME')
STOREKEYNAME('KEYNAME')
STOREDATAKEY | NOSTOREDATAKEY
CIPHERUNIT('N')
USERDATA('VALUE')
'PARMLIST2' - SYSTEMKEY |
DATAKEYVALUE('VALUE') |
DATAKEYFILE('DNAME')
SYSTEMKEYNAME('KEYNAME')
SYSTEMDATAKEY('VALUE')
DBCS
INSERTSHIFT(('OFFSET1' 'OFFSET2') ...) |
INSERTALL
SKIPDBCSCHECK(('OFFSET1' 'OFFSET2') ...) |
NODBCSCHECK
ERRORLIMIT('VALUE')

Chuck

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf

Of Richards.Bob
Sent: Thursday, May 10, 2007 1:05 PM
To: TSO-...@VM.MARIST.EDU

Glen Gasior

unread,
May 10, 2007, 2:12:08 PM5/10/07
to
Seems to me the TSO ALLOC is missing for ifile and ofile, or try using ids
and ods. I use the repro command in one of my ISPF pfkey command strings and
it always seemed to work fine.

Richards.Bob

unread,
May 10, 2007, 2:37:00 PM5/10/07
to
I got it to work with IDS and ODS.

I apologize to group for the earlier *senior moment*. I have code in my
own REXX library that does it both ways.

Bob Richards


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf

Of Glen Gasior
Sent: Thursday, May 10, 2007 2:12 PM
To: TSO-...@VM.MARIST.EDU

Rout, Steve

unread,
May 10, 2007, 2:50:40 PM5/10/07
to
Outfile requires a ddname in the parms not a dsn.

Mark Watson

unread,
May 10, 2007, 3:16:43 PM5/10/07
to
The IFILE parameter expects a DDNAME, not a DSNAME....check the syntax with TSO HELP or Quickref if
you have it....

Jeff Byrum

unread,
May 10, 2007, 3:41:30 PM5/10/07
to
Yes, and the INDATASET parameter expects a DSNAME. Use either, as circumstances dictate!

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf Of Mark Watson
Sent: Thursday, May 10, 2007 2:23 PM
To: TSO-...@VM.MARIST.EDU

Sergio Lima

unread,
May 10, 2007, 3:42:16 PM5/10/07
to
Bob,

Sorry, I'm not expert on TSO, but, when saw messages IDC after DELETE / DEFINE command, in the REXX, I think that if this run, and are a IDCAMS Subcommand , the REPRO also do the same, another word, run fine.

Thanks

Sergio

"Richards.Bob" <Bob.Ri...@SUNTRUST.COM> escreveu:

Sergio Lima

unread,
May 10, 2007, 3:48:30 PM5/10/07
to
Hi List,

Look :

18 *-* address TSO "REPRO INDATASET('"dsni"') OUTDATASET('"ofile"')"
>>> "REPRO INDATASET('SUP.CICS.P991107.SEQ10') OUTDATASET('P991107.VSA
MKSDS')"
IDC0005I NUMBER OF RECORDS PROCESSED WAS 6
20 *-* exit

The EXEC run fine now.

You are the best, thanks very much again

Regards

Sergio

Jeff Byrum <Jeff....@ASG.COM> escreveu:

Lizette Koehler

unread,
May 10, 2007, 4:01:43 PM5/10/07
to
IFILE and OFILE expect DD statements (or TSO ALLOC DD(xx)) statements. They are not for names of files. If you want to use the FILE names, then you need to use ODS and IDS.

If you use the TSO Help command (Option 6 HELP REPRO) it will show you the syntax and the meaning of each option. If you have QuickRef, then issue QW REPRO and it will take you directly to the information.


Lizette


>Hello,
>
> We need here, create a KSDS file, using with input a sequential file.
> Times ago, We got some Rexx that do a Interface with VSAM (REXXVSAM).
> Looking that , We found some examples that do a delete / define cluster.
> So, We try, also do a REPRO in this same REXX, but not sure if this is possible.
>
> Now, We wrote this REXX :
>

> 16 *-* address TSO "REPRO IFILE('"dsni"') OUTFILE('"dsn"')"
> >>> "REPRO IFILE('SUP.CICS.P991107.SEQ10') OUTFILE('P991107.VSAMKSDS')
>"
>IDC3241I INVALID 'OUTFILE' NAME - 'P991107.VSAMKSDS'
>IDC0014I LASTCC=12
> +++ RC(12) +++
> 18 *-* exit
>***
>
> May be , We try execute something that is not possible ?
>

----------------------------------------------------------------------

0 new messages