SAP MM_DOCUMENT_INDEX_MAINTENANCE Function Module for NOTRANSL: Allgemeiner Baustein für Belegindexbearbeitung
MM_DOCUMENT_INDEX_MAINTENANCE is a standard mm document index maintenance SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for NOTRANSL: Allgemeiner Baustein für Belegindexbearbeitung 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 mm document index maintenance FM, simply by entering the name MM_DOCUMENT_INDEX_MAINTENANCE into the relevant SAP transaction such as SE37 or SE38.
Function Group: WIN1
Program Name: SAPLWIN1
Main Program: SAPLWIN1
Appliation area: M
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function MM_DOCUMENT_INDEX_MAINTENANCE 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 'MM_DOCUMENT_INDEX_MAINTENANCE'"NOTRANSL: Allgemeiner Baustein für Belegindexbearbeitung.
EXPORTING
* I_MESSAGE_TYP = 'CONDBI' "
* I_SCALE_READ = ' ' "
* I_SAPGUI_MESSAGE = 'X' "
* I_REORG_INDEX_TAB = 'X' "
* I_REORG_NOT_PROCESS_INDEX_TAB = ' ' "
* I_CONDITION_VALIDITY = "
* I_DOCUMENT_VALIDITY = "
* I_PRICING_VALIDITY = "
* I_BUFFER_POINTER = ' ' "
* I_NO_MESSAGING = 'X' "
* I_NO_MESSAGE_REQ = 'X' "
I_CALCULATION_TYPE = "
* I_NO_AUTHORITY_CHECK = 'X' "
* I_PDITEMS = "Doc/Index Compilation: No. of Items per Pricing Document
* I_EKERVM = "Purchase Price Determ. Seq.
* I_COMMIT_AND_WAIT = "
* I_MAXBLSTP = "
* I_USE_KONH_VALIDITY = ' ' "Use Validity from KONH
* I_ALV = 'X' "General Indicator
* I_SELECTION_SCREEN = 'X' "
* I_DOCUMENT_INDEX_READ = 'X' "
* I_DOCUMENT_CHANGE_CHECK = 'X' "
* I_POINTER_MAINTENANCE = 'X' "
* I_DOCUMENT_INDEX_SHOW = 'X' "
* I_DISPLAY_AS_POPUP = ' ' "
* I_CONDITION_READ = 'X' "Read Conditions
TABLES
* T_ERROR_MESSAGES = "List of errors which occurred
* T_DOCUMENT_INDEX = "
* T_VAKE_FOR_BLTYP = "
* T_DOCUMENT_TYPES_TAB = "
* T_DOCUMENT_RAN_FOR_BLTYP = "
* T_WINDVB = "
* T_ERRO = "Sales price calculation: structure for error processing
EXCEPTIONS
POINTER_ANALYSE = 1 NO_CUSTOMIZING_DATA = 2 NO_INDEX_DATA = 3 INDEX_DATA_NOT_FOUND = 4 BACK_TO_SELECTION_SCREEN = 5 FUNCTION_YET_FINISHED = 6 OTHER_MESSAGES = 7
IMPORTING Parameters details for MM_DOCUMENT_INDEX_MAINTENANCE
I_MESSAGE_TYP -
Data type: EDIDC-MESTYPDefault: 'CONDBI'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_SCALE_READ -
Data type: CDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_SAPGUI_MESSAGE -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_REORG_INDEX_TAB -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_REORG_NOT_PROCESS_INDEX_TAB -
Data type: CDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CONDITION_VALIDITY -
Data type: WIN1_DATSOptional: Yes
Call by Reference: No ( called with pass by value option)
I_DOCUMENT_VALIDITY -
Data type: WIN1_DATSOptional: Yes
Call by Reference: No ( called with pass by value option)
I_PRICING_VALIDITY -
Data type: WIN1_DATSOptional: Yes
Call by Reference: No ( called with pass by value option)
I_BUFFER_POINTER -
Data type: CDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_NO_MESSAGING -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_NO_MESSAGE_REQ -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CALCULATION_TYPE -
Data type: KOMV-KSTEUOptional: No
Call by Reference: No ( called with pass by value option)
I_NO_AUTHORITY_CHECK -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_PDITEMS - Doc/Index Compilation: No. of Items per Pricing Document
Data type: W_PDITEMSOptional: Yes
Call by Reference: No ( called with pass by value option)
I_EKERVM - Purchase Price Determ. Seq.
Data type: EKERV_MOptional: Yes
Call by Reference: No ( called with pass by value option)
I_COMMIT_AND_WAIT -
Data type: COptional: Yes
Call by Reference: Yes
I_MAXBLSTP -
Data type: NOptional: Yes
Call by Reference: No ( called with pass by value option)
I_USE_KONH_VALIDITY - Use Validity from KONH
Data type: WIND_USE_KONH_VALIDITYDefault: SPACE
Optional: Yes
Call by Reference: Yes
I_ALV - General Indicator
Data type: FLAGDefault: 'X'
Optional: Yes
Call by Reference: Yes
I_SELECTION_SCREEN -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DOCUMENT_INDEX_READ -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DOCUMENT_CHANGE_CHECK -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_POINTER_MAINTENANCE -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DOCUMENT_INDEX_SHOW -
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DISPLAY_AS_POPUP -
Data type: CDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CONDITION_READ - Read Conditions
Data type: CDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for MM_DOCUMENT_INDEX_MAINTENANCE
T_ERROR_MESSAGES - List of errors which occurred
Data type: BELIND_ERROptional: Yes
Call by Reference: No ( called with pass by value option)
T_DOCUMENT_INDEX -
Data type: BELINDEXOptional: Yes
Call by Reference: No ( called with pass by value option)
T_VAKE_FOR_BLTYP -
Data type: WIND_VAKE_FOR_BLTYP_TABOptional: Yes
Call by Reference: No ( called with pass by value option)
T_DOCUMENT_TYPES_TAB -
Data type: BLTYP_AKTOptional: Yes
Call by Reference: No ( called with pass by value option)
T_DOCUMENT_RAN_FOR_BLTYP -
Data type: WIND_BELNR_RAN_FOR_BLTYP_TABOptional: Yes
Call by Reference: No ( called with pass by value option)
T_WINDVB -
Data type: WINDVBOptional: Yes
Call by Reference: No ( called with pass by value option)
T_ERRO - Sales price calculation: structure for error processing
Data type: ERROOptional: Yes
Call by Reference: Yes
EXCEPTIONS details
POINTER_ANALYSE -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_CUSTOMIZING_DATA -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_INDEX_DATA -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INDEX_DATA_NOT_FOUND -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
BACK_TO_SELECTION_SCREEN -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
FUNCTION_YET_FINISHED -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
OTHER_MESSAGES -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for MM_DOCUMENT_INDEX_MAINTENANCE 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_i_message_typ | TYPE EDIDC-MESTYP, " 'CONDBI' | |||
| lv_pointer_analyse | TYPE EDIDC, " | |||
| lt_t_error_messages | TYPE STANDARD TABLE OF BELIND_ERR, " | |||
| lv_i_scale_read | TYPE C, " SPACE | |||
| lv_i_sapgui_message | TYPE C, " 'X' | |||
| lv_i_reorg_index_tab | TYPE C, " 'X' | |||
| lv_i_reorg_not_process_index_tab | TYPE C, " SPACE | |||
| lv_i_condition_validity | TYPE WIN1_DATS, " | |||
| lv_i_document_validity | TYPE WIN1_DATS, " | |||
| lv_i_pricing_validity | TYPE WIN1_DATS, " | |||
| lv_i_buffer_pointer | TYPE C, " SPACE | |||
| lv_i_no_messaging | TYPE C, " 'X' | |||
| lv_i_no_message_req | TYPE C, " 'X' | |||
| lt_t_document_index | TYPE STANDARD TABLE OF BELINDEX, " | |||
| lv_i_calculation_type | TYPE KOMV-KSTEU, " | |||
| lv_no_customizing_data | TYPE KOMV, " | |||
| lv_i_no_authority_check | TYPE C, " 'X' | |||
| lv_i_pditems | TYPE W_PDITEMS, " | |||
| lv_i_ekervm | TYPE EKERV_M, " | |||
| lv_i_commit_and_wait | TYPE C, " | |||
| lv_i_maxblstp | TYPE N, " | |||
| lv_i_use_konh_validity | TYPE WIND_USE_KONH_VALIDITY, " SPACE | |||
| lv_i_alv | TYPE FLAG, " 'X' | |||
| lv_no_index_data | TYPE FLAG, " | |||
| lt_t_vake_for_bltyp | TYPE STANDARD TABLE OF WIND_VAKE_FOR_BLTYP_TAB, " | |||
| lv_i_selection_screen | TYPE C, " 'X' | |||
| lv_index_data_not_found | TYPE C, " | |||
| lt_t_document_types_tab | TYPE STANDARD TABLE OF BLTYP_AKT, " | |||
| lv_i_document_index_read | TYPE C, " 'X' | |||
| lv_i_document_change_check | TYPE C, " 'X' | |||
| lv_back_to_selection_screen | TYPE C, " | |||
| lt_t_document_ran_for_bltyp | TYPE STANDARD TABLE OF WIND_BELNR_RAN_FOR_BLTYP_TAB, " | |||
| lt_t_windvb | TYPE STANDARD TABLE OF WINDVB, " | |||
| lv_function_yet_finished | TYPE WINDVB, " | |||
| lv_i_pointer_maintenance | TYPE C, " 'X' | |||
| lt_t_erro | TYPE STANDARD TABLE OF ERRO, " | |||
| lv_other_messages | TYPE ERRO, " | |||
| lv_i_document_index_show | TYPE C, " 'X' | |||
| lv_i_display_as_popup | TYPE C, " ' ' | |||
| lv_i_condition_read | TYPE C. " 'X' |
|   CALL FUNCTION 'MM_DOCUMENT_INDEX_MAINTENANCE' "NOTRANSL: Allgemeiner Baustein für Belegindexbearbeitung |
| EXPORTING | ||
| I_MESSAGE_TYP | = lv_i_message_typ | |
| I_SCALE_READ | = lv_i_scale_read | |
| I_SAPGUI_MESSAGE | = lv_i_sapgui_message | |
| I_REORG_INDEX_TAB | = lv_i_reorg_index_tab | |
| I_REORG_NOT_PROCESS_INDEX_TAB | = lv_i_reorg_not_process_index_tab | |
| I_CONDITION_VALIDITY | = lv_i_condition_validity | |
| I_DOCUMENT_VALIDITY | = lv_i_document_validity | |
| I_PRICING_VALIDITY | = lv_i_pricing_validity | |
| I_BUFFER_POINTER | = lv_i_buffer_pointer | |
| I_NO_MESSAGING | = lv_i_no_messaging | |
| I_NO_MESSAGE_REQ | = lv_i_no_message_req | |
| I_CALCULATION_TYPE | = lv_i_calculation_type | |
| I_NO_AUTHORITY_CHECK | = lv_i_no_authority_check | |
| I_PDITEMS | = lv_i_pditems | |
| I_EKERVM | = lv_i_ekervm | |
| I_COMMIT_AND_WAIT | = lv_i_commit_and_wait | |
| I_MAXBLSTP | = lv_i_maxblstp | |
| I_USE_KONH_VALIDITY | = lv_i_use_konh_validity | |
| I_ALV | = lv_i_alv | |
| I_SELECTION_SCREEN | = lv_i_selection_screen | |
| I_DOCUMENT_INDEX_READ | = lv_i_document_index_read | |
| I_DOCUMENT_CHANGE_CHECK | = lv_i_document_change_check | |
| I_POINTER_MAINTENANCE | = lv_i_pointer_maintenance | |
| I_DOCUMENT_INDEX_SHOW | = lv_i_document_index_show | |
| I_DISPLAY_AS_POPUP | = lv_i_display_as_popup | |
| I_CONDITION_READ | = lv_i_condition_read | |
| TABLES | ||
| T_ERROR_MESSAGES | = lt_t_error_messages | |
| T_DOCUMENT_INDEX | = lt_t_document_index | |
| T_VAKE_FOR_BLTYP | = lt_t_vake_for_bltyp | |
| T_DOCUMENT_TYPES_TAB | = lt_t_document_types_tab | |
| T_DOCUMENT_RAN_FOR_BLTYP | = lt_t_document_ran_for_bltyp | |
| T_WINDVB | = lt_t_windvb | |
| T_ERRO | = lt_t_erro | |
| EXCEPTIONS | ||
| POINTER_ANALYSE = 1 | ||
| NO_CUSTOMIZING_DATA = 2 | ||
| NO_INDEX_DATA = 3 | ||
| INDEX_DATA_NOT_FOUND = 4 | ||
| BACK_TO_SELECTION_SCREEN = 5 | ||
| FUNCTION_YET_FINISHED = 6 | ||
| OTHER_MESSAGES = 7 | ||
| . " MM_DOCUMENT_INDEX_MAINTENANCE | ||
ABAP code using 7.40 inline data declarations to call FM MM_DOCUMENT_INDEX_MAINTENANCE
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 MESTYP FROM EDIDC INTO @DATA(ld_i_message_typ). | ||||
| DATA(ld_i_message_typ) | = 'CONDBI'. | |||
| DATA(ld_i_scale_read) | = ' '. | |||
| DATA(ld_i_sapgui_message) | = 'X'. | |||
| DATA(ld_i_reorg_index_tab) | = 'X'. | |||
| DATA(ld_i_reorg_not_process_index_tab) | = ' '. | |||
| DATA(ld_i_buffer_pointer) | = ' '. | |||
| DATA(ld_i_no_messaging) | = 'X'. | |||
| DATA(ld_i_no_message_req) | = 'X'. | |||
| "SELECT single KSTEU FROM KOMV INTO @DATA(ld_i_calculation_type). | ||||
| DATA(ld_i_no_authority_check) | = 'X'. | |||
| DATA(ld_i_use_konh_validity) | = ' '. | |||
| DATA(ld_i_alv) | = 'X'. | |||
| DATA(ld_i_selection_screen) | = 'X'. | |||
| DATA(ld_i_document_index_read) | = 'X'. | |||
| DATA(ld_i_document_change_check) | = 'X'. | |||
| DATA(ld_i_pointer_maintenance) | = 'X'. | |||
| DATA(ld_i_document_index_show) | = 'X'. | |||
| DATA(ld_i_display_as_popup) | = ' '. | |||
| DATA(ld_i_condition_read) | = 'X'. | |||
Search for further information about these or an SAP related objects