rs6000のWiki - ILE-RPG ジョブが対話式か調べる

ILE-RPG ジョブが対話式か調べる

SystemiNetworkにあったサンプル

INTERACT.RPGLE

ソース
     H NoMain

     D pInteractive    PR              N
     D  DummyPrm                      1    Options( *Omit )

     P pInteractive    B                   Export

     D pInteractive    PI              N
     D  DummyPrm                      1    Options( *Omit )

      * Local variables
     D RetdInfDs       DS
     D                                4
     D                               10I 0 Inz( %Size( RetdInfDs ) )
     D  RiJobType             61     61
     D  RiTypeInteractive...
     D                 C                   'I'

     D LenRetdInf      S             10I 0 Inz( %Size( RetdInfDs ) )
     D FmtName         S              8    Inz( 'JOBI0100' )
     D QlJobName       S             26    Inz( '*' )
     D IntJobId        S             16    Inz( *Blank )

     C                   Call      'QUSRJOBI'
     C                   Parm                    RetdInfDs
     C                   Parm                    LenRetdInf
     C                   Parm                    FmtName
     C                   Parm                    QlJobName
     C                   Parm                    IntJobId

     C                   If        RiJobType = RiTypeInteractive
     C                   Return    *On
     C                   Else
     C                   Return    *Off
     C                   EndIf

     P pInteractive    E
コンパイル
PDMで15
CRTSRVPGM SRVPGM(INTERACT) EXPORT(*ALL)

INTERTST.RPGLE

ソース
     D DummyVar        S              1
     D pInteractive    PR              N
     D  DummyPrm                      1    Options( *Omit )
     C                   If        pInteractive( *Omit )
     C     'Interactive' Dsply                   DummyVar
     C                   EndIf

     C                   If        Not pInteractive( *Omit )
     C     'Batch'       Dsply
     C                   Endif
     C                   SETON                                        LR
     C                   RETURN 
コンパイル
PDMで15
CRTPGM PGM(INTERTST) BNDSRVPGM(INTERACT) ACTGRP(*CALLER)