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 save with the early bird rate—just $795!
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.