SAP FM_SELECT_MULTIPLE Function Module for Mass selection of master data









FM_SELECT_MULTIPLE is a standard fm select multiple SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Mass selection of master data 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 fm select multiple FM, simply by entering the name FM_SELECT_MULTIPLE into the relevant SAP transaction such as SE37 or SE38.

Function Group: FMSL
Program Name: SAPLFMSL
Main Program: SAPLFMSL
Appliation area: F
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function FM_SELECT_MULTIPLE 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 'FM_SELECT_MULTIPLE'"Mass selection of master data
EXPORTING
I_FIKRS = "Financial Management Area
* I_FIPEX_FICTR_FONDS = ' ' "
* I_BUDGETPD_ONLY = ' ' "
* I_BSP_ELEMENT = ' ' "
* I_BSP_ELEMENT_BCS = ' ' "
* I_SELECT_WITHOUT_FONDS = ' ' "
* I_SELECT_WITHOUT_BUDGETPD = ' ' "
* I_SELECT_WITHOUT_FUNCTION = ' ' "
* I_SELECT_WITHOUT_MEASURE = ' ' "
* I_SELECT_WITHOUT_GRANT = ' ' "
* I_STATUS = 'U' "
I_GJAHR = "Fiscal Year
* I_LIST_TITLE = "List heading
* I_FLG_NO_LIST = ' ' "Display no list
* I_FLG_NO_OVERTAKE = ' ' "
* I_FLG_MAINT_SEQUENT = ' ' "
* I_FLG_MAINT_MULTIPLE = ' ' "
* I_FLG_DEL = ' ' "
* I_FLG_CHECK_BUDGET = ' ' "
* I_MAINT_FUNCNAME = ' ' "
* I_PROG_VARNT = ' ' "
* I_FLG_BLANK_DIM_BCS = "
* I_VARNT = '000' "Variant
* I_HIVARNT = "Hierarchy Variant of Funds Center
* I_POPER = "Period
* I_FIPEX_ONLY = ' ' "
* I_FICTR_ONLY = ' ' "
* I_FONDS_BP_ONLY = ' ' "
* I_FONDS_ONLY = ' ' "

IMPORTING
E_F_FKRS = "
E_F_FVAR = "

TABLES
* T_FMSLBSP = "
* T_FMSLFFBP = "
* T_FMSLTRP = "
* T_FMSLFCTR = "
* T_FMSLFPEX = "
* T_FMSLFFND = "
* T_FMSLPARA = "
* T_FMSLHEADER = "
* T_FMSLFIELDS = "
* T_FMSLFBDP = "

EXCEPTIONS
INPUT_ERROR = 1 NO_ENTRY_FOUND = 2 PROG_VARNT_ERROR = 3
.



IMPORTING Parameters details for FM_SELECT_MULTIPLE

I_FIKRS - Financial Management Area

Data type: FMCI-FIKRS
Optional: No
Call by Reference: Yes

I_FIPEX_FICTR_FONDS -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_BUDGETPD_ONLY -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_BSP_ELEMENT -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_BSP_ELEMENT_BCS -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_SELECT_WITHOUT_FONDS -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_SELECT_WITHOUT_BUDGETPD -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_SELECT_WITHOUT_FUNCTION -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_SELECT_WITHOUT_MEASURE -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_SELECT_WITHOUT_GRANT -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_STATUS -

Data type: FMDY-XFELD
Default: 'U'
Optional: Yes
Call by Reference: Yes

I_GJAHR - Fiscal Year

Data type: FMCI-GJAHR
Optional: No
Call by Reference: Yes

I_LIST_TITLE - List heading

Data type: SY-TITLE
Optional: Yes
Call by Reference: Yes

I_FLG_NO_LIST - Display no list

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLG_NO_OVERTAKE -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLG_MAINT_SEQUENT -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLG_MAINT_MULTIPLE -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLG_DEL -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLG_CHECK_BUDGET -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_MAINT_FUNCNAME -

Data type: TFDIR-FUNCNAME
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_PROG_VARNT -

Data type: RSVAR-VARIANT
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLG_BLANK_DIM_BCS -

Data type: FMSLBLNKDIM
Optional: Yes
Call by Reference: Yes

I_VARNT - Variant

Data type: FMHICI-VARNT
Default: '000'
Optional: Yes
Call by Reference: Yes

I_HIVARNT - Hierarchy Variant of Funds Center

Data type: FMHISV-HIVARNT
Optional: Yes
Call by Reference: Yes

I_POPER - Period

Data type: T009B-POPER
Optional: Yes
Call by Reference: Yes

I_FIPEX_ONLY -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FICTR_ONLY -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FONDS_BP_ONLY -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FONDS_ONLY -

Data type: FMDY-XFELD
Default: SPACE
Optional: Yes
Call by Reference: Yes

EXPORTING Parameters details for FM_SELECT_MULTIPLE

E_F_FKRS -

Data type: FKRS
Optional: No
Call by Reference: Yes

E_F_FVAR -

Data type: FVAR
Optional: No
Call by Reference: Yes

TABLES Parameters details for FM_SELECT_MULTIPLE

T_FMSLBSP -

Data type: FMSLBSP
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_FMSLFFBP -

Data type: FMSLFFBP
Optional: Yes
Call by Reference: Yes

T_FMSLTRP -

Data type: FMSLTRP
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_FMSLFCTR -

Data type: FMSLFCTR
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_FMSLFPEX -

Data type: FM_T_CISL
Optional: Yes
Call by Reference: Yes

T_FMSLFFND -

Data type: FMSLFFND
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_FMSLPARA -

Data type: FMSLPARA
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_FMSLHEADER -

Data type: FMSLHEADER
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_FMSLFIELDS -

Data type: FMSLFIELDS
Optional: Yes
Call by Reference: No ( called with pass by value option)

T_FMSLFBDP -

Data type: FMSLFBDP
Optional: Yes
Call by Reference: Yes

EXCEPTIONS details

INPUT_ERROR - Wrong Input Parameter

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

NO_ENTRY_FOUND - No records were selected

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

PROG_VARNT_ERROR -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

Copy and paste ABAP code example for FM_SELECT_MULTIPLE 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_fikrs  TYPE FMCI-FIKRS, "   
lv_e_f_fkrs  TYPE FKRS, "   
lt_t_fmslbsp  TYPE STANDARD TABLE OF FMSLBSP, "   
lv_input_error  TYPE FMSLBSP, "   
lt_t_fmslffbp  TYPE STANDARD TABLE OF FMSLFFBP, "   
lv_i_fipex_fictr_fonds  TYPE FMDY-XFELD, "   SPACE
lv_i_budgetpd_only  TYPE FMDY-XFELD, "   SPACE
lv_i_bsp_element  TYPE FMDY-XFELD, "   SPACE
lv_i_bsp_element_bcs  TYPE FMDY-XFELD, "   SPACE
lv_i_select_without_fonds  TYPE FMDY-XFELD, "   SPACE
lv_i_select_without_budgetpd  TYPE FMDY-XFELD, "   SPACE
lv_i_select_without_function  TYPE FMDY-XFELD, "   SPACE
lv_i_select_without_measure  TYPE FMDY-XFELD, "   SPACE
lv_i_select_without_grant  TYPE FMDY-XFELD, "   SPACE
lv_i_status  TYPE FMDY-XFELD, "   'U'
lv_i_gjahr  TYPE FMCI-GJAHR, "   
lv_e_f_fvar  TYPE FVAR, "   
lt_t_fmsltrp  TYPE STANDARD TABLE OF FMSLTRP, "   
lv_no_entry_found  TYPE FMSLTRP, "   
lv_i_list_title  TYPE SY-TITLE, "   
lv_i_flg_no_list  TYPE FMDY-XFELD, "   SPACE
lv_i_flg_no_overtake  TYPE FMDY-XFELD, "   SPACE
lv_i_flg_maint_sequent  TYPE FMDY-XFELD, "   SPACE
lv_i_flg_maint_multiple  TYPE FMDY-XFELD, "   SPACE
lv_i_flg_del  TYPE FMDY-XFELD, "   SPACE
lv_i_flg_check_budget  TYPE FMDY-XFELD, "   SPACE
lv_i_maint_funcname  TYPE TFDIR-FUNCNAME, "   SPACE
lv_i_prog_varnt  TYPE RSVAR-VARIANT, "   SPACE
lv_i_flg_blank_dim_bcs  TYPE FMSLBLNKDIM, "   
lv_i_varnt  TYPE FMHICI-VARNT, "   '000'
lt_t_fmslfctr  TYPE STANDARD TABLE OF FMSLFCTR, "   
lv_prog_varnt_error  TYPE FMSLFCTR, "   
lv_i_hivarnt  TYPE FMHISV-HIVARNT, "   
lt_t_fmslfpex  TYPE STANDARD TABLE OF FM_T_CISL, "   
lv_i_poper  TYPE T009B-POPER, "   
lt_t_fmslffnd  TYPE STANDARD TABLE OF FMSLFFND, "   
lt_t_fmslpara  TYPE STANDARD TABLE OF FMSLPARA, "   
lv_i_fipex_only  TYPE FMDY-XFELD, "   SPACE
lv_i_fictr_only  TYPE FMDY-XFELD, "   SPACE
lt_t_fmslheader  TYPE STANDARD TABLE OF FMSLHEADER, "   
lt_t_fmslfields  TYPE STANDARD TABLE OF FMSLFIELDS, "   
lv_i_fonds_bp_only  TYPE FMDY-XFELD, "   SPACE
lt_t_fmslfbdp  TYPE STANDARD TABLE OF FMSLFBDP, "   
lv_i_fonds_only  TYPE FMDY-XFELD. "   SPACE

  CALL FUNCTION 'FM_SELECT_MULTIPLE'  "Mass selection of master data
    EXPORTING
         I_FIKRS = lv_i_fikrs
         I_FIPEX_FICTR_FONDS = lv_i_fipex_fictr_fonds
         I_BUDGETPD_ONLY = lv_i_budgetpd_only
         I_BSP_ELEMENT = lv_i_bsp_element
         I_BSP_ELEMENT_BCS = lv_i_bsp_element_bcs
         I_SELECT_WITHOUT_FONDS = lv_i_select_without_fonds
         I_SELECT_WITHOUT_BUDGETPD = lv_i_select_without_budgetpd
         I_SELECT_WITHOUT_FUNCTION = lv_i_select_without_function
         I_SELECT_WITHOUT_MEASURE = lv_i_select_without_measure
         I_SELECT_WITHOUT_GRANT = lv_i_select_without_grant
         I_STATUS = lv_i_status
         I_GJAHR = lv_i_gjahr
         I_LIST_TITLE = lv_i_list_title
         I_FLG_NO_LIST = lv_i_flg_no_list
         I_FLG_NO_OVERTAKE = lv_i_flg_no_overtake
         I_FLG_MAINT_SEQUENT = lv_i_flg_maint_sequent
         I_FLG_MAINT_MULTIPLE = lv_i_flg_maint_multiple
         I_FLG_DEL = lv_i_flg_del
         I_FLG_CHECK_BUDGET = lv_i_flg_check_budget
         I_MAINT_FUNCNAME = lv_i_maint_funcname
         I_PROG_VARNT = lv_i_prog_varnt
         I_FLG_BLANK_DIM_BCS = lv_i_flg_blank_dim_bcs
         I_VARNT = lv_i_varnt
         I_HIVARNT = lv_i_hivarnt
         I_POPER = lv_i_poper
         I_FIPEX_ONLY = lv_i_fipex_only
         I_FICTR_ONLY = lv_i_fictr_only
         I_FONDS_BP_ONLY = lv_i_fonds_bp_only
         I_FONDS_ONLY = lv_i_fonds_only
    IMPORTING
         E_F_FKRS = lv_e_f_fkrs
         E_F_FVAR = lv_e_f_fvar
    TABLES
         T_FMSLBSP = lt_t_fmslbsp
         T_FMSLFFBP = lt_t_fmslffbp
         T_FMSLTRP = lt_t_fmsltrp
         T_FMSLFCTR = lt_t_fmslfctr
         T_FMSLFPEX = lt_t_fmslfpex
         T_FMSLFFND = lt_t_fmslffnd
         T_FMSLPARA = lt_t_fmslpara
         T_FMSLHEADER = lt_t_fmslheader
         T_FMSLFIELDS = lt_t_fmslfields
         T_FMSLFBDP = lt_t_fmslfbdp
    EXCEPTIONS
        INPUT_ERROR = 1
        NO_ENTRY_FOUND = 2
        PROG_VARNT_ERROR = 3
. " FM_SELECT_MULTIPLE




ABAP code using 7.40 inline data declarations to call FM FM_SELECT_MULTIPLE

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 FIKRS FROM FMCI INTO @DATA(ld_i_fikrs).
 
 
 
 
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_fipex_fictr_fonds).
DATA(ld_i_fipex_fictr_fonds) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_budgetpd_only).
DATA(ld_i_budgetpd_only) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_bsp_element).
DATA(ld_i_bsp_element) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_bsp_element_bcs).
DATA(ld_i_bsp_element_bcs) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_select_without_fonds).
DATA(ld_i_select_without_fonds) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_select_without_budgetpd).
DATA(ld_i_select_without_budgetpd) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_select_without_function).
DATA(ld_i_select_without_function) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_select_without_measure).
DATA(ld_i_select_without_measure) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_select_without_grant).
DATA(ld_i_select_without_grant) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_status).
DATA(ld_i_status) = 'U'.
 
"SELECT single GJAHR FROM FMCI INTO @DATA(ld_i_gjahr).
 
 
 
 
"SELECT single TITLE FROM SY INTO @DATA(ld_i_list_title).
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_flg_no_list).
DATA(ld_i_flg_no_list) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_flg_no_overtake).
DATA(ld_i_flg_no_overtake) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_flg_maint_sequent).
DATA(ld_i_flg_maint_sequent) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_flg_maint_multiple).
DATA(ld_i_flg_maint_multiple) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_flg_del).
DATA(ld_i_flg_del) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_flg_check_budget).
DATA(ld_i_flg_check_budget) = ' '.
 
"SELECT single FUNCNAME FROM TFDIR INTO @DATA(ld_i_maint_funcname).
DATA(ld_i_maint_funcname) = ' '.
 
"SELECT single VARIANT FROM RSVAR INTO @DATA(ld_i_prog_varnt).
DATA(ld_i_prog_varnt) = ' '.
 
 
"SELECT single VARNT FROM FMHICI INTO @DATA(ld_i_varnt).
DATA(ld_i_varnt) = '000'.
 
 
 
"SELECT single HIVARNT FROM FMHISV INTO @DATA(ld_i_hivarnt).
 
 
"SELECT single POPER FROM T009B INTO @DATA(ld_i_poper).
 
 
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_fipex_only).
DATA(ld_i_fipex_only) = ' '.
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_fictr_only).
DATA(ld_i_fictr_only) = ' '.
 
 
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_fonds_bp_only).
DATA(ld_i_fonds_bp_only) = ' '.
 
 
"SELECT single XFELD FROM FMDY INTO @DATA(ld_i_fonds_only).
DATA(ld_i_fonds_only) = ' '.
 


Search for further information about these or an SAP related objects



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!