「活動ジョブの検査」の拡張 (CL/ILE CL)

「活動ジョブの検査」の拡張 (ILE RPG)」を CL で書き直してみました。

ILE CL

             PGM        PARM(&PARM1 &STS)                                       
                                                                                
     /* 引数の定義*/                                                                 
             DCL        VAR(&PARM1) TYPE(*CHAR) LEN(26)                         
             DCL        VAR(&JOBPARM) TYPE(*CHAR) LEN(26)                       
             DCL        VAR(&JOB) TYPE(*CHAR) STG(*DEFINED) LEN(10) +           
                          DEFVAR(&PARM1 1)                                      
             DCL        VAR(&USR) TYPE(*CHAR) STG(*DEFINED) LEN(10) +           
                          DEFVAR(&PARM1 11)                                     
             DCL        VAR(&NBR) TYPE(*CHAR) STG(*DEFINED) LEN(6) +            
                          DEFVAR(&PARM1 21)                                     
             DCL        VAR(&STS) TYPE(*CHAR) LEN(10)                           
     /* ユーザースペース*/                                                              
             DCL        VAR(&USRSPC) TYPE(*CHAR) LEN(20) VALUE('CHKACTJOB +     
                          QTEMP     ')                                          
             DCL        VAR(&USOBJ) TYPE(*CHAR) STG(*DEFINED) LEN(10) +         
                          DEFVAR(&USRSPC 1)                                     
             DCL        VAR(&USLIB) TYPE(*CHAR) STG(*DEFINED) LEN(10) +         
                          DEFVAR(&USRSPC 11)                                    
     /* ヘッダ項目 */                                                                
             DCL        VAR(&HDRP) TYPE(*PTR)                                   
             DCL        VAR(&HDR) TYPE(*CHAR) STG(*BASED) LEN(192) +            
                          BASPTR(&HDRP)                                         
             DCL        VAR(&ENTRY) TYPE(*UINT) STG(*DEFINED) LEN(4) +          
                          DEFVAR(&HDR 133)                                      
             DCL        VAR(&OFFSET) TYPE(*UINT) STG(*DEFINED) LEN(4) +         
                          DEFVAR(&HDR 125)                                      
             DCL        VAR(&ENTLEN) TYPE(*UINT) STG(*DEFINED) LEN(4) +         
                          DEFVAR(&HDR 137)                                      
     /* リスト項目 */                                                                
             DCL        VAR(&LSTJOBEP) TYPE(*PTR)                               
             DCL        VAR(&LSTJOBE) TYPE(*CHAR) STG(*BASED) LEN(136) +        
                          BASPTR(&LSTJOBEP)                                     
             DCL        VAR(&JOBNAME) TYPE(*CHAR) STG(*DEFINED) LEN(10) +       
                          DEFVAR(&LSTJOBE 1)                                    
             DCL        VAR(&USRNAME) TYPE(*CHAR) STG(*DEFINED) LEN(10) +       
                          DEFVAR(&LSTJOBE 11)                                   
             DCL        VAR(&JOBNBR) TYPE(*CHAR) STG(*DEFINED) LEN(6) +         
                          DEFVAR(&LSTJOBE 21)                                   
             DCL        VAR(&JOBSTS) TYPE(*CHAR) STG(*DEFINED) LEN(10) +        
                          DEFVAR(&LSTJOBE 43)                                   
             DCL        VAR(&KEYENTRY) TYPE(*UINT) STG(*DEFINED) LEN(4) +       
                          DEFVAR(&LSTJOBE 61)                                   
             DCL        VAR(&KEYSTART) TYPE(*CHAR) STG(*DEFINED) LEN(1) +       
                          DEFVAR(&LSTJOBE 65)                                   
     /* カウンタ */                                                                 
             DCL        VAR(&I) TYPE(*INT) LEN(2)                               
             DCL        VAR(&J) TYPE(*INT) LEN(2)                               
     /* 呼び出し用 */                                                                
             DCL        VAR(&ERR_DATA) TYPE(*CHAR) LEN(116)                     
             DCL        VAR(&MSGID) TYPE(*CHAR) STG(*DEFINED) LEN(7) +          
                          DEFVAR(&ERR_DATA 9)                                   
                                                                                
             DCL        VAR(&REQKEYS3) TYPE(*CHAR) LEN(12)                      
             DCL        VAR(&REQKEY1) TYPE(*CHAR) STG(*DEFINED) LEN(4) +        
                          DEFVAR(&REQKEYS3 1)                                   
             DCL        VAR(&REQKEY2) TYPE(*CHAR) STG(*DEFINED) LEN(4) +        
                          DEFVAR(&REQKEYS3 5)                                   
             DCL        VAR(&REQKEY3) TYPE(*CHAR) STG(*DEFINED) LEN(4) +        
                          DEFVAR(&REQKEYS3 9)                                   
     /* リスト項目(追加項目用) */                                                         
             DCL        VAR(&LSTKEYEP) TYPE(*PTR)                               
             DCL        VAR(&KEY) TYPE(*CHAR) STG(*BASED) BASPTR(&LSTKEYEP)     
             DCL        VAR(&KEYFLD) TYPE(*UINT) STG(*DEFINED) LEN(4) +         
                          DEFVAR(&KEY 5)                                        
             DCL        VAR(&KEYFLDLEN) TYPE(*UINT) STG(*DEFINED) LEN(4) +      
                          DEFVAR(&KEY 1)                                        
             DCL        VAR(&KEYDATA) TYPE(*CHAR) STG(*DEFINED) LEN(10) +       
                          DEFVAR(&KEY 17)                                       
             DCL        VAR(&KEYDATAI) TYPE(*UINT) STG(*DEFINED) LEN(4) +       
                          DEFVAR(&KEY 17)                                       
                                                                                
             DCL        VAR(&ACTSTS) TYPE(*CHAR) LEN(4)                         
             DCL        VAR(&RUNPTY) TYPE(*DEC) LEN(2 0)                        
             DCL        VAR(&SBSD) TYPE(*CHAR) LEN(10)         
                 
     /* 引数のチェック*/                                                               
             IF         COND(&JOB = '          ') THEN(CHGVAR VAR(&JOB) +       
                          VALUE('*ALL     '))                                   
             IF         COND(&USR = '          ') THEN(CHGVAR VAR(&USR) +       
                          VALUE('*ALL     '))                                   
             IF         COND(&NBR = '      ') THEN(CHGVAR VAR(&NBR) +           
                          VALUE('*ALL  '))                                      
             IF         COND(&STS = '          ') THEN(CHGVAR VAR(&STS) +       
                          VALUE('*ALL     '))                                   

     /* 初期化*/                                                                   
             CHKOBJ     OBJ(&USLIB/&USOBJ) OBJTYPE(*USRSPC)                     
             MONMSG     MSGID(CPF9801) EXEC(CALL       PGM(QUSCRTUS) +          
                          PARM(&USRSPC 'CHKACTJOB ' X'00000100' ' ' '*ALL  -    
    ' 'CHKACTJOB TEMPORARY USER SPACE'))                                        
             CLRPFM     FILE(QCHKACTJ2)                                          

     /* ジョブ情報の取得*/                                                              
             CHGVAR     VAR(%SST(&JOBPARM 1 10)) VALUE(&JOB)                    
             CHGVAR     VAR(%SST(&JOBPARM 11 10)) VALUE(&USR)                   
             CHGVAR     VAR(%SST(&JOBPARM 21 6)) VALUE(&NBR)                    
                                                                                
             CHGVAR     %BIN(&REQKEY1)   '0101' /* Active Status */             
             CHGVAR     %BIN(&REQKEY2)   '1802' /* RUNPTY */                    
             CHGVAR     %BIN(&REQKEY3)   '1906' /* SBSD */                      
                                                                                
             CALL       PGM(QUSLJOB) PARM(&USRSPC 'JOBL0200' &JOBPARM &STS +    
                          &ERR_DATA '*' X'00000003' &REQKEYS3)                  
             IF         COND(%SST(&MSGID 1 3) = 'CPF') THEN(GOTO NOJOB)         
                                                                                
     /* ジョブ情報項目の取得*/                                                            
             CALL       PGM(QUSPTRUS) PARM(&USRSPC &HDRP)                       
             IF         COND(&ENTRY = 0) THEN(GOTO CMDLBL(NOJOB))               
             CHGVAR     VAR(&LSTJOBEP) VALUE(&HDRP)                             
             CHGVAR     VAR(%OFFSET(&LSTJOBEP)) VALUE(%OFFSET(&LSTJOBEP) + +    
                          &OFFSET)                                              
                                                                                
     /* ループ*/                                                                   
             DOFOR      VAR(&I) FROM(1) TO(&ENTRY) BY(1)                        
                                                                                
                CHGVAR     VAR(&LSTKEYEP) VALUE(%ADDR(&KEYSTART))               
                DOFOR      VAR(&J) FROM(1) TO(&KEYENTRY) BY(1)                  
                   SELECT                                                       
                      WHEN       COND(&KEYFLD = %BIN(&REQKEY1)) +               
                                   THEN(CHGVAR VAR(&ACTSTS) +                   
                                   VALUE(%SST(&KEYDATA 1 4)))                   
                      WHEN       COND(&KEYFLD = %BIN(&REQKEY2)) +               
                                   THEN(CHGVAR VAR(&RUNPTY) +                   
                                   VALUE(&KEYDATAI))                            
                      WHEN       COND(&KEYFLD = %BIN(&REQKEY3)) +               
                                   THEN(CHGVAR VAR(&SBSD) +                     
                                   VALUE(%SST(&KEYDATA 1 10)))                  
                   ENDSELECT                                                    
                   CHGVAR     VAR(%OFFSET(&LSTKEYEP)) +                         
                                VALUE(%OFFSET(&LSTKEYEP) + &KEYFLDLEN)          
                ENDDO                                                           
                                                                                
                CALLPRC    PRC(WRITEFILE2) PARM((&JOBNAME) (&USRNAME) +         
                             (&JOBNBR) (&JOBSTS) (&ACTSTS) (&RUNPTY) +          
                             (&SBSD))                                           
                CHGVAR     VAR(%OFFSET(&LSTJOBEP)) +                            
                             VALUE(%OFFSET(&LSTJOBEP) + &ENTLEN)                
             ENDDO                                                              
                                                                                
 NOJOB:      ENDPGM

CL

古いまだるっこしいやり方でも書いてみました。

             PGM        PARM(&PARM1 &STS)                                       
             DCL        VAR(&PARM1) TYPE(*CHAR) LEN(26)                         
             DCL        VAR(&JOBPARM) TYPE(*CHAR) LEN(26)                       
             DCL        VAR(&JOB) TYPE(*CHAR) LEN(10)                           
             DCL        VAR(&USR) TYPE(*CHAR) LEN(10)                           
             DCL        VAR(&NBR) TYPE(*CHAR) LEN(6)                            
             DCL        VAR(&STS) TYPE(*CHAR) LEN(10)                           
             DCL        VAR(&OBJ) TYPE(*CHAR) LEN(10)                           
             DCL        VAR(&USRSPC) TYPE(*CHAR) LEN(20) VALUE('CHKACTJOB +     
                          QTEMP     ')                                          
             DCL        VAR(&JOBNAME) TYPE(*CHAR) LEN(10)                       
             DCL        VAR(&USRNAME) TYPE(*CHAR) LEN(10)                       
             DCL        VAR(&JOBNBR) TYPE(*CHAR) LEN(6)                         
             DCL        VAR(&JOBSTS) TYPE(*CHAR) LEN(10)                        
             DCL        VAR(&LSTJOBE) TYPE(*CHAR) LEN(256)                      
             DCL        VAR(&BIN4) TYPE(*CHAR) LEN(4)                           
             DCL        VAR(&ENTRY) TYPE(*DEC) LEN(8 0)                         
             DCL        VAR(&STR) TYPE(*DEC) LEN(8 0)                           
             DCL        VAR(&OFFSET) TYPE(*DEC) LEN(8 0)                        
             DCL        VAR(&OFFSETB) TYPE(*CHAR) LEN(4)                        
             DCL        VAR(&ENTLEN) TYPE(*DEC) LEN(8 0)                        
             DCL        VAR(&ENTLENB) TYPE(*CHAR) LEN(4)                        
                                                                                
             DCL        VAR(&ERR_DATA) TYPE(*CHAR) LEN(116)                     
     /*      DCL        VAR(&MSGID) TYPE(*CHAR) STG(*DEFINED) LEN(7) +          
                          DEFVAR(&ERR_DATA 9)             */                    
                                                                                
             DCL        VAR(&KEYSTART) TYPE(*DEC) LEN(9 0)                      
             DCL        VAR(&I) TYPE(*DEC) LEN(5 0)                             
             DCL        VAR(&J) TYPE(*DEC) LEN(5 0)                             
             DCL        VAR(&KEYCOUNT) TYPE(*DEC) LEN(9 0)                      
             DCL        VAR(&KEYSIZE) TYPE(*DEC) LEN(9 0)                       
             DCL        VAR(&KEYSIZE4) TYPE(*DEC) LEN(9 0)                      
             DCL        VAR(&KEYPOS) TYPE(*DEC) LEN(9 0)                        
                                                                                
             DCL        VAR(&KEYCOUNTB) TYPE(*CHAR) LEN(4)                      
             DCL        VAR(&KEYSIZEB) TYPE(*CHAR) LEN(4)                       
                                                                                
             DCL        VAR(&REQKEYS3) TYPE(*CHAR) LEN(12)                      
             DCL        VAR(&REQKEY1) TYPE(*CHAR) STG(*DEFINED) LEN(4) +        
                          DEFVAR(&REQKEYS3 1)                                   
             DCL        VAR(&REQKEY2) TYPE(*CHAR) STG(*DEFINED) LEN(4) +        
                          DEFVAR(&REQKEYS3 5)                                   
             DCL        VAR(&REQKEY3) TYPE(*CHAR) STG(*DEFINED) LEN(4) +        
                          DEFVAR(&REQKEYS3 9)                                   
                                                                                
             DCL        VAR(&KEYINFO) TYPE(*CHAR) LEN(36)                       
             DCL        VAR(&KEYDATA) TYPE(*CHAR) LEN(20)                       
             DCL        VAR(&KEYINTB) TYPE(*CHAR) LEN(4)                        
             DCL        VAR(&KEYFLD) TYPE(*CHAR) LEN(4)                         
                                                                                
             DCL        VAR(&ACTSTS) TYPE(*CHAR) LEN(4)                         
             DCL        VAR(&RUNPTY) TYPE(*DEC) LEN(2 0)                        
             DCL        VAR(&SBSD) TYPE(*CHAR) LEN(10)                          
                                                                                
             CHGVAR     VAR(&JOB) VALUE(%SST(&PARM1 1 10))                      
             CHGVAR     VAR(&USR) VALUE(%SST(&PARM1 11 10))                     
             CHGVAR     VAR(&NBR) VALUE(%SST(&PARM1 21 6))                      
             IF         COND(&JOB = '          ') THEN(CHGVAR VAR(&JOB) +       
                          VALUE('*ALL     '))                                   
             IF         COND(&USR = '          ') THEN(CHGVAR VAR(&USR) +       
                          VALUE('*ALL     '))                                   
             IF         COND(&NBR = '      ') THEN(CHGVAR VAR(&NBR) +           
                          VALUE('*ALL  '))                                      
             IF         COND(&STS = '          ') THEN(CHGVAR VAR(&STS) +       
                          VALUE('*ALL     '))                                   
                                                                                
             CHGVAR     VAR(&OBJ) VALUE(%SST(&USRSPC 1 10))                     
             DLTUSRSPC  USRSPC(QTEMP/&OBJ)                                      
             MONMSG     MSGID(CPF0000)                                          
             CLRPFM     FILE(QCHKACTJ2)                                         
             CALL       PGM(QUSCRTUS) PARM(&USRSPC 'CHKACTJOB ' +               
                          X'00001000' ' ' '*ALL      ' 'CHKACTJOB +             
                          TEMPORARY USER SPACE')
                                
             CHGVAR     VAR(%SST(&JOBPARM 1 10)) VALUE(&JOB)                    
             CHGVAR     VAR(%SST(&JOBPARM 11 10)) VALUE(&USR)                   
             CHGVAR     VAR(%SST(&JOBPARM 21 6)) VALUE(&NBR)                    
                                                                                
             CHGVAR     VAR(&I) VALUE(0)                                        
                                                                                
             CHGVAR     %BIN(&REQKEY1)   '0101' /* Active Status */             
             CHGVAR     %BIN(&REQKEY2)   '1802' /* RUNPTY */                    
             CHGVAR     %BIN(&REQKEY3)   '1906' /* SBSD */                      
                                                                                
             CALL       PGM(QUSLJOB) PARM(&USRSPC 'JOBL0200' &JOBPARM &STS +    
                          &ERR_DATA '*' X'00000003' &REQKEYS3)                  
                                                                                
             CALL       PGM(QUSRTVUS) PARM(&USRSPC X'00000085' X'00000004' +    
                          &BIN4)                                                
             CHGVAR     VAR(&ENTRY) VALUE(%BIN(&BIN4))                          
             IF         COND(&ENTRY = 0) THEN(GOTO CMDLBL(NOJOB))               
                                                                                
             CALL       PGM(QUSRTVUS) PARM(&USRSPC X'00000089' X'00000004' +    
                          &ENTLENB)                                             
             CHGVAR     VAR(&ENTLEN) VALUE(%BIN(&ENTLENB))                      
                                                                                
             CALL       PGM(QUSRTVUS) PARM(&USRSPC X'0000007D' X'00000004' +    
                          &OFFSETB)                                             
             CHGVAR     VAR(&OFFSET) VALUE(%BIN(&OFFSETB))                      
             CHGVAR     VAR(&STR) VALUE(&OFFSET + 1)                            
             CHGVAR     VAR(%BIN(&BIN4)) VALUE(&STR)                            
                                                                                
 RTV_JOB:    CHGVAR     VAR(&I) VALUE(&I + 1)                                   
                                                                                
             CALL       PGM(QUSRTVUS) PARM(&USRSPC &BIN4 &ENTLENB &LSTJOBE)     
             CHGVAR     VAR(&JOBNAME) VALUE(%SST(&LSTJOBE 1 10))                
             CHGVAR     VAR(&USRNAME) VALUE(%SST(&LSTJOBE 11 10))               
             CHGVAR     VAR(&JOBNBR) VALUE(%SST(&LSTJOBE 21 6))                 
             CHGVAR     VAR(&JOBSTS) VALUE(%SST(&LSTJOBE 43 10))                
                                                                                
             CHGVAR     VAR(&KEYCOUNTB) VALUE(%SST(&LSTJOBE 61 4))              
             CHGVAR     VAR(&KEYCOUNT) VALUE(%BIN(&KEYCOUNTB))                  
                                                                                
             CHGVAR     VAR(&KEYSTART) VALUE(65)                                
                                                                                
             CHGVAR     VAR(&KEYSIZEB) VALUE(%SST(&LSTJOBE 65 4))               
             CHGVAR     VAR(&KEYSIZE) VALUE(%BIN(&KEYSIZEB))                    
                                                                                
 RTV_KEY:    CHGVAR     VAR(&J) VALUE(&J + 1)                                   
             CHGVAR     VAR(&KEYSIZE4) VALUE(&KEYSIZE + 4)                      
             CHGVAR     VAR(&KEYINFO) VALUE(%SST(&LSTJOBE &KEYSTART +           
                          &KEYSIZE4))                                           
             CHGVAR     VAR(&KEYFLD) VALUE(%SST(&KEYINFO 5 4))                  
             CHGVAR     VAR(&KEYDATA) VALUE(%SST(&KEYINFO 17 20))               
                                                                                
             SELECT                                                             
                WHEN       COND(&KEYFLD = &REQKEY1) THEN(CHGVAR +               
                             VAR(&ACTSTS) VALUE(%SST(&KEYDATA 1 4)))            
                WHEN       COND(&KEYFLD = &REQKEY2) THEN(DO)                    
                   CHGVAR     VAR(&KEYINTB) VALUE(%SST(&KEYDATA 1 4))           
                   CHGVAR     VAR(&RUNPTY) VALUE(%BIN(&KEYINTB))                
                ENDDO                                                           
                WHEN       COND(&KEYFLD = &REQKEY3) THEN(CHGVAR VAR( +          
                             &SBSD) VALUE(%SST(&KEYDATA 1 10)))                 
             ENDSELECT                                                          
                                                                                
             IF         COND(&KEYCOUNT = &J) THEN(DO)                           
                CHGVAR     VAR(&J) VALUE(0)                                     
                GOTO       CMDLBL(OUT)                                          
             ENDDO                                                              
                                                                                
             CHGVAR     VAR(&KEYSTART) VALUE(&KEYSTART + &KEYSIZE)              
             CHGVAR     VAR(&KEYPOS) VALUE(&KEYSIZE + 1)                        
             CHGVAR     VAR(&KEYSIZEB) VALUE(%SST(&KEYINFO &KEYPOS 4))          
             CHGVAR     VAR(&KEYSIZE) VALUE(%BIN(&KEYSIZEB))                    
                                                                                
             GOTO       RTV_KEY                                                 
                                                                                
 OUT:        CALLPRC    PRC(WRITEFILE2) PARM((&JOBNAME) (&USRNAME) +            
                          (&JOBNBR) (&JOBSTS) (&ACTSTS) (&RUNPTY) (&SBSD))      
                                                                                
             IF         (&ENTRY = &I) GOTO NOJOB                                
                                                                                
             CHGVAR     VAR(&STR) VALUE(&STR + &ENTLEN)                         
             CHGVAR     VAR(%BIN(&BIN4)) VALUE(&STR)                            
                                                                                
             GOTO       RTV_JOB                                                 
                                                                                
 NOJOB:      RETURN                                                             
             ENDPGM

共通部品

「活動ジョブの検査」の拡張 (ILE RPG)」では「なんとなく面倒だったので、SQL を使う方法に変え」てしまっていますが、やはり DDS と書き込み用の RPG も直してみてみよう、と思い直しました。

↑の 2つともに共通の DDS と書き出し用の RPG プログラムのソースになります。

DDS

     A          R CHKACTR                                                       
     A            JOB           10A         COLHDG('ジョブ名')                      
     A            USER          10A         COLHDG('ユ−ザ−名')                     
     A            JOBNO          6A         COLHDG('ジョブ番号')                     
     A            JOBSTS        10A         COLHDG('ジョブ状況')                     
     A            ACTSTS         4A         COLHDG('活動状況')                      
     A            RUNPTY         2  0       COLHDG('実行優先順位')                    
     A            SBSD          10A         COLHDG('サブシステム記述')

書き込み用 RPG

フリー・フォーマットで、埋め込みSQL を使って書き直してみました。

      *                                                                                             
      *  CRTSQLRPGI OBJ(WRITEFILE2) SRCFILE(QRPGLESRC)                                              
      *             COMMIT(*NONE) OBJTYPE(*MODULE) DBGVIEW(*SOURCE)                                 
      *                                                                                             
     H DATEDIT(*YMD)                                                                                
      *                                                                                             
     D writefile2      PR                                                                           
     D  jobname                      10                                                             
     D  username                     10                                                             
     D  jobno                         6                                                             
     D  sts                          10                                                             
     D  actsts                        4                                                             
     D  runpty                        2  0                                                          
     D  sbsd                         10                                                             
     D writefile2      PI                                                                           
     D  jobname                      10                                                             
     D  username                     10                                                             
     D  jobno                         6                                                             
     D  sts                          10                                                             
     D  actsts                        4                                                             
     D  runpty                        2  0                                                          
     D  sbsd                         10                                                             
      /free                                                                                         
                                                                                                    
         exec sql   INSERT INTO QCHKACTJ2                                                           
                           VALUES( :jobname,                                                        
                                   :username,                                                       
                                   :jobno,                                                          
                                   :sts,                                                            
                                   :actsts,                                                         
                                   :runpty,                                                         
                                   :sbsd                                                            
                                   ) ;                                                              
                                                                                                    
         *inLR = *on ;                                                                              
         return ;                                                                                   
                                                                                                    
      /end-free                                                                                     

トラディショナルなかたちで書くと、こんなかんじですね。今となっては、あまりこれを使う積極的な理由はないと思いますが…

     H DATEDIT(*YMD)                                                                                
     FQCHKACTJ2 O  A E           K DISK    USROPN        
      *                                     
     C     *ENTRY        PLIST                                                                      
     C                   PARM                    JOBNAM           10                                
     C                   PARM                    USRNAM           10                                
     C                   PARM                    JOBNBR            6                                
     C                   PARM                    STS              10                                
     C                   PARM                    ACTSTS            4                                
     C                   PARM                    RUNPTY            2 0                              
     C                   PARM                    SBSD             10                                
      *                                     
     C                   OPEN      QCHKACTJ2                                                        
     C                   MOVEL     JOBNAM        JOB                                                
     C                   MOVEL     USRNAM        USER                                               
     C                   MOVEL     JOBNBR        JOBNO                                              
     C                   MOVEL     STS           JOBSTS                                             
     C                   MOVEL     ACTSTS        ACTSTS                                             
     C                   MOVEL     RUNPTY        RUNPTY                                             
     C                   MOVEL     SBSD          SBSD                                               
     C                   WRITE     CHKACTR                                                          
     C                   CLOSE     QCHKACTJ2                                                        
      *                                     
     C                   SETON                                            LR                        
     C                   RETURN

実行結果

実行結果は↓のようなかんじです。

[Top Pageに戻る]

Ads by TOK2