
MainframeSupports tip uge 5/2007:
En af de emner jeg hyppigt vender tilbage er kopiering af datasets. Det skyldes, at jeg
i den grad savner en simpel kommando til at kopiere med. MS-DOS har en COPY og XCOPY.
Hvorfor kan det ikke være lige så simpelt på mainframen. Og svaret er, at det kan det
næsten også.
Faktisk kan IDCAMS kommandoen REPRO kopiere både VSAM datasets, flade datasets
og members i PO-datasets. Det smarte ved REPRO (og alle andre IDCAMS kommandoer) er, at
den også fungerer som TSO kommando. Man kan altså simpelthen skrive TSO REPRO IDS(MY.SOURCE)
ODS(MY.TARGET) for at kopiere datasettet <userid>.MY.SOURCE til datasettet
<userid>.MY.TARGET forudsat til datasettet findes i forvejen. Man kan også kopiere
members og her behøves til memberet ikke at findes i forvejen. Ligesom alle andre TSO
kommandoer respekterer REPRO reglerne for TSO prefixing af datasets.
Der er desværre enkelte andre begrænsninger ved kopiering med REPRO. Man kan ikke kopiere
hele PO datasets og man kan ikke kopiere LOAD-moduler til PO-E (PDS-E) datasets. Men bortset
fra disse begrænsninger er REPRO det tætteste jeg endnu har været på en COPY kommando på
MVS'en, der er lige så nem at forstå og bruge som MS-DOS COPY/XCOPY. Der findes faktisk en
TSO COPY kommando, men den kræver, at der installeres et specielt produkt på mainframen.
Jeg ved derfor ikke helt hvordan den fungerer og hvilke begrænsninger den har.
I øvrigt har REPRO en kedelig tendens til at lave en OLD allokering af til-datasettet.
Den kan du omgå ved at pre-allokere til-datasettet med en TSO ALLOC eller i et job med et
DD-navn med en DISP=SHR på datasettet. Så skal du i stedet for option ODS(...) bruge
option OUTFILE(<DD-navn>).
Husk iøvrigt mit tip uge 20/2003 om at udføre TSO kommandoer
fra COBOL eller PL/I, hvis du har behov for at kopiere datasets med et applikationsprogram.
Mit ellers varmt anbefalede program ADRDSSU har den kedelige begrænsning, at det er et
autoriseret program og derfor kan det ikke kaldes fra et almindeligt applikationsprogram.
Her kan en REPRO være en god erstatning, bortset fra besværet med at få oprettet til
datasettet.
Forrige danske tip
Last tip in english
Tip oversigten
|