Model Statistics

From 2EWiki

Jump to: navigation, search


Do you know how many entities or how many functions reside in your 2E model?

This questions has been asked recently by one of our client. As a 2E service provider, we tried to build a transparent 2E based tool which could be used in multiple environments and on multiple models.

So we came up with MDLSTAT. A command which allows you to give you all the figures you want.

The "tool" is written in CL and comes with a CMD.

Please see the source below.

Have fun with it

Regards,

René Beliën Synobsys Nederland B.V.

(Special thanks to Ben Verheij for coding)


===================== CLP source =====================
            PGM        PARM(&DOC &DOCPRT &URF &URFPRT &URFDSP &URFFLT)

            DCL        VAR(&DOC) TYPE(*CHAR) LEN(4) /* +
                         Documentation Yes or No */
            DCL        VAR(&DOCPRT) TYPE(*CHAR) LEN(4) /* Print +
                         Documentation Yes or No */
            DCL        VAR(&URF) TYPE(*CHAR) LEN(4) /* Unreferenced +
                         Objects Yes or No */
            DCL        VAR(&URFPRT) TYPE(*CHAR) LEN(4) /* Print +
                         Unreferenced Objects Yes or No */
            DCL        VAR(&URFDSP) TYPE(*CHAR) LEN(4) /* Display +
                         Unreferenced Objects Yes or No */
            DCL        VAR(&URFFLT) TYPE(*CHAR) LEN(4) /* Filter +
                         Unreferenced Objects Yes or No */
            DCL        VAR(&NBRRCD) TYPE(*DEC) LEN(10 0) /* Number +
                         of records */

            MONMSG     MSGID(CPF0000)

/* DOCUMENTATION */
            IF         COND(&DOC *EQ '*YES') THEN(DO)

            YBLDMDLLST MDLLST(XXXALL)

/* FILTER ALL POSSIBLE OBJECTS  */

            YFLTMDLLST MDLLST(XXXALL) OUTLST(XXXFLD) OBJNAM((*ALL +
                         *ALL *FLD))
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXALL) OBJNAM((*ALL +
                         *ALL *FLD))
            YFLTMDLLST MDLLST(XXXALL) OUTLST(XXXFUN) OBJNAM((*ALL +
                         *ALL *FUN))
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXALL) OBJNAM((*ALL +
                         *ALL *FUN))
            YFLTMDLLST MDLLST(XXXALL) OUTLST(XXXMSG) OBJNAM((*ALL +
                         *ALL *MSG))
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXALL) OBJNAM((*ALL +
                         *ALL *MSG))
            YFLTMDLLST MDLLST(XXXALL) OUTLST(XXXCND) OBJNAM((*ALL +
                         *ALL *CND))
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXALL) OBJNAM((*ALL +
                         *ALL *CND))
            YFLTMDLLST MDLLST(XXXALL) OUTLST(XXXARR) OBJNAM((*ALL +
                         *ALL *ARR))
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXALL) OBJNAM((*ALL +
                         *ALL *ARR))
            YFLTMDLLST MDLLST(XXXALL) OUTLST(XXXACP) OBJNAM((*ALL +
                         *ALL *ACP))
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXALL) OBJNAM((*ALL +
                         *ALL *ACP))
            YFLTMDLLST MDLLST(XXXALL) OUTLST(XXXFIL) OBJNAM((*ALL +
                         *ALL *FIL))
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXALL) OBJNAM((*ALL +
                         *ALL *FIL))

/* FILTER ALL POSSIBLE FUNCTIONS OUT OF XXXFUN */
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXCRTOBJ) +
                         OBJNAM((*ALL *ALL)) GENATR(*CRTOBJ)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*CRTOBJ)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXCHGOBJ) +
                         OBJNAM((*ALL *ALL)) GENATR(*CHGOBJ)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*CHGOBJ)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXDLTOBJ) +
                         OBJNAM((*ALL *ALL)) GENATR(*DLTOBJ)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*DLTOBJ)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXPRTFIL) +
                         OBJNAM((*ALL *ALL)) GENATR(*PRTFIL)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*PRTFIL)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXPRTOBJ) +
                         OBJNAM((*ALL *ALL)) GENATR(*PRTOBJ)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*PRTOBJ)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXDSPRCD) +
                         OBJNAM((*ALL *ALL)) GENATR(*DSPRCD)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*DSPRCD)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXDSPFIL) +
                         OBJNAM((*ALL *ALL)) GENATR(*DSPFIL)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*DSPFIL)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXDSPTRN) +
                         OBJNAM((*ALL *ALL)) GENATR(*DSPTRN)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*DSPTRN)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXEDTRCD) +
                         OBJNAM((*ALL *ALL)) GENATR(*EDTRCD)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*EDTRCD)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXEDTFIL) +
                         OBJNAM((*ALL *ALL)) GENATR(*EDTFIL)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*EDTFIL)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXEDTTRN) +
                         OBJNAM((*ALL *ALL)) GENATR(*EDTTRN)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*EDTTRN)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXPMTRCD) +
                         OBJNAM((*ALL *ALL)) GENATR(*PMTRCD)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*PMTRCD)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXEXCEXT) +
                         OBJNAM((*ALL *ALL)) GENATR(*EXCEXT)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*EXCEXT)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXEXCINT) +
                         OBJNAM((*ALL *ALL)) GENATR(*EXCINT)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*EXCINT)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXSELRCD) +
                         OBJNAM((*ALL *ALL)) GENATR(*SELRCD)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*SELRCD)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXUSRSRC) +
                         OBJNAM((*ALL *ALL)) GENATR(*USRSRC)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*USRSRC)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXUSRPGM) +
                         OBJNAM((*ALL *ALL)) GENATR(*USRPGM)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*USRPGM)
            YFLTMDLLST MDLLST(XXXFUN) OUTLST(XXXRTVOBJ) +
                         OBJNAM((*ALL *ALL)) GENATR(*DBFFUN)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXFUN) OBJNAM((*ALL +
                         *ALL)) GENATR(*DBFFUN)

/* FILTER ALL POSSIBLE ACCESS PATHS OUT OF XXXACP */
            YFLTMDLLST MDLLST(XXXACP) OUTLST(XXXACPPHY) +
                         OBJNAM((*ALL *ALL)) OBJATR(PHY)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXACP) OBJNAM((*ALL +
                         *ALL)) OBJATR(PHY)
            YFLTMDLLST MDLLST(XXXACP) OUTLST(XXXACPUPD) +
                         OBJNAM((*ALL *ALL)) OBJATR(UPD)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXACP) OBJNAM((*ALL +
                         *ALL)) OBJATR(UPD)
            YFLTMDLLST MDLLST(XXXACP) OUTLST(XXXACPRTV) +
                         OBJNAM((*ALL *ALL)) OBJATR(RTV)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXACP) OBJNAM((*ALL +
                         *ALL)) OBJATR(RTV)
            YFLTMDLLST MDLLST(XXXACP) OUTLST(XXXACPRSQ) +
                         OBJNAM((*ALL *ALL)) OBJATR(RSQ)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXACP) OBJNAM((*ALL +
                         *ALL)) OBJATR(RSQ)
            YFLTMDLLST MDLLST(XXXACP) OUTLST(XXXACPQRY) +
                         OBJNAM((*ALL *ALL)) OBJATR(QRY)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXACP) OBJNAM((*ALL +
                         *ALL)) OBJATR(QRY)
            YFLTMDLLST MDLLST(XXXACP) OUTLST(XXXACPSPN) +
                         OBJNAM((*ALL *ALL)) OBJATR(SPN)
            YFLTMDLLST FILTER(*OMIT) MDLLST(XXXACP) OBJNAM((*ALL +
                         *ALL)) OBJATR(SPN)
            /* FILTER ALSO ????, WHATEVER YOU WANT..... */
            ENDDO      /* Documentation */

/* PRINT DOCUMENTATION */
            IF         COND((&DOC *EQ '*YES') *AND (&DOCPRT *EQ +
                         '*YES')) THEN(DO)

/* Functions */
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(CRTOBJ)
            YDOCMDLLST MDLLST(XXXCRTOBJ) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(CHGOBJ)
            YDOCMDLLST MDLLST(XXXCHGOBJ) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(DLTOBJ)
            YDOCMDLLST MDLLST(XXXDLTOBJ) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(PRTFIL)
            YDOCMDLLST MDLLST(XXXPRTFIL) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(PRTOBJ)
            YDOCMDLLST MDLLST(XXXPRTOBJ) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(DSPRCD)
            YDOCMDLLST MDLLST(XXXDSPRCD) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(DSPFIL)
            YDOCMDLLST MDLLST(XXXDSPFIL) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(DSPTRN)
            YDOCMDLLST MDLLST(XXXDSPTRN) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(EDTRCD)
            YDOCMDLLST MDLLST(XXXEDTRCD) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(EDTFIL)
            YDOCMDLLST MDLLST(XXXEDTFIL) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(EDTTRN)
            YDOCMDLLST MDLLST(XXXEDTTRN) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(PMTRCD)
            YDOCMDLLST MDLLST(XXXPMTRCD) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(EXCEXT)
            YDOCMDLLST MDLLST(XXXEXCEXT) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(EXCINT)
            YDOCMDLLST MDLLST(XXXEXCINT) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(SELRCD)
            YDOCMDLLST MDLLST(XXXSELRCD) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(USRSRC)
            YDOCMDLLST MDLLST(XXXUSRSRC) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(USRPGM)
            YDOCMDLLST MDLLST(XXXUSRPGM) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(RTVOBJ)
            YDOCMDLLST MDLLST(XXXRTVOBJ) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(OTHERFUN)
            YDOCMDLLST MDLLST(XXXFUN) VIEW(*GEN)

/* Files */
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(ACPPHY)
            YDOCMDLLST MDLLST(XXXACPPHY) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(ACPUPD)
            YDOCMDLLST MDLLST(XXXACPUPD) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(ACPRTV)
            YDOCMDLLST MDLLST(XXXACPRTV) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(ACPRSQ)
            YDOCMDLLST MDLLST(XXXACPRSQ) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(ACPQRY)
            YDOCMDLLST MDLLST(XXXACPQRY) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(ACPSPN)
            YDOCMDLLST MDLLST(XXXACPSPN) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(OTHERACP)
            YDOCMDLLST MDLLST(XXXACP) VIEW(*GEN)

/* Others */
            OVRPRTF    FILE(YDOCMOLL1$) SPLFNAME(ARRAYS)
            YDOCMDLLST MDLLST(XXXARR) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$) SPLFNAME(CONDITIONS)
            YDOCMDLLST MDLLST(XXXCND) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(FIELDS)
            YDOCMDLLST MDLLST(XXXFLD) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(FILES)
            YDOCMDLLST MDLLST(XXXFIL) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(MESSAGES)
            YDOCMDLLST MDLLST(XXXMSG) VIEW(*GEN)

            ENDDO      /* Print Documentation */

/* UNREFERENCED OBJECTS  */
            IF         COND(&URF *EQ '*YES') THEN(DO)
            OVRPRTF    FILE(YDOCURFL1$) SPLFNAME(URFACP)
            YDOCURF    OBJTYP(*ACP) OUTLST(URFACP)
            DLTSPLF    FILE(URFACP) SPLNBR(*LAST)
            CHGPFM     FILE(YMDLLSTRFP) MBR(URFACP) +
                         TEXT('Unreferenced Access Paths')
            IF         COND(&URFFLT *EQ '*YES') THEN(DO)
            YFLTMDLLST FILTER(*OMIT) MDLLST(URFACP) OBJNAM((*ALL +
                         'Retrieval index' *ACP)) OBJATR(RTV)
            ENDDO
            OVRPRTF    FILE(YDOCURFL1$) SPLFNAME(URFARR)
            YDOCURF    OBJTYP(*ARR) OUTLST(URFARR)
            DLTSPLF    FILE(URFARR) SPLNBR(*LAST)
            CHGPFM     FILE(YMDLLSTRFP) MBR(URFARR) +
                         TEXT('Unreferenced Arrays')
            OVRPRTF    FILE(YDOCURFL1$) SPLFNAME(URFCND)
            YDOCURF    OBJTYP(*CND) OUTLST(URFCND)
            DLTSPLF    FILE(URFCND) SPLNBR(*LAST)
            CHGPFM     FILE(YMDLLSTRFP) MBR(URFCND) +
                         TEXT('Unreferenced Conditions')
            IF         COND(&URFFLT *EQ '*YES') THEN(DO)
            YFLTMDLLST FILTER(*OMIT) MDLLST(URFCND) OBJNAM((*ALL +
                         '*ALL values' *CND)) OBJATR(LST)
            ENDDO
            OVRPRTF    FILE(YDOCURFL1$) SPLFNAME(URFFIL)
            YDOCURF    OBJTYP(*FIL) OUTLST(URFFIL)
            DLTSPLF    FILE(URFFIL) SPLNBR(*LAST)
            CHGPFM     FILE(YMDLLSTRFP) MBR(URFFIL) +
                         TEXT('Unreferenced Files')
            OVRPRTF    FILE(YDOCURFL1$) SPLFNAME(URFFLD)
            YDOCURF    OBJTYP(*FLD) OUTLST(URFFLD)
            DLTSPLF    FILE(URFFLD) SPLNBR(*LAST)
            CHGPFM     FILE(YMDLLSTRFP) MBR(URFFLD) +
                         TEXT('Unreferenced Fields')
            OVRPRTF    FILE(YDOCURFL1$) SPLFNAME(URFFUN)
            YDOCURF    OBJTYP(*FUN) OUTLST(URFFUN)
            DLTSPLF    FILE(URFFUN) SPLNBR(*LAST)
            CHGPFM     FILE(YMDLLSTRFP) MBR(URFFUN) +
                         TEXT('Unreferenced Functions')
            OVRPRTF    FILE(YDOCURFL1$) SPLFNAME(URFMSG)
            YDOCURF    OBJTYP(*MSG) OUTLST(URFMSG)
            DLTSPLF    FILE(URFMSG) SPLNBR(*LAST)
            CHGPFM     FILE(YMDLLSTRFP) MBR(URFMSG) +
                         TEXT('Unreferenced Messages')
            ENDDO      /* Unreferenced objects */

/* DISPLAY UNREFERENCED OBJECTS */
            IF         COND((&URF *EQ '*YES') *AND (&URFDSP *EQ +
                         '*YES')) THEN(DO)
            YEDTMDLLST MDLLST(URFACP) USER(*PGMR)
            YEDTMDLLST MDLLST(URFARR) USER(*PGMR)
            YEDTMDLLST MDLLST(URFCND) USER(*PGMR)
            YEDTMDLLST MDLLST(URFFIL) USER(*PGMR)
            YEDTMDLLST MDLLST(URFFLD) USER(*PGMR)
            YEDTMDLLST MDLLST(URFFUN) USER(*PGMR)
            YEDTMDLLST MDLLST(URFMSG) USER(*PGMR)
            ENDDO      /* Display Unreferenced Objects */

            YWRKMDLLST USER(*PGMR)

/* PRINT UNREFERENCED OBJECTS */
            IF         COND((&URF *EQ '*YES') *AND (&URFPRT *EQ +
                         '*YES')) THEN(DO)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(URFACP)
            YDOCMDLLST MDLLST(URFACP) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(URFARR)
            YDOCMDLLST MDLLST(URFARR) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(URFCND)
            YDOCMDLLST MDLLST(URFCND) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(URFFIL)
            YDOCMDLLST MDLLST(URFFIL) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(URFFLD)
            YDOCMDLLST MDLLST(URFFLD) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(URFFUN)
            YDOCMDLLST MDLLST(URFFUN) VIEW(*GEN)
            OVRPRTF    FILE(YDOCMOLL1$)  SPLFNAME(URFMSG)
            YDOCMDLLST MDLLST(URFMSG) VIEW(*GEN)
            ENDDO      /* Print Unreferenced Objects */
            IF         COND((&URFPRT *EQ '*YES') *OR (&DOCPRT *EQ +
                         '*YES')) THEN(DO)
            WRKSPLF    SELECT(*CURRENT *ALL *ALL *GEN)
            ENDDO

/* or  PRINT to PDF  */
/*           YCVTSPLF   FILE(XXXXXXXX) TOFILE(FUNCTIES) TYPE(*PDF)   */
            ENDPGM

===================== CMD source =====================
            CMD        PROMPT('Documentation and Unreferenced')
            PARM       KWD(DOCUMENT) TYPE(*CHAR) LEN(4) RSTD(*YES) +
                         DFT(*YES) VALUES(*YES *NO) MIN(0) +
                         PROMPT('Documentation 2E Model')
            PARM       KWD(PRTDOC) TYPE(*CHAR) LEN(4) RSTD(*YES) +
                         DFT(*NO) VALUES(*YES *NO) MIN(0) +
                         PROMPT('Print Documentation 2E Model')
            PARM       KWD(UNREFERNCD) TYPE(*CHAR) LEN(4) +
                         RSTD(*YES) DFT(*YES) VALUES(*YES *NO) +
                         MIN(0) PROMPT('Unreferenced Objects 2E +
                         Model')
            PARM       KWD(PRTUNREF) TYPE(*CHAR) LEN(4) RSTD(*YES) +
                         DFT(*NO) VALUES(*YES *NO) MIN(0) +
                         PROMPT('Print Unreferenced Objects')
            PARM       KWD(DSPUNREF) TYPE(*CHAR) LEN(4) RSTD(*YES) +
                         DFT(*YES) VALUES(*YES *NO) MIN(0) +
                         PROMPT('Display Unreferenced Objects')
            PARM       KWD(FLTUNREF) TYPE(*CHAR) LEN(4) RSTD(*YES) +
                         DFT(*YES) VALUES(*YES *NO) MIN(0) +
                         PROMPT('Filter Unreferenced Objects')
Personal tools