星期三, 11月 01, 2023

2001-11-14 工具:CHGNETAPOP

工具:CHGNETAPOP

當使用指令 CHGNETA 時,有許多參數值均是顯示“*SAME“,若您要知道現有設定值為何值時,
您就須執行 DSPNETA 顯示 AS/400 網路屬性,如此ㄧ來顯得很麻煩,可利用 AS/400 指令參數 PMTOVRPGM,
設定指令顯示時的初設值,底下範例供您參考,您可依 AS/400 的版本更改成您自己的版本。
            

File   : QCLSRC
Member : CHGNETAPOP
Type   : CLP
Usage  : CRTCLPGM PGM(QUSRSYS/CHGNETAPOP)
         CHGCMD CMD(QSYS/CHGNETA) PMTOVRPGM(QUSRSYS/CHGNETAPOP)
         
/*********************************************************************/
/*  Program Name: CHGNETAPOP  Network Attributes prompt override pgm */
/*  Source Name : QGPL/QCLSRC(CHGNETAPOP)                            */
/*  Used By     : QSYS/CHGNETA  *CMD                                 */
/*  Requires    : Nothing                                            */
/*  Written By  : Syed Hussain Akbar                                 */
/*  Organisation: Systems (Pvt) Ltd                                  */
/*  Date Written: May 18th, 1995                                     */
/*  OS Version  : V2 Release 3                                       */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/*  Modified By  :Vengoal Chang                                      */
/*  Date Modified:Nov 14th, 2001                                     */
/*  OS Version   :V4 Release 4                                       */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/*  Description :                                                    */
/*                This is the prompt override program which fills    */
/*                the parameters of the CHGNETA command.             */
/*                                                                   */
/*  CHGCMD CMD(QSYS/CHGNETA) PMTOVRPGM(QUSRSYS/CHGNETAPOP)           */
/*********************************************************************/
             PGM        PARM(&CMDNAME &RETCMD)
             DCL        VAR(&CMDNAME)    TYPE(*CHAR) LEN(20)
             DCL        VAR(&RETCMD)     TYPE(*CHAR) LEN(5700)

             DCL        VAR(&RETLEN)     TYPE(*DEC)  LEN(5 0)
             DCL        VAR(&CRETLEN)    TYPE(*CHAR) LEN(2)
             DCL        VAR(&INUM)       TYPE(*DEC)  LEN(2)
             DCL        VAR(&ISTART)     TYPE(*DEC)  LEN(2)

             DCL        VAR(&SYSNAME)    TYPE(*CHAR) LEN(8)
             DCL        VAR(&LCLNETID)   TYPE(*CHAR) LEN(8)
             DCL        VAR(&LCLCPNAME)  TYPE(*CHAR) LEN(8)
             DCL        VAR(&LCLLOCNAME) TYPE(*CHAR) LEN(8)
             DCL        VAR(&DFTMODE)    TYPE(*CHAR) LEN(8)
             DCL        VAR(&NODETYPE)   TYPE(*CHAR) LEN(8)
             DCL        VAR(&DTACPR)     TYPE(*DEC)  LEN(10 0)
             DCL        VAR(&CDTACPR)    TYPE(*CHAR) LEN(10)
             DCL        VAR(&DTACPRINM)  TYPE(*DEC)  LEN(10 0)
             DCL        VAR(&CDTACPRINM) TYPE(*CHAR) LEN(10)
             DCL        VAR(&MAXINTSSN)  TYPE(*DEC)  LEN(5 0)
             DCL        VAR(&CMAXINTSSN) TYPE(*CHAR) LEN(5)
             DCL        VAR(&RAR)        TYPE(*DEC)  LEN(5 0)
             DCL        VAR(&CRAR)       TYPE(*CHAR) LEN(5)
             DCL        VAR(&NETSERVER)  TYPE(*CHAR) LEN(85)
             DCL        VAR(&ALRSTS)     TYPE(*CHAR) LEN(10)
             DCL        VAR(&ALRPRIFP)   TYPE(*CHAR) LEN(10)
             DCL        VAR(&ALRDFTFP)   TYPE(*CHAR) LEN(10)
             DCL        VAR(&ALRLOGSTS)  TYPE(*CHAR) LEN(7)
             DCL        VAR(&ALRBCKFP)   TYPE(*CHAR) LEN(16)
             DCL        VAR(&ALRRQSFP)   TYPE(*CHAR) LEN(16)
             DCL        VAR(&ALRCTLD)    TYPE(*CHAR) LEN(10)
             DCL        VAR(&ALRHLDCNT)  TYPE(*DEC)  LEN(5 0)
             DCL        VAR(&CALRHLDCNT) TYPE(*CHAR) LEN(5)
             DCL        VAR(&ALRFTR)     TYPE(*CHAR) LEN(10)
             DCL        VAR(&ALRFTRLIB)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&MSGQ)       TYPE(*CHAR) LEN(10)
             DCL        VAR(&MSGQLIB)    TYPE(*CHAR) LEN(10)
             DCL        VAR(&OUTQ)       TYPE(*CHAR) LEN(10)
             DCL        VAR(&OUTQLIB)    TYPE(*CHAR) LEN(10)
             DCL        VAR(&JOBACN)     TYPE(*CHAR) LEN(10)
             DCL        VAR(&MAXHOP)     TYPE(*DEC)  LEN(5 0)
             DCL        VAR(&CMAXHOP)    TYPE(*CHAR) LEN(5)
             DCL        VAR(&DDMACC)     TYPE(*CHAR) LEN(10)
             DCL        VAR(&DDMACCLIB)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&PCSACC)     TYPE(*CHAR) LEN(10)
             DCL        VAR(&PCSACCLIB)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&DFTNETTYPE) TYPE(*CHAR) LEN(10)
             DCL        VAR(&DFTCNNLST)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&ALWANYNET)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&NWSDOMAIN)  TYPE(*CHAR) LEN(8)
             DCL        VAR(&ALWVRTAPPN) TYPE(*CHAR) LEN(10)
             DCL        VAR(&ALWHPRTWR)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&VRTAUTODEV) TYPE(*DEC)  LEN(5 0)
             DCL        VAR(&CVRTAUTODV) TYPE(*CHAR) LEN(5)
             DCL        VAR(&HPRPTHTMR)  TYPE(*CHAR) LEN(40)
             DCL        VAR(&ALWADDCLU)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&MDMCNTRYID) TYPE(*CHAR) LEN(2)

/* Retrieve current parameters */

             RTVNETA    SYSNAME(&SYSNAME) LCLNETID(&LCLNETID) +
                          LCLCPNAME(&LCLCPNAME) +
                          LCLLOCNAME(&LCLLOCNAME) DFTMODE(&DFTMODE) +
                          NODETYPE(&NODETYPE) DTACPR(&DTACPR) +
                          DTACPRINM(&DTACPRINM) +
                          MAXINTSSN(&MAXINTSSN) RAR(&RAR) +
                          NETSERVER(&NETSERVER) ALRSTS(&ALRSTS) +
                          ALRPRIFP(&ALRPRIFP) ALRDFTFP(&ALRDFTFP) +
                          ALRLOGSTS(&ALRLOGSTS) ALRBCKFP(&ALRBCKFP) +
                          ALRRQSFP(&ALRRQSFP) ALRCTLD(&ALRCTLD) +
                          ALRHLDCNT(&ALRHLDCNT) ALRFTR(&ALRFTR) +
                          ALRFTRLIB(&ALRFTRLIB) MSGQ(&MSGQ) +
                          MSGQLIB(&MSGQLIB) OUTQ(&OUTQ) +
                          OUTQLIB(&OUTQLIB) JOBACN(&JOBACN) +
                          MAXHOP(&MAXHOP) DDMACC(&DDMACC) +
                          DDMACCLIB(&DDMACCLIB) PCSACC(&PCSACC) +
                          PCSACCLIB(&PCSACCLIB) +
                          DFTNETTYPE(&DFTNETTYPE) +
                          DFTCNNLST(&DFTCNNLST) +
                          ALWANYNET(&ALWANYNET) +
                          NWSDOMAIN(&NWSDOMAIN) +
                          ALWVRTAPPN(&ALWVRTAPPN) +
                          ALWHPRTWR(&ALWHPRTWR) +
                          VRTAUTODEV(&VRTAUTODEV) +
                          HPRPTHTMR(&HPRPTHTMR) +
                          ALWADDCLU(&ALWADDCLU) MDMCNTRYID(&MDMCNTRYID)

/* Convert the numeric variables to string to allow concatenation */
/* Also substitute the special values. */
             CHGVAR     VAR(&CDTACPR)    VALUE(&DTACPR)
             IF         COND(&DTACPR *EQ 0) THEN(CHGVAR +
                          VAR(&CDTACPR) VALUE(*NONE))
             IF         COND(&DTACPR *EQ -1) THEN(CHGVAR +
                          VAR(&CDTACPR) VALUE(*REQUEST))
             IF         COND(&DTACPR *EQ -2) THEN(CHGVAR +
                          VAR(&CDTACPR) VALUE(*ALLOW))
             IF         COND(&DTACPR *EQ -3) THEN(CHGVAR +
                          VAR(&CDTACPR) VALUE(*REQUIRE))
             CHGVAR     VAR(&CDTACPRINM) VALUE(&DTACPRINM)
             IF         COND(&DTACPRINM *EQ 0) THEN(CHGVAR +
                          VAR(&CDTACPRINM) VALUE(*NONE))
             IF         COND(&DTACPRINM *EQ -1) THEN(CHGVAR +
                          VAR(&CDTACPRINM) VALUE(*REQUEST))
             CHGVAR     VAR(&CMAXINTSSN) VALUE(&MAXINTSSN)
             CHGVAR     VAR(&CRAR)       VALUE(&RAR)
             CHGVAR     VAR(&CALRHLDCNT) VALUE(&ALRHLDCNT)
             CHGVAR     VAR(&CMAXHOP)    VALUE(&MAXHOP)
             CHGVAR     VAR(&CVRTAUTODV) VALUE(&VRTAUTODEV)

             CHGVAR     VAR(&RETCMD) VALUE('?<SYSNAME(' |< &SYSNAME +
                          |< ') ')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<LCLNETID(' +
                          |< &LCLNETID |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<LCLCPNAME(' +
                          |< &LCLCPNAME |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<LCLLOCNAME(' +
                          |< &LCLLOCNAME |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<DFTMODE(' +
                          |< &DFTMODE |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<NODETYPE(' +
                          |< &NODETYPE |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<DTACPR(' +
                          |< &CDTACPR |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<DTACPRINM(' +
                          |< &CDTACPRINM |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<MAXINTSSN(' +
                          |< &CMAXINTSSN |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<RAR(' +
                          |< &CRAR |< ')')
 /* Build the combined string for NETSERVER */
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<NETSERVER(')
             CHGVAR     VAR(&INUM) VALUE(1)
 NET1:       CHGVAR     VAR(&ISTART) VALUE(((&INUM -1) * 17) + 1)
             IF         COND(%SST(&NETSERVER &ISTART 9) *NE ' ') +
                          THEN(DO)
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< '(' |< +
                          %SST(&NETSERVER &ISTART 9))
             CHGVAR     VAR(&ISTART) VALUE(&ISTART + 9)
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> +
                          %SST(&NETSERVER &ISTART 8) |< ')')
             CHGVAR     VAR(&INUM) VALUE(&INUM + 1)
             IF         COND(&INUM *LT 6) THEN(GOTO CMDLBL(NET1))
             ENDDO
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< ')')

             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRSTS(' +
                          |< &ALRSTS |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRPRIFP(' +
                          |< &ALRPRIFP |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRDFTFP(' +
                          |< &ALRDFTFP |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRLOGSTS(' +
                          |< &ALRLOGSTS |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRBCKFP(' +
                          |< %SST(&ALRBCKFP 1 8) |> %SST(&ALRBCKFP +
                          9 8) |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRRQSFP(' +
                          |< %SST(&ALRRQSFP 1 8) |> %SST(&ALRRQSFP +
                          9 8) |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRCTLD(' +
                          |< &ALRCTLD |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRHLDCNT(' +
                          |< &CALRHLDCNT |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALRFTR(')
             IF COND(&ALRFTRLIB *NE ' ') THEN(DO)
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &ALRFTRLIB |< +
                          '/')
             ENDDO
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &ALRFTR |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<MSGQ(')
             IF COND(&MSGQLIB *NE ' ') THEN(DO)
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &MSGQLIB |< '/')
             ENDDO
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &MSGQ |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<OUTQ(')
             IF COND(&OUTQLIB *NE ' ') THEN(DO)
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &OUTQLIB |< '/')
             ENDDO
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &OUTQ |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<JOBACN(' +
                          |< &JOBACN |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<MAXHOP(' +
                          |< &CMAXHOP |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<DDMACC(')
             IF COND(&DDMACCLIB *NE ' ') THEN(DO)
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &DDMACCLIB |< +
                          '/')
             ENDDO
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &DDMACC |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<PCSACC(')
             IF COND(&PCSACCLIB *NE ' ') THEN(DO)
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &PCSACCLIB |< +
                          '/')
             ENDDO
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |< &PCSACC |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> +
                          '?<DFTNETTYPE(' |< &DFTNETTYPE |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<DFTCNNLST(' +
                          |< &DFTCNNLST |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALWANYNET(' +
                          |< &ALWANYNET |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<NWSDOMAIN(' +
                          |< &NWSDOMAIN |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALWVRTAPPN(' +
                          |< &ALWVRTAPPN |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALWHPRTWR(' +
                          |< &ALWHPRTWR |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<VRTAUTODEV(' +
                          |< &CVRTAUTODV |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<HPRPTHTMR(' +
                          |< &HPRPTHTMR |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<ALWADDCLU(' +
                          |< &ALWADDCLU |< ')')
             CHGVAR     VAR(&RETCMD) VALUE(&RETCMD |> '?<MDMCNTRYID(' +
                          |< &MDMCNTRYID |< ')')


/* Calculate size of the returned command line */
             CHGVAR     VAR(&RETLEN) VALUE(700)

 CALCLEN:    CHGVAR     VAR(&RETLEN) VALUE(&RETLEN - 1)
             IF         COND(%SST(&RETCMD &RETLEN 1) *NE ' ') +
                          THEN(GOTO CMDLBL(CALCLEN))

             CHGVAR     VAR(%BIN(&CRETLEN)) VALUE(&RETLEN)
             CHGVAR     VAR(&RETCMD) VALUE(&CRETLEN |< &RETCMD)

             ENDPGM
         
         
         

沒有留言: