; AL START start MACRO ; Use a shared file as SELECTION CRITERIA for a report. ; John Sharpe - 05/30/2009 @FILE.OPEN, @FILE.READ, @FILE.CLOSE, @GET.LINES, 1 FILE.OPEN @FILE.NAME.PATH@File.open FILE.NAME.PATH "\\APOLLO-1\MT$\BAR\RAC\Accounts.txt" FILE.READ ; Read the file 127 characters at a time into an array /FILE.DATA. ""^Q, DO{127@File.read^X X^/FILE.DATA[@Add(1,Q)]} FILE.CLOSE @File.close GET.LINES ; Input(s): /FILE.DATA ; Output(s): /LINES ; Assumption(s): Expect the file to be delimited by ASCII 13. ""^TXT.LFT,""^Q,0^/CTR, D(13)^DELIM,0_DELIM^POS0,0_DELIM^POS1, DO{+(/FILE.DATA[Q],TXT)^Q DO{@LINE.LEFT TXT.LFT_(@LINE)^@LINES, ; Adding a D(32) space to return the correct ; number of characters due to zero based counting. TXT%L(@LINE_D(32))^TXT, ""^TXT.LFT; TXT^TXT.LFT,""^TXT}}, TXT.LFT^@LINES LINES /LINES[/CTR+1^/CTR]^LINE.OUT,1^/ACCOUNTS[LINE.OUT] LINE TXT#POS0 LINE.LEFT TXT#L(TXT,DELIM) PRINT.LINE /LINE^/LINES[/CTR+1^/CTR] PRINT.LINES ""^Q, DO{+(/FILE.LINES[Q],X)^Q I(X)N^!} FILE.LINES /FILE.LINES[/CTR+1^/CTR]