The message filtering procedure permits you to either suppress
messages or alter the severity of messages. You can increase the
severity of any of the messages but you can decrease the severity
only of ERROR (severity code 8) or WARNING (severity code
4) messages.
The procedure-specific control block contains information about
the messages. It is used to pass information back to the compiler
indicating how a particular message should be handled.
The following is an example of a procedure-specific message filter
control block:
Dcl 1 Uex_MFX native based( null() ),
2 Uex_MFX_Length fixed bin(31),
2 Uex_MFX_Facility_Id char(3), /* of component writing
message */
2 * char(1),
2 Uex_MFX_Message_no fixed bin(31),
2 Uex_MFX_Severity fixed bin(15),
2 Uex_MFX_New_Severity fixed bin(15), /* set by exit proc */
2 Uex_MFX_Inserts fixed bin(15),
2 Uex_MFX_Inserts_Data( 6 refer(Uex_MFX_Inserts) ),
3 Uex_MFX_Ins_Type fixed bin(7),
3 Uex_MFX_Ins_Type_Data union unaligned,
4 * char(8),
4 Uex_MFX_Ins_Bin8 fixed bin(63),
4 Uex_MFX_Ins_Bin fixed bin(31),
4 Uex_MFX_Ins_Str,
5 Uex_MFX_Ins_Str_Len fixed bin(15),
5 Uex_MFX_Ins_Str_Addr pointer,
4 Uex_MFX_Ins_Series,
5 Uex_MFX_Ins_Series_Sep char(1),
5 Uex_MFX_Ins_Series_Addr pointer;
Data Entry Fields
- Uex_MFX_Length: Contains
the length of the control block in bytes. The value is storage (Uex_MFX).
- Uex_MFX_Facility_Id: Contains
the ID of the facility; for the compiler, the ID is IBM. For the
SQL side of the SQL preprocessor, the id is SQL.
The compiler sets this value.
- Uex_MFX_Message_no: Contains
the message number that the compiler is going to generate. The compiler
sets this value.
- Uex_MFX_Severity: Contains
the severity level of the message; it can be from one to fifteen
characters in length. The compiler sets this value.
- Uex_MFX_New_Severity: Contains
the new severity level of the message; it can be from one to fifteen
characters in length. The user sets this value.
- Uex_MFX_Inserts: Contains
the number of inserts for the message; it can range from zero to six.
The compiler sets this value.
- Uex_MFX_Inserts_Data: Contains
fields to describe each of the inserts.
The compiler sets these values.
- Uex_MFX_Ins_Type: Contains
the type of the insert. The possible insert types are:
- Uex_Ins_Type_Xb31: Used
for an integer type and has the value 1.
- Uex_Ins_Type_Char: Used
for an integer type and has the value 2.
- Uex_Ins_Type_Series: Used
for an integer type and has the value 3.
- Uex_Ins_Type_Xb63: Used
for an integer type and has the value 4.
The compiler sets this value.
- Uex_MFX_Ins_Bin: Contains
the integer value for an insert that has integer type.
The compiler sets this value.
- Uex_MFX_Ins_Str_Len: Contains
the length (in bytes) for an insert that has character type.
The compiler sets this value.
- Uex_MFX_Ins_Str_Addr: Contains
the address of the character string for an insert that has character type.
The compiler sets this value.
- Uex_MFX_Ins_Series_Sep: Contains
the character that should be inserted between each element for an insert that has series type.
Typically, this is a blank, period or comma.
The compiler sets this value.
- Uex_MFX_Ins_Series_Addr: Contains
the address of the series of varying character strings for an insert that has series type.
The address points to a FIXED BIN(31) field holding the number of strings to
concatenate followed by the adrresses of those strings.
The compiler sets this value.
Upon completion of the message filtering procedure, set the return/reason
codes to one of the following:
- 0/0
- Continue compilation, output message
- 0/1
- Continue compilation, do not output message
- 4/n
- Reserved for future use
- 8/n
- Reserved for future use
- 16/n
- Abort compilation
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)