Batch Edit (IEB)
- Purpose
- Runs a REXX procedure that can contain both standard REXX statements and the following FM/IMS batch functions.
- DELIMS
- Delete an IMS segment
- GETIMS
- Retrieve an IMS segment
- ISRTIMS
- Insert an IMS segment
- Print an IMS segment
- REPLIMS
- Update an IMS segment
- SAVEIMS
- Commits the data to the IMS database and frees IMS resource. After SAVEIMS is issued, the position in the database is lost
- SETRC
- Sets the job step return code
- VIEWIMS
- Create a view for later use, or load an existing view (that you can then use with the GETIMS function to retrieve a segment).
- VIEWPOSN
- Positions on an IMS segment so that the next GETIMS (with USING_VIEW) retrieves segments starting at this point.
- Usage notes
- The REXX functions are available only in REXX procedures that you use with
IEB. Some of these functions pass values to, or read from, the following REXX variables:
- INREC, OUTREC
- The GETIMS function retrieves a segment, and passes the contents of the segment to both INREC and OUTREC. Use INREC as a reference variable only, and do not update it. You can update OUTREC, and use it as the contents of a new segment that you insert with the ISRTIMS function, or you can use it with the REPLIMS function to replace the contents of an existing segment.
- FMSTATUS
- Contains the DL/I status code from the previous DELIMS, GETIMS, ISRTIMS or REPLIMS function call. For a description of DL/I status code values, see IMS Messages and Codes.
- FMCONKEY, FMSEGNM
- Contains the concatenated key (FMCONKEY) or name (FMSEGNM) of the segment deleted, retrieved, inserted or replaced by the previous DELIMS, GETIMS, ISRTIMS or REPLIMS function call.
- FMNDBDNM
- Contains the DBD name. (However, this variable is null until
you call a DELIMS, GETIMS, ISRTIMS or REPLIMS function.)
When using the Rexx function EXECIO, ensure that you code the command "ADDRESS MVS" before the EXECIO, otherwise you get an RC-3 executing the REXX.
These REXX variable names must be specified in all uppercase.
- For all IEB functions:
- The string of keywords and keyword values for each IEB function statement MUST be enclosed in single quotation marks. For statements requiring more than one line, each line must be enclosed in single quotation marks with the end quotation mark followed by a comma to indicate the continuation to the next line.
- For IEB functions DELIMS, GETIMS, ISRTIMS and REPLIMS :
- Where a field_value variable is specified for a #field_name or #field_ref keyword, the field_value variable may be enclosed in single or double quotation marks or may be specified without quotation marks.
- For IEB function VIEWIMS:
- Field selection_criteria are specified as REXX expressions. The selection_criteria expression should NOT be enclosed within single or double quotation marks.
The Batch Edit JCL generated by FM/IMS has the following flows:
- FMN1JIN
- Points to the FM/IMS skeleton library. This DD statement is only used when you are editing HALDB databases.
- FMNIMSIN
- Contains the control statements for the batch edit. These control statements are discussed below.
- IMS database data sets
- In DLI mode, FM/IMS includes DDs for each of the IMS database data sets associated with the IMS database being maintained. If the database has logical relationships, the data sets for the logically related databases need to be included.
- SYSPRINT
- This contains the FM/IMS messages that were issued by FM/IMS while running the IEB REXX procedure.
- REXX Procedure
- A REXX exec which is to be run to maintain the IMS database in
batch. This exec consists of standard REXX statements combined with FM/IMS IEB calls
to allow a user to read and update IMS segments.
In FMNIMSIN, if PROC=* is specified in the REXX procedure, the REXX procedure is specified instream after the PROC=* parameter.
In FMNIMSIN, if PROC=<member> is specified, REXX procedure <member> found in the FMNEXEC library is run.
- FMNEXEC
- This contains the member that is to be run if PROC=<member> is specified in the FMNIMSIN parameters.