How can I read raw data with varying lines in headers in a hierarchical program? So Buyer code and Vendor will be the headers and need to read in all the other stuff but, if you note in 764809 there are 3 detail lines compared to only 1 detail lines for the others Buyer Code: BLS Joe SM ITH Vendor: 8444 DAT EX- OHMEDA 762693 62246385 / 03/06/15 42099 1075.19 264568 P 1 Las t Recvd Dat e: 12/19/14 1 7 7 1 3971.88 1075.19 Q 762694 62246384 / 03/06/15 42099 1115.38 264568 P 1 Las t Recvd Dat e: 12/19/14 1 7 7 1 3971.88 1115.38 Q 763572 62253066 / 03/18/15 42111 890.38 264568 P 1 Las t Recvd Dat e: 12/19/14 1 7 7 1 3971.88 890.38 Q 764809 62260713 / 04/01/15 42125 8190.48 264568 P 1 Las t Recvd Dat e: 12/19/14 1 7 7 1 3971.88 3971.88 Q 2 Las t Recvd Dat e: 12/19/14 2 7 7 1 3740 3740 Q 3 Las t Recvd Dat e: 12/19/14 3 7 7 1 478.59 478.6 Q 765293 62257450 / 03/26/15 42119 540 264568 P 1 Las t Recvd Dat e: 01/08/14 1 3 3 1 10750 10750 Q Here is the code I working with ... data myfile3; length buyer_code vendor $200 ; retain buyer_code vendor ''; infile '/home/nyioves/Nikfold/Invoice.txt' truncover obs=400 ; input @@; if _infile_ =: 'Buyer Code' then do; buyer_code = cat(scan(_infile_,2,':')); input; end; else if _infile_ =: 'Vendor:' then do; vendor = cat(scan(_infile_,2,':')); input; end; else if index(linenum,1) then do; input @1 Vouchnum 6. @7 Invno 9. @16 seperat1 $1. @18 Vndinvdate $9. @27 Number1 6. @33 InvAmt $8. @41 Ponum $7. @48 Status1 $25. / @3 linenum $1. @5 txt1 $20. @24 Invdate $8. @34 linenum2 1. @36 recd 1. @38 POdis 1. @40 Invd 1. @41 price1 $8. @49 price2 $8. @55 status2 $1. ; x = _infile_; output; end; end; else do; input; * MOVE INPUT CURSOR TO NEXT LINE WITHOUT ASSIGNING ANYTHING; end; run;
... View more