星期二, 10月 31, 2023

2001-04-24 使用 RPG 程式中 PSDS資料結構及 Chain OPCODE 之 Error(Low) Indicator 處理 Record Lock 問題



使用 RPG 程式中 PSDS資料結構及 Chain OPCODE 之 Error(Low) Indicator 處理 Record Lock 問題


      *****************************************************************
      * FILE:   QDDSSRC
      * MEMBER: RCDLOCKD  DISPLAY MESSAGE WINDOW
      * TYPE  : DSPF
     A*----------------------------------------------------------------
     A* WINDOW TO SIGNAL LOCKED RECORD
     A*----------------------------------------------------------------
     A          R W1
     A                                      OVERLAY
     A                                      WINDOW(15 1 4 76)
     A                                      WDWBORDER((*DSPATR RI) (*CHAR '    -
     A                                          '))
     A*
     A                                  1 35'ATTENTION :' DSPATR(RI)
     A            MSG           76   O  3  1 DSPATR(HI)
     A*
     A*----------------------------------------------------------------
     A          R RCDDUMMY
     A                                      KEEP ASSUME
     A                                  1  3' '

      *****************************************************************
      * FILE:   QRPGLESRC
      * MEMBER: RCDLOCKR  RETRIEVE RECORD LOCK MESSAGE SAMPLE
      * TYPE  : RPGLE
      *
      *****************************************************************
     H DEBUG  OPTION(*SRCSTMT:*NODEBUGIO)

     FFilea01l  uf   e           k disk
     fRcdLockd  cf   e             workstn
      * . . . . . . .
      * . . . . . . .
      * . . . . . . .
      * . . . . . . .
      * Program status data structure --------------
     D                SDS
     D  ExcpData              91    170
      *----------------------------------------------------------------
      * . . . . . . . you can use the Error Indicator *In98
      * . . . . . . . or Use %Error(Filea) for error condition check
      * . . . . . . .
      *----------------------------------------------------------------
     C                   dou       *in99 = *off
     C     Key1          chain     Filea                              9998
     C                   if        *in98 = *on
     C*                  if        %error(filea)
     C                   eval      msg = %subst(ExcpData : 1 : 76)
     C                   exfmt     w1
     C                   endif
     C                   enddo
     C*
      * . . . . . . .
      * . . . . . . .


沒有留言: