Popular White Paper On This Topic

This can be accomplished using line-holder and line-pointer controls in a data step to
1. Input and retain the "header" data: Name, Code, ID, Fees, and Assets
2. Input and output the "detail" data (Date and Return) based on the fact that detail lines do not start with "Name", "Code","ID","Fees", or "Assets".

In the case where the data lines contain data for more than one identity, as your sample data shows, you will have to create a separate data step for each identity.

It would make your life a lot easier if the input data is tab delimited, or a delimiter is used to qualify the text. Otherwise you will have to make assumptions about where the "Name" of one identity ends and he next identity begins in a "Name" line.