midrange.com code scratchpad |
Name:
rtvlastsplf
|
Scriptlanguage:
Plain Text
|
Tabwidth:
4
|
Date:
10/10/2025 08:58:20 pm
|
IP:
Logged
|
|
Description:
The user was to lazy to give a description
|
Code:
- PGM parm( +
- &SPLFNAME +
- &JOBNAME +
- &USERNAME +
- &JOBNBR +
- &SPLFNBR +
- &SYSTEMNAME +
- &CREATEDATE +
- &CREATETIME)
-
- /* http://www.iseriesnetwork.com/article.cfm?id=20533 */
-
- DCL VAR(&RCVVAR) TYPE(*CHAR) LEN(70)
- DCL VAR(&RCVVARLEN) TYPE(*CHAR) LEN(4)
- DCL VAR(&ERRCODE) TYPE(*CHAR) LEN(8)
-
- /* FIELDS FROM FORMAT SPRL0100 */
-
- DCL VAR(&BYTESRTN) TYPE(*DEC) LEN(10 0)
- DCL VAR(&BYTESAVL) TYPE(*DEC) LEN(10 0)
- DCL VAR(&SPLFNAME) TYPE(*CHAR) LEN(10)
- DCL VAR(&JOBNAME) TYPE(*CHAR) LEN(10)
- DCL VAR(&USERNAME) TYPE(*CHAR) LEN(10)
- DCL VAR(&JOBNBR) TYPE(*CHAR) LEN(6)
- DCL VAR(&SPLFNBR) TYPE(*DEC) LEN(6 0)
- DCL VAR(&SYSTEMNAME) TYPE(*CHAR) LEN(8)
- DCL VAR(&CREATEDATE) TYPE(*CHAR) LEN(7)
- DCL VAR(&CREATETIME) TYPE(*CHAR) LEN(6)
-
- MONMSG CPF0000 *N GOTO ERROR
-
- CHGVAR VAR(%BIN(&ERRCODE 1 4)) VALUE(0)
-
- /* &RCVVARLEN NEEDS TO BE SET TO THE SIZE OF &RCVVAR. +
- IF YOU CHANGE THE SIZE OF &RCVVAR, CHANGE IT ON THE +
- LINE BELOW AS WELL! (CL HAS NO %SIZE BIF!!) */
-
- CHGVAR VAR(%BIN(&RCVVARLEN 1 4)) VALUE(70)
- CALL PGM(QSPRILSP) PARM( &RCVVAR +
- &RCVVARLEN +
- 'SPRL0100' +
- &ERRCODE )
- MONMSG MSGID(CPF333A) EXEC(DO)
- SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('No +
- spooled file created under the current +
- job') MSGTYPE(*ESCAPE)
- return
- ENDDO
-
- /* SINCE CL HAS NO SUCH THING AS A DATA STRUCTURE, I'VE +
- PUT ALL OF THE FIELDS INTO ONE BIG &RCVVAR FIELD, +
- AND WILL SPLIT IT INTO SUBFIELDS BELOW: */
-
- CHGVAR VAR(&BYTESRTN) VALUE(%BIN(&RCVVAR 1 4))
- CHGVAR VAR(&BYTESAVL) VALUE(%BIN(&RCVVAR 5 4))
- CHGVAR VAR(&SPLFNAME) VALUE(%SST(&RCVVAR 9 10))
- CHGVAR VAR(&JOBNAME) VALUE(%SST(&RCVVAR 19 10))
- CHGVAR VAR(&USERNAME) VALUE(%SST(&RCVVAR 29 10))
- CHGVAR VAR(&JOBNBR) VALUE(%SST(&RCVVAR 39 6))
- CHGVAR VAR(&SPLFNBR) VALUE(%BIN(&RCVVAR 45 4))
- CHGVAR VAR(&SYSTEMNAME) VALUE(%SST(&RCVVAR 49 8))
- CHGVAR VAR(&CREATEDATE) VALUE(%SST(&RCVVAR 57 7))
- CHGVAR VAR(&CREATETIME) VALUE(%SST(&RCVVAR 65 6))
- /* THE FIELDS ABOVE NOW CONTAIN INFO ABOUT THE LAST +
- SPOOLED FILE CREATED IN THE JOB. */
-
- Return
- /*-- ERROR HANDLING: -----------------------------------------------*/
- ERROR:
- CALL QMHMOVPM ( ' ' +
- '*DIAG' +
- X'00000001' +
- '*PGMBDY' +
- X'00000001' +
- X'0000000800000000' +
- )
- CALL QMHRSNEM ( ' ' +
- X'0000000800000000' +
- )
-
- ENDPGM
|
|
|