Bill
------------------------------------------------------------------------ ----- Original Message ----- *From:* [email protected] *To:* U2 Users List <[email protected]> *Date:* 5/26/2011 5:14 AM*Subject:* Re: [U2] [UD] Extract a line with a CR and/or LF character in it.
In your subroutine, if you first convert @FM -> char(250) Then do your line scan, when your inside a quote , if you encounter a char(250) convert it to a char(253) once your done, convert char(250) back to @FM If when your scanning, everytime you encounter a ", you flip the quoteon value from 0 -> 1 -> 0 it shouldn't matter if you encounter double quotes Now when your normal program extracts the data, it should already be multivalued! George Gallen Senior Programmer/Analyst Accounting/Data Division [email protected] ph:856.848.9005 Ext 220 The Wyanoke Group http://www.wyanokegroup.com ________________________________________ From: [email protected] [[email protected]] On Behalf Of Bill Haskett [[email protected]] Sent: Thursday, May 26, 2011 2:57 AM To: U2 Users List Subject: Re: [U2] [UD] Extract a line with a CR and/or LF character in it. I figured out how to do this. I read each line and use a subroutine to go through each character. It sets a variable 'QuoteOn' if we're in a quoted string. Obviously if the line ends while in a quoted string, the next line belongs to the current line. Man, what a pain this was! :-) Thanks for your thoughts and help. Bill ------------------------------------------------------------------------ ----- Original Message ----- *From:* [email protected] *To:* [email protected] *Date:* 5/25/2011 10:13 PM *Subject:* Re: [U2] [UD] Extract a line with a CR and/or LF character in it.It's been a while - but I'm pretty sure that OSBREAD keeps the CR/LF as part of the block (you may need to put NO CONVERT ON in the code). READSEQ automatically ends at the CR/LF so you would have to "put the lines together" if you were short fields. In both cases it would mean going through the block/line a character at a time to parse out each field. Of course, to work with embedded quotes and commas you pretty much have to any way. With READSEQ you know the line ended on a CRLF - you just need to figure out if it's the end of the record or not. Does that make more sense? Hht Colin Alfke Calgary, CanadaFrom: wphaskett I guess that's my problem. I can't use OSBREAD because the Cr/Lf appears in different columns in the line. I can't guarantee where it shows up (or what character position). Using READSEQ doesn't work either because the line read by the statement is only a part of the entire line in the file! e.g. 0,4300,1BEU,Robert,Smith,Julie,Smith,1 Lakewood Dr,,63031,"1 Lakewood Dr San Diego, CA 92122",,,$150.00,,,,, 0,4300,1CYN,John Randolph,Bones,,,1 Round Ct,,63031,"1 Round Ct San Diego, CA 92122",,,$150.00,,,,, ...when the lines should look like (only two lines): 0,4300,1BEU,Robert,Smith,Julie,Smith,1 Lakewood Dr,,63031,"1 Lakewood Dr, San Diego, CA 92122",,,$150.00,,,,, 0,4300,1CYN,John Randolph,Bones,,,1 Round Ct,,63031,"1 Round Ct, San Diego, CA 92122",,,$150.00,,,,, There's no guarantee the field causing the problem will even have any data in it, so I can't append every 2nd line to the end of every 1st line. :-( Once I get the line I can deal with each character at a time. Any other ideas? As always, thanks. Bill_______________________________________________ U2-Users mailing list [email protected] http://listserver.u2ug.org/mailman/listinfo/u2-users _______________________________________________ U2-Users mailing list [email protected] http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________ U2-Users mailing list [email protected] http://listserver.u2ug.org/mailman/listinfo/u2-users
