Installing a user report

Once your data gatherer and data reporter are coded, two steps are required to install the report:

  1. Include an entry for the report in the option list for a background session (ERBBMENU) and the menu list for a display session (ERBFMENU), depending on the type of session during which your report can be run.

    If data collected during a Monitor II background session is to be reported during execution of the Postprocessor, a copy of the option list control section (ERBBMENU) that includes the entry for your report must be link edited with the Postprocessor.

    RMF™ supplies the PICTURE macro to simplify the process of adding or changing an entry in the option list or menu list. See Using the PICTURE macro. You can also superzap an entry to make changes when the length of the entry is not changed.

  2. Link edit your data gatherer and data reporter and test your report.

The option list or menu list consists of a set of variable-length entries, each describing a valid report. The option list appears in the RMF control section ERBBMENU; the menu list appears in ERBFMENU. Two separate control sections are provided to allow for a report that will run only during a background session or only during a display session. Also, the two different control sections allow different sets of default operands to be established for display sessions and background sessions. For example, you might want the display defaults to specify a limited set of possible data, while the background defaults specify all possible data.

The steps required to add an entry to the list are:

  1. Determine whether the USER entry supplied by RMF is appropriate for your report. The USER entry contains specifications for a table report (RPTTYP=T) with a single relocate block (MAXRBS=1) that is four bytes long (RBLEN=4). The report title is ‘USER PICTURE’. If the entry is not appropriate for your report, replace the entry with a new entry for USER.
  2. If you are changing the USER entry or adding a new entry, make a copy of ERBFMENU for a display report or ERBBMENU for a background session — or both — from the source code data set.
  3. In the copy you have made, either replace the USER entry or insert a new PICTURE macro. For a new display report, insert the PICTURE macro where you want the new report to appear in the menu frame. For details, see Using the PICTURE macro.
  4. Assemble ERBFMENU for a display report and ERBBMENU for a background report.
  5. Link edit the menu list or option list CSECT(s) that you have assembled into the RMF load modules:
    • ERBMFMFC - RMF control
    • RMFMON - Monitor II RMFMON command
    • ERBRMFPP - Postprocessor
    • ERB2RCTL - Monitor II ISPF version
    • ERB2XDG0 - Monitor II Internal Data Gatherer
    A sample of the control statements required is:
    Figure 1. Install User Report
    //LINKEXIT JOB   MSGLEVEL=1
    //LINK0001 EXEC PGM=IEWL,PARM='MAP,XREF,REUS,RENT,REFR,NCAL'
    //SYSPRINT DD    SYSOUT=A
    //SYSLMOD  DD    DSN=SYS1.SERBLINK,DISP=(OLD,KEEP)
    //SYSUT1   DD    UNIT=SYSDA,DISP=(,DELETE),SPACE=(TRK,(20,5))
    //SYSLIN   DD    *
      (ERBFMENU object deck)
      (ERBBMENU object deck)
      INCLUDE SYSLMOD(ERBMFMFC)
      ENTRY ERBMFMFC
      ALIAS ERBMFMPR
      ALIAS ERBMFCLS
      SETCODE AC(1)
      NAME ERBMFMFC(R)
      (ERBFMENU object deck)
      INCLUDE  SYSLMOD(ERBMFTSO)
      ENTRY    ERBMFTSO
      ALIAS    RMFMON
      NAME     ERBMFTSO(R)
      (ERBBMENU object deck)
      INCLUDE  SYSLMOD(ERBRMFPX)
      ENTRY    ERBRMFPP
      NAME     ERBRMFPX(R)
      (ERBFMENU object deck)
      INCLUDE SYSLMOD(ERB2RCTL)
      ENTRY ERB2RCTL
      NAME  ERB2RCTL(R)
      (ERBFMENU object deck)
      INCLUDE SYSLMOD(ERB2XDG0)
      ENTRY ERB2XDG0
      NAME  ERB2XDG0(R)
    /*                           

To install your report, you must link edit your data gatherer and data reporter.

If you are using the USER entry, name your gatherer routine ERBGUS99; name your reporter routine ERBRUS99. Replace the dummy RMF modules that have these names with your own routines. The link edit control statements required are:
(ERBGUS99 object deck)
ENTRY ERBGUS99
NAME ERBGUS99(R)
(ERBRUS99 object deck)
ENTRY ERBRUS99
NAME ERBRUS99(R)

If you are not using the USER entry, give your data gatherer and data reporter modules names that match the names you are specifying in the PICTURE macro for the report that you are adding. Link edit the modules as shown in the above control statements, replacing ERBGUS99 with the name of your data gatherer and ERBRUS99 with the name of your data reporter.

Once your modules have been link edited, you are ready to test your report. You might find it simpler to test your new report on TSO before making it available to other RMF users at your installation. Perform the following steps:

  1. Use a testing tasklib, a special partitioned data set (for example, TESTLIB.LOAD). Place your data gatherer, data reporter, and the RMFMON load module that includes the new menu list in the testing tasklib.
  2. You can then test the new report by entering:
    CALL TESTLIB(RMFMON)

    The new menu should appear on the screen in response to this command. You can then invoke your report by specifying its menu item name.

If your report routine terminates abnormally, you can obtain a dump by replying ‘STOP’ to the messages describing the abnormal termination.