We have a Copybook that contains several record types. Each type of record has a different record length, therefore not all the records are the same length in bytes. Each record is defined by an RDW (Record Descriptor Word), which is 4 bytes in length. So the entire record is made up of the RDW+ the actual record data. So for example, if our record length is 44 bytes, the first 4 bytes are for the RDW, and the remaining 40 bytes are the actual data. The problem we are seeing is the File Conversion utility is not taking the RDW into account and subtracting 4 bytes from the record length, so when the record is processed it is overshooting and consuming the first 4 bytes of the next record, and throws everything off.
Release : 4.9.1
Component : Mainframe
Provided a copy of the latest GTXGENF which contains code changes to handle variable-length records.
The parameters used were:
ASCII TO EBCDIC:
set INPUTFILE=C:\GTXGENFN\DE521509\RoyWork\J_E2A.txt
set INPUTMODE=LS
set INPUTRECFM=
set INPUTLRECL=
set INPUTCODESET=ASCII
set OUTPUTFILE=C:\GTXGENFN\DE521509\RoyWork\EBCDIC_7_A2E
set OUTPUTMODE=B
set OUTPUTRECFM=V
set OUTPUTLRECL=704
set OUTPUTCODESET=EBCDIC
EBCDIC TO ASCII:
set INPUTFILE=C:\GTXGENFN\DE521509\RoyWork\EBCDIC_7_A2E
set INPUTMODE=B
set INPUTRECFM=V
set INPUTLRECL=704
set INPUTCODESET=EBCDIC
REM set FORCECOUNTRDW=Y
set OUTPUTFILE=C:\GTXGENFN\DE521509\RoyWork\J_E2A.txt
set OUTPUTMODE=LS
set OUTPUTRECFM=
set OUTPUTLRECL=
set OUTPUTCODESET=ASCII