<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic read multi record layer text file in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/422944#M103989</link>
    <description>&lt;P&gt;I have a txt file which has the data in the below format.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="snippet-code-html lang-html prettyprint prettyprinted"&gt;&lt;CODE&gt;&lt;SPAN class="pln"&gt;#FILE_HEADER# MOnth|1901124578965
#MEMBERSHIP_PERSON# 9999944999|0009999|05|ABC|F|Medium|REGN|||07/Jun/2017|Pay Pal|||N|DISTIBUTOR|CURRENT|01|Y|Annual|2017|EXISTING|01/Jan/1901
#ADDRESS_LINE# 0059999999|Mr|Test||Test||M|03/Jan/1901|009999900|Online|abc00@abc.com.au|N|N|00244444||11 ABC Street|||SUBURB|3003|SA|Australia|N|N|00999900|Email|abc00@abc.com.au|N|N|||||||Y|Y|0000000001|YZx|0000000001|ZYX|PERSON|N|0000000000||||||0000000000|||||
#PAYMENT_LINE# 1234|123|35|First Last
#PAYMENT_LINE# 123|123|12|First Last
#MLS# 123|123
#SOC_YHC# 00099999|First||Last|01|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y|
#SOC_YHC# 00099999|First|F|Last|02|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y|
#SOC_MEMBERSHIP# Mr|First||Last|12 ABC Street|SUBURB  SA  3003|||3003|C|Couples|996|PRODUCT||01/O1/1901|30.256%|225|211|145
#SIS# N&lt;BR /&gt;
#FILE_FOOTER# 1901eExtractionOptIn_0000.txt|12345|1901124578965&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The headers are not in the file.The file layout is below: The data provided above is in between the file header and file footer, and there are multiple&amp;nbsp;rows of data between Header and Footer .&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Every records starts with #MEMBERSHIP_PERSON. The end goal is to convert this data into a table (columns as below and row data as above)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="snippet-code-html lang-html prettyprint prettyprinted"&gt;&lt;CODE&gt;&lt;SPAN class="pln"&gt; #FILE_HEADER# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TAXGENERATIONMODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;BATCHPROCESSSTARTDATETIME&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#MEMBERSHIP_PERSON# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NUMBER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;FUND&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NO&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;HEALTH&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;FUND&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;COMPLEXITY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TIER&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;EFFECTIVE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DATE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TIER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;DATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;PAID&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TO&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PAYMENT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;METHOD&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ORGX&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ORGX&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;GROUP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DPT&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CATEGORY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;SUFFIX&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NUMBER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MULTIPLE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ADULTS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT_TYPE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; _&lt;/SPAN&gt;&lt;SPAN class="atn"&gt;YEAR&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMEMT_FREQ&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;GENERATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DATE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#ADDRESS_LINE# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TITLE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;GIVEN&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NAME&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;INITIAL&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;SURNAME&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;PREFERRED&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NAME&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;GENDER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DOB&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MAILING&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MAILING&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MAILING&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESSEE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 1&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 2&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 3&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;CITY&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&lt;/SPAN&gt;&lt;SPAN class="atn"&gt;TOWN&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;POSTCODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATE&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&lt;/SPAN&gt;&lt;SPAN class="atn"&gt;PROVINCE&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&lt;/SPAN&gt;&lt;SPAN class="atn"&gt;REGION&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COUNTRY&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;UNKNOWN&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;INVALID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;UNKNOWN&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;INVALID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;UNKNOWN&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;INVALID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COMBINED&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;AUTHORITY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COMPANY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;REGISTRATION&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COMMS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CATEGORY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COMMS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CATEGORY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ENTITY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#PAYMENT_LINE# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PREMIUMS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;PAID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;RECEIVED&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CODE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;OTHER&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;BENEFICIARY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#MLS# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TOTAL&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;HOSPITAL&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DAYS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TOTAL&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;HOLIDAY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DAYS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#SOC_LHC# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NUMBER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;GIVEN&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;INITIAL&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;SURNAME&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;SUFFIX&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;DOB&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;START-DATE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;CERT-ENT-AGE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TOT-ABSENT-DAYS&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ABSENT-DAYS-AS-AT&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;LIFE-LOADING&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;CONFIRM-IND&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ISSUE-DATE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PROJ-AB-DAYS&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;BABYCARE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;EXCESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;WAIVER&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;FLAG&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#SOC_MEMBERSHIP# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TITLE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;GIVEN&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;INITIAL&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;SURNAME&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 1&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 2&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 3&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 4&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;POSTCODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMB-CODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMB-TYPE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LMEMTP&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PACKAGE-CODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PACKAGE-DESC&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;HOSP-CORE-CODE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LHSPCC&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COVER-DATE-FROM&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;CURR-REBATE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;HOSP-OPT-ID&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ANC-OPT-ID&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;NP-OPT-ID&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#SIS# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;HAS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;SIS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;FLAG&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 
#FILE_FOOTER# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;FILENAME&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TOTALRECORDSCOUNT&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;BATCHPROCESSFINISHDATETIME&amp;gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any ideas on this would be great .&lt;/P&gt;
&lt;P&gt;I am using SAS EG to get this working.&lt;/P&gt;</description>
    <pubDate>Sat, 23 Dec 2017 14:30:53 GMT</pubDate>
    <dc:creator>boin</dc:creator>
    <dc:date>2017-12-23T14:30:53Z</dc:date>
    <item>
      <title>read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/422944#M103989</link>
      <description>&lt;P&gt;I have a txt file which has the data in the below format.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="snippet-code-html lang-html prettyprint prettyprinted"&gt;&lt;CODE&gt;&lt;SPAN class="pln"&gt;#FILE_HEADER# MOnth|1901124578965
#MEMBERSHIP_PERSON# 9999944999|0009999|05|ABC|F|Medium|REGN|||07/Jun/2017|Pay Pal|||N|DISTIBUTOR|CURRENT|01|Y|Annual|2017|EXISTING|01/Jan/1901
#ADDRESS_LINE# 0059999999|Mr|Test||Test||M|03/Jan/1901|009999900|Online|abc00@abc.com.au|N|N|00244444||11 ABC Street|||SUBURB|3003|SA|Australia|N|N|00999900|Email|abc00@abc.com.au|N|N|||||||Y|Y|0000000001|YZx|0000000001|ZYX|PERSON|N|0000000000||||||0000000000|||||
#PAYMENT_LINE# 1234|123|35|First Last
#PAYMENT_LINE# 123|123|12|First Last
#MLS# 123|123
#SOC_YHC# 00099999|First||Last|01|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y|
#SOC_YHC# 00099999|First|F|Last|02|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y|
#SOC_MEMBERSHIP# Mr|First||Last|12 ABC Street|SUBURB  SA  3003|||3003|C|Couples|996|PRODUCT||01/O1/1901|30.256%|225|211|145
#SIS# N&lt;BR /&gt;
#FILE_FOOTER# 1901eExtractionOptIn_0000.txt|12345|1901124578965&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The headers are not in the file.The file layout is below: The data provided above is in between the file header and file footer, and there are multiple&amp;nbsp;rows of data between Header and Footer .&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Every records starts with #MEMBERSHIP_PERSON. The end goal is to convert this data into a table (columns as below and row data as above)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="snippet-code-html lang-html prettyprint prettyprinted"&gt;&lt;CODE&gt;&lt;SPAN class="pln"&gt; #FILE_HEADER# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TAXGENERATIONMODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;BATCHPROCESSSTARTDATETIME&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#MEMBERSHIP_PERSON# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NUMBER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;FUND&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NO&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;HEALTH&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;FUND&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;COMPLEXITY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TIER&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;EFFECTIVE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DATE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TIER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;DATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;PAID&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TO&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PAYMENT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;METHOD&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ORGX&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ORGX&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;GROUP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DPT&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CATEGORY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;SUFFIX&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NUMBER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MULTIPLE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ADULTS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT_TYPE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; _&lt;/SPAN&gt;&lt;SPAN class="atn"&gt;YEAR&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMEMT_FREQ&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATEMENT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;GENERATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DATE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#ADDRESS_LINE# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TITLE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;GIVEN&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NAME&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;INITIAL&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;SURNAME&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;PREFERRED&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NAME&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;GENDER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DOB&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MAILING&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MAILING&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MAILING&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESSEE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 1&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 2&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 3&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;CITY&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&lt;/SPAN&gt;&lt;SPAN class="atn"&gt;TOWN&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;POSTCODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;STATE&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&lt;/SPAN&gt;&lt;SPAN class="atn"&gt;PROVINCE&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&lt;/SPAN&gt;&lt;SPAN class="atn"&gt;REGION&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COUNTRY&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;UNKNOWN&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;INVALID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;UNKNOWN&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ONLINE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;INVALID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;TYPE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;UNKNOWN&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COURTESY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NOTIFICATION&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CONTACT&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;INVALID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COMBINED&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;AUTHORITY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COMPANY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;REGISTRATION&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COMMS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CATEGORY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COMMS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CATEGORY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;ENTITY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PERSON&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;STATUS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#PAYMENT_LINE# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PREMIUMS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;PAID&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;RECEIVED&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;REBATE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;CODE&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;OTHER&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;BENEFICIARY&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#MLS# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TOTAL&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;HOSPITAL&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DAYS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TOTAL&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;HOLIDAY&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;DAYS&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#SOC_LHC# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMBERSHIP&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;NUMBER&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;GIVEN&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;INITIAL&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;SURNAME&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;SUFFIX&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;DOB&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;START-DATE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;CERT-ENT-AGE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TOT-ABSENT-DAYS&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ABSENT-DAYS-AS-AT&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;LIFE-LOADING&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;CONFIRM-IND&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ISSUE-DATE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PROJ-AB-DAYS&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;BABYCARE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;EXCESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;WAIVER&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;FLAG&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#SOC_MEMBERSHIP# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TITLE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;GIVEN&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;INITIAL&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;SURNAME&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 1&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 2&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 3&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ADDRESS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LINE&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 4&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;POSTCODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMB-CODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;MEMB-TYPE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LMEMTP&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PACKAGE-CODE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;PACKAGE-DESC&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;HOSP-CORE-CODE&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;LHSPCC&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;COVER-DATE-FROM&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;CURR-REBATE&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;HOSP-OPT-ID&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;ANC-OPT-ID&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;NP-OPT-ID&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
#SIS# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;HAS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;SIS&lt;/SPAN&gt; &lt;SPAN class="atn"&gt;FLAG&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; 
#FILE_FOOTER# &lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;FILENAME&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;TOTALRECORDSCOUNT&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;|&lt;/SPAN&gt;&lt;SPAN class="tag"&gt;&amp;lt;BATCHPROCESSFINISHDATETIME&amp;gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any ideas on this would be great .&lt;/P&gt;
&lt;P&gt;I am using SAS EG to get this working.&lt;/P&gt;</description>
      <pubDate>Sat, 23 Dec 2017 14:30:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/422944#M103989</guid>
      <dc:creator>boin</dc:creator>
      <dc:date>2017-12-23T14:30:53Z</dc:date>
    </item>
    <item>
      <title>Re: read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/422950#M103990</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
 file "%sysfunc(pathname(work))\t.txt";
 put '#FILE_HEADER# MOnth|1901124578965 ';
 put '#MEMBERSHIP_PERSON# 9999944999|0009999|05|ABC|F|Medium|REGN|||07/Jun/2017|Pay Pal|||N|DISTIBUTOR|CURRENT|01|Y|Annual|2017|EXISTING|01/Jan/1901 ';
 put '#ADDRESS_LINE# 0059999999|Mr|Test||Test||M|03/Jan/1901|009999900|Online|abc00@abc.com.au|N|N|00244444||11 ABC Street|||SUBURB|3003|SA|Australia|N|N|00999900|Email|abc00@abc.com.au|N|N|||||||Y|Y|0000000001|YZx|0000000001|ZYX|PERSON|N|0000000000||||||0000000000|||||';
 put '#PAYMENT_LINE# 1234|123|35|First Last';
 put '#PAYMENT_LINE# 123|123|12|First Last ';
 put '#MLS# 123|123        ';
 put '#SOC_YHC# 00099999|First||Last|01|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y| ';
 put '#SOC_YHC# 00099999|First|F|Last|02|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y|   ';
 put '#SOC_MEMBERSHIP# Mr|First||Last|12 ABC Street|SUBURB  SA  3003|||3003|C|Couples|996|PRODUCT||01/O1/1901|30.256%|225|211|145 ';
 put '#SIS# N    ';
 put '#FILE_HEADER# MOnth|1901124578965 ';
 put '#MEMBERSHIP_PERSON# 9999944999|0009999|05|ABC|F|Medium|REGN|||07/Jun/2017|Pay Pal|||N|DISTIBUTOR|CURRENT|01|Y|Annual|2017|EXISTING|01/Jan/1901 ';
 put '#ADDRESS_LINE# 0059999999|Mr|Test||Test||M|03/Jan/1901|009999900|Online|abc00@abc.com.au|N|N|00244444||11 ABC Street|||SUBURB|3003|SA|Australia|N|N|00999900|Email|abc00@abc.com.au|N|N|||||||Y|Y|0000000001|YZx|0000000001|ZYX|PERSON|N|0000000000||||||0000000000|||||';
 put '#PAYMENT_LINE# 1234|123|35|First Last';
 put '#PAYMENT_LINE# 123|123|12|First Last ';
 put '#MLS# 123|123        ';
 put '#SOC_YHC# 00099999|First||Last|01|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y| ';
 put '#SOC_YHC# 00099999|First|F|Last|02|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y|   ';
 put '#SOC_MEMBERSHIP# Mr|First||Last|12 ABC Street|SUBURB  SA  3003|||3003|C|Couples|996|PRODUCT||01/O1/1901|30.256%|225|211|145 ';
 put '#SIS# Y    ';
run;
data want;
  retain TAXGENERATIONMODE BATCHPROCESSSTARTDATETIME;
  length TAXGENERATIONMODE BATCHPROCESSSTARTDATETIME STATEMENT_ID MEMBERSHIP_NUMBER FUND_NO PERSON_TITLE FLAG $20;
  infile "%sysfunc(pathname(work))\t.txt";
  input;
  if _infile_ =:'#FILE_HEADER#' then do;
    TAXGENERATIONMODE=        scan(_infile_,2,'|# ');
    BATCHPROCESSSTARTDATETIME=scan(_infile_,3,'|# ');
  end; 
  if _infile_ =:'#MEMBERSHIP_PERSON#' then do until(0);     
    if _infile_ =:'#MEMBERSHIP_PERSON#' then do ;
      STATEMENT_ID     =scan(_infile_,2,'|# ');
      MEMBERSHIP_NUMBER=scan(_infile_,3,'|# ');
      FUND_NO          =scan(_infile_,4,'|# ');
    end; 
    if _infile_ =:'#ADDRESS_LINE#' then do ;
      PERSON_TITLE     =scan(_infile_,2,'|# ');
    end; 
    if _infile_ =:'#PAYMENT_LINE#' then do ;
      PREMIUM_PAID    =input(scan(_infile_,2,'|# '),?? 32.);
    end; 
    if _infile_ =:'#SIS#' then do ;
      FLAG     =scan(_infile_,2,'|# ');
      output;
      leave;
    end; 
    else input;
  end; 
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l header" scope="col"&gt;TAXGENERATIONMODE&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;BATCHPROCESSSTARTDATETIME&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;STATEMENT_ID&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;MEMBERSHIP_NUMBER&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;FUND_NO&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;PERSON_TITLE&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;FLAG&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;PREMIUM_PAID&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;MOnth&lt;/TD&gt;
&lt;TD class="l data"&gt;1901124578965&lt;/TD&gt;
&lt;TD class="l data"&gt;9999944999&lt;/TD&gt;
&lt;TD class="l data"&gt;0009999&lt;/TD&gt;
&lt;TD class="l data"&gt;05&lt;/TD&gt;
&lt;TD class="l data"&gt;0059999999&lt;/TD&gt;
&lt;TD class="l data"&gt;N&lt;/TD&gt;
&lt;TD class="r data"&gt;123&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;MOnth&lt;/TD&gt;
&lt;TD class="l data"&gt;1901124578965&lt;/TD&gt;
&lt;TD class="l data"&gt;9999944999&lt;/TD&gt;
&lt;TD class="l data"&gt;0009999&lt;/TD&gt;
&lt;TD class="l data"&gt;05&lt;/TD&gt;
&lt;TD class="l data"&gt;0059999999&lt;/TD&gt;
&lt;TD class="l data"&gt;Y&lt;/TD&gt;
&lt;TD class="r data"&gt;123&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Dec 2017 05:02:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/422950#M103990</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-12-21T05:02:11Z</dc:date>
    </item>
    <item>
      <title>Re: read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423442#M104134</link>
      <description>&lt;P&gt;The easiest is probably to change the first space to a "|":&lt;/P&gt;&lt;PRE&gt;Data members(keep=statement_id member_no)
     addresses(keep=member_no whats_this title)
     payments(keep=member_no premiums rebate)
     days(keep=member_no hospital_days holidays)
     ;
  infile cards dsd delimiter='|';
  length linetype $30;
  input @;
  prx_id=prxparse('s/ /|/');
  call prxchange(prx_id,1,_infile_);
  input linetype @;
  select(linetype);
    when('#MEMBERSHIP_PERSON#') do;
      input statement_id member_no; /* add the other variables as needed */
      output members;
      end;
    when('#ADDRESS_LINE#') do;
      input whats_this title $;
      output addresses;
      end;
    when('#PAYMENT_LINE#') do;
      input premiums rebate;
      output payments;
      end;
    when('#MLS#') do;
      input hospital_days holidays;
      output days;
      end;
    otherwise input;
    end;
  retain member_no;
cards;
#FILE_HEADER# MOnth|1901124578965
#MEMBERSHIP_PERSON# 9999944999|0009999|05|ABC|F|Medium|REGN|||07/Jun/2017|Pay Pal|||N|DISTIBUTOR|CURRENT|01|Y|Annual|2017|EXISTING|01/Jan/1901
#ADDRESS_LINE# 0059999999|Mr|Test||Test||M|03/Jan/1901|009999900|Online|abc00@abc.com.au|N|N|00244444||11 ABC Street|||SUBURB|3003|SA|Australia|N|N|00999900|Email|abc00@abc.com.au|N|N|||||||Y|Y|0000000001|YZx|0000000001|ZYX|PERSON|N|0000000000||||||0000000000|||||
#PAYMENT_LINE# 1234|123|35|First Last
#PAYMENT_LINE# 123|123|12|First Last
#MLS# 123|123
#SOC_YHC# 00099999|First||Last|01|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y|
#SOC_YHC# 00099999|First|F|Last|02|03/Jan/1901|01/Jan/1901|30|00000|01/Jul/1901|00|C|01/Jul/1901|Y|
#SOC_MEMBERSHIP# Mr|First||Last|12 ABC Street|SUBURB  SA  3003|||3003|C|Couples|996|PRODUCT||01/O1/1901|30.256%|225|211|145
#SIS# N
;run;&lt;/PRE&gt;&lt;P&gt;I used CALL PRXCHANGE for this, because it changes the string in place (which is faster than calling a function), and because it allows you to specify that you only want to change one occurence.&lt;/P&gt;&lt;P&gt;I output several datasets, as there obviously can be more lines of some types per person (e.g. payments). The key variables (in this case I assumed member_no) should then be on all the tables, and they should be retained (they must be in the first row read for that member, I assume that is always the membership-person line).&lt;/P&gt;&lt;P&gt;It should be reasonably easy to fill out the remaining line types and variables.&lt;/P&gt;&lt;P&gt;If you are wondering what the WHATS_THIS variable does, that is just a placeholder, because your data do not fit the specification. Title should be the first variable in the address line, but there is some undefined number first.&lt;/P&gt;</description>
      <pubDate>Sat, 23 Dec 2017 12:16:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423442#M104134</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2017-12-23T12:16:05Z</dc:date>
    </item>
    <item>
      <title>Re: read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423445#M104136</link>
      <description>&lt;P&gt;No need to change the input buffer. You can use a variable name for the DLM= option on the INFILE statement.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;  dlm=' ';
  infile cards dsd dlm=dlm truncover;
  input linetype :$30. @;
  dlm='|';&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 23 Dec 2017 12:56:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423445#M104136</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-12-23T12:56:41Z</dc:date>
    </item>
    <item>
      <title>Re: read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423449#M104137</link>
      <description>&lt;P&gt;Question:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your data has a record type SOC_YHC, but your template does not described that type. Should such types be ignored?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRIKE&gt;Are any valid record types repeated between header and footer?&amp;nbsp;&amp;nbsp; If so, please provide an example of the wanted output.&amp;nbsp; For example payment line is repeated in your data.&lt;/STRIKE&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 23 Dec 2017 13:52:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423449#M104137</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-12-23T13:52:18Z</dc:date>
    </item>
    <item>
      <title>Re: read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423450#M104138</link>
      <description>&lt;P&gt;SOC_YHC needs to be captured as well .&lt;/P&gt;
&lt;P&gt;It would a a static value : example&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Column SOC_YHC&amp;nbsp; and all the values under it would be the same , and the corresponding columns will have the values .&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="308"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;SOC_YHC&lt;/TD&gt;
&lt;TD width="180"&gt;MEMBERSHIP NUMBER&lt;/TD&gt;
&lt;TD width="64"&gt;GIVEN&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;SOC_YHC&lt;/TD&gt;
&lt;TD&gt;12345&lt;/TD&gt;
&lt;TD&gt;Name1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;SOC_YHC&lt;/TD&gt;
&lt;TD&gt;12346&lt;/TD&gt;
&lt;TD&gt;Name12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;SOC_YHC&lt;/TD&gt;
&lt;TD&gt;12347&lt;/TD&gt;
&lt;TD&gt;Name13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;SOC_YHC&lt;/TD&gt;
&lt;TD&gt;12348&lt;/TD&gt;
&lt;TD&gt;Name14&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;SOC_YHC&lt;/TD&gt;
&lt;TD&gt;12349&lt;/TD&gt;
&lt;TD&gt;Name15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;SOC_YHC&lt;/TD&gt;
&lt;TD&gt;12350&lt;/TD&gt;
&lt;TD&gt;Name16&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Sat, 23 Dec 2017 14:29:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423450#M104138</guid>
      <dc:creator>boin</dc:creator>
      <dc:date>2017-12-23T14:29:58Z</dc:date>
    </item>
    <item>
      <title>Re: read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423479#M104157</link>
      <description>&lt;P&gt;I take it that you want one dataset per record type, in which the MEMBERSHIP_PERSON vars are carried into each of the datasets, along with the vars specific&amp;nbsp; to the record type.&amp;nbsp; Here's and untested and unfinished sample:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit: &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/76464"&gt;@s_lassen&lt;/a&gt;&amp;nbsp;made a good point on the risks of using of dlm='#|', (in case there's a # in the data fields), so I'd modify my code&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;from&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Sasfont"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color="#0000ff" face="Sasfont"&gt;infile&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Sasfont"&gt;dlm&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt;=&lt;/FONT&gt;&lt;FONT color="#800080" face="Sasfont"&gt;'#|'&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Sasfont"&gt;truncover&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt; ;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Sasfont"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt; rectype @;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;to&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Sasfont"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; chr=&lt;/FONT&gt;&lt;FONT color="#800080" face="Sasfont"&gt;'#'&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Sasfont"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; infile&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt; xxx &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Sasfont"&gt;dlm&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt;=chr &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Sasfont"&gt;dsd&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Sasfont"&gt;truncover&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Sasfont"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; input&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt; @&lt;/FONT&gt;&lt;FONT color="#800080" face="Sasfont"&gt;'#'&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt; rectype @;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Sasfont"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chr=&lt;/FONT&gt;&lt;FONT color="#800080" face="Sasfont"&gt;'|'&lt;/FONT&gt;&lt;FONT face="Sasfont"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The reason for the &lt;EM&gt;&lt;STRONG&gt;@'#'&lt;/STRONG&gt;&lt;/EM&gt; is the addition of the DSD in the infile statement, which makes the leading # a boundary between the first (null) field and the next field.&amp;nbsp; But you need DSD to accommodate null fields in the rest of the record.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data address (keep=mem_: add_:)
     payment (keep=mem_: MEM_:)
     mls     (keep=mem_: mls_:)
     socyhc  (keep=mem_: socyhc_:)
     socmem  (keep=mem_: socmem_:)
     sis     (keep=mem_: sis_:)
	 ;

  informat rectype $20. ;

  /* FILE_HEADER vars */
  informat fh_taxgenmode $8. fh_procstartdatetime 15.;

  /* Informat for all the MEMBERSHIP_PERSON vars, in order */
  informat 
    MEM_stmtid  15.          MEM_NUMBER $15.           MEM_FUNDNO 4.             MEM_HEALTHFUNDID   $5.   
    MEM_STATUS  $2.          MEM_stmtCOMPLEXITY $12.   MEM_REBATE_STATUS $6.     MEM_REBATE_TE_DATE date11.
    MEM_REBATE TIER  $15.    MEM_DATE_PAIDTO  date11.  MEM_PAYMENT_METHOD $10.   MEM_ORGX_TYPE $6.         
    MEM_ORGX_GROUP_DPT $6.   MEM_REBATETYPE   $5.      MEM_PERSON_CATEGORY $15.  MEM_PERSON_STATUS $15.  
    MEM_PERSON_SUFFIX_NUM 4. MEM_MULTIPLE_ADULTS $2.   MEM_stmt_TYPE $12.        MEM_stmt_year   4.
    MEM_STATEMEM_T_FREQ $15. MEM_stmt_GENDATE date11.;

  INFORMAT /*For the vars in the ADDRESS_LINE rectype*/
    add_TITLE ??              add_GIVENNAME ??            add_INITIAL ??          add_SURNAME ??           add_PREFERRED_NAME ??
    add_GENDER ??             add_DOB ??                  add_MAIL_CONTACT_ID ??  add_MAIL_CONTACT_TYPE ?? add_MAIL_CONTACT ??
    add_ADDRESSID ??          add_ADDRESSEE ??            add_ADDRESS_LINE1 ??    add_ADDRESS_LINE2 ??     add_ADDRESS_LINE3 ??
    add_CITYTOWN ??           add_POSTCODE ??             add_STAT_PROV_REG ??    add_COUNTRY ??
    add_ADDRESS_UNKNOWN ??    add_ADDRESS_INVALID ??
    add_ONLINE_CONTACTID ??   add_ONLINE_CONTACTTYPE ??   add_ONLINE_CONTACT ??   add_ONLINE_CONTACT_UNK ??    add_ONLINE_CONTACT_INVALID ??
    add_COURTESY_CONTACTID ?? add_COURTESY_CONTACTTYPE ?? add_COURTESY_CONTACT ?? add_COURTESY_CONTACT_UNK ??  add_COURTESY_CONTACT_INVALID ??
    add_COMBINED_AUTHORITY ?? add_COMPANY_REGISTRATION ??
    add_COMMS_CATEGORY ??     add_COMMS_CATEGORY_ENTITY ??add_MEMBERSHIP_STATUS ??
    add_STATUS ??;

  informat PAY_PREMIUMSPAID  8. PAY_REBATE_RECEIVED 8.  PAY_REBATE_CODE 8. PAY_OTHER_BENEFICIARY $16.;

  informat MLS_TOTAL_HOSPDAYS 3.  MLS_TOTAL_HOLIDAYS3. ;
  informat socyhc_... ... ;
  informat socmem_... ... ;
  informat SIS_FLAG  $1.;

  informat  FF_FILENAME $40.  FF_TOTALRECORDSCOUNT 8.  FF_procstartdatetime 15.;

  retain MEM_: ;

  infile   dlm='#|' truncover ;
  input rectype @;

  select (rectype);
    when ('FILE_HEADER')        input fh_taxgenmode -- fh_procstartdatetime;
    when ('MEMBERSHIP_PERSON')  input MEM_stmtid--MEM_stmt_gendate;
    when ('ADDRESS_LINE')   do; input add_title--add_status ;                   output address;    end;
    when ('PAYMENT_LINE')   do; input PAY_premiumspaid--pay_other_beneficiary ; output payment;     end;
    when ('MLS')            do; input MLS_total_hospdays--mls_total_holidays ;  output mls;         end;
    when ('SOC_YHC')        do; input .......;                                 output socyhc; end;
    when ('SOC_MEMBERSHIP') do; input .......;
    when ('SIS')            do; input sis_flag; output sis;end;
	where ('FILE_FOOTER')       input  FF_FILENAME--FF_procstartdatetime ;
  end;
run;

 &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The crucial element is the construction of the informat statements. All varnames for a given INFORMAT statement start with the same characters, and the vars are listed in physical order.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Dec 2017 02:02:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423479#M104157</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-12-25T02:02:28Z</dc:date>
    </item>
    <item>
      <title>Re: read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423484#M104158</link>
      <description>Tom, I did not know that you could put a variable in the delimiter options, and then change it. Very valuable, Thank you!</description>
      <pubDate>Sun, 24 Dec 2017 16:00:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423484#M104158</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2017-12-24T16:00:23Z</dc:date>
    </item>
    <item>
      <title>Re: read multi record layer text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423487#M104159</link>
      <description>The problem about using both '#' and '|' as delimiters is that you may find the odd '#' somewhere in a text field in the data section. In which case the rest of the line input goes completely awry. I actually considered that when writing my own answer (to which Tom had an excellent amendment), but discarded the idea. Been there, done that...</description>
      <pubDate>Sun, 24 Dec 2017 16:07:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/read-multi-record-layer-text-file/m-p/423487#M104159</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2017-12-24T16:07:55Z</dc:date>
    </item>
  </channel>
</rss>

