Starting remote printers

If you support multiple remote printers you'll want to review this CL program.

We support more than 130 remote printers in several locations. The naming conventions for writers and outq's are less than consistent. To make it easier to start these devices, especially when the host iSeries 400 is unattended, we wrote a little CL program called STRPTRS.


A physical file called PRINTERS includes the following information:

 
 A         R STRPRTFM              
 A            WORKSTN       10A     
 A            DEV           10A       
 A            OUTQ          10A      
 A            FORMTYPE      10A     
 A            FILESEP        6A      
 A            ALIGN          6A       
 A        K WORKSTN    

The program is called as part of every sign on where it starts the printer(s) attached to a work station. It may also be called externally with parm 'ALLALLALL ' to start all printers.

 
             PGM        PARM(&WSID)                                 
             DCLF       PRINTERS                                    
             DCL        VAR(&WSID) TYPE(*CHAR) LEN(10)              
                                                                    
             IF         COND(&WSID *NE 'ALLALLALL ') THEN(GOTO +      
                          CMDLBL(ALLLOOP))                          
                                                                    
             OVRDBF     FILE(PRINTERS) POSITION(*KEYAE 1 STRPRTFM + 
                          &WSID)                                    
                                                                    
 LOOP:                                                              
             RCVF                                                   
             MONMSG     MSGID(CPF0864) EXEC(RETURN)                 
             IF         COND(&WORKSTN = &WSID) THEN(RETURN)        
             STRPRTWTR  DEV(&DEV) OUTQ(&OUTQ) FORMTYPE(&FORMTYPE) + 
                          FILESEP(&FILESEP) ALIGN(&ALIGN)           
             MONMSG     MSGID(CPF3310 CPF3347)                      
             GOTO       LOOP                                        
                                                                    
 ALLLOOP:                                                           
             RCVF                                                   
             MONMSG     MSGID(CPF0864) EXEC(RETURN)                 
STRPRTWTR  DEV(&DEV) OUTQ(&OUTQ) FORMTYPE(&FORMTYPE) +     
                          FILESEP(&FILESEP) ALIGN(&ALIGN)               
             MONMSG     MSGID(CPF3310 CPF3347)                          
             GOTO       ALLLOOP                                         
             ENDPGM

==================================
MORE INFORMATION ON THIS TOPIC
==================================

The Best Web Links: tips, tutorials and more.

Ask your systems management questions--or help out your peers by answering them--in our live discussion forums.

Ask the Experts yourself: Our systems management gurus are waiting to answer your technical questions.

This was last published in February 2002

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

-ADS BY GOOGLE

SearchEnterpriseLinux

SearchDataCenter

Close