星期二, 10月 31, 2023

2001-09-24 如何於 RPG 中取得 Member 的Text Description 及其他相關資訊?(使用 API QUSRMBRD)


如何於 RPG 中取得 Member 的Text Description 及其他相關資訊?(使用 API QUSRMBRD)


File   : QRPGLESRC
Member : RTVMBRDR
Type   : RPGLE
Usage  : CRTBNDRPG RTVMBRDR

     H DEBUG  OPTION(*SRCSTMT:*NODEBUGIO)
     H DFTACTGRP(*NO) ACTGRP(*CALLER)

     D SrcChanged      PR            13P 0
     D   peSrcFile                   10A   const
     D   peSrcLib                    10A   const
     D   peSrcMbr                    10A   const

     D RtnNBR          S             13P 0

     C                   Eval        RtnNBR = SrcChanged('QRPGLESRC' :
     C                                          'CHANCY'    :
     C                                          'RTVMBRDR'   )

     C                   Eval      *InLr = *On

     P SrcChanged      B
     D SrcChanged      PI            13P 0
     D   peSrcFile                   10A   const
     D   peSrcLib                    10A   const
     D   peSrcMbr                    10A   const

     D dsEC            DS
     D  dsECBytesP             1      4I 0 Inz(256)
     D  dsECBytesA             5      8I 0 Inz(0)
     D  dsECMsgID              9     15
     D  dsECReserv            16     16
     D  dsECMsgDta            17    256

     D RtvMbrD         PR                  ExtPgm('QUSRMBRD')
     D   RcvVar                       1A
     D   RcvVarLen                   10I 0 Const
     D   Format                       8A   Const
     D   QualDBF                     20A   Const
     D   Member                      10A   Const
     D   UseOvrDbf                    1A   Const
     D   ErrorCode                    1A

     D dsSM            ds
     D   dsSMBytRtn                  10I 0
     D   dsSMBytAvl                  10I 0
     D   dsSMFilNam                  10A
     D   dsSMFilLib                  10A
     D   dsSMFilMbr                  10A
     D   dsSMFilAtr                  10A
     D   dsSMSrcTyp                  10A
     D   dsSMCrtDat                  13A
     D   dsSMChgDat                  13A
     D   dsSMText                    50A
     D   dsSMSrcFil                   1A

     D wkReturn        s             13P 0

     C                   callp     RtvMbrD(dsSM: %size(dsSM): 'MBRD0100':
     C                             (peSrcFile+peSrcLib):peSrcMbr: '0': dsEC)

     c                   if        dsECBytesA>0
     c                   return    -1
     c                   endif

     c                   testn                   dsSMChgDat           99
     c                   if        *in99 = *off
     c                   return    -2
     c                   endif

     c                   Dsply                   dsSMText
     c                   Dsply                   dsSMChgDat
     c                   move      dsSMChgDat    wkReturn
     c                   return    wkReturn
     P                 E
            


參考資訊

	Retrieve Member Description (QUSRMBRD) API

    http://publib.boulder.ibm.com/pubs/html/as400/v4r5/ic2924/info/apis/qusrmbrd.htm 

沒有留言: