I am hoping that someone will have an old macro program to process my mainframe reports TXT output files and replace the 0 or 1 in column 1 [that was substituted for a real page feed/ line feed in the FTP process] with actual control codes, so I don't have to manually edit every page on these many legacy reports for which I have just become the steward. Thanks! I'm back on mainframe after twelve years or so on PC SAS. It surprised me that the production process is: FTP each report, then edit every single page to work in MS Word for printing, then create PDFs. ![]()
DATA _NULL_ ;
INFILE txtin;
INPUT @1 xchr $1. @1 lnin $CHAR133.;
LENGTH lnut $134;
IF xchr=' ' then lnut=lnin;
ELSE IF xchr='0' then lnut=CATS('0A20'x, SUBSTR(lnin,2));
ELSE IF xchr='-' then lnut=CATS('0A0A20'x, SUBSTR(lnin,2));
ELSE IF xchr='1' then lnut=CATS('0C20'x, SUBSTR(lnin,2));
FILE txtut;
PUT lnut;
RUN; Not quite working. I'm losing centered titles and not all formfeeds are being inserted. Any thoughts?
I improved my result with INFILE txtin TRUNCOVER; to handle short rows.
I still need help getting the titles centered (or maintaining the tabs inserted in the TXT rows.) ![]()
I can provide a sample input file, if you have any ideas and would like to play with it.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.