MainframeSupports
tip uge 27/2002:

MVS tillader brugen af såkaldte PO-datasets, som dybest set er et bibliotek, der ikke kan underopdeles i andre biblioteker og dermed kun indeholder et antal flade filer. Det specielle ved PO-datasets er, at deres struktur ikke sådan lige lader sig overføre til andre operativsystemer. Det har desværre en afsmittende virkning på de standardværktøjer, der kan overføre data mellem MVS og disse andre operativsystemer, typisk UNIX, LINUX eller Windows. Værktøjerne kan typisk kun overføre et member ad gangen. Det gælder PC file transfer med SEND og RECEIVE kommandoerne og det gælder også for FTP.

Forestil dig nu, at du egentlig kun skal benytte UNIX, LINUX eller Windows som lagringsmedie og egentlig ikke har nogen intentioner om at læse de enkelte members i dit PO-dataset på disse operativsystemer. Så kan du faktisk overføre et helt PO-dataset ved først at preparere det med TSO-kommandoen TRANSMIT, som også kendes under navnet XMIT. Følgende kommando anvendes:

TRANSMIT MINJES.MINUSER DA(MIT.PO.DATASET) OUTDATASET(MIT.PC.DATASET)

TRANSMIT-kommandoen forlanger, at du angiver en modtager af det, du vil sende, så derfor er du nødt til at angive en valid sende-destination, i eksemplet MINJES.MINUSER. Jeg bruger navnet på JES-noden på den MVS, hvor jeg udfører kommandoen og sender til min egen user. DA-parameteren angiver navnet på det PO-dataset, jeg vil preparere, og OUTDATASET-parameteren angiver navnet på et fladt dataset, som PO-datasettet kopieres over i. TRANSMIT-kommandoen opretter selv det flade dataset, hvis det ikke findes i forvejen. Det får i øvrigt LRECL=80, RECFM=FB og BLKSIZE=3120 uanset hvilke fiksfakserier man prøver for at give det andre DCB-oplysninger. Det gælder også hvis det findes i forvejen.

Du kan nu overføre MIT.PC.DATASET til din PC eller FTP-server eller hvad ved jeg. Du skal dog huske een vigtig detalje, og det er, at din overførsel skal være binær. Hvis du nu kommer ud på en anden installation og vil bruge dit PO-dataset her, så kan du restore det ved først at overføre det til MVS'en med endnu en binær overførsel og herefter udstede følgende TSO-kommando:

RECEIVE INDATASET(MIT.PC.DATASET)

hvorefter du vil blive prompted på sædvanlig vis. RECEIVE-kommandoen vil nu hente data fra MIT.PC.DATASET i stedet for fra JES-spoolen. Når RECEIVE-kommandoen prompter dig, kan du angive DATASET(MIT.PO.DATASET) for at bibeholde det originale navn. RECEIVE vil nu oprette et PO-dataset nøjagtig magen til det oprindelige dataset.

I eksemplerne har jeg ikke sat dataset-navne i plinger/gnyffer/hvad-du-nu-kalder-det hvilket betyder, at der sker normal TSO-prefixing af dataset-navnene. Indholdet af PO-datasettet spiller i øvrigt ingen rolle. Almindelig tekst-members eller LOAD-moduler behandles fuldstændig ens. Se det er da ret smart.

Forrige danske tip        Last tip in english        Tip oversigten