I want know how carriage return characters are interpreted in Mainframes . The File will come from an outside system ( non - mainframe) . I want to check for the carriage returns in COBOL and replace them with spaces to be stored in Database.
Joined: 26 Apr 2004 Posts: 4650 Location: Raleigh, NC, USA
As a file is transported over a network from an ASCII machine to an EBCDIC machine, a couple of events occur, presuming that the method of transport chosen will convert the ASCII code into EBCDIC code. As the datastream is passed through the communication channel, the individual bytes are translated (via a standard translation table) from their native ASCII hex value into their corresponding EBCDIC hex value. Whenever a Carriage-Return/Line-Feed pair (ASCII x'0D0A') is encountered, the two ASCII bytes are converted into the EBCDIC value for an IRS (Inter-Record Seperator) which will be a hex '1E', '1F', or '15' depending on the networking protocol. The IRS causes the current EBCDIC record to be written, and then starts a new record until the next IRS is encountered.
The only way you'd be able to see the CR/LF is if the file is transported in BINARY mode, in which case it will still be represented as a hex '0D0A'.