最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

6.20.投入ジョブの経過時間累積

[ Previous ] [ HOME ] [ Upper ] [ Next ]


バッチジョブの最後に、このコマンドを一発。プログラム名だけを指定してください。そのジョブの経過時間とか、後で役立ちそうな情報をファイル:ZZJOBMPに落とします。サブファイルのサンプルプログラムで見てみてください。開始時間は、ジョブの活動開始時間を取り出して、終了時間は、このコマンドを実行した時間を使っています。

joblog.txt

ログファイル ZZJOBMP
CMD JOBLOG
CLP (CPP) ZZJBLGCL
RPG ZZJBLG
------------
JOBLOG
------------
             CMD        PROMPT('投入ジョブの経過時間累積')
             PARM       KWD(PGM) TYPE(*NAME) LEN(10) MIN(1) +
                          PROMPT('投入されたプログラム名')
------------
ZZJBLG
------------
     H**************************************************************************
     H*                                                                        *
     H*     ジョブ活動履歴セット                                             *
     H*                                                                        *
     H*          PROGRAMMER . . . . . KAKEFUDA                                 *
     H*          CREATION . . . . . . 1996/12/18                               *
     H*          MODIFICATION . . . .                                          *
     H*                                                                        *
     H*                                                                        *
     H**************************************************************************
     H DATEDIT(*YMD/)
     FZZJOBMP   O  A E             DISK
     D***************************************************************************
     D*           D E F I N E    D A T A  - S T R U C T U R E                   *
     D***************************************************************************
     D                 DS                  INZ
     D  DSDTTM                 1     14  0
     D  DSQTIM                 1      6  0
     D  DSQDAT                 7     14  0
     D*
     D USRTV           DS
     D  RCVLEN                 1      4B 0
     D*
     D JBI300          DS
     D  YYJOB                  9     18
     D  YYUSR                 19     28
     D  YYJNO                 29     34
     D  YYJOBQ                63     72
     D  YYJBQL                73     82
     D*
     D JBI400          DS
     D  ENTCEN                63     63
     D  ENTYMD                64     69
     D  ENTHMS                70     75
     D*
     D  ACTCEN                76     76
     D  ACTYMD                77     82
     D  ACTHMS                83     88
     D*
     D  YYSBJB               254    263
     D  YYSBUS               264    273
     D  YYSBJ#               274    279
     D  SBMQNA               280    289
     D***************************************************************************
     D*     D E F I N E    C O N S T A N T                                      *
     D***************************************************************************
     D #J300           C                   CONST('JOBI0300')
     D #J400           C                   CONST('JOBI0400')
     D***************************************************************************
     D*              S T A N D   A L O N E   F I E L D S                        *
     D***************************************************************************
     D*
     D YYMDSTR         S               D
     D HMSSTR          S               T
     D YYMDEND         S               D
     D HMSEND          S               T
     D*
     D W1DAY           S             15  0
     D W1DAYSEC        S             15  0
     D W1SECS          S             15  0
     D W1ELAPSED       S             15  0
     D FMTRCD          S              8
     D IJOBID          S             16
     D JOBINF          S             26
     D W1ELPH          S             15  9
     D W1ELPM          S             15  5
     D W1ELPS          S             15  0
     C***************************************************************************
     C*     DEFINITION  MODULE  ( PLIST   FIELD   KLIST )                       *
     C***************************************************************************
     C*
     C*  DEFINE PLIST
     C*
     C     *ENTRY        PLIST                                                  :
     C                   PARM                    YYPGM                          :
     C                   PARM                    YYTEXT                         :
     C***************************************************************************
     C*             M A I N -  R O U T I N E                                    *
     C***************************************************************************
     C                   EXSR      @300                                         :
     C                   EXSR      @400                                         :
     C*
B001 C                   IF        (NOT *IN95) AND                              :
*001 C                             (NOT *IN96)                                  :
 001 C                   EXSR      @WRT                                         :
E001 C                   ENDIF                                                  :
     C*
     C                   MOVE      *ON           *INLR                          :
     C                   RETURN                                                 :
     C***************************************************************************
     C*             S U B   -  R O U T I N E                                    *
     C***************************************************************************
     C*-------------------------------------------------------------------------*
     C     @300          BEGSR                                                  :
     C*-------------------------------------------------------------------------*
     C                   MOVEL     #J300         FMTRCD                         :
     C                   Z-ADD     82            RCVLEN                         :
     C                   MOVE      *BLANK        IJOBID                         :
     C*
     C                   CALL      'QUSRJOBI'                           95      :
     C                   PARM                    JBI300                         :
     C                   PARM                    RCVLEN                         :
     C                   PARM                    FMTRCD                         :
     C                   PARM      '*'           JOBINF                         :
     C                   PARM                    IJOBID                         :
     C*
     C                   ENDSR                                                  :
     C*-------------------------------------------------------------------------*
     C     @400          BEGSR                                                  :
     C*-------------------------------------------------------------------------*
     C                   MOVEL     #J400         FMTRCD                         :
     C                   Z-ADD     289           RCVLEN                         :
     C*
     C                   CALL      'QUSRJOBI'                           96      :
     C                   PARM                    JBI400                         :
     C                   PARM                    RCVLEN                         :
     C                   PARM                    FMTRCD                         :
     C                   PARM      '*'           JOBINF                         :
     C                   PARM                    IJOBID                         :
     C*
     C                   ENDSR                                                  :
     C*-------------------------------------------------------------------------*
     C     @WRT          BEGSR                                                  :
     C*-------------------------------------------------------------------------*
     C                   MOVE      ENTYMD        YYENTD                         :ジョブ入力日付
     C                   MOVE      ENTHMS        YYENTT                         :ジョブ入力時間
B001 C                   IF        (ENTCEN = '0')                               :
 001 C                   ADD       19000000      YYENTD                         :
+001 C                   ELSE                                                   :
 001 C                   ADD       20000000      YYENTD                         :
E001 C                   ENDIF                                                  :
     C*
     C                   MOVE      ACTYMD        YYJBSD                         :活動開始日付
     C                   MOVE      ACTHMS        YYJBST                         :活動開始時間
B001 C                   IF        (ACTCEN = '0')                               :
 001 C                   ADD       19000000      YYJBSD                         :
+001 C                   ELSE                                                   :
 001 C                   ADD       20000000      YYJBSD                         :
E001 C                   ENDIF                                                  :
     C*
     C                   TIME                    DSDTTM                         :
     C                   MOVE      DSQDAT        YYJBED                         :活動終了日付
     C                   Z-ADD     DSQTIM        YYJBET                         :活動終了時間
     C*
     C                   MOVE      YYJBSD        YYMDSTR                        :
     C                   MOVE      YYJBST        HMSSTR                         :
     C                   MOVE      YYJBED        YYMDEND                        :
     C                   MOVE      YYJBET        HMSEND                         :
     C*
     C*経過時間の計算
     C*
     C     YYMDEND       SUBDUR    YYMDSTR       W1DAY:*D
     C     HMSEND        SUBDUR    HMSSTR        W1SECS:*S
     C     W1DAY         MULT      86400         W1DAYSEC                        24 X 60 X 60
     C                   EVAL      W1ELAPSED  =  W1DAYSEC + W1SECS
     C                   MOVE      W1ELAPSED     W1ELPS                         :経過秒
     C*
     C     W1ELPS        DIV       60            W1ELPM                         :経過分
     C     W1ELPM        DIV       60            W1ELPH                         :経過時間
     C*
     C                   Z-ADD     W1ELPS        YYELPS
     C                   Z-ADD     W1ELPM        YYELPM                         :経過分
     C                   Z-ADD     W1ELPH        YYELPH                         :経過時間
     C*
     C                   WRITE     ZZJOBMR                                      :
     C                   CLEAR                   ZZJOBMR                        :
     C*
     C                   ENDSR                                                  :
------------
ZZJBLGCL
------------
/*------------------------------------------------------------------------*/
/*                                                                        */
/*     ジョブ経過時間スタンプ                                           */
/*                                                                        */
/*          PROGRAMMER . . . . . KAKEFUDA                                 */
/*          CREATION . . . . . . 1996/12/18                               */
/*          MODIFICATION . . . .                                          */
/*                                                                        */
/*                                                                        */
/*------------------------------------------------------------------------*/

PGM  (&PGM)

   DCL  &PGM      *CHAR  10
   DCL  &PGMTEXT  *CHAR  50

   MONMSG CPF0000

 IF (&PGM^=' ') DO
   RTVOBJD &PGM *PGM  TEXT(&PGMTEXT)
   MONMSG CPF0000
               ENDDO

   CALL ZZJBLG (&PGM &PGMTEXT)


RETURN
ENDPGM
------------
ZZJOBMP
------------
     A**************************************************************************
     A*                                                                        *
     A*     投入ジョブ履歴                                                   *
     A*                                                                        *
     A*          PROGRAMMER . . . . . KAKEFUDA                                 *
     A*          CREATION . . . . . . 1996/12/18                               *
     A*          MODIFICATION . . . .                                          *
     A*                                                                        *
     A*                                                                        *
     A**************************************************************************
     A*------------------------------------*
     A          R ZZJOBMR
     A*------------------------------------*
     A            YYJOB         10          COLHDG('ジョブ')
     A            YYUSR         10          COLHDG('ユーザー')
     A            YYJNO          6          COLHDG('ジョブ番号')
     A*
     A            YYENTD         8  0       COLHDG('ジョブ入力日付')
     A                                      EDTWRD('    /  /  ')
     A            YYENTT         6  0       COLHDG('ジョブ入力時間')
     A                                      EDTWRD('  :  :  ')
     A*
     A            YYJBSD         8  0       COLHDG('活動開始日付')
     A                                      EDTWRD('    /  /  ')
     A            YYJBST         6  0       COLHDG('活動開始時間')
     A                                      EDTWRD('  :  :  ')
     A*
     A            YYJBED         8  0       COLHDG('活動終了日付')
     A                                      EDTWRD('    /  /  ')
     A            YYJBET         6  0       COLHDG('活動終了時間')
     A                                      EDTWRD('  :  :  ')
     A*
     A            YYELPS         7  0       COLHDG('経過秒')
     A            YYELPM         9  2       COLHDG('経過分')
     A            YYELPH         9  2       COLHDG('経過時間')
     A*
     A            YYJOBQ        10          COLHDG('ジョブ待ち行列名')
     A            YYJBQL        10          COLHDG('JOBQライブラリー名')
     A            YYSBJB        10          COLHDG('実行依頼元' 'ジョブ')
     A            YYSBUS        10          COLHDG('実行依頼元' 'ユーザー')
     A            YYSBJ#         6          COLHDG('実行依頼元' 'ジョブ')
     A*
     A            YYPGM         10          COLHDG('プログラム')
     A                                      TEXT('自分でセット')
     A            YYTEXT        50          COLHDG('摘要')
     A                                      TEXT('自分でセット')

[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送