Not that hard if you use truncover and read initially as strings and then add a little logic to remove the trailing characters and convert to numeric if wanted. data x ; infile cards truncover ; input @1 @'1:' field1 $4. @1 @'2:' field2c $12. @1 @'3:' field3 $200. @1 @'4:' field4c $12. ; field2 = input(scan(field2c,1,'}'),12.); field4 = input(scan(field4c,1,'}'),12.); if index(field3,':') then field3=substr(field3,1,index(field3,':')-4); put (field1-field4) (=/); cards; {1:ABCD}{2:10234}{4:40.45} {1:TRHG}{2:38976}{3:{H132}}{4:567.43} {1:LKMN}{2:23109}{4:10432.67} {1:HGKO}{2:19876}{3:{J987}{F102}}{4:4320.12} {1:DUHN}{2:23098}{3:{G123}{H987}{J234}}{4:345.23} run; field1=ABCD field2=10234 field3= field4=40.45 field1=TRHG field2=38976 field3={H132} field4=567.43 field1=LKMN field2=23109 field3= field4=10432.67 field1=HGKO field2=19876 field3={J987}{F102} field4=4320.12 field1=DUHN field2=23098 field3={G123}{H987}{J234} field4=345.23 You might need more logic if you have records with field 3 without a trailing field 4 to eliminate the extra close curly bracket. You also might want to split the field 3 values into multiple records. data x ; infile cards truncover ; input @1 @'1:' field1 $4. @1 @'2:' field2c $12. @1 @'3:' field3x $200. @1 @'4:' field4c $12. ; field2 = input(scan(field2c,1,'}'),12.); field4 = input(scan(field4c,1,'}'),12.); if index(field3x,':') then field3x=substr(field3x,1,index(field3x,':')-4); length field3 $4 ; put (field1 field2 field4) (=/); do i=1 by 1 until (field3=' '); field3=scan(field3x,i,'{}'); if i=1 or field3 ne ' ' then do; output; put field3= ; end; end; cards; {1:ABCD}{2:10234}{4:40.45} {1:TRHG}{2:38976}{3:{H132}}{4:567.43} {1:LKMN}{2:23109}{4:10432.67} {1:HGKO}{2:19876}{3:{J987}{F102}}{4:4320.12} {1:DUHN}{2:23098}{3:{G123}{H987}{J234}}{4:345.23} run; field1=ABCD field2=10234 field4=40.45 field3= field1=TRHG field2=38976 field4=567.43 field3=H132 field1=LKMN field2=23109 field4=10432.67 field3= field1=HGKO field2=19876 field4=4320.12 field3=J987 field3=F102 field1=DUHN field2=23098 field4=345.23 field3=G123 field3=H987 field3=J234
... View more