What's This Program's Name?
Don't hard-code program names. A CL program can obtain its own name via the following code fragment:
DCL VAR(&SENDER) TYPE(*CHAR) LEN(80) DCL VAR(&PGM) TYPE(*CHAR) LEN(10) DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4) SNDPGMMSG MSG(' ') TOPGMQ(*SAME) MSGTYPE(*INFO) + KEYVAR(&MSGKEY) RCVMSG PGMQ(*SAME) MSGTYPE(*INFO) SENDER(&SENDER) + RMV(*YES) MSGKEY(&MSGKEY) CHGVAR VAR(&PGM) VALUE(%SST(&SENDER 56 10)) RPG programs can obtain their names from the program status data structure: ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 I SDS I *PROGRAM PGM or ... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 I SDS I 1 10 PGM Shared Spool Files
If you need to run several programs, each of which creates a report, and you want them all in a single print file, you need to override or change your printer file to use a shared access path. If you are using the default printer file QSYSPRT, you could do this with:
OVRPRTF FILE(QSYSPRT) SHARE(*YES)
Then you must open the printer file and keep it open. This can be done with a
very small RPG program like this:
... 1 ...+... 2 ...+... 3 ...+... 4 ... + ... 5 ...+... 6 FQSYSPRT O F 132 OF PRINTER C RETRN C EXCPTDUMMY C MOVE *ON *INLR OQSYSPRT E DUMMY ... 1 ...+... 2 ...+... 3 ...+... 4 ... + ... 5 ...+... 6
This program simply executes a RETRN without setting on the LR indicator which leaves the printer file (QSYSPRT) open.
Simply call the RPG program at the start of your job; at the end of your job, execute the Reclaim Resources (RCLRSC) command to close the open printer file. Another method you can use is to condition the initial RPG program with an *ENTRY parameter, which causes it to set LR on to end printer continuation mode. The main thing is having a shared access path, which remains open to have all printer output directed to the shared spool file entry.
Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.
IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn:
LATEST COMMENTS
MC Press Online