Flower Box

I am the "Imelda Marcos" of Flower Boxes!

My web pages are "Flower Box"-ware. I ask that if you enjoy my web pages that you send me the sample Flower Box output from your system. Please send source if your site allows it. I'm also interested in other messages that your IEFACTRT SMF exit creates. My email address is on my contact page.

If you can't send a flowerbox, I'll take any old mainframe artifacts you can send via snail mail or UPS like punched cards, green cards (s/360 s/370 reference summary cards), tape write rings, logic manuals, debugging handbooks prior to MVS version 4. Just email me and ask for my address.

Frequently Asked Questions

What is a "Flower Box"?


A Flower Box, as it relates to the OS/390 (MVS) operating system, is the combined job and step end informational records which are written to the SYSMSG JES dataset by the SMF exit IEFACTRT. They are sometimes surrounded by a box of astericks or dashes. Somebody along the line gave them the cute nick name Flower Box. Here's an example with the "flower box" in red:

*******************************************************
* STEP END STATISTICS: STEP JS01     RC=0015           
*                                                      
* I/O: SYSUT1        1283      SYSUT2        1283      
*******************************************************
IEF375I  JOB/IBMUSERT/START 1999182.1022
IEF376I  JOB/IBMUSERT/STOP  1999182.1027 CPU    0MIN 48.


Where do I find them?"


Here's a JES2/SDSF example:
It's possible that your shop doesn't create a "Flower Box" from the IEFACTRT SMF exit. If this is so, you may only see only IEF and IGD prefixed messages in your SYSMSG.


Shouldn't the IBMUSER userid be disabled?


I don't really use the userid IBMUSER. I only use it in examples. I don't put my real MVS userid on the Internet.


When are "Flower Box" output created?


IBM only gives the SMF exit IEFACTRT the ability to put messages in the SYSMSG dataset. This exit is driven when SMF 30 records are written at job step and end termination.


How do I link in the IBM SYSMSG routine needed by an IEFACTRT routine? New [2006-01-01]


You can put these instructions at the very bottom of your IEFACTRT routine:
 PUNCH ' ENTRY   XYZACTRT'                                            
 PUNCH ' INCLUDE AOSB3(IEFTB724) '                                    
 PUNCH ' NAME    XYZACTRT(R)'                                         
         END ,                                           
 
And then have a DD card in your link step: //AOSB3 DD DISP=SHR,DSN=SYS1.AOSB3


Hey, doesn't other SMF records drive IEFACTRT also?


Okay SMF4 and SMF5 records can drive IEFACTRT but they are obsolete. IBM recommends that you use SMF30 records instead of the old 4 and 5. All new enhancements are only put in SMF30 records. Your shop probably follows IBM recommendations and doesn't write SMF4 or SMF5 records anymore.


How do test a new IEFACTRT exit without IPLing? New [2006-01-01]


Here is an example of dynamically adding a IEFACTRT routine named IPOACTRT with the IBM SETPROG commands for just jobs that start with "IBMUSER":
setprog exit,add,exitname=sys.iefactrt,modname=ipoactrt,dsname=
ibmuser.dave.load,jobname=ibmuser*        
See this example of testing Rob Scott's IEFACTRT routine.


How do I dynamically replace my IEFACTRT exit without IPLing?


Here is an example of dynamically replacing a IEFACTRT routine named XYZACTRT with the IBM SETPROG commands:
SETPROG EXIT,DELETE,EXITNAME=SYS.IEFACTRT,MODNAME=XYZACTRT

SETPROG EXIT,ADD,EXITNAME=SYS.IEFACTRT,MODNAME=XYZACTRT,DSNAME=SYS2.XYZ.LINKLIB
Where you issued the command for SYS.IEFACTRT, you may need to also do SYSJES2.IEFACTRT, SYSTSU.IEFACTRT and/or SYSSTC.IEFACTRT (if the IEFACTRT exit was originally defined that way via the SETPROG or PROGxx member).

You might recall that Omegamon use to have a SMF exit replace function. Instead of taking some time to use the IBM API to do this easier than the IBM SETPROG commands, they just yanked that function out of Omegamon.



I want to send you my Flower Box output. How can I help you get it ready for the web?


You can:


What do you assume when you get my Flower Box output?


Unless you specify otherwise:


That's a strange hobby you got Dave. Are you seeking treatment?


The first step to recovery is admiting you have a problem. I'm telling the world: send me your poor, your huddled masses, your IEFACTRT-created Flower Boxes.

Seriously, I'm interested in the visual display of information. I like to see what other SMF record fields are displayed and to compare my output and code.



My current Flower Box

Over the years, I've created different looking "Flower Boxes" at different jobs. The current one is a combination of step and job end statistics that have come from various sources. I've been running the current version since January 1997. Unlike previous kinds I've created, this one is designed to be read online and only uses 80 columns.

Here is sample output that my SMF XYZACTRT exit creates at step termination time:
XYZ120I ------------------------------------------------------------------------
                       S t e p   E n d   S t a t i s t i c s

Step Name: SMPE           Cond Code: 0004         Start: 01-Jul-1999 10:22:00 AM
Step  Num: 1              PGM  Name: GIMSMP       End:   01-Jul-1999 10:27:37 AM
CPU (TCB): 00:00:48.44                            Storage below 16M:      4,032k
CPU (SRB): 00:00:03.92                            Storage above 16M:     32,444k
Trans Act: 00:05:34.73                            Service Units:       1,884,723
Tape Mnts: 0                                      Total EXCPs:            29,404

Unit-- DDName-- EXCP Count-- Blksize        Unit-- DDName-- EXCP Count-- Blksize
0EC3 D SYSUT1             60   3,200        0E29 D SYSUT2          4,344       0
0E29 D SMPWRK1            17  23,440        0EC3 D SMPWRK3         1,677   3,200
0EC3 D SMPWRK6            12  23,440        0C10 D SMPSCDS             1   3,120
0C15 D MIGLIB          1,972  32,760        0C15 D LINKLIB         5,424  32,760
0C15 D LPALIB          1,784  32,760        0C15 D CSSLIB            615  32,760
0C15 D MACLIB          2,424   6,160        0C15 D PARMLIB            77   6,160
0C15 D PROCLIB            76   6,160        0C15 D SAMPLIB         1,353   3,120
0C10 D SMPCSI            504       0        0C10 D MVST100         6,645       0
0CBC D SMPPTS            476   8,800

Total DASD EXCPs:             27,461        Total Tape EXCPs:                  0

---------------Paging---------------        ---------------Paging---------------
Common (LPA+CSA):                  7        Hiperspace:                        0

XYZ121I ------------------------------------------------------------------------
IEF373I STEP/SMPE    /START 1999182.1022
IEF374I STEP/SMPE    /STOP  1999182.1027 CPU    0MIN 48.44SEC SRB    0MIN 03.92S
Here is sample output that my SMF XYZACTRT exit creates at job termination time:
XYZ120I ------------------------------------------------------------------------
                        J o b   E n d   S t a t i s t i c s

Job  Name: IBMUSERT       System ID: XYZ1        Submit: 01-Jul-1999 10:21:05 AM
Job JESID: JOB10960       MVS level: SP6.0.6     Start:  01-Jul-1999 10:22:00 AM
Job Class: Q                                     End:    01-Jul-1999 10:27:37 AM
CPU (TCB): 00:00:48.44                           Storage below 16M:       4,032k
CPU (SRB): 00:00:03.92                           Storage above 16M:      32,444k
Trans Act: 00:05:34.73                           Service Units:        1,884,723
Tape Mnts: 0                                     Total EXCPs:             29,404

---------------Paging---------------        ---------------Paging---------------
VIO In:                            0        VIO Out:                           0
Pages In:                          0        Pages Out:                         0
Common (LPA+CSA):                  7        Hiperspace:                        0
VIO Reclaims:                      0        Pages Stolen:                      0

ACF2 User: IBMUSER                          Programmer: ALCOCK, DAVID
Acct Info: D,D,D,SYS

XYZ122I ------------------------------------------------------------------------
IEF375I  JOB/IBMUSERT/START 1999182.1022
IEF376I  JOB/IBMUSERT/STOP  1999182.1027 CPU    0MIN 48.44SEC SRB    0MIN 03.92S

Ramblings:

Source:

The source for my SMF exits can be found in file 311 at the CBT Tape web site

IBM's sample IEFACTRT

IBM supplies a sample version of IEFACTRT that comes with OS/390 in SYS1.SAMPLIB. In OS/390 R7 and higher, look for member IEEACTRT. In prior releases, look in CPAC.SAMPLIB(SMFACTRT or IEFACTRT). IBM's sample IEFACTRT creates output in the JES JOB log. See the lines in red below:
      J E S 2  J O B  L O G  --  S Y S T E M  P 3 9 0  --  N O D E  N 1
...
IEF403I IBMUSERG - STARTED - TIME=13.13.13
-Jobname  Stepname Procstep    RC   EXCP   Conn    TCB    SRB  Clock   Serv  PG  Page  Swap   VIO Swaps
-IBMUSERG DOIT     STEP1       00   3036      0    .04    .01     .3  39763   1     0     0     0     0
IEF404I IBMUSERG - ENDED - TIME=13.13.32
-IBMUSERG Ended. Name-David Alcock Total TCB CPU time= .04 Total Elasped time= .3


I take the sample IEFACTRT from IBM and slightly modify it so it uses a real message ID like "XYZ100I" instead of the "-".
      J E S 2  J O B  L O G  --  S Y S T E M  P 3 9 0  --  N O D E  N 1
...
IEF403I IBMUSERG - STARTED - TIME=13.13.13
XYZ101I Jobname  Stepname Procstep    RC   EXCP   Conn    TCB    SRB  Clock   Serv  PG  Page  Swap   VIO Swaps
XYZ102I IBMUSERG DOIT     STEP1       00   3036      0    .04    .01     .3  39763   1     0     0     0     0
IEF404I IBMUSERG - ENDED - TIME=13.13.32
XYZ103I IBMUSERG Ended. Name-David Alcock Total TCB CPU time= .04 Total Elasped time= .3
Now they also line up better with the IEF403I/IEF404I messages.
I don't add any more installation code to the one from IBM so I can upgrade to newer versions easier. I run multiple 'ACTRT routines via 'SYS1.PARMLIB(PROGxx)':

 EXIT ADD EXITNAME(SYS.IEFACTRT)     MODNAME(IEEACTRT)
IBM's sample IEFACTRT
 EXIT ADD EXITNAME(SYSJES2.IEFACTRT) MODNAME(IEEACTRT)
IBM's sample IEFACTRT
 EXIT ADD EXITNAME(SYS.IEFACTRT)     MODNAME(XYZACTRT)
My IEFACTRT routine
(creates flower boxes)
 EXIT ADD EXITNAME(SYSJES2.IEFACTRT) MODNAME(XYZACTRT)
My IEFACTRT routine
(creates flower boxes)

Contributed "Flower Box" output

Here are sample IEFACTRT-created Flower Box output from around the world:

Disclaimers

The code samples and advice on this page are presented asis and without warranty. Please research any advice given here and ensure that it will work in your environment.
I'm pretty sure that JES2, MVS, OS/390 and SDSF are registered trademarks of IBM.


Last Updated: 2009-06-18
This web page is © 1999-2009+ by David Alcock. All Rights Reserved.