TechTalk: Printing Anywhere on Demand

Document Management
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Our users can send reports to any printer on the system on demand. Pressing the attention key from any program or menu displays our office productivity menu, which has an option to select printers. When the user selects this option, program CHGPRTRCL (1) is called to retrieve the printers from the system and put the list in a file with the DSPOBJD command. The nice thing about this is that the object text is also put in the file. Therefore, the description of the printer is available to be displayed and the users can then identify where the printer is.

Our users can send reports to any printer on the system on demand. Pressing the attention key from any program or menu displays our office productivity menu, which has an option to select printers. When the user selects this option, program CHGPRTRCL (Figure 1) is called to retrieve the printers from the system and put the list in a file with the DSPOBJD command. The nice thing about this is that the object text is also put in the file. Therefore, the description of the printer is available to be displayed and the users can then identify where the printer is.

Program CHGPRTRRG (2) is then called which displays the printers (based on our naming conventions) in a subfile display, CHGPRTRDF (3). The users can place an 'X' beside the printer they wish to use. When the user exits the program, the CHGJOB command is executed using the selected printer name as the new OUTQ.

Program CHGPRTRRG (Figure 2) is then called which displays the printers (based on our naming conventions) in a subfile display, CHGPRTRDF (Figure 3). The users can place an 'X' beside the printer they wish to use. When the user exits the program, the CHGJOB command is executed using the selected printer name as the new OUTQ.

Note: This program gives you the ability to change your output only to an OUTQ with a corresponding printer of the same name.

Bruce Knoll Kentwood, Michigan


TechTalk: Printing Anywhere on Demand

Figure 1 CL program CHGPRTRCL

 CHGPRTRCL: + PGM DCL VAR(&OUTQ) TYPE(*CHAR) LEN(10) DSPOBJD OBJ(QUSRSYS/*ALL) OBJTYPE(*OUTQ) OUTPUT(*OUTFILE) + OUTFILE(TEMPOUTQ) OUTMBR(*FIRST *REPLACE) MONMSG MSGID(CPF9860) RTVJOBA OUTQ(&OUTQ) OVRDSPF FILE(CHGPRTR) TOFILE(CHGPRTRDF) CALL PGM(CHGPRTRPG) PARM(&OUTQ) DLTOVR FILE(CHGPRTR) CHGJOB JOB(*) OUTQ(&OUTQ) ENDPGM 
TechTalk: Printing Anywhere on Demand

Figure 2 RPG program CHGPRTRRG

 H FTEMPOUTQIF F 382 DISK FCHGPRTR CF E WORKSTN F KNUM 1 F SFLINEKSFILE SFLRCD ITEMPOUTQAA I 24 24 PRT1 I 24 33 PRTID I 59 108 PRTDSC C *ENTRY PLIST C PARM PRINT 10 C* C MOVE PRINT SCPRT C EXSR SUB1 C WRITEFKEYS C EXFMTSFLCTL C* C *INKC DOWEQ'0' C *IN98 DOUEQ'1' C READCSFLRCD 98 C *IN98 IFEQ '0' C MOVE *BLANK SFSEL C UPDATSFLRCD C MOVE SFPRT SCPRT C SETON 98 C MOVE SCPRT PRINT C END C END C WRITEFKEYS C EXFMTSFLCTL C END C SETON LR C* C SUB1 BEGSR C Z-ADD1 SFLINE 30 C READ TEMPOUTQ 99 C *IN99 DOWEQ'0' C PRT1 IFEQ 'P' C PRT1 OREQ 'Q' C MOVE PRTID SFPRT C MOVE PRTDSC SFDSC C WRITESFLRCD C ADD 1 SFLINE C END C READ TEMPOUTQ 99 C END C ENDSR 
TechTalk: Printing Anywhere on Demand

Figure 3 Display file CHGPRTRDF

 A* 90/09/06 13:09:44 ERNIE REL-R02M00 5728-PW1 A DSPSIZ(24 80 *DS3) A PRINT A INVITE A CF03 A R SFLRCD SFL A* 90/09/06 11:38:35 ERNIE REL-R02M00 5728-PW1 A SFSEL 1A I 5 4 A SFPRT 10A O 5 11 A SFDSC 50A O 5 27 A R SFLCTL SFLCTL(SFLRCD) A* 90/09/06 13:09:44 ERNIE REL-R02M00 5728-PW1 A SFLSIZ(0036) A SFLPAG(0018) A OVERLAY A 52 PUTOVR A N51 SFLDSP A N51 SFLDSPCTL A N51 SFLEND A 1 27'SELECT PRINTER OUTPUT QUEUE' A DSPATR(HI) A 1 63DATE A EDTCDE(Y) A 1 73TIME A 2 24'Current output queue:' A SCPRT 10A O 2 47OVRDTA A 3 3'(X)' A 4 2'Select' A DSPATR(HI) A 4 11'Printer Outq' A DSPATR(HI) A 4 27'Output Queue Description' A DSPATR(HI) A R FKEYS A* 90/09/06 11:28:58 ERNIE REL-R02M00 5728-PW1 A LOCK A CLRL(*NO) A OVERLAY A 23 2'F3=Exit Roll Enter=Change prin- A ter' 
BLOG COMMENTS POWERED BY DISQUS