星期四, 11月 09, 2023

2013-09-14 擷取 Data queue 物件定義 command RTVDTAQD(Command RTVDTAQD with Retrieve Data Queue Description (QMHQRDQD) API)


擷取 Data queue 物件定義 command RTVDTAQD(Command RTVDTAQD with Retrieve Data Queue Description (QMHQRDQD) API)

File  : QCLSRC

Member: RTVDTAQD

Type  : CLP

Usage : CRTCLPGM RTVDTAQD



/*-------------------------------------------------------------------*/
/*                                                                   */
/*  Program . . : RTVDTAQD CPP                                       */
/*  Description : Retrieve data queue description                    */
/*  Author  . . : Vengoal Chang                                      */
/*  Published . : AS400ePaper                                        */
/*  Date  . . . : September 11,2013                                  */
/*  Date Changed: September 16,2013 add parameter RclTime            */
/*                                                                   */
/*  Program function:  RTVDTAQD   command processing program         */
/*                                                                   */
/*                                                                   */
/*  Program summary                                                  */
/*  ---------------                                                  */
/*                                                                   */
/*  Work management APIs:                                            */
/*    QMHQRDQD       Retrieve data queue description                 */
/*                                                                   */
/*    QWCCVTDT       Convert Date and Time Format                    */
/*                                                                   */
/*  Compile options:                                                 */
/*    CrtClPgm   Pgm( RTVDTAQD )                                     */
/*               SrcFile( QCLSRC )                                   */
/*               SrcMbr( *PGM )                                      */
/*                                                                   */
/*-------------------------------------------------------------------*/
    Pgm   ( &FullDtaQ             +
            &RtnLib               +
            &Type                 +
            &MaxLen               +
            &Force                +
            &Seq                  +
            &KeyLen               +
            &SndrId               +
            &MaxEntSpc            +
            &MaxNbrEnt            +
            &InlNbrEnt            +
            &AutoRcl              +
            &Text                 +
            &CurNbrAlc            +
            &NbrOfEnt             +
            &EnFrcLock            +
            &RclTime              +
            &RmtDtaq              +
            &RmtDtaqL             +
            &RmtLocName           +
            &Dev                  +
            &LclLocName           +
            &Mode                 +
            &RmtNetId             +
            &RmtDbName            +
          )

    Dcl   &FullDtaq   *Char    20
    Dcl   &Dtaq       *Char    10
    Dcl   &Lib        *Char    10
    Dcl   &RtnLib     *Char    10
    Dcl   &RtnLibp    *Char    10
    Dcl   &Type       *Char     4
    Dcl   &Typep      *Char     4
    Dcl   &MaxLen     *Dec    ( 5 0 )
    Dcl   &MaxLenp    *Dec    ( 5 0 )
    Dcl   &Force      *Char     4
    Dcl   &Forcep     *Char     4
    Dcl   &Seq        *Char     6
    Dcl   &Seqp       *Char     6
    Dcl   &KeyLen     *Dec    ( 5 0 )
    Dcl   &KeyLenp    *Dec    ( 5 0 )
    Dcl   &SndrId     *Char     4
    Dcl   &SndrIdp    *Char     4
    Dcl   &NbrOfEnt   *Dec    ( 9 0 )
    Dcl   &NbrOfEntp  *Dec    ( 9 0 )
    Dcl   &CurNbrAlc  *Dec    ( 9 0 )
    Dcl   &CurNbrAlcp *Dec    ( 9 0 )
    Dcl   &MaxNbrEntp *Dec    ( 9 0 )
    Dcl   &MaxNbrEnt  *Dec    ( 9 0 )
    Dcl   &InlNbrEntp *Dec    ( 9 0 )
    Dcl   &InlNbrEnt  *Dec    ( 9 0 )
    Dcl   &MaxEntSpcp *Dec    ( 9 0 )
    Dcl   &MaxEntSpc  *Char     9
    Dcl   &AutoRcl    *Char     4
    Dcl   &AutoRclp   *Char     4
    Dcl   &EnFrcLock  *Char     4
    Dcl   &EnFrcLockp *Char     4
    Dcl   &Text       *Char    50
    Dcl   &Textp      *Char    50
    Dcl   &RclTime    *Char    20
    Dcl   &RclTimep   *Char    20
    Dcl   &Textp      *Char    50
    Dcl   &DtsNULL    *Char     8     X'0000000000000000'
    Dcl   &RclDts     *Char     8

/* Format RDQD0200 fields */
    Dcl   &RmtDtaq    *Char    10
    Dcl   &RmtDtaqp   *Char    10
    Dcl   &RmtDtaqL   *Char    10
    Dcl   &RmtDtaqLp  *Char    10
    Dcl   &RmtLocName *Char     8
    Dcl   &RmtLocNamp *Char     8
    Dcl   &Dev        *Char    10
    Dcl   &Devp       *Char    10
    Dcl   &LclLocName *Char     8
    Dcl   &LclLocNamp *Char     8
    Dcl   &Mode       *Char     8
    Dcl   &Modep      *Char     8
    Dcl   &RmtNetId   *Char     8
    Dcl   &RmtNetIdp  *Char     8
    Dcl   &RmtDbName  *Char    18
    Dcl   &RmtDbNamep *Char    18

    Dcl   &RcvR       *Char   120
    Dcl   &RcvRLen    *Char     4

    MonMsg     CPF0000       *N    GoTo Error

    ChgVar     &Dtaq         %SST( &FullDtaq  1 10 )
    ChgVar     &Lib          %SST( &FullDtaq 11 10 )
    ChkObj     Obj(&Lib/&Dtaq) ObjType(*Dtaq)
    IF  (( &Lib *EQ '*LIBL' )    *OR +
         ( &Lib *EQ '*CURLIB' ))   Do
    RtvObjD    Obj(&Lib/&Dtaq) ObjType(*DTAQ) RtnLib(&LIB)
    EndDo

    ChgVar     %BIN( &RcvrLen 1 4 )  120

/* Get format RDQD0100 fields */
    Call       QMHQRDQD    ( &RcvR                    +
                             &RcvRLen                 +
                             RDQD0100                 +
                             &FullDtaq                +
                           )

    ChgVar     &MaxLenp      %BIN( &Rcvr 9 4 )

    If  ( %SST(&RcvR 17 1) *EQ 'K' ) DO
    ChgVar     &KeyLenp      %BIN( &RcvR 13 4 )
    ChgVar     &Seqp         '*KEYED'
    EndDo

    Else Do
    If  ( %SST(&RcvR 17 1) *EQ 'L' )   +
    ChgVar     &Seqp         '*LIFO'
    Else                               +
    ChgVar     &Seqp         '*FIFO'
    EndDo

    If  ( %SST(&RcvR 18 1) *EQ 'N' )   +
          ChgVar &SndrIdp '*NO'
    Else Do
    If  ( %SST(&RcvR 18 1) *EQ 'Y' )   +
          ChgVar &SndrIdp '*YES'
    EndDo

    If  ( %SST(&RcvR 19 1) *EQ 'N' )   +
          ChgVar &Forcep  '*NO'
    Else Do
    If  ( %SST(&RcvR 19 1) *EQ 'Y' )   +
          ChgVar &Forcep  '*YES'
    EndDo

    If  ( %SST(&RcvR 70 1) *EQ '0' )   +
          ChgVar &Typep   '*STD'
    Else                               +
          ChgVar &Typep   '*DDM'

    If  ( %SST(&RcvR 71 1) *EQ '0' )   +
          ChgVar &AutoRclp '*NO'
    Else Do
    If  ( %SST(&RcvR 71 1) *EQ '1' )   +
          ChgVar &AutoRclp '*YES'
    EndDo

    If  ( %SST(&RcvR 72 1) *EQ '0' )   +
          ChgVar &EnFrcLockp '*NO'
    Else Do
    If  ( %SST(&RcvR 72 1) *EQ '1' )   +
          ChgVar &EnFrcLockp '*YES'
    EndDo

    ChgVar     &NbrOfEntp  %BIN( &RcvR  73  4 )
    ChgVar     &CurNbrAlcp %BIN( &RcvR  77  4 )
    ChgVar     &MaxNbrEntp %BIN( &RcvR 101  4 )
    ChgVar     &InlNbrEntp %BIN( &RcvR 105  4 )
    ChgVar     &Textp      %SST( &RCVR  20 50 )
    ChgVar     &MaxEntSpcp %BIN( &RcvR 109  4 )

    If       ( &MaxEntSpcp *EQ -1 ) Do
    ChgVar     &MaxEntSpc  '*MAX16MB'
    MonMsg     MsgId(MCH3601)
    EndDo
    Else Do
    If       ( &MaxEntSpcp *EQ -2 ) Do
    ChgVar     &MaxEntSpc  '*MAX2GB'
    MonMsg     MsgId(MCH3601)
    EndDo
    EndDo
    If       ( &MaxEntSpcp *EQ  0 ) Do
    ChgVar     &MaxEntSpc  ' '
    MonMsg     MsgId(MCH3601)
    EndDo

    ChgVar     &RclDts       %SST(&RCVR 113 8)
    If (&RclDts *NE &DtsNull) Do
    Call       QWCCVTDT    ( '*DTS'             +
                              &RclDts            +
                              '*YYMD'            +
                              &RclTimep          +
                              x'00000000'        +
                           )
    EndDo

    ChgVar     &RtnLib       &Lib
    MonMsg     MsgId(MCH3601)
    ChgVar     &Type         &Typep
    MonMsg     MsgId(MCH3601)
    ChgVar     &MaxLen       &MaxLenp
    MonMsg     MsgId(MCH3601)
    ChgVar     &Force        &Forcep
    MonMsg     MsgId(MCH3601)
    ChgVar     &Seq          &Seqp
    MonMsg     MsgId(MCH3601)
    ChgVar     &KeyLen       &KeyLenp
    MonMsg     MsgId(MCH3601)
    ChgVar     &SndrId       &SndrIdp
    MonMsg     MsgId(MCH3601)
    ChgVar     &MaxNbrEnt    &MaxNbrEntp
    MonMsg     MsgId(MCH3601)
    ChgVar     &InlNbrEnt    &InlNbrEntp
    MonMsg     MsgId(MCH3601)
    ChgVar     &AutoRCL      &AutoRCLp
    MonMsg     MsgId(MCH3601)
    ChgVar     &Text         &Textp
    MonMsg     MsgId(MCH3601)
    ChgVar     &NbrOfEnt     &NbrOfEntp
    MonMsg     MsgId(MCH3601)
    ChgVar     &CurNbrAlc    &CurNbrAlcp
    MonMsg     MsgId(MCH3601)
    ChgVar     &EnFrcLock    &EnFrcLockp
    MonMsg     MsgId(MCH3601)
    ChgVar     &RclTime      &RclTimep
    MonMsg     MsgId(MCH3601)

    If (&Type *EQ '*DDM') Do
/* Get format RDQD0200 fields */
    ChgVar     &RcvR         *BLANKS
    ChgVar     %BIN( &RcvrLen 1 4 )  120
    Call       QMHQRDQD    ( &RcvR                    +
                             &RcvRLen                 +
                             RDQD0200                 +
                             &FullDtaq                +
                           )

    ChgVar     &RmtDtaqp   %SST( &RCVR  51 10 )
    ChgVar     &RmtDtaqLp  %SST( &RCVR  61 10 )
    ChgVar     &RmtLocNamp %SST( &RCVR  27  8 )
    ChgVar     &Devp       %SST( &RCVR   9 10 )
    ChgVar     &LclLocNamp %SST( &RCVR  35  8 )
    ChgVar     &Modep      %SST( &RCVR  19  8 )
    ChgVar     &RmtNetIdp  %SST( &RCVR  43  8 )
    ChgVar     &RmtDbNamep %SST( &RCVR  91 18 )

    ChgVar     &RmtDtaq    &RmtDtaqp
    MonMsg     MsgId(MCH3601)
    ChgVar     &RmtDtaqL   &RmtDtaqLp
    MonMsg     MsgId(MCH3601)
    ChgVar     &RmtLocName &RmtLocNamp
    MonMsg     MsgId(MCH3601)
    ChgVar     &Dev        &Devp
    MonMsg     MsgId(MCH3601)
    ChgVar     &LclLocName &LclLocNamp
    MonMsg     MsgId(MCH3601)
    ChgVar     &Mode       &Modep
    MonMsg     MsgId(MCH3601)
    ChgVar     &RmtNetId   &RmtNetIdp
    MonMsg     MsgId(MCH3601)
    ChgVar     &RmtDbName  &RmtDbNamep
    MonMsg     MsgId(MCH3601)

    EndDo

    Return

Error:
    Call       QMHMOVPM    ( '    '                   +
                             '*DIAG'                  +
                             x'00000001'              +
                             '*PGMBDY'                +
                             x'00000001'              +
                             x'0000000800000000'      +
                           )

    Call       QMHRSNEM    ( '    '                   +
                              x'0000000800000000'     +
                           )

EndPgm:
    EndPgm



File  : QPNLSRC

Member: RTVDTAQDH

Type  : PNLGRP

Usage : CRTPNLGRP PNLGRP(RTVDTAQDH)


.*-----------------------------------------------------------------------**
.*
.*  Compile options:
.*
.*    CrtPnlGrp PnlGrp( RTVDTAQDH )
.*              SrcFile( QPNLSRC )
.*              SrcMbr( *PNLGRP )
.*
.*-----------------------------------------------------------------------**
:PNLGRP.
:HELP NAME='RTVDTAQD'.Retrieve Data Queue Desc - Help
:P.
The Retrieve Data Queue Desc (RTVDTAQD) command returns information
about specified data queue description.
:P.
The data queue description retrieved with API QMHQRDQD format RDQD0100
and RDQD0200.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/DTAQ'.Data queue(DTAQ) - Help
:XH3.Data queue(DTAQ)
:P.
Specifies which data queue whose description should be returned.
:EHELP.
:HELP NAME='RTVDTAQD/RTNLIB'.CL var for RTNLIB       (10) (RTNLIB) - Help
:XH3.CL var for RTNLIB       (10) (RTNLIB)
:P.
Specifies a 10-character variable used to return the name of the library
that contains the object.
:P.
In CL programs, this should be a 10-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/TYPE'.CL var for TYPE          (4) (TYPE) - Help
:XH3.CL var for TYPE          (4) (TYPE)
:P.
Specifies the name of a variable used to retrieve the data queue type.
:P.
In CL programs, this should be a 4-character variable.
:P.
Possible return values:
:DL.
:DT.'*STD':DD.Local data queue.
:DT.'*DDM':DD.Remote data queue.
:EDL.
:EHELP.
:HELP NAME='RTVDTAQD/MAXLEN'.CL var for MAXLEN    (5 0) (MAXLEN) - Help
:XH3.CL var for MAXLEN      (5 0) (MAXLEN)
:P.
Specifies the name of a variable used to retrieve the maximum entry length.
:P.
In CL programs, this should be a 5-position decimal variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/FORCE'.CL var for FORCE         (4) (FORCE) - Help
:XH3.CL var for FORCE         (4) (FORCE)
:P.
Specifies the name of a variable used to retrieve whether force to auxiliary
storage or not.
:P.
In CL programs, this should be a 4-character variable.
:P.
Possible return values:
:DL.
:DT.'*YES':DD.Send and receive operations are immediately forced to storage.
:DT.'*NO' :DD.Send and receive operations are not immediately forced to storage.
:EDL.
:EHELP.
:HELP NAME='RTVDTAQD/SEQ'     .CL var for SEQ           (6) (SEQ) - Help
:XH3.CL var for SEQ           (6) (SEQ)
:P.
Specifies the name of a variable used to retrieve the sequence in which
entries are received from data queue.
:P.
In CL programs, this should be a 6-character variable.
:P.
Possible return values:
:DL.
:DT.'*FIFO':DD.
:DT.'*LIFO':DD.
:DT.'*KEYED':DD.
:EDL.
:EHELP.
:HELP NAME='RTVDTAQD/KEYLEN'.CL var for KEYLEN    (5 0) (KEYLEN) - Help
:XH3.CL var for KEYLEN      (5 0) (KEYLEN)
:P.
Specifies the name of a variable used to retrieve the number of
characters in the key.
:P.
In CL programs, this should be a 5-position decimal variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/SENDERID'.CL var for SENDERID      (4) (SENDERID) - Help
:XH3.CL var for SENDERID      (4) (SENDERID)
:P.
Specifies the name of a variable used to retrieve whether include sender ID
or not.
:P.
In CL programs, this should be a 4-character variable.
:P.
Possible return values:
:DL.
:DT.'*YES':DD.
:DT.'*NO' :DD.
:EDL.
:EHELP.
:HELP NAME='RTVDTAQD/MAXENTSPC'.CL var for MAXENTSPC     (9) (MAXENTSPC)- Help
:XH3.CL var for MAXENTSPC     (9) (MAXENTSPC)
:P.
Specifies the name of a variable used to retrieve the maximum number of
entries specified in CRTDTAQ SIZE parameter.
:P.
In CL programs, this should be a 9-character variable.
:P.
Possible return values:
:DL.
:DT.'*MAX16MB':DD.
:DT.'*MAX2GB':DD.
:EDL.
:EHELP.
:HELP NAME='RTVDTAQD/MAXNBRENT'.CL var for MAXNBRENT   (9 0) (MAXNBRENT)- Help
:XH3.CL var for MAXNBRENT   (9 0) (MAXNBRENT)
:P.
Specifies the name of a variable used to retrieve the maximum number of
entries specified in CRTDTAQ SIZE parameter.
:P.
In CL programs, this should be a 9-position decimal variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/INLNBRENT'.CL var for INLNBRENT   (9 0) (INLNBRENT)- Help
:XH3.CL var for INLNBRENT   (9 0) (INLNBRENT)
:P.
Specifies the name of a variable used to retrieve the initial number of
entries specified in CRTDTAQ SIZE parameter.
:P.
In CL programs, this should be a 9-position decimal variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/AUTORCL'.CL var for AUTORCL       (4) (AUTORCL) - Help
:XH3.CL var for AUTORCL       (4) (AUTORCL)
:P.
Specifies the name of a variable used to retrieve whether automatic reclaim
or not.
:P.
In CL programs, this should be a 4-character variable.
:P.
Possible return values:
:DL.
:DT.'*YES':DD.
:DT.'*NO' :DD.
:EDL.
:EHELP.
:HELP NAME='RTVDTAQD/TEXT'.CL var for TEXT         (50) (TEXT) - Help
:XH3.CL var for TEXT         (50) (TEXT)
:P.
Specifies the name of a variable used to retrieve the data queue
text description.
:P.
In CL programs, this should be a 50-character variable.
:EHELP.
:HELP NAME='RTVDTAQD/NBROFALC'.CL var for NBROFALC    (9 0) (NBROFALC) - Help
:XH3.CL var for NBROFALC    (9 0) (NBROFALC)
:P.
Specifies the name of a variable used to retrieve the number of entries
currently allocated.
:P.
In CL programs, this should be a 9-position decimal variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/NBROFENT'.CL var for NBROFENT    (9 0) (NBROFENT) - Help
:XH3.CL var for NBROFENT    (9 0) (NBROFENT)
:P.
Specifies the name of a variable used to retrieve the number of entries
currently in the data queue.
:P.
In CL programs, this should be a 9-position decimal variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/ENFRCLOCK'.CL var for ENFRCLOCK     (4) (ENFRCLOCK) - Help
:XH3.CL var for ENFRCLOCK     (4) (ENFRCLOCK)
:P.
An optional return  variable that will contain a *YES or *NO for whether
an IBM supported data queue will enforce a lock. This value cannot be
specified on CRTDTAQ.
:P.
In CL programs, this should be a 4-character variable.
:P.
Possible return values:
:DL.
:DT.'*YES':DD.
:DT.'*NO' :DD.
:EDL.
:EHELP.
:HELP NAME='RTVDTAQD/LASTRCLTIM'.CL var for LASTRCLTIM   (20) (LASTRCLTIM) - Help
:XH3.CL var for LASTRCLTIM   (20) (LASTRCLTIM)
:P.
An optional return  variable that will contain last reclaim date and
time with format YYYYMMDDHHmmSSsss.
:P.
In CL programs, this should be a 20-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/RMTDTAQ'.CL var for RMTDTAQ      (10) (RMTDTAQ) - Help
:XH3.CL var for RMTDTAQ      (10) (RMTDTAQ)
:P.
An optional return variable that will contain. For TYPE(*STD) data queue,
this field will be blank.
:P.
In CL programs, this should be a 10-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/RMTDTAQL'.CL var for RMTDTAQL     (10) (RMTDTAQL) - Help
:XH3.CL var for RMTDTAQL     (10) (RMTDTAQL)
:P.
An optional return variable that will contain the name of the remote data
queue library. For TYPE(*STD) data queue, this field will be blank.
:P.
In CL programs, this should be a 10-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/RMTLOCNAME'.CL var for RMTLOCNAME    (8) (RMTLOCNAME) - Help
:XH3.CL var for RMTLOCNAME    (8) (RMTLOCNAME)
:P.
An optional return variable that will contain the name of the remote location
name. For TYPE(*STD) data queue, this field will be blank.
:P.
In CL programs, this should be a 8-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/DEV'.CL var for DEV           (8) (DEV) - Help
:XH3.CL var for DEV           (8) (DEV)
:P.
An optional return variable that will contain the name of the APPC device
name. For TYPE(*STD) data queue, this field will be blank.
:P.
In CL programs, this should be a 8-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/LCLLOCNAME'.CL var for LCLLOCNAME    (8) (LCLLOCNAME) - Help
:XH3.CL var for LCLLOCNAME    (8) (LCLLOCNAME)
:P.
An optional return variable that will contain the name of the local location
name. For TYPE(*STD) data queue, this field will be blank.
:P.
In CL programs, this should be a 8-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/MODE'.CL var for MODE          (8) (MODE) - Help
:XH3.CL var for MODE          (8) (MODE)
:P.
An optional return variable that will contain the mode.
For TYPE(*STD) data queue, this field will be blank.
:P.
In CL programs, this should be a 8-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/RMTNETID'.CL var for RMTNETID      (8) (RMTNETID) - Help
:XH3.CL var for RMTNETID      (8) (RMTNETID)
:P.
An optional return variable that will contain remote network identifier.
For TYPE(*STD) data queue, this field will be blank.
:P.
In CL programs, this should be a 8-character variable.
:P.
:EHELP.
:HELP NAME='RTVDTAQD/RMTDBNAME'.CL var for RMTDBNAME    (18) (RMTDBNAME) - Help
:XH3.CL var for RMTDBNAME    (18) (RMTDBNAME)
:P.
An optional return variable that will contain remote database name.
For TYPE(*STD) data queue, this field will be blank.
:P.
In CL programs, this should be a 18-character variable.
:P.
:EHELP.
:EPNLGRP.




File  : QCMDSRC

Member: RTVDTAQD

Type  : CMD

Usage : CRTCMD CMD(RTVDTAQD) PGM(RTVDTAQD)


/*  ===============================================================  */
/*  = Command....... RTVDTAQD                                     =  */
/*  = CPP........... RTVDTAQD CLP                                 =  */
/*  =                                                             =  */
/*  = Description...                                              =  */
/*  =  Retrieve data queue description command retrieves the      =  */
/*  =  attributes of a data queue (not the entries)               =  */
/*  =  the API QMHQRDQD is used.                                  =  */
/*  =                                                             =  */
/*  = CrtCmd      Cmd( RtvDtaqD  )                                =  */
/*  =             Pgm( RtvDtaqD   )                               =  */
/*  =             SrcFile( YourSourceFile )                       =  */
/*  =             Allow ( *Ipgm *Bpgm )                           =  */
/*  =             HlpPnlGrp( RTVDTAQDH )                          =  */
/*  =             HlpId( *CMD )                                   =  */
/*  ===============================================================  */
/*  = Date  : 2013/09/11                                          =  */
/*  = Author: Vengoal Chang                                       =  */
/*  ===============================================================  */
/*  = Date modify: 2013/09/16 add parameter LASTRCLTIM            =  */
/*  ===============================================================  */

             Cmd        Prompt( 'Rtv Data Queue Description' )

             Parm       Kwd( Dtaq )                                 +
                        Type( Qual1 )                               +
                        Min( 1 )                                    +
                        Prompt('Data queue' )

             Parm       Kwd( RtnLib )                               +
                        Type( *Char )                               +
                        Len( 10 )                                   +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for RTNLIB       (10) .' )

/*  ===============================================================  */
/*  = Type  - Type of data queue                                  =  */
/*  =         *STD, *DDM                                          =  */
/*  ===============================================================  */
             Parm       Kwd( Type )                                 +
                        Type( *Char )                               +
                        Len( 4 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for TYPE          (4) .' )

/*  ===============================================================  */
/*  = MaxLen- Maximum entry length                                =  */
/*  ===============================================================  */
             Parm       Kwd( MaxLen )                               +
                        Type( *Dec )                                +
                        Len( 5 0 )                                  +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for MAXLEN      (5 0) .' )

/*  ===============================================================  */
/*  = Force - Force to auxiliary storage                          =  */
/*  =         *YES, *NO                                           =  */
/*  ===============================================================  */
             Parm       Kwd( Force )                                +
                        Type( *Char )                               +
                        Len( 4 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for FORCE         (4) .' )

/*  ===============================================================  */
/*  = Seq - *FIFO, *LIFO, *KEYED                                  =  */
/*  ===============================================================  */
             Parm       Kwd( Seq )                                  +
                        Type( *Char )                               +
                        Len( 6 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for SEQ           (6) .' )
/*  ===============================================================  */
/*  = KeyLen- Key length                                          =  */
/*  ===============================================================  */
             Parm       Kwd( KeyLen )                               +
                        Type( *Dec )                                +
                        Len( 5 0 )                                  +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for KEYLEN      (5 0) .' )
/*  ===============================================================  */
/*  = SenderId - Include sender ID                                =  */
/*  =            *YES, *NO                                        =  */
/*  ===============================================================  */
             Parm       Kwd( SenderId )                             +
                        Type( *Char )                               +
                        Len( 4 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for SENDERID      (4) .' )
/*  ===============================================================  */
/*  = MaxEntSpc- Maximum number of entries specified              =  */
/*  =            *MAX16MB, *MAX2GB                                =  */
/*  ===============================================================  */
             Parm       Kwd( MaxEntSpc )                            +
                        Type( *Char )                               +
                        Len( 9 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for MAXENTSPC     (9) .' )
/*  ===============================================================  */
/*  = MaxNbrEnt- Maximum number of entries alloweded              =  */
/*  ===============================================================  */
             Parm       Kwd( MaxNbrEnt )                            +
                        Type( *Dec )                                +
                        Len( 9 0 )                                  +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for MAXNBRENT   (9 0) .' )
/*  ===============================================================  */
/*  = InlNbrEnt- Initial number of entries                        =  */
/*  ===============================================================  */
             Parm       Kwd( InlNbrEnt )                            +
                        Type( *Dec )                                +
                        Len( 9 0 )                                  +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for INLNBRENT   (9 0) .' )
/*  ===============================================================  */
/*  = AutoRcl  - Automatic Reclaim                                =  */
/*  =            *YES, *NO                                        =  */
/*  ===============================================================  */
             Parm       Kwd( AutoRcl )                              +
                        Type( *Char )                               +
                        Len( 4 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for AUTORCL       (4) .' )

             Parm       Kwd( Text )                                 +
                        Type( *Char )                               +
                        Len( 50 )                                   +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for TEXT         (50) .' )
/*  ===============================================================  */
/*  = NbrOfAlc - Number of entries currently allocated            =  */
/*  ===============================================================  */
             Parm       Kwd( NbrOfAlc )                             +
                        Type( *Dec )                                +
                        Len( 9 0 )                                  +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for NBROFALC    (9 0) .' )
/*  ===============================================================  */
/*  = NbrOfMsg - Number of entries currently                      =  */
/*  ===============================================================  */
             Parm       Kwd( NbrOfEnt )                             +
                        Type( *Dec )                                +
                        Len( 9 0 )                                  +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for NBROFENT    (9 0) .' )
/*  ===============================================================  */
/*  = EnFrcLock- Enforce lock                                     =  */
/*  =            *YES, *NO                                        =  */
/*  ===============================================================  */
             Parm       Kwd( EnFrcLock )                            +
                        Type( *Char )                               +
                        Len( 4 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for ENFRCLOCK     (4) .' )

/*  ===============================================================  */
/*  = LastRclTim - Last reclaim date and time                     =  */
/*  ===============================================================  */
             Parm       Kwd( LastRclTim )                           +
                        Type( *Char )                               +
                        Len( 20 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for LASTRCLTIM   (20) .' )

             Parm       Kwd( RmtDtaq )                              +
                        Type( *Char )                               +
                        Len( 10 )                                   +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for RMTDTAQ      (10) .' )

             Parm       Kwd( RmtDtaqL )                             +
                        Type( *Char )                               +
                        Len( 10 )                                   +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for RMTDTAQL     (10) .' )

             Parm       Kwd( RmtLocName )                           +
                        Type( *Char )                               +
                        Len( 8 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for RMTLOCNAME    (8) .' )

             Parm       Kwd( Dev )                                  +
                        Type( *Char )                               +
                        Len( 10 )                                   +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for DEV          (10) .' )

             Parm       Kwd( LclLocName )                           +
                        Type( *Char )                               +
                        Len( 8 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for LCLLOCNAME    (8) .' )

             Parm       Kwd( Mode )                                 +
                        Type( *Char )                               +
                        Len( 8 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for MODE          (8) .' )

             Parm       Kwd( RmtNetId )                             +
                        Type( *Char )                               +
                        Len( 8 )                                    +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for RMTNETID      (8) .' )

             Parm       Kwd( RmtDbName )                            +
                        Type( *Char )                               +
                        Len( 18 )                                   +
                        Rtnval( *Yes )                              +
                        Prompt( 'CL var for RMTDBNAME    (18) .' )

 Qual1:      Qual       Type( *Name )                               +
                        Expr( *Yes )
             Qual       Type( *Name )                               +
                        Dft( *Libl )                                +
                        Spcval(( *Libl ) ( *CurLib ))               +
                        Expr( *Yes )                                +
                        Prompt( 'Library' )







參考資訊:

Retrieve Data Queue Description (QMHQRDQD) API




沒有留言: