|
You could use an RPG program compiled with CVTOPT(*VARCHAR) as follows: PF DDS for PAYDET file: R PAYDET1 * specify the maximum length of 251 for the field. * specify the typical length on the VARLEN parameter PAYDTA 251A VARLEN(8) RPG where INPUT is the 251 byte fixed length file you receive: FINPUT IF F 251 DISK FPAYDET O E DISK IINPUT NS I 1 251 INPUT * Note PAYDTA field length in program is 253, 2 bytes more than the 251 in DDS I DS I 1 253 PAYDTA I B 1 20LENGTH I 3 253 OUTPUT C MOVEL INPUT OUTPUT C ' ' CHEKR OUTPUT LENGTH C WRITE PAYDET1 A variable length field is defined at 2 characters larger than the maximum length in RPG. The first 2 bytes represents the actual data length in binary. I have not compiled this so please pardon any errors. Hope this helps. >>> -----Original Message----- >>> From: Tony.Minehan@hr-m.b-m.defence.gov.au >>> [SMTP:Tony.Minehan@hr-m.b-m.defence.gov.au] >>> Sent: Friday, May 15, 1998 6:47 AM >>> To: midrange-l@midrange.com >>> Subject: Variable length records and network files >>> >>> >>> >>> G'Day all, >>> >>> Every 2 weeks we are sent a file from another government agency. >>> The >>> file is text only and the record length ranges from 8 bytes (most >>> >>> records) to 251 bytes (very few, but very important records). An >>> average number of records is around 6 million. The file is sent >>> from a >>> S370 via SNA (FTP is not an option at present) and arrives here >>> as a >>> network file. Currently we receive the file into a single field >>> 251 >>> byte text file and then do our processing. Over the next couple >>> of >>> fortnights, the file is likely to grow to around 65 million >>> records. >>> >>> I've defined a new file as follows: >>> >>> R PAYDET >>> PAYDET 251A VARLEN >>> >>> and tried to receive the network file into this in order to save >>> DASD >>> space. The receive falls over with a data mapping error (CPF5035) >>> and >>> an error code of 14 which reads: >>> >>> 14 -- The length of a variable length field is not valid or the >>> data >>> in a substring variable is not valid. >>> >>> Also using a CPYF to the filed defined above fails with the same >>> message. We are on V3R2. Any ideas? >>> >>> Tony Minehan >>+--- >>| This is the Midrange System Mailing List! >>| To submit a new message, send your mail to MIDRANGE-L@midrange.com. >>| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. >>| Questions should be directed to the list owner/operator: david@midrange.com >>+--- > > > >+--- >| This is the Midrange System Mailing List! >| To submit a new message, send your mail to MIDRANGE-L@midrange.com. >| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. >| Questions should be directed to the list owner/operator: david@midrange.com >+--- > > Charlie Massoglia, Massoglia Technical Consulting, Inc. PO Box 1065, Okemos, MI 48854, USA 517-676-9700 Fax: 517-676-1006 EMAIL: cmassoglia@voyager.net +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.