SAP ISH_MESSAGE_HANDLER Function Module for IS-H: General message handler for application control of billing messages
ISH_MESSAGE_HANDLER is a standard ish message handler SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for IS-H: General message handler for application control of billing messages processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for ish message handler FM, simply by entering the name ISH_MESSAGE_HANDLER into the relevant SAP transaction such as SE37 or SE38.
Function Group: N006
Program Name: SAPLN006
Main Program: SAPLN006
Appliation area: N
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function ISH_MESSAGE_HANDLER pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'ISH_MESSAGE_HANDLER'"IS-H: General message handler for application control of billing messages.
EXPORTING
* EINRI = '*' "Institution
* MESS_VAR2 = ' ' "Message variable 2
* MESS_VAR3 = ' ' "Message variable 3
* MESS_VAR4 = ' ' "Message variable 4
* MESS_LINE = ' ' "
* MESS_ERROR = ' ' "ID whether E messages should also be handled
* NO_TN21M = ' ' "
FUNCTION = "Function for user message control TN21M
MESS_ARBGB = "Work area (e.g. N1)
* MESS_COLL = ' ' "ID whether messages should be collected
MESS_COLL_ACTIVE = "ID whether message collection not presently active
MESS_NR = "Number of message
* MESS_SHOW = ' ' "ID whether message should be sent
MESS_TYP = "Type of message (passed on)
* MESS_VAR1 = ' ' "Message variable 1
IMPORTING
MESS_COLL_ACTIVE = "ID whether message collection not presently active
MESS_TYP = "Type of message (passed on)
EXCEPTIONS
MESS_TYP_NOT_VALID = 1
IMPORTING Parameters details for ISH_MESSAGE_HANDLER
EINRI - Institution
Data type: TN01-EINRIDefault: '*'
Optional: Yes
Call by Reference: No ( called with pass by value option)
MESS_VAR2 - Message variable 2
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
MESS_VAR3 - Message variable 3
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
MESS_VAR4 - Message variable 4
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
MESS_LINE -
Data type: MESG-ZEILEDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
MESS_ERROR - ID whether E messages should also be handled
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_TN21M -
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
FUNCTION - Function for user message control TN21M
Data type: TN21M-FUNKTOptional: No
Call by Reference: No ( called with pass by value option)
MESS_ARBGB - Work area (e.g. N1)
Data type: TN21M-ARBGBOptional: No
Call by Reference: No ( called with pass by value option)
MESS_COLL - ID whether messages should be collected
Data type: NPDOK-XFELDDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
MESS_COLL_ACTIVE - ID whether message collection not presently active
Data type: NPDOK-C1Optional: No
Call by Reference: No ( called with pass by value option)
MESS_NR - Number of message
Data type: TN21M-MSGNROptional: No
Call by Reference: No ( called with pass by value option)
MESS_SHOW - ID whether message should be sent
Data type: NPDOK-XFELDDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
MESS_TYP - Type of message (passed on)
Data type: TN21M-MSGTYOptional: No
Call by Reference: No ( called with pass by value option)
MESS_VAR1 - Message variable 1
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for ISH_MESSAGE_HANDLER
MESS_COLL_ACTIVE - ID whether message collection not presently active
Data type: NPDOK-C1Optional: No
Call by Reference: No ( called with pass by value option)
MESS_TYP - Type of message (passed on)
Data type: TN21M-MSGTYOptional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
MESS_TYP_NOT_VALID - Message type invalid
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for ISH_MESSAGE_HANDLER Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_einri | TYPE TN01-EINRI, " '*' | |||
| lv_mess_coll_active | TYPE NPDOK-C1, " | |||
| lv_mess_typ_not_valid | TYPE NPDOK, " | |||
| lv_mess_var2 | TYPE NPDOK, " SPACE | |||
| lv_mess_var3 | TYPE NPDOK, " SPACE | |||
| lv_mess_var4 | TYPE NPDOK, " SPACE | |||
| lv_mess_line | TYPE MESG-ZEILE, " SPACE | |||
| lv_mess_error | TYPE MESG, " SPACE | |||
| lv_no_tn21m | TYPE MESG, " SPACE | |||
| lv_function | TYPE TN21M-FUNKT, " | |||
| lv_mess_typ | TYPE TN21M-MSGTY, " | |||
| lv_mess_arbgb | TYPE TN21M-ARBGB, " | |||
| lv_mess_coll | TYPE NPDOK-XFELD, " SPACE | |||
| lv_mess_coll_active | TYPE NPDOK-C1, " | |||
| lv_mess_nr | TYPE TN21M-MSGNR, " | |||
| lv_mess_show | TYPE NPDOK-XFELD, " SPACE | |||
| lv_mess_typ | TYPE TN21M-MSGTY, " | |||
| lv_mess_var1 | TYPE TN21M. " SPACE |
|   CALL FUNCTION 'ISH_MESSAGE_HANDLER' "IS-H: General message handler for application control of billing messages |
| EXPORTING | ||
| EINRI | = lv_einri | |
| MESS_VAR2 | = lv_mess_var2 | |
| MESS_VAR3 | = lv_mess_var3 | |
| MESS_VAR4 | = lv_mess_var4 | |
| MESS_LINE | = lv_mess_line | |
| MESS_ERROR | = lv_mess_error | |
| NO_TN21M | = lv_no_tn21m | |
| FUNCTION | = lv_function | |
| MESS_ARBGB | = lv_mess_arbgb | |
| MESS_COLL | = lv_mess_coll | |
| MESS_COLL_ACTIVE | = lv_mess_coll_active | |
| MESS_NR | = lv_mess_nr | |
| MESS_SHOW | = lv_mess_show | |
| MESS_TYP | = lv_mess_typ | |
| MESS_VAR1 | = lv_mess_var1 | |
| IMPORTING | ||
| MESS_COLL_ACTIVE | = lv_mess_coll_active | |
| MESS_TYP | = lv_mess_typ | |
| EXCEPTIONS | ||
| MESS_TYP_NOT_VALID = 1 | ||
| . " ISH_MESSAGE_HANDLER | ||
ABAP code using 7.40 inline data declarations to call FM ISH_MESSAGE_HANDLER
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single EINRI FROM TN01 INTO @DATA(ld_einri). | ||||
| DATA(ld_einri) | = '*'. | |||
| "SELECT single C1 FROM NPDOK INTO @DATA(ld_mess_coll_active). | ||||
| DATA(ld_mess_var2) | = ' '. | |||
| DATA(ld_mess_var3) | = ' '. | |||
| DATA(ld_mess_var4) | = ' '. | |||
| "SELECT single ZEILE FROM MESG INTO @DATA(ld_mess_line). | ||||
| DATA(ld_mess_line) | = ' '. | |||
| DATA(ld_mess_error) | = ' '. | |||
| DATA(ld_no_tn21m) | = ' '. | |||
| "SELECT single FUNKT FROM TN21M INTO @DATA(ld_function). | ||||
| "SELECT single MSGTY FROM TN21M INTO @DATA(ld_mess_typ). | ||||
| "SELECT single ARBGB FROM TN21M INTO @DATA(ld_mess_arbgb). | ||||
| "SELECT single XFELD FROM NPDOK INTO @DATA(ld_mess_coll). | ||||
| DATA(ld_mess_coll) | = ' '. | |||
| "SELECT single C1 FROM NPDOK INTO @DATA(ld_mess_coll_active). | ||||
| "SELECT single MSGNR FROM TN21M INTO @DATA(ld_mess_nr). | ||||
| "SELECT single XFELD FROM NPDOK INTO @DATA(ld_mess_show). | ||||
| DATA(ld_mess_show) | = ' '. | |||
| "SELECT single MSGTY FROM TN21M INTO @DATA(ld_mess_typ). | ||||
| DATA(ld_mess_var1) | = ' '. | |||
Search for further information about these or an SAP related objects