/*----------------------------------------------------------------*/ /* CL Program RSTSPLFC : COMMAND RSTSPLF PROCESSING PGM */ /* COPYRIGHT (c) 1998 Vengoal Chang */ /* ALL RIGHTS RESERVED. */ /*----------------------------------------------------------------*/ /* */ /* 0. Create a PF to hold spooled file contents */ /* CRTPF FILE(library/spool_db) RCDLEN(202) + */ /* IGCDTA(*YES) MAXMBRS(*NOMAX) */ /* */ /* 1. Copy spooled file to DB file member , then you can save it.*/ /* CPYSPLF FILE(spool_mbr) TOFILE(library/db_file) + */ /* TOMBR(member) MBROPT(*REPLACE) CTLCHAR(*PRTCTL) */ /* */ /* 2. When you need it, run cmd to restore spooled file to print */ /* , all restored spooled file will be 198 colum. */ /* RSTSPLF FRMFILE(library/spool_db) FRMMBR(spool_mbr) */ /* */ /*----------------------------------------------------------------*/ RSTSPLF: PGM PARM(&FRMFIL &FRMMBR) /* DECLARE INPUT PARAMETERS */ DCL VAR(&FRMFIL) TYPE(*CHAR) LEN(20) /* FILE,LIB */ DCL VAR(&FRMMBR) TYPE(*CHAR) LEN(10) DCL VAR(&FILE) TYPE(*CHAR) LEN(10) DCL VAR(&LIB) TYPE(*CHAR) LEN(10) /* Message handling variables */ DCL VAR(&MSGID) TYPE(*CHAR) LEN(7) DCL VAR(&MSGF) TYPE(*CHAR) LEN(10) DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10) DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(256) MONMSG MSGID(CPF0000 MCH0000) EXEC(GOTO CMDLBL(ERROR)) CHGVAR VAR(&FILE) VALUE(%SST(&FRMFIL 1 10)) CHGVAR VAR(&LIB) VALUE(%SST(&FRMFIL 11 10)) CHKOBJ OBJ(&LIB/&FILE) OBJTYPE(*FILE) + MBR(&FRMMBR) OVRDBF FILE(INPUT) TOFILE(&LIB/&FILE) + MBR(&FRMMBR) OVRPRTF FILE(QPRINT) PAGESIZE(*N 198) CPI(15) + USRDTA(&FRMMBR) SPLFNAME(&FILE) + IGCDTA(*YES) SECURE(*YES) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) + MSGDTA('Reprinting spooled file from ' + *CAT &FILE *TCAT ' member ' *CAT &FRMMBR) + TOPGMQ(*EXT) MSGTYPE(*STATUS) CALL RSTSPLFR SNDPGMMSG MSGID(CPI9801) MSGF(QCPFMSG) TOPGMQ(*EXT) + MSGTYPE(*STATUS) /* Blank status message */ RMVMSG CLEAR(*ALL) SNDPGMMSG MSG('Spooled file ' *CAT &FILE *TCAT ' has + been reprinted.') MSGTYPE(*COMP) DLTOVR FILE(*ALL) GOTO CMDLBL(OK) error: RCVMSG MSGTYPE(*LAST) MSGDTA(&MSGDTA) MSGID(&MSGID) + MSGF(&MSGF) SNDMSGFLIB(&MSGFLIB) MONMSG MSGID(CPF0000) /* In case */ SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) + MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE) MONMSG MSGID(CPF0000) /* In case */ OK: ENDPGM