The STEMEDIT sub-routine for REXX/OUTTRAP and ISPF
[Home]
[Products]
[Support]
[Documents]
[Partners]
[Contact Us]
[Search]
[Freeware]
Overview
The STEMEDIT sub-routine is invoked by a REXX exec in the ISPF environment and allows the user to browse, view or edit REXX stem variables using the BRIF, VIIF or EDIF services. STEMEDIT was written in 1995 as a nice complement to the REXX OUTTRAP function; today's version can PULL lines from the OUTTRAP data stack, or from stem variables.
STEMEDIT is written in assembler and requires ISPF V3 on MVS/ESA, OS/390 or z/OS. STEMEDIT is a free program, available in source-code format in the freeware section of this Web site.
|
|
|
Syntax
STEMEDIT is invoked via the CALL command of a REXX exec.
CALL STEMEDIT
service, BROWSE, VIEW or EDIT
stemname stem of family of variables
<,firstelem> first element
<,stemcount> maximum number of variables
<,title> Title for display screen
<,panel> name of Browse, View or Edit Panel
<,lrecl> maximum variable length
<,recfm> F, FA, FM, V, VA, VM, or U
<,profile> profile for EDIT or VIEW
Operands
- service is the name of the ISPF service used to display the data. service must be coded as BROWSE, VIEW or EDIT. If the BROWSE service is requested, the user can enter the V command on the BROWSE screen to switch to VIEW. This allows the data to be saved using CREATE/REPLACE, CUT or ROUTE.
- stemname specifies the stem of the family of variables to display. The combined lengths of the stemname argument and the largest subscript (plus the period, if specified) cannot exceed 80 characters. If stemname is a true REXX stem, code a period as the last character. If you do not specify the period, the subscripts will be concatenated to the stem name without an intervening period. For example, if you specify a stemname of "ABC.", STEMEDIT will look for variables of the form "ABC.1", "ABC.2", etc. If you specify a stemname of "XYZ" (no period), STEMEDIT will look for variables of the form "XYZ1", "XYZ2", etc. If the first argument is coded as "VIEW" or "EDIT" and stemname is omitted, STEMEDIT PULLs lines from the stack.
- firstelem optionally specifies the element of the pseudo-array to begin the display on. The default value is element 1.
- stemcount optionally specifies the number of elements to display. If stemcount is not specified, STEMEDIT displays variables beginning with firstelem, and continuing until an un-initialized variable is found (i.e., a variable which has its name for a value).
- title optionally specifies an arbitrary character string which identifies the data which is being displayed. The maximum length of this string is 54 characters, as required by the BRIF, VIIF or EDIT services.
- panel optionally specifies a 1 to 8 character name of the panel member to use for the display. The default panel is ISRBROBF for BROWSE and ISREDDE2 for VIEW and EDIT.
- lrecl optionally specifies the record length that should be passed to the BRIF, VIIF or EDIF services. The default value is 255.
- recfm optionally specifies the record format that should be passed to the BRIF, VIIF or EDIF services. Possible values are F, FA, FM, V, VA, VM, or U. The default value is V.
- profile optionally specifies the 8-char name of the profile that should be used by VIIF and EDIF when the VIEW or EDIT services are requested. The default value is TEXT.
Notes:
- The BROWSE and EDIT services only work with a stem variable. VIEW works with both stem variables or the data stack.
- If EDIT is used and the data is modified by the user, STEMEDIT DROPs the stem variable, sets stem.0 to the number of records written, copies records to the stem.1 through stem.n where n is equal to the value of the stem.0 variable, and sets the RC variable to 0. If the data is not modified by the user, STEMEDIT sets the RC variable to 4.
Return Codes
The STEMEDIT sub-routine returns a return code that indicates whether the display worked. The returned value is contained in the RC special variable. The following STEMEDIT return code values are possible:
- 0 - The display was successful.
- 4 - There were no stems matching the description given in stemname (BROWSE). The data was not modified (EDIT).
- 8 - Option incompatible with requested service.
- 12 - Invalid Service requested.
- 16 - BRIF, VIIF or EDIF failed.
Examples:
Call the STEMEDIT routine to display the output of the TSO "LISTCAT" command. The variables to display begin with the characters "LINE.":
CALL OUTTRAP 'LINE.'; 'LISTCAT'; CALL OUTTRAP 'OFF'
CALL STEMEDIT 'BROWSE','LINE.',,,'List Catalog'
QUEUE JCL to the data stack and call the STEMEDIT routine to VIEW it:
"MAKEBUF"
QUEUE '//MYJOB JOB 12345,CLASS=A'
QUEUE '//STEP2 EXEC PGM=IEFBR14'
CALL STEMEDIT 'VIEW',,,,'Sample JCL'
"DROPBUF"
Compatibility
STEMEDIT is designed to be compatible with the STEMDISP function of the REXXTOOLS/MVS product from Open Software Technologies, with the following exceptions:
- STEMEDIT supports the BROWSE, VIEW and EDIT services (STEMDISP only supports BROWSE).
- If stemcount is not specified, STEMEDIT scans variables until an unitialised variable is found (STEMDISP stops after 100000 variables).
- STEMEDIT has the ability to retrieve data from a stem variable or the data stack (STEMDISP can only retrieve data from a stem variable).
Search key-words: ibm mvs os/390 os390 z/os zOS TSO TSO/E ISPF REXX browse view edit display show stemdisp stemview stem variables stack outtrap BRIF VIIF EDIF RXBREDVI RXBRVIED RXEDVIBR RXVIEDBR RXEDBRVI RXVIBRED