ID #1116

ジャーナル・レシーバー情報のファイル出力

ジャーナル・レシーバーの情報をファイルに出力します。

 
     H DFTACTGRP(*NO) ACTGRP(*CALLER)
     FJRCOUTP   O    E             DISK
     D QJORTVJRNINF...
     D                 PR                  EXTPROC('QjoRetrieveJournal-
     D                                     Information')
     D  RCVVAR                     2048A         OPTIONS(*VARSIZE)
     D  RCVVARLEN                    10I 0 CONST
     D  QJRNNME                      20A   CONST
     D  FORMAT                        8A   CONST
     D  JRNINFRTV                  2048A   CONST OPTIONS(*VARSIZE)
     D  ERRORCODE                   272A         OPTIONS(*VARSIZE: *OMIT)
      *
     D QJORTVJRNRCVINF...
     D                 PR                  EXTPROC('QjoRtvJrnReceiver-
     D                                     Information')
     D  RCVVAR                     2048A         OPTIONS(*VARSIZE)
     D  RCVVARLEN                    10I 0 CONST
     D  QJRNRCVNME                   20A   CONST
     D  FORMAT                        8A   CONST
     D  ERRORCODE                   272A         OPTIONS(*VARSIZE: *OMIT)
      *
     D SNDPGMMSG...
     D                 PR                  EXTPGM('QMHSNDPM')
     D  MSGID                         7A   CONST
     D  QMSGF                        20A   CONST
     D  MSGDTA                     2048A   CONST OPTIONS(*VARSIZE)
     D  MSGDTALEN                    10I 0 CONST
     D  MSGTYPE                      10A   CONST
     D  CALLSTKENT                   10A   CONST
     D  CALLSTKCNT                   10I 0 CONST
     D  MSGKEY                        4A   CONST
     D  ERRORCODE                   272A         OPTIONS(*VARSIZE)
      *
     D MAIN...
     D                 PR
      *
      *
     D RTVJRNRCVINF...
     D                 PR              N
     D  I_JRNRCVNME                  10A   VALUE
     D  I_JRNRCVLIB                  10A   VALUE
     D  O_RCVVAR                   2048A
      *
     D I_QJRNNME       DS
     D  I_JRNNME                     10A
     D  I_JRNLIB                     10A
      *
      *
     C     *ENTRY        PLIST
     C                   PARM                    P_JRNLIB         10
     C                   PARM                    P_JRNNME         10
      *
     C                   EVAL      I_JRNLIB = P_JRNLIB
     C                   EVAL      I_JRNNME = P_JRNNME
      *
     C                   CALLP     MAIN
      *
     C                   EVAL      *INLR = *ON
      *
      *
     P MAIN...
     P                 B
      *
     D MAIN...
     D                 PI
      *
     D RJRN0100        DS
     D  RJ1_BYTRET             1      4B 0 INZ
     D  RJ1_BYTAVL             5      8B 0 INZ
     D  RJ1_OFSKEYINF          9     12B 0 INZ
     D  RJ1_JRNNME            13     22A   INZ
     D  RJ1_JRNLIB            23     32A   INZ
     D  RJ1_AUXSP             33     36B 0 INZ
     D  RJ1_MSGQNME           37     46A   INZ
     D  RJ1_MSGQLIB           47     56A   INZ
     D  RJ1_MGERCVOPT         57     57A   INZ
     D  RJ1_DLTRCVOPT         58     58A   INZ
     D  RJ1_RCVSIZRMV         59     59A   INZ
     D  RJ1_RCVSIZMIN         60     60A   INZ
     D  RJ1_RES_01            61     65A   INZ
     D  RJ1_JRNTYP            66     66A   INZ
     D  RJ1_RMTJRNTYP         67     67A   INZ
     D  RJ1_JRNSTATE          68     68A   INZ
     D  RJ1_JRNDLVMDE         69     69A   INZ
     D  RJ1_LCLJRNNME         70     79A   INZ
     D  RJ1_LCLJRNLIB         80     89A   INZ
     D  RJ1_LCLJRNSYS         90     97A   INZ
     D  RJ1_SRCJRNNME         98    107A   INZ
     D  RJ1_SRCJRNLIB        108    117A   INZ
     D  RJ1_SRCJRNSYS        118    125A   INZ
     D  RJ1_RDRRCVLIB        126    135A   INZ
     D  RJ1_JRNTXT           136    185A   INZ
     D  RJ1_RES_02           186    196A   INZ
     D  RJ1_NBRATTRCV        197    200B 0 INZ
     D  RJ1_ATTRCVNME        201    210A   INZ
     D  RJ1_ATTRCVLIB        211    220A   INZ
     D  RJ1_LCLJNSYAR        221    228A   INZ
     D  RJ1_SRCJNSYAR        229    236A   INZ
     D  RJ1_ATT2RCVNM        237    246A   INZ
     D  RJ1_ATT2RCVLB        247    256A   INZ
     D  RJ1_RES_03           257    448A   INZ
     D  RJ1_NBRKEYS          449    452B 0 INZ
      *
     D RCVVARLEN       S             10I 0 INZ
      *
     D QJRNNME         DS
     D  JRNNME                       10A   INZ
     D  JRNLIB                       10A   INZ
      *
     D FORMAT          S              8A   INZ
      *
     D JRNINFRTV       DS
     D  NBRVARLENREC                 10I 0 INZ
      *
     D RRCV0100        DS          2048
     D  RV1_BYTRET             1      4I 0 INZ
     D  RV1_BYTAVL             5      8I 0 INZ
     D  RV1_JRNRCVNME          9     18A   INZ
     D  RV1_JRNRCVLIB         19     28A   INZ
     D  RV1_JRNNME            29     38A   INZ
     D  RV1_JRNLIB            39     48A   INZ
     D  RV1_THRHLD            49     52I 0 INZ
     D  RV1_SIZE              53     56I 0 INZ
     D  RV1_AUXSP             57     60I 0 INZ
     D  RV1_NBRJRNENT         61     64I 0 INZ
     D  RV1_MAXENTLEN         65     68I 0 INZ
     D  RV1_MAXNULIND         69     72I 0 INZ
     D  RV1_FSTSEQNBR         73     76I 0 INZ
     D  RV1_RES_01            77     80A   INZ
     D  RV1_LSTSEQNBR         81     84I 0 INZ
     D  RV1_RES_02            85     88A   INZ
     D  RV1_STAT              89     89A   INZ
     D  RV1_MINLENVAL         90     90A   INZ
     D  RV1_RES_03            91     95A   INZ
     D  RV1_ATTDATTIM         96    108A   INZ
     D  RV1_DETDATTIM        109    121A   INZ
     D  RV1_SAVDATTIM        122    134A   INZ
     D  RV1_RCVTXT           135    184A   INZ
     D  RV1_PNDTRANS         185    185A   INZ
     D  RV1_RMTJRNTYP        186    186A   INZ
     D  RV1_LCLJRNNME        187    196A   INZ
     D  RV1_LCLJRNLIB        197    206A   INZ
     D  RV1_LCLJRNSYS        207    214A   INZ
     D  RV1_LCLRCVLIB        215    224A   INZ
     D  RV1_SRCJRNNME        225    234A   INZ
     D  RV1_SRCJRNLIB        235    244A   INZ
     D  RV1_SRCJRNSYS        245    252A   INZ
     D  RV1_SRCRCVLIB        253    262A   INZ
     D  RV1_RDRRCVLIB        263    272A   INZ
     D  RV1_2RCVNME          273    282A   INZ
     D  RV1_2RCVLB           283    292A   INZ
     D  RV1_PRVRCVNME        293    302A   INZ
     D  RV1_PRVRCVLIB        303    312A   INZ
     D  RV1_PRV2RCVNM        313    322A   INZ
     D  RV1_PRV2RCVLB        323    332A   INZ
     D  RV1_NXTRCVNME        333    342A   INZ
     D  RV1_NXTRCVLIB        343    352A   INZ
     D  RV1_NXT2RCVNM        353    362A   INZ
     D  RV1_NXT2RCVLB        363    372A   INZ
     D  RV1_RES_04           373    512A   INZ
      *
     D ERRORCODE       DS
     D  ERRBYTPRV                    10I 0 INZ(%SIZE(ERRORCODE))
     D  ERRBYTAVL                    10I 0 INZ
     D  ERREXCID                      7A   INZ
     D  ERRRES_01                     1A   INZ
     D  ERREXCDTA                   256A   INZ
      *
     D QCPFMSG         DS
     D  QCPFMSG_FILE                 10A   INZ('QCPFMSG')
     D  QCPFMSG_LIB                  10A   INZ('QSYS'   )
      *
     D CURRCVNME       S             10A   INZ
     D CURRCVLIB       S             10A   INZ
      *
     D LASTRCVNME      S             10A   INZ
     D LASTRCVLIB      S             10A   INZ
      *
     D RCVCOUNTER      S             10I 0 INZ
      *
     D DATETIME        DS
     D  DTCENT                        1A   INZ
     D  DTDATE                        6A   INZ
     D  DTTIME                        6A   INZ
     D RCVNO           S             10I 0 INZ
      *
     C                   EVAL      RCVCOUNTER = 0
      *
      *  ジャーナル情報の取得
     C                   CLEAR                   RJRN0100
     C                   EVAL      RCVVARLEN    = %SIZE(RJRN0100)
     C                   EVAL      QJRNNME      = I_QJRNNME
     C                   EVAL      FORMAT       = 'RJRN0100'
     C                   EVAL      NBRVARLENREC = 0
      *
     C                   CALLP     QJORTVJRNINF(RJRN0100       :
     C                                          RCVVARLEN      :
     C                                          QJRNNME        :
     C                                          FORMAT         :
     C                                          JRNINFRTV      :
     C                                          ERRORCODE      )
      *
     C                   IF        ERRBYTAVL <> 0
     C                   CALLP     SNDPGMMSG(ERREXCID        :
     C                                       QCPFMSG         :
     C                                       ERREXCDTA       :
     C                                       %SIZE(ERREXCDTA):
     C                                       '*DIAG'         :
     C                                       '*PGMBDY'       :
     C                                       1               :
     C                                       ' '             :
     C                                       ERRORCODE       )
     C                   ENDIF
      *
     C                   EVAL      CURRCVNME = RJ1_ATTRCVNME
     C                   EVAL      CURRCVLIB = RJ1_ATTRCVLIB
      *
      *  最古のレシーバーを取得
     C                   DOW       RTVJRNRCVINF(CURRCVNME :
     C                                          CURRCVLIB :
     C                                          RRCV0100  )
      *
      *  レシーバー数のカウント
     C                   EVAL      RCVCOUNTER = RCVCOUNTER + 1
      *
     C                   EVAL      LASTRCVNME = CURRCVNME
     C                   EVAL      LASTRCVLIB = CURRCVLIB
      *
     C                   EVAL      CURRCVNME  = RV1_PRVRCVNME
     C                   EVAL      CURRCVLIB  = RV1_PRVRCVLIB
      *
     C                   ENDDO
      *
      *  最古のレシーバーからカレント・レシーバーまでをファイル出力
     C                   DOW       RTVJRNRCVINF(LASTRCVNME :
     C                                          LASTRCVLIB :
     C                                          RRCV0100   )
      *
     C                   EVAL      JRJRN    =  RV1_JRNNME
     C                   EVAL      JRJRNL   =  RV1_JRNLIB
     C                   EVAL      JRNORCV  =  RCVCOUNTER
     C                   EVAL      JRRCV    =  RV1_JRNRCVNME
     C                   EVAL      JRRCVL   =  RV1_JRNRCVLIB
     C                   EVAL      DATETIME =  RV1_ATTDATTIM
     C                   EVAL      JRATDA   =  DTDATE
     C                   EVAL      DATETIME =  RV1_DETDATTIM
     C                   EVAL      JRDEDA   =  DTDATE
     C                   EVAL      DATETIME =  RV1_SAVDATTIM
     C                   EVAL      RCVNO    = RCVNO + 1
     C                   EVAL      JRSEQ    = RCVNO
     C                   EVAL      JRSAVE   =  DTDATE
     C                   WRITE     JRCOUTR
     C                   EVAL      LASTRCVNME  = RV1_NXTRCVNME
     C                   EVAL      LASTRCVLIB  = RV1_NXTRCVLIB
     C                   ENDDO
      *
     P MAIN...
     P                 E
      *
      *
      *
      * ***************************************************************
      *  RTVJRNRCVINF
      * ***************************************************************
      *
     P RTVJRNRCVINF...
     P                 B
      *
     D RTVJRNRCVINF...
     D                 PI              N
     D  I_JRNRCVNME                  10A   VALUE
     D  I_JRNRCVLIB                  10A   VALUE
     D  O_RCVVAR                   2048A
      *
     D ISOK            S               N   INZ
      *
     D RCVVAR          S           2048A   INZ
     D RCVVARLEN       S             10I 0 INZ
      *
     D QJRNRCVNME      DS
     D  JRNRCVNME                    10A   INZ
     D  JRNRCVLIB                    10A   INZ
      *
     D FORMAT          S              8A   INZ
      *
     D ERRORCODE       DS
     D  ERRBYTPRV                    10I 0 INZ(%SIZE(ERRORCODE))
     D  ERRBYTAVL                    10I 0 INZ
     D  ERREXCID                      7A   INZ
     D  ERRRES_01                     1A   INZ
     D  ERREXCDTA                   256A   INZ
      *
     C                   CLEAR                   RCVVAR
     C                   EVAL      RCVVARLEN    = %SIZE(RCVVAR)
     C                   EVAL      JRNRCVNME    = I_JRNRCVNME
     C                   EVAL      JRNRCVLIB    = I_JRNRCVLIB
     C                   EVAL      FORMAT       = 'RRCV0100'
     C                   RESET                   ERRORCODE
      *
     C                   CALLP     QJORTVJRNRCVINF(RCVVAR         :
     C                                             RCVVARLEN      :
     C                                             QJRNRCVNME     :
     C                                             FORMAT         :
     C                                             ERRORCODE      )
     C                   IF        ERRBYTAVL = 0
     C                   EVAL      O_RCVVAR = RCVVAR
     C                   EVAL      ISOK     = *ON
     C                   ELSE
     C                   EVAL      O_RCVVAR = ' '
     C                   EVAL      ISOK     = *OFF
     C                   ENDIF
      *
     C                   RETURN    ISOK
      *
     P RTVJRNRCVINF...
     P                 E
      *

     A          R JRCOUTR                   TEXT('JRCOUTP')
     A*
     A            JRJRN         10A         COLHDG('JOURNAL NAME')
     A            JRJRNL        10A         COLHDG('JOURNAL LIBRARY')
     A            JRNORCV        6S 0       COLHDG('レシーバー数')
     A            JRRCV         10A         COLHDG('RECEIVER NAME')
     A            JRRCVL        10A         COLHDG('RECEIVER LIBRARY')
     A            JRSEQ          6S 0       COLHDG('番号')
     A            JRATDA         6A         COLHDG('接続日')
     A            JRDEDA         6A         COLHDG('切断日')
     A            JRSAVE         6A         COLHDG('保管日')

CALL PGM1  ('QSYS' 'QAUDJRN')  
                                          報告書の表示                                                             
                                                                                                   報告書の幅  . . . . . :     118  
  行の位置指定 . . . . . . .                                                                   桁移動  . . . . . . . . . .          
  行    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10....+...11....+...      
        JOURNAL NAME  JOURNAL LIBRARY   レシーバー数   RECEIVER NAME  RECEIVER LIBRARY    番号     接続日    切断日    保管日       
 000001  QAUDJRN        QSYS                     6      AUDRCV1723       JRNLIB               1    101005    101006    101008       
 000002  QAUDJRN        QSYS                     6      AUDRCV1724       JRNLIB               2    101006    101007    101008       
 000003  QAUDJRN        QSYS                     6      AUDRCV1725       JRNLIB               3    101007    101008    101008       
 000004  QAUDJRN        QSYS                     6      AUDRCV1726       JRNLIB               4    101008    101009    101008       
 000005  QAUDJRN        QSYS                     6      AUDRCV1727       JRNLIB               5    101009    101010    000000       
 000006  QAUDJRN        QSYS                     6      AUDRCV1728       JRNLIB               6    101010    000000    000000       
 ****** ********  報告書の終り  ********                                                                                             

タグ: -

関連エントリー: -

最終更新: 2011-10-29 10:17
製作者:
改訂: 1.2

Digg it! Share on Facebook このレコードを印刷する 友達に教える PDF ファイルで表示する
Propose a translation for Propose a translation for
この FAQ を評価してください:

評価点数: 0 (0 件の投票)

完全に役に立たない 1 2 3 4 5 最も価値がある

このエントリーにコメントできません。