| 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                                  |  | 
				
					|  |