If the sample you've posted is representative of your real data then the input statement could be as simple as below.
data demo;
infile datalines truncover dlm='^,()' dsd;
input
#1 @2 (line1Var1-line1Var4) (:$20.)
#2 @1 (line2Var1-line2Var50) (:best32.)
;
datalines;
^MUC("TXHAMMS",40622,733614)
300^300^300^300^300^300^300^300^300^300
^MUC("TXHAMMS",40622,733853)
300^300^300^300^300^300^300^300^300^300
^MUC("TXHAMMS",40622,734148)
300^300^300^300^300^300^300^300^300^300
^MUC("TXHAMMS2",36708,711017)
200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200
^MUC("TXHAMMS2",36708,728648)
200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200^200
;
proc print;
run;
It looks like the even rows can have a varying number of data elements. If that's the case then consider to read the data into a long structure (=creating an output observation per "cell" in source). It requires that this line of data is all of the same type as it would end up in a single output variable. Is this something you'd like to do?
... View more