Input message field and segment edit routines
To simplify programming, MFS application designers should consider using (for all but SLU P devices) input message field and segment edit routines to perform common editing functions such as numeric validation or conversion of blanks to numeric zeros.
While use by existing applications is unlikely, field and segment edit routines can simplify programming of new applications by using standard field edits to perform functions that would otherwise need to be coded in each application program. IMS Version 15.2 Exit Routines lists the field and segment edit routines provided by IMS. The input message field or segment exit routines can be disabled for SLU P (DPM-An and ISC) devices, because editing is probably done by the remote program.
Using field and segment edit routines causes extra processing in the IMS TM control region and, if used extensively, creates a measurable performance cost. However, these edit routines can improve performance by reducing processing time in the message processing region, reducing logging and queuing time, and by allowing field verification and correction without scheduling an application program. Efficiency of these user-written routines should be a prime concern.
Because these routines execute in the IMS TM control region, an abend in the edit routine causes an abend of the IMS TM control region.
IMS-supplied field and segment edit routines
IMS TM provides both a field and a segment edit routine that the MFS application designer might want to use.IMS Version 15.2 Exit Routines lists the IMS-supplied routines.
Under z/OS®, any code written to replace these IMS-supplied routines must be able to execute in RMODE 24, AMODE 31 and be capable of 31-bit addressing even if they do not reference any 31-bit addressable resources. AMODE refers to addressing mode; when running modules in AMODE 31, Extended Architecture processors interpret both instruction and data addresses to be 31 bits wide.
Field edit routine (DFSME000)
The functions of the field edit routine are based on the entry vector. It can use all three formatting options. For options 1 and 2, entry vector 1 can produce undesirable results if FILL=NULL was specified in the MFLD statement.