sounds like a minor task for a data step.
Just read a line and hold it; identify it's type and read relevant variables; if it is a company heading "RETAIN" those values; if it is a regular set of variables, "OUTPUT" a data row.
You may want these data in separate tables. The DATA statement allows more than one output data set to be defined. The OUTPUT statement allows you to nominate the table into which the row should be written.
There may even be an example in the manual. Search for "reading hierarchical files". I think that is the terminology for your data structure.
Good Luck
PeterC