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:
  1. PGM    parm(               +                                   
  2.              &SPLFNAME     +                                   
  3.              &JOBNAME      +                                   
  4.              &USERNAME     +                                   
  5.              &JOBNBR       +                                   
  6.              &SPLFNBR      +                                   
  7.              &SYSTEMNAME   +                                   
  8.              &CREATEDATE   +                                   
  9.              &CREATETIME)                                      
  10.                                                                
  11.    /*  http://www.iseriesnetwork.com/article.cfm?id=20533  */  
  12.                                                                
  13.     DCL VAR(&RCVVAR)     TYPE(*CHAR) LEN(70)                   
  14.     DCL VAR(&RCVVARLEN)  TYPE(*CHAR) LEN(4)                    
  15.     DCL VAR(&ERRCODE)    TYPE(*CHAR) LEN(8)                    
  16.                                                                
  17.     /* FIELDS FROM FORMAT SPRL0100 */                          
  18.                                                                
  19.     DCL VAR(&BYTESRTN)   TYPE(*DEC)  LEN(10 0)                 
  20.    DCL VAR(&BYTESAVL)   TYPE(*DEC)  LEN(10 0)                   
  21.    DCL VAR(&SPLFNAME)   TYPE(*CHAR) LEN(10)                     
  22.    DCL VAR(&JOBNAME)    TYPE(*CHAR) LEN(10)                     
  23.    DCL VAR(&USERNAME)   TYPE(*CHAR) LEN(10)                     
  24.    DCL VAR(&JOBNBR)     TYPE(*CHAR) LEN(6)                      
  25.    DCL VAR(&SPLFNBR)    TYPE(*DEC)  LEN(6 0)                    
  26.    DCL VAR(&SYSTEMNAME) TYPE(*CHAR) LEN(8)                      
  27.    DCL VAR(&CREATEDATE) TYPE(*CHAR) LEN(7)                      
  28.    DCL VAR(&CREATETIME) TYPE(*CHAR) LEN(6)                      
  29.                                                                 
  30.     MONMSG      CPF0000    *N        GOTO ERROR                 
  31.                                                                 
  32.    CHGVAR VAR(%BIN(&ERRCODE 1 4))   VALUE(0)                    
  33.                                                                 
  34.    /* &RCVVARLEN NEEDS TO BE SET TO THE SIZE OF &RCVVAR.  +     
  35.       IF YOU CHANGE THE SIZE OF &RCVVAR, CHANGE IT ON THE +     
  36.       LINE BELOW AS WELL! (CL HAS NO %SIZE BIF!!)        */     
  37.                                                                 
  38.    CHGVAR VAR(%BIN(&RCVVARLEN 1 4)) VALUE(70)                   
  39.    CALL PGM(QSPRILSP) PARM( &RCVVAR    +                              
  40.                             &RCVVARLEN +                              
  41.                             'SPRL0100' +                              
  42.                             &ERRCODE   )                              
  43.             MONMSG     MSGID(CPF333A) EXEC(DO)                        
  44.             SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('No +      
  45.                          spooled file created under the current +     
  46.                          job') MSGTYPE(*ESCAPE)                       
  47.              return                                                   
  48.             ENDDO                                                     
  49.                                                                       
  50.    /* SINCE CL HAS NO SUCH THING AS A DATA STRUCTURE, I'VE +          
  51.       PUT ALL OF THE FIELDS INTO ONE BIG &RCVVAR FIELD,    +          
  52.       AND WILL SPLIT IT INTO SUBFIELDS BELOW:             */          
  53.                                                                       
  54.    CHGVAR VAR(&BYTESRTN)   VALUE(%BIN(&RCVVAR  1  4))                 
  55.    CHGVAR VAR(&BYTESAVL)   VALUE(%BIN(&RCVVAR  5  4))                 
  56.    CHGVAR VAR(&SPLFNAME)   VALUE(%SST(&RCVVAR  9 10))                 
  57.    CHGVAR VAR(&JOBNAME)    VALUE(%SST(&RCVVAR 19 10))                 
  58.    CHGVAR VAR(&USERNAME)   VALUE(%SST(&RCVVAR 29 10))                 
  59.     CHGVAR VAR(&JOBNBR)     VALUE(%SST(&RCVVAR 39  6))                  
  60.     CHGVAR VAR(&SPLFNBR)    VALUE(%BIN(&RCVVAR 45  4))                  
  61.     CHGVAR VAR(&SYSTEMNAME) VALUE(%SST(&RCVVAR 49  8))                  
  62.     CHGVAR VAR(&CREATEDATE) VALUE(%SST(&RCVVAR 57  7))                  
  63.     CHGVAR VAR(&CREATETIME) VALUE(%SST(&RCVVAR 65  6))                  
  64.      /* THE FIELDS ABOVE NOW CONTAIN INFO ABOUT THE LAST   +            
  65.         SPOOLED FILE CREATED IN THE JOB.                  */            
  66.                                                                         
  67.     Return                                                              
  68. /*-- ERROR HANDLING:  -----------------------------------------------*/ 
  69.  ERROR:                                                                 
  70.      CALL        QMHMOVPM    ( '    '                 +                 
  71.                                '*DIAG'                +                 
  72.                                X'00000001'            +                 
  73.                                '*PGMBDY'              +                 
  74.                                X'00000001'            +                 
  75.                                X'0000000800000000'    +                 
  76.                              )                                          
  77.      CALL        QMHRSNEM    ( '    '                 +                 
  78.                                X'0000000800000000'    +                 
  79.                             )          
  80.                                        
  81. ENDPGM                                 
© 2004-2019 by midrange.com generated in 0.006s valid xhtml & css