Re: Variable length records for SYSIN data sets
On Tue, 2 Nov 2021 11:39:17 -0500, Tom Wasik wrote: > > For RECFM V data sets, the LRECL is set to the length of the longest > record in the instream data. > Is that the length before or after SYMBOLS= substitution? What happens if substitution increases the length of that longest record? Is this documented? I believe I once caused an error by lengthening a record by substitution, even though the increased length was still less than the value of the DD LRECL option. Reported to SR; Got WAD. That may have been before some of the APARs you mentioned. Thanks, gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
On Tue, 2 Nov 2021 11:39:17 -0500, Tom Wasik wrote: >How the internal reader handles instream data sets is documented here: >https://www.ibm.com/docs/en/zos/2.4.0?topic=reader-record-length-sysin-data-sets >https://www.ibm.com/docs/en/zos/2.4.0?topic=reader-sysin-record-formats >Also note that JES2 and JES3 work differently. > Thanks. I had neglected to check the JES hooks, But the JCL Ref. for "DD *" amd "DD DATA" ought to include citations of that JES passage. An omission I discovered by experiment which should be documented: If no record exceeds 80 bytes (even if lengths differ), attributes will be RECFM=FB,LRECL=80. >But bottom line, for JES2, everything is based on the actual length of each >record written. This gets a little tricky with TSO SUBMIT (or ISPF SUBMIT) >commands. SUBMIT always writes records with a record length of 80. So all >instream data sets are RECFM F and LRECL 80 when SUBMIT is involved. For >other uses of the internal reader, as already stated, the RECFM is F if all >records are the same length (including if there are 0 or 1 records). If the >lengths of the record vary, the RECFM is V. CC is supported if the JCL >(records) are written with CC (eg using IEBGENER from a RECFM VBM data set) >and the RECFM is adjusted accordingly (fun rules for if there are both ASA and >machine CC). > That "fun rule" ought to be documented. Your second citation says, " ... If both ASA and Machine carriage control are detected, the record format will be set in the RECFM." It ought to show RECFM=what? >Instream data set LRECL for RECFM F data sets is the length of the records. >If there are 0 records (null data set), it is the length of the DD * or DD >DATA card (very old rule). For RECFM V data sets, the LRECL is set to the >length of the longest record in the instream data. > ITYM 4 + the length of the longest record. Very terrible "very old rule" Is it documented? >Note for all of this, each instream data set is processed separately. So each >data set can have a different LRECL/RECFM. > Is that documented? >As for LRECL on the DD * or DD DATA card, JES2 ignored this until APAR >OA60172. Starting with that APAR, if an instream data set is RECFM F and >LRECL is specified, JES2 will pad records for the data set up to the LRECL >specified. This helps when using instream data concatenated to other RECFM F >data sets. > >This is not to say that LRECL was totally ignored on a DD * or DD DATA card. >When the DCB access method is used to read an instream data set (vs ACB/RPLs), >the size of the buffer the access method passes to JES is determined by the >LRECL specified on the DD. Also note that in a concatenation, the RECFM is >determined by the first DD in the concatenation. A customer trying to >concatenate a RECFM V data set to a RECFM F instream data set with LRECL >specified led to APAR OA62088. You see the fix for APAR OA60172 added too >much padding to an instream data set. Basically, LRECL on the instream DD >statement in that case included the 4 byte RDW prefix but the ACB/RPL >interface passes the actual length so padding to LRECL made the record 4 bytes >too long. > >Hopefully this enlightens a bit on how all this works. I submitted an RCF yesterday. >Tom >JES2 Development Thanks, gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
How the internal reader handles instream data sets is documented here: https://www.ibm.com/docs/en/zos/2.4.0?topic=reader-record-length-sysin-data-sets https://www.ibm.com/docs/en/zos/2.4.0?topic=reader-sysin-record-formats Also note that JES2 and JES3 work differently. But bottom line, for JES2, everything is based on the actual length of each record written. This gets a little tricky with TSO SUBMIT (or ISPF SUBMIT) commands. SUBMIT always writes records with a record length of 80. So all instream data sets are RECFM F and LRECL 80 when SUBMIT is involved. For other uses of the internal reader, as already stated, the RECFM is F if all records are the same length (including if there are 0 or 1 records). If the lengths of the record vary, the RECFM is V. CC is supported if the JCL (records) are written with CC (eg using IEBGENER from a RECFM VBM data set) and the RECFM is adjusted accordingly (fun rules for if there are both ASA and machine CC). Instream data set LRECL for RECFM F data sets is the length of the records. If there are 0 records (null data set), it is the length of the DD * or DD DATA card (very old rule). For RECFM V data sets, the LRECL is set to the length of the longest record in the instream data. Note for all of this, each instream data set is processed separately. So each data set can have a different LRECL/RECFM. As for LRECL on the DD * or DD DATA card, JES2 ignored this until APAR OA60172. Starting with that APAR, if an instream data set is RECFM F and LRECL is specified, JES2 will pad records for the data set up to the LRECL specified. This helps when using instream data concatenated to other RECFM F data sets. This is not to say that LRECL was totally ignored on a DD * or DD DATA card. When the DCB access method is used to read an instream data set (vs ACB/RPLs), the size of the buffer the access method passes to JES is determined by the LRECL specified on the DD. Also note that in a concatenation, the RECFM is determined by the first DD in the concatenation. A customer trying to concatenate a RECFM V data set to a RECFM F instream data set with LRECL specified led to APAR OA62088. You see the fix for APAR OA60172 added too much padding to an instream data set. Basically, LRECL on the instream DD statement in that case included the 4 byte RDW prefix but the ACB/RPL interface passes the actual length so padding to LRECL made the record 4 bytes too long. Hopefully this enlightens a bit on how all this works. Tom JES2 Development -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
Thanks to all for helping. I wasn't able to do what I wanted directly with SYSIN, so I ended up using SORT to copy from SYSIN to a file with the same attributes as the other file in the concatenation (VB204). //CVSMB13E PROC //MAILBODY EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SYSINDD * OPTION COPY OUTFIL FNAMES=MAILBODY,FTOV,VLTRIM=C' ',OUTREC=(1,80,200:X) /* //MAILBODY DD DISP=(NEW,CATLG),DSN=&, //DATACLAS=TINY //SORTIN DD * HELO ZOS MAIL FROM:mailto:softwaredelivery-ca...@efirstbank.com>> RCPT TO:mailto:frank.swarbr...@efirstbank.com>> DATA From:'FirstBank Cards SDT - Automated Process' mailto:softwaredelivery-ca...@efirstbank.com>> To:'Frank Swarbrick'mailto:frank.swarbr...@efirstbank.com>> Subject: CVSMB13A Missing Debit Card Txns Spreadsheet MIME-Version: 1.0 Content-type: multipart/mixed; boundary="=_AxzYADboundry===" --=_AxzYADboundry=== Content-Type: text/plain; Body of email goes here... --=_AxzYADboundry=== Content-Type: application; Content-Disposition: attachment; filename=CVSMB13.adjustments.csv Content-Transfer-Encoding: 8bit; /* //* //EMAILEXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSINDD DUMMY //SYSUT1 DD DISP=(OLD,DELETE),DSN=& // DD DSN=DVFJS.CVSMB13.ADJTRANS,DISP=SHR CSV attachment //SYSUT2 DD SYSOUT=(B,SMTP) // PEND From: IBM Mainframe Discussion List on behalf of Frank Swarbrick Sent: Thursday, October 28, 2021 3:11 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Variable length records for SYSIN data sets I have a goal to concatenate a data set of variable length records (RECFM=VB,LRECL=204) with an instream data set of fixed length characters. My though was to add RECFM=V to my instream DD, i.e.: //INFILE DD DISP=SHR,DSN=MY.VB.FILE // DD *,RECFM=V,LRECL=204 The RECFM is rejected as being conflicting with a SYSIN dataset: IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD STATEMENT And yet the following section of the manual, "SYSIN data set" has discussion of SYSIN data sets where "the record format is variable": https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set But how do I actually make the SYSIN dataset variable length? I do realize there are probably other options to accomplish my task, but this is bugging me. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
On Thu, 28 Oct 2021 22:42:57 -0400, Steve Smith wrote: >SYSIN/SYSOUT are subsystem datasets, and the (sort of) "natural" interface >is by ACB/RPL, where each record has a specified length (in the RPL). >LRECL & BLKSIZE are rather nebulous concepts compared to QSAM/BSAM, which >are emulated; one might say on a best-effort basis. > The specification, implementation,and behavior of that "best-effort" should be documented, probably in "Using Data Sets" with a citation in the JCL Ref.; perhaps vice-versa. "Unpredictable" would be unacceptable here. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
SYSIN/SYSOUT are subsystem datasets, and the (sort of) "natural" interface is by ACB/RPL, where each record has a specified length (in the RPL). LRECL & BLKSIZE are rather nebulous concepts compared to QSAM/BSAM, which are emulated; one might say on a best-effort basis. sas -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
The suggested RFE is that RECFM be allowed so that a job can contain a mix of F and V in-stream datasets. Of course, that's only if there's a business case. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List on behalf of Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu> Sent: Thursday, October 28, 2021 10:04 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Variable length records for SYSIN data sets On Fri, 29 Oct 2021 01:43:48 +, Seymour J Metz wrote: >I see the confusion. The only way to have a RECFM=V instream data set is if >the internal reader for the job was RECFM=V. > Indeed. Suggested RFE: Simply allocate the INTRDR with attributes same as the input file. Strangely, LRECL is accepted on DD *. It appears to have no effect. (Verify by experimenting with SYMBOLS=JCLONLY and extending a record. I went to SR with this; REJ USER.) RECFM is prohibited. But empirically, I've found it more complicated: o If no record image exceeds 80 bytes, SYSIN appears as FB,80 o If all record images are equal length, SYSIN appears as FB. o Otherwise, if JES2 SYSIN appears as VB. I've not found documentation of this; I may have submitted an RCF. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
On Fri, 29 Oct 2021 01:43:48 +, Seymour J Metz wrote: >I see the confusion. The only way to have a RECFM=V instream data set is if >the internal reader for the job was RECFM=V. > Indeed. Suggested RFE: Simply allocate the INTRDR with attributes same as the input file. Strangely, LRECL is accepted on DD *. It appears to have no effect. (Verify by experimenting with SYMBOLS=JCLONLY and extending a record. I went to SR with this; REJ USER.) RECFM is prohibited. But empirically, I've found it more complicated: o If no record image exceeds 80 bytes, SYSIN appears as FB,80 o If all record images are equal length, SYSIN appears as FB. o Otherwise, if JES2 SYSIN appears as VB. I've not found documentation of this; I may have submitted an RCF. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
My very first computer program was about 30 feet of paper tape for the IBM 610 at Notre Dame in Sep 1959 when I was a Sophomore in EE. It calculated the value of a 4x4 determinant. The first output on the Selectric was four characters WOW! I sat in the computer room when not in class for three days until the only other user came in, and he helped me to understand the difference between program and data, and showed me that the first character on my paper tape told the reader to look for a control character, and in the fifth from end character it found a control character that told the reader to print out the tape characters as instructions, and thereby printed the last four instructions in my program: Carriage Return, Line Feed, Carriage Return, Print Accumulator, WOW! (The second CR was to get the Selectric all the way back to the left before it printed the result.) Barry Herbert W "Barry" Merrill, PHD President-Programmer Merrill Consultants MXG Software 10717 Cromwell Drive Dallas, TX 75229 www.mxg.com 214 351 1966 ad...@mxg.com for business questions supp...@mxg.com for technical questions ba...@mxg.com -Original Message- From: IBM Mainframe Discussion List On Behalf Of Seymour J Metz Sent: Thursday, October 28, 2021 8:42 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Variable length records for SYSIN data sets We burned the paper tape and scattered the ashes. Please don't bring it back. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List on behalf of Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu> Sent: Thursday, October 28, 2021 9:17 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Variable length records for SYSIN data sets On Fri, 29 Oct 2021 12:03:14 +1100, Robin Vowels wrote: >We used to use RECFM=V in the 1960s with SYSIN for PL/I source programs >on paper tape. > What have we abandoned in the 20th Century?! Where can he order one? RPQ? >On 2021-10-29 11:56, Paul Gilmartin wrote: >> On Thu, 28 Oct 2021 22:49:49 +, Seymour J Metz wrote: >> >>> What happens with >>> >>>//INFILE DD DISP=SHR,DSN=MY.VB.FILE >>>// DD *,DCB=(RECFM=V,LRECL=204) >>> >>> and have you reported it as a bug, citing the text that you quoted? >>> >> I haven't RTFM today, but I believe it has long been a documented >> restriction. >> I've readily used: >> o An Edit macro which does EXECIO to a DDNAME allocated with RECFM=VB >> o FTP with "QUOTE SITE FILE=JES"; "QUOTE SITE JESRECFM=V" >> o IEBGENER witn //SYSUT2 DD SYSOUT=(B,INITRDR) o Etc. >> >> Not a bug; WAD. Merits an RFE. >> >>> >>> From:Frank Swarbrick >>> Sent: Thursday, October 28, 2021 5:11 PM >>> >>> I have a goal to concatenate a data set of variable length records >>> (RECFM=VB,LRECL=204) with an instream data set of fixed length >>> characters. My though was to add RECFM=V to my instream DD, i.e.: >>> //INFILE DD DISP=SHR,DSN=MY.VB.FILE >>> // DD *,RECFM=V,LRECL=204 >>> >>> The RECFM is rejected as being conflicting with a SYSIN dataset: >>> IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON >>> THE DD STATEMENT >>> >>> And yet the following section of the manual, "SYSIN data set" has >>> discussion of SYSIN data sets where "the record format is variable": >>> https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set >>> >>> But how do I actually make the SYSIN dataset variable length? >>> >>> I do realize there are probably other options to accomplish my task, >>> but this is bugging me. >>> >> RFE. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
I see the confusion. The only way to have a RECFM=V instream data set is if the internal reader for the job was RECFM=V. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List on behalf of Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu> Sent: Thursday, October 28, 2021 8:56 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Variable length records for SYSIN data sets On Thu, 28 Oct 2021 22:49:49 +, Seymour J Metz wrote: >What happens with > >//INFILE DD DISP=SHR,DSN=MY.VB.FILE >// DD *,DCB=(RECFM=V,LRECL=204) > >and have you reported it as a bug, citing the text that you quoted? > I haven't RTFM today, but I believe it has long been a documented restriction. I've readily used: o An Edit macro which does EXECIO to a DDNAME allocated with RECFM=VB o FTP with "QUOTE SITE FILE=JES"; "QUOTE SITE JESRECFM=V" o IEBGENER witn //SYSUT2 DD SYSOUT=(B,INITRDR) o Etc. Not a bug; WAD. Merits an RFE. > >From:Frank Swarbrick >Sent: Thursday, October 28, 2021 5:11 PM > >I have a goal to concatenate a data set of variable length records >(RECFM=VB,LRECL=204) with an instream data set of fixed length characters. My >though was to add RECFM=V to my instream DD, i.e.: >//INFILE DD DISP=SHR,DSN=MY.VB.FILE >// DD *,RECFM=V,LRECL=204 > >The RECFM is rejected as being conflicting with a SYSIN dataset: >IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD >STATEMENT > >And yet the following section of the manual, "SYSIN data set" has discussion >of SYSIN data sets where "the record format is variable": >https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set > >But how do I actually make the SYSIN dataset variable length? > >I do realize there are probably other options to accomplish my task, but this >is bugging me. > RFE. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
We burned the paper tape and scattered the ashes. Please don't bring it back. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List on behalf of Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu> Sent: Thursday, October 28, 2021 9:17 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Variable length records for SYSIN data sets On Fri, 29 Oct 2021 12:03:14 +1100, Robin Vowels wrote: >We used to use RECFM=V in the 1960s with SYSIN >for PL/I source programs on paper tape. > What have we abandoned in the 20th Century?! Where can he order one? RPQ? >On 2021-10-29 11:56, Paul Gilmartin wrote: >> On Thu, 28 Oct 2021 22:49:49 +, Seymour J Metz wrote: >> >>> What happens with >>> >>>//INFILE DD DISP=SHR,DSN=MY.VB.FILE >>>// DD *,DCB=(RECFM=V,LRECL=204) >>> >>> and have you reported it as a bug, citing the text that you quoted? >>> >> I haven't RTFM today, but I believe it has long been a documented >> restriction. >> I've readily used: >> o An Edit macro which does EXECIO to a DDNAME allocated with RECFM=VB >> o FTP with "QUOTE SITE FILE=JES"; "QUOTE SITE JESRECFM=V" >> o IEBGENER witn //SYSUT2 DD SYSOUT=(B,INITRDR) >> o Etc. >> >> Not a bug; WAD. Merits an RFE. >> >>> >>> From:Frank Swarbrick >>> Sent: Thursday, October 28, 2021 5:11 PM >>> >>> I have a goal to concatenate a data set of variable length records >>> (RECFM=VB,LRECL=204) with an instream data set of fixed length >>> characters. My though was to add RECFM=V to my instream DD, i.e.: >>> //INFILE DD DISP=SHR,DSN=MY.VB.FILE >>> // DD *,RECFM=V,LRECL=204 >>> >>> The RECFM is rejected as being conflicting with a SYSIN dataset: >>> IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE >>> DD STATEMENT >>> >>> And yet the following section of the manual, "SYSIN data set" has >>> discussion of SYSIN data sets where "the record format is variable": >>> https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set >>> >>> But how do I actually make the SYSIN dataset variable length? >>> >>> I do realize there are probably other options to accomplish my task, >>> but this is bugging me. >>> >> RFE. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
On Fri, 29 Oct 2021 12:03:14 +1100, Robin Vowels wrote: >We used to use RECFM=V in the 1960s with SYSIN >for PL/I source programs on paper tape. > What have we abandoned in the 20th Century?! Where can he order one? RPQ? >On 2021-10-29 11:56, Paul Gilmartin wrote: >> On Thu, 28 Oct 2021 22:49:49 +, Seymour J Metz wrote: >> >>> What happens with >>> >>>//INFILE DD DISP=SHR,DSN=MY.VB.FILE >>>// DD *,DCB=(RECFM=V,LRECL=204) >>> >>> and have you reported it as a bug, citing the text that you quoted? >>> >> I haven't RTFM today, but I believe it has long been a documented >> restriction. >> I've readily used: >> o An Edit macro which does EXECIO to a DDNAME allocated with RECFM=VB >> o FTP with "QUOTE SITE FILE=JES"; "QUOTE SITE JESRECFM=V" >> o IEBGENER witn //SYSUT2 DD SYSOUT=(B,INITRDR) >> o Etc. >> >> Not a bug; WAD. Merits an RFE. >> >>> >>> From:Frank Swarbrick >>> Sent: Thursday, October 28, 2021 5:11 PM >>> >>> I have a goal to concatenate a data set of variable length records >>> (RECFM=VB,LRECL=204) with an instream data set of fixed length >>> characters. My though was to add RECFM=V to my instream DD, i.e.: >>> //INFILE DD DISP=SHR,DSN=MY.VB.FILE >>> // DD *,RECFM=V,LRECL=204 >>> >>> The RECFM is rejected as being conflicting with a SYSIN dataset: >>> IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE >>> DD STATEMENT >>> >>> And yet the following section of the manual, "SYSIN data set" has >>> discussion of SYSIN data sets where "the record format is variable": >>> https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set >>> >>> But how do I actually make the SYSIN dataset variable length? >>> >>> I do realize there are probably other options to accomplish my task, >>> but this is bugging me. >>> >> RFE. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
We used to use RECFM=V in the 1960s with SYSIN for PL/I source programs on paper tape. On 2021-10-29 11:56, Paul Gilmartin wrote: On Thu, 28 Oct 2021 22:49:49 +, Seymour J Metz wrote: What happens with //INFILE DD DISP=SHR,DSN=MY.VB.FILE // DD *,DCB=(RECFM=V,LRECL=204) and have you reported it as a bug, citing the text that you quoted? I haven't RTFM today, but I believe it has long been a documented restriction. I've readily used: o An Edit macro which does EXECIO to a DDNAME allocated with RECFM=VB o FTP with "QUOTE SITE FILE=JES"; "QUOTE SITE JESRECFM=V" o IEBGENER witn //SYSUT2 DD SYSOUT=(B,INITRDR) o Etc. Not a bug; WAD. Merits an RFE. From:Frank Swarbrick Sent: Thursday, October 28, 2021 5:11 PM I have a goal to concatenate a data set of variable length records (RECFM=VB,LRECL=204) with an instream data set of fixed length characters. My though was to add RECFM=V to my instream DD, i.e.: //INFILE DD DISP=SHR,DSN=MY.VB.FILE // DD *,RECFM=V,LRECL=204 The RECFM is rejected as being conflicting with a SYSIN dataset: IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD STATEMENT And yet the following section of the manual, "SYSIN data set" has discussion of SYSIN data sets where "the record format is variable": https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set But how do I actually make the SYSIN dataset variable length? I do realize there are probably other options to accomplish my task, but this is bugging me. RFE. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
On Thu, 28 Oct 2021 22:49:49 +, Seymour J Metz wrote: >What happens with > >//INFILE DD DISP=SHR,DSN=MY.VB.FILE >// DD *,DCB=(RECFM=V,LRECL=204) > >and have you reported it as a bug, citing the text that you quoted? > I haven't RTFM today, but I believe it has long been a documented restriction. I've readily used: o An Edit macro which does EXECIO to a DDNAME allocated with RECFM=VB o FTP with "QUOTE SITE FILE=JES"; "QUOTE SITE JESRECFM=V" o IEBGENER witn //SYSUT2 DD SYSOUT=(B,INITRDR) o Etc. Not a bug; WAD. Merits an RFE. > >From:Frank Swarbrick >Sent: Thursday, October 28, 2021 5:11 PM > >I have a goal to concatenate a data set of variable length records >(RECFM=VB,LRECL=204) with an instream data set of fixed length characters. My >though was to add RECFM=V to my instream DD, i.e.: >//INFILE DD DISP=SHR,DSN=MY.VB.FILE >// DD *,RECFM=V,LRECL=204 > >The RECFM is rejected as being conflicting with a SYSIN dataset: >IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD >STATEMENT > >And yet the following section of the manual, "SYSIN data set" has discussion >of SYSIN data sets where "the record format is variable": >https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set > >But how do I actually make the SYSIN dataset variable length? > >I do realize there are probably other options to accomplish my task, but this >is bugging me. > RFE. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
What happens with //INFILE DD DISP=SHR,DSN=MY.VB.FILE // DD *,DCB=(RECFM=V,LRECL=204) and have you reported it as a bug, citing the text that you quoted? -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Frank Swarbrick [frank.swarbr...@outlook.com] Sent: Thursday, October 28, 2021 5:11 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Variable length records for SYSIN data sets I have a goal to concatenate a data set of variable length records (RECFM=VB,LRECL=204) with an instream data set of fixed length characters. My though was to add RECFM=V to my instream DD, i.e.: //INFILE DD DISP=SHR,DSN=MY.VB.FILE // DD *,RECFM=V,LRECL=204 The RECFM is rejected as being conflicting with a SYSIN dataset: IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD STATEMENT And yet the following section of the manual, "SYSIN data set" has discussion of SYSIN data sets where "the record format is variable": https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set But how do I actually make the SYSIN dataset variable length? I do realize there are probably other options to accomplish my task, but this is bugging me. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
This worked for me: //STEP1 EXEC PGM=IEBGENER //SYSUT1 DD * This is inside Frank's new VB file. //SYSUT2 DD DISP=(,CATLG),DSN=PVELS.MY.VB.FILE,RECFM=VB,LRECL=204, //SPACE=(TRK,(1,1)) //SYSPRINT DD SYSOUT=* //SYSINDD DUMMY //*- //STEP2 EXEC PGM=IKJEFT1B //SYSEXEC DD DISP=SHR,DSN=PVELS.TSO.EXEC //INFILE DD DISP=SHR,DSN=PVELS.MY.VB.FILE // DD *,DCB=PVELS.MY.VB.FILE ,RECFM=V,LRECL=204 This should ALSO end up in the OUTPUT file //OUTFILE DD DISP=(,CATLG),DSN=PVELS.MY.OUTFILE,LIKE=PVELS.MY.VB.FILE //SYSTSIN DD * %FRANK //SYSTSPRT DD SYSOUT=* //*- //STEP3 EXEC PGM=IKJEFT1B //SYSTSIN DD * PROFILE NOPREFIX LISTDS PVELS.MY.VB.FILE LISTDS PVELS.MY.OUTFILE REPRO INFILE(FILE1) OUTFILE(FILE2) //FILE1 DD DISP=SHR,DSN=PVELS.MY.OUTFILE //FILE2 DD SYSOUT=* //SYSTSPRT DD SYSOUT=* // The FRANK Rexx is: "execio * diskR infile (finis)" "execio * diskW outfile (finis)" On Fri, 29 Oct 2021 at 09:26, Frank Swarbrick wrote: > Looks like it's utilizing only those DCB parameters that are support for > SYSIN datasets, and RECFM is not one of them. > > > From: IBM Mainframe Discussion List on behalf > of Peter Vels > Sent: Thursday, October 28, 2021 4:16 PM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: Variable length records for SYSIN data sets > > Try this: > > //INFILE DD DISP=SHR,DSN=MY.VB.FILE > // DD *,DCB=MY.VB.FILE > > Peter > > On Fri, 29 Oct 2021 at 08:57, John McKown > wrote: > > > IIRC: > > > > //DD1 DD DSN=SOME.VB.DSN,DISP=SHR > > // DD *,RECFM=VB,LRECL=??? /* LRECL FROM ABOVE > > //* > > > > On Thu, Oct 28, 2021 at 4:11 PM Frank Swarbrick < > > frank.swarbr...@outlook.com> > > wrote: > > > > > I have a goal to concatenate a data set of variable length records > > > (RECFM=VB,LRECL=204) with an instream data set of fixed length > > characters. > > > My though was to add RECFM=V to my instream DD, i.e.: > > > //INFILE DD DISP=SHR,DSN=MY.VB.FILE > > > // DD *,RECFM=V,LRECL=204 > > > > > > The RECFM is rejected as being conflicting with a SYSIN dataset: > > > IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE > DD > > > STATEMENT > > > > > > And yet the following section of the manual, "SYSIN data set" has > > > discussion of SYSIN data sets where "the record format is variable": > > > https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set > > > > > > But how do I actually make the SYSIN dataset variable length? > > > > > > I do realize there are probably other options to accomplish my task, > but > > > this is bugging me. > > > > > > -- > > > For IBM-MAIN subscribe / signoff / archive access instructions, > > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > > > > -- > > For IBM-MAIN subscribe / signoff / archive access instructions, > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
Looks like it's utilizing only those DCB parameters that are support for SYSIN datasets, and RECFM is not one of them. From: IBM Mainframe Discussion List on behalf of Peter Vels Sent: Thursday, October 28, 2021 4:16 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Variable length records for SYSIN data sets Try this: //INFILE DD DISP=SHR,DSN=MY.VB.FILE // DD *,DCB=MY.VB.FILE Peter On Fri, 29 Oct 2021 at 08:57, John McKown wrote: > IIRC: > > //DD1 DD DSN=SOME.VB.DSN,DISP=SHR > // DD *,RECFM=VB,LRECL=??? /* LRECL FROM ABOVE > //* > > On Thu, Oct 28, 2021 at 4:11 PM Frank Swarbrick < > frank.swarbr...@outlook.com> > wrote: > > > I have a goal to concatenate a data set of variable length records > > (RECFM=VB,LRECL=204) with an instream data set of fixed length > characters. > > My though was to add RECFM=V to my instream DD, i.e.: > > //INFILE DD DISP=SHR,DSN=MY.VB.FILE > > // DD *,RECFM=V,LRECL=204 > > > > The RECFM is rejected as being conflicting with a SYSIN dataset: > > IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD > > STATEMENT > > > > And yet the following section of the manual, "SYSIN data set" has > > discussion of SYSIN data sets where "the record format is variable": > > https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set > > > > But how do I actually make the SYSIN dataset variable length? > > > > I do realize there are probably other options to accomplish my task, but > > this is bugging me. > > > > -- > > For IBM-MAIN subscribe / signoff / archive access instructions, > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
Try this: //INFILE DD DISP=SHR,DSN=MY.VB.FILE // DD *,DCB=MY.VB.FILE Peter On Fri, 29 Oct 2021 at 08:57, John McKown wrote: > IIRC: > > //DD1 DD DSN=SOME.VB.DSN,DISP=SHR > // DD *,RECFM=VB,LRECL=??? /* LRECL FROM ABOVE > //* > > On Thu, Oct 28, 2021 at 4:11 PM Frank Swarbrick < > frank.swarbr...@outlook.com> > wrote: > > > I have a goal to concatenate a data set of variable length records > > (RECFM=VB,LRECL=204) with an instream data set of fixed length > characters. > > My though was to add RECFM=V to my instream DD, i.e.: > > //INFILE DD DISP=SHR,DSN=MY.VB.FILE > > // DD *,RECFM=V,LRECL=204 > > > > The RECFM is rejected as being conflicting with a SYSIN dataset: > > IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD > > STATEMENT > > > > And yet the following section of the manual, "SYSIN data set" has > > discussion of SYSIN data sets where "the record format is variable": > > https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set > > > > But how do I actually make the SYSIN dataset variable length? > > > > I do realize there are probably other options to accomplish my task, but > > this is bugging me. > > > > -- > > For IBM-MAIN subscribe / signoff / archive access instructions, > > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Variable length records for SYSIN data sets
IIRC: //DD1 DD DSN=SOME.VB.DSN,DISP=SHR // DD *,RECFM=VB,LRECL=??? /* LRECL FROM ABOVE //* On Thu, Oct 28, 2021 at 4:11 PM Frank Swarbrick wrote: > I have a goal to concatenate a data set of variable length records > (RECFM=VB,LRECL=204) with an instream data set of fixed length characters. > My though was to add RECFM=V to my instream DD, i.e.: > //INFILE DD DISP=SHR,DSN=MY.VB.FILE > // DD *,RECFM=V,LRECL=204 > > The RECFM is rejected as being conflicting with a SYSIN dataset: > IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD > STATEMENT > > And yet the following section of the manual, "SYSIN data set" has > discussion of SYSIN data sets where "the record format is variable": > https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set > > But how do I actually make the SYSIN dataset variable length? > > I do realize there are probably other options to accomplish my task, but > this is bugging me. > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Variable length records for SYSIN data sets
I have a goal to concatenate a data set of variable length records (RECFM=VB,LRECL=204) with an instream data set of fixed length characters. My though was to add RECFM=V to my instream DD, i.e.: //INFILE DD DISP=SHR,DSN=MY.VB.FILE // DD *,RECFM=V,LRECL=204 The RECFM is rejected as being conflicting with a SYSIN dataset: IEFC009I KEYWORD RECFM IS MUTUALLY EXCLUSIVE WITH KEYWORD SYSIN ON THE DD STATEMENT And yet the following section of the manual, "SYSIN data set" has discussion of SYSIN data sets where "the record format is variable": https://www.ibm.com/docs/en/zos/2.5.0?topic=ssds-sysin-data-set But how do I actually make the SYSIN dataset variable length? I do realize there are probably other options to accomplish my task, but this is bugging me. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN