Paul [EMAIL PROTECTED] wrote:
One of my disappointments with TSO TRANSMIT is that I know
no safe way to imbed INMR text in an instream data set:
the format seems to allow any digraph to appear in columns
1-2.  But today, attempting to test a trial-and-error routine
to scan a TRANSMITted IEBCOPY unloaded JCL library for a
digraph not appearing in columns 1-2, I was startled to
find no '//' (but many '/*') in those columns.  I consider
this a statistical anomaly -- I found numerous '//' in 2-3
and wrapped from 80-1.  Have the authors done us a favor by
coding to avoid '//' in 1-2?  I can find no mention of this
in the documentation. I'd be delighted to exploit the feature if I were confident it was supported.

BTW, is there a new format of Publibz?  Suddenly, I seem to
be required to display a shelf list before I can filter for
a string in a publication title.  This could be undesirable
on a slow connection.  I'll have to see whether I get used
to it.  (I really wish I could have searched for "TRANSMIT"
in all publications whose titles contain "TSO".)

-- gil
Paul,

See the following as an example of how to include such data instream using standard IBM utilities. This example includes Terse output (but could easily be Transmit), that has been reformatted as 64 bytes and offset to pos 3.

It uses the fact that the lrecl for a dataset can be overridden so long as is still valid for the blocksize. So we override to 64 on the SPLIT step, then back to 1024 on the unterse step..(also watch the nested DLMs XX, YY,ZZ!!!)

I'd like to take credit for it;-).. but the IEBGENER/IEBDG steps are based on the method that IBM uses within z/OS HCD to transmit IODFs..I just adapted it to use DSS/TRSMAIN input

Cheers

roy


//jobname JOB (0),'XMIT IODF', // NOTIFY=&SYSUID,
//             CLASS=X,MSGCLASS=A
//* //* DSS DUMP IODF TO TEMPORARY FILE //* //DSS EXEC PGM=ADRDSSU //SYSPRINT DD SYSOUT=* //DUMP DD DSN=&DSSIODF,DISP=(,PASS), // UNIT=SYSDA,SPACE=(CYL,(50,50),RLSE) //SYSIN DD * DUMP DATASET (INCLUDE (- SYSX.IODF0B.CLUSTER - ))- ALLDATA(*) ALLEXCP - OUTDD(DUMP) /* //* //* TERSE THE DSS DUMP //* //TERSE EXEC PGM=TRSMAIN,PARM='PACK' //SYSPRINT DD SYSOUT=*,DCB=(LRECL=133,BLKSIZE=12901,RECFM=FBA) //INFILE DD DISP=OLD,DSN=&DSSIODF //OUTFILE DD DISP=(,PASS),DSN=&TERIODF, // UNIT=SYSDA,SPACE=(CYL,(50,10),RLSE) //* //* OVERRIDE THE LRECL TO SPLIT INTO 64 BYTE CHUNKS //* AND SHIFT TO COL3. THIS ALLOWS TO BE SUBMITTED
//*  INSTREAM.
//*
//*  This Step uses the technique of overriding the lrecl
//*  of the previous terse output to 64.
//*  This works as 64 is a common factor of 1024
//*  (and thus of the blocksize)
//*  If you use this for other than terse with other lrecls
//* ie 80, then ensure the blocksize is a multiple of 64 ie 8000 //* //SPLIT EXEC PGM=IEBDG //SYSPRINT DD SYSOUT=* //IN DD DSN=&TERIODF,DISP=OLD, // LRECL=64,RECFM=FB //OUT DD DSN=&SPLIT,DISP=(,PASS),SPACE=(CYL,(50,10),RLSE), // LRECL=80,RECFM=FB //SYSIN DD * DSD OUTPUT=(OUT),INPUT=(IN) FD NAME=FD1,LENGTH=2 FD NAME=FD2,LENGTH=64,STARTLOC=3,FROMLOC=1,INPUT=IN CREATE NAME=(FD1,FD2),INPUT=IN END //* //* NOW SUBMIT TO REMOTE NODE //* //SUBMIT EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD DUMMY //SYSUT2 DD SYSOUT=(,INTRDR) //SYSUT1 DD DATA,DLM=ZZ //jobname JOB (0),'RESTORE IODF', // NOTIFY=&SYSUID,
//             CLASS=X,MSGCLASS=A
/*ROUTE XEQ remote node //* //* RE-JOIN 64 BIT CHUNKS TO CREATE THE TERSED FILE //* //JOIN EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSIN DD * GENERATE MAXFLDS=1 RECORD FIELD=(64,3) //SYSUT2 DD DISP=(,PASS),DSN=&JOIN, // UNIT=SYSDA,SPACE=(CYL,(50,10),RLSE), // DCB=(RECFM=FB,LRECL=64,BLKSIZE=10240) //SYSUT1 DD DATA,DLM=XX ZZ // DD DSN=&SPLIT,DISP=OLD // DD DATA,DLM=YY XX //* //* UN- TERSE FILE. //* OVERRIDE LRECL TO 1024 //* //UNTERSE EXEC PGM=TRSMAIN,PARM='UNPACK' //SYSPRINT DD SYSOUT=*,DCB=(LRECL=133,BLKSIZE=12901,RECFM=FBA) //INFILE DD DISP=OLD,DSN=&JOIN,LRECL=1024 //OUTFILE DD DISP=(,PASS),DSN=&DSSIODF, // UNIT=SYSDA,SPACE=(CYL,(50,50),RLSE) //* //* RESTORE DSSDUMP //* //DSSREST EXEC PGM=ADRDSSU //SYSPRINT DD SYSOUT=* //DUMP DD DSN=&DSSIODF,DISP=OLD //IODF DD UNIT=3390,VOL=SER=IODF00,DISP=SHR //SYSIN DD * RESTORE DATASET (INCLUDE (- SYSY.IODF00.CLUSTER - ))- INDD(DUMP) OUTDD(IODF) /*
YY

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to