SAP Function Modules

BM_OBJECT_MAINTAIN SAP Function module - Maintain Object Attributes







BM_OBJECT_MAINTAIN is a standard SAP function module available within R/3 SAP systems depending on your version and release level. Below is the pattern details for this FM showing its interface including any import and export parameters, exceptions etc as well as any documentation contributions (Comments) specific to the object.

See here to view full function module documentation and code listing, simply by entering the name BM_OBJECT_MAINTAIN into the relevant SAP transaction such as SE37 or SE80.

Associated Function Group: SF01
Released Date: Not Released
Processing type: Normal fucntion module
Normal function module settings


Pattern for FM BM_OBJECT_MAINTAIN - BM OBJECT MAINTAIN





CALL FUNCTION 'BM_OBJECT_MAINTAIN' "Maintain Object Attributes
  EXPORTING
    i_object_type =             " bmobject-type  Object Type
*   i_object_id =               " bmobject-id   Object key
*   i_comp_obj_id =             " bmobject-id
*   i_devclass =                " bmobject-devclass  Development Class
*   i_language = SY-LANGU       " sy-langu      Language
*   i_mode = 'SHOW'             " rpygsgf-mode
*   i_namespace = SPACE         " namespace     Namespace
*   i_extension = SPACE         " hier_iface-extension  Structure enhancement ID
*   i_initial_screen = SPACE    " bmt_flag
*   i_screen = SPACE            " bmt_flag
*   i_popup = SPACE             " bmt_flag
*   i_starting_at_x = 2         " i
*   i_starting_at_y = 2         " i
*   i_active_tab =              " cxtab_tabstrip-activetab
*   i_msg_send = '0'            " c
*   i_cico_dialog = 'X'         " bmt_flag
*   i_cico_reqno =              " rpygsgf-cico_reqno  Transfer Order Number
*   _deletion_check = 'X'       " bmt_flag      (internal)
*   _maintain_structure = 'X'   " bmt_flag
  IMPORTING
    e_object_data =             " bmobject      Process model object: general attributes
    e_exit =                    " bmt_flag
    e_cancelled =               " bmt_flag
    e_cico_reqno =              " trkorr        Request/Task
* TABLES
*   t_fieldcat =                "
*   t_fcode_excl =              "
* CHANGING
*   r_object =                  " any           Structure overview
  EXCEPTIONS
    ERROR_OCCURRED = 1          "               Errors occurred
    .  "  BM_OBJECT_MAINTAIN

ABAP code example for Function Module BM_OBJECT_MAINTAIN





The ABAP code below is a full code listing to execute function module BM_OBJECT_MAINTAIN including all data declarations. The code uses 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 original method of declaring data variables up front. 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).

DATA:
ld_e_object_data  TYPE BMOBJECT ,
ld_e_exit  TYPE BMT_FLAG ,
ld_e_cancelled  TYPE BMT_FLAG ,
ld_e_cico_reqno  TYPE TRKORR ,
it_t_fieldcat  TYPE STANDARD TABLE OF STRING,"TABLES PARAM
wa_t_fieldcat  LIKE LINE OF it_t_fieldcat ,
it_t_fcode_excl  TYPE STANDARD TABLE OF STRING,"TABLES PARAM
wa_t_fcode_excl  LIKE LINE OF it_t_fcode_excl .

DATA(ld_r_object) = 'Check type of data required'.

DATA(ld_i_object_type) = some text here

DATA(ld_i_object_id) = some text here

DATA(ld_i_comp_obj_id) = some text here

DATA(ld_i_devclass) = some text here
DATA(ld_i_language) = 'Check type of data required'.

DATA(ld_i_mode) = some text here
DATA(ld_i_namespace) = 'Check type of data required'.

DATA(ld_i_extension) = some text here
DATA(ld_i_initial_screen) = 'Check type of data required'.
DATA(ld_i_screen) = 'Check type of data required'.
DATA(ld_i_popup) = 'Check type of data required'.
DATA(ld_i_starting_at_x) = 'Check type of data required'.
DATA(ld_i_starting_at_y) = 'Check type of data required'.

DATA(ld_i_active_tab) = some text here
DATA(ld_i_msg_send) = 'Check type of data required'.
DATA(ld_i_cico_dialog) = 'Check type of data required'.

DATA(ld_i_cico_reqno) = some text here
DATA(ld__deletion_check) = 'Check type of data required'.
DATA(ld__maintain_structure) = 'Check type of data required'.

"populate fields of struture and append to itab
append wa_t_fieldcat to it_t_fieldcat.

"populate fields of struture and append to itab
append wa_t_fcode_excl to it_t_fcode_excl. . CALL FUNCTION 'BM_OBJECT_MAINTAIN' EXPORTING i_object_type = ld_i_object_type * i_object_id = ld_i_object_id * i_comp_obj_id = ld_i_comp_obj_id * i_devclass = ld_i_devclass * i_language = ld_i_language * i_mode = ld_i_mode * i_namespace = ld_i_namespace * i_extension = ld_i_extension * i_initial_screen = ld_i_initial_screen * i_screen = ld_i_screen * i_popup = ld_i_popup * i_starting_at_x = ld_i_starting_at_x * i_starting_at_y = ld_i_starting_at_y * i_active_tab = ld_i_active_tab * i_msg_send = ld_i_msg_send * i_cico_dialog = ld_i_cico_dialog * i_cico_reqno = ld_i_cico_reqno * _deletion_check = ld__deletion_check * _maintain_structure = ld__maintain_structure IMPORTING e_object_data = ld_e_object_data e_exit = ld_e_exit e_cancelled = ld_e_cancelled e_cico_reqno = ld_e_cico_reqno * TABLES * t_fieldcat = it_t_fieldcat * t_fcode_excl = it_t_fcode_excl * CHANGING * r_object = ld_r_object EXCEPTIONS ERROR_OCCURRED = 1 . " BM_OBJECT_MAINTAIN
IF SY-SUBRC EQ 0. "All OK ELSEIF SY-SUBRC EQ 1. "Exception "Add code for exception here ENDIF.







ABAP code to compare 7.40 inline data declaration with original syntax

The below ABAP code uses the older none in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. It may also be useful if you are using an older version of SAP as some of the newer syntax above, such as the @DATA is not available until 4.70 EHP 8.

DATA:
ld_r_object  TYPE ANY ,
ld_e_object_data  TYPE BMOBJECT ,
ld_i_object_type  TYPE BMOBJECT-TYPE ,
it_t_fieldcat  TYPE STANDARD TABLE OF STRING ,
wa_t_fieldcat  LIKE LINE OF it_t_fieldcat,
ld_e_exit  TYPE BMT_FLAG ,
ld_i_object_id  TYPE BMOBJECT-ID ,
it_t_fcode_excl  TYPE STANDARD TABLE OF STRING ,
wa_t_fcode_excl  LIKE LINE OF it_t_fcode_excl,
ld_e_cancelled  TYPE BMT_FLAG ,
ld_i_comp_obj_id  TYPE BMOBJECT-ID ,
ld_e_cico_reqno  TYPE TRKORR ,
ld_i_devclass  TYPE BMOBJECT-DEVCLASS ,
ld_i_language  TYPE SY-LANGU ,
ld_i_mode  TYPE RPYGSGF-MODE ,
ld_i_namespace  TYPE NAMESPACE ,
ld_i_extension  TYPE HIER_IFACE-EXTENSION ,
ld_i_initial_screen  TYPE BMT_FLAG ,
ld_i_screen  TYPE BMT_FLAG ,
ld_i_popup  TYPE BMT_FLAG ,
ld_i_starting_at_x  TYPE I ,
ld_i_starting_at_y  TYPE I ,
ld_i_active_tab  TYPE CXTAB_TABSTRIP-ACTIVETAB ,
ld_i_msg_send  TYPE C ,
ld_i_cico_dialog  TYPE BMT_FLAG ,
ld_i_cico_reqno  TYPE RPYGSGF-CICO_REQNO ,
ld__deletion_check  TYPE BMT_FLAG ,
ld__maintain_structure  TYPE BMT_FLAG .

ld_r_object = 'Check type of data required'.

ld_i_object_type = some text here

"populate fields of struture and append to itab
append wa_t_fieldcat to it_t_fieldcat.

ld_i_object_id = some text here

"populate fields of struture and append to itab
append wa_t_fcode_excl to it_t_fcode_excl.

ld_i_comp_obj_id = some text here

ld_i_devclass = some text here
ld_i_language = 'Check type of data required'.

ld_i_mode = some text here
ld_i_namespace = 'Check type of data required'.

ld_i_extension = some text here
ld_i_initial_screen = 'Check type of data required'.
ld_i_screen = 'Check type of data required'.
ld_i_popup = 'Check type of data required'.
ld_i_starting_at_x = 'Check type of data required'.
ld_i_starting_at_y = 'Check type of data required'.

ld_i_active_tab = some text here
ld_i_msg_send = 'Check type of data required'.
ld_i_cico_dialog = 'Check type of data required'.

ld_i_cico_reqno = some text here
ld__deletion_check = 'Check type of data required'.
ld__maintain_structure = 'Check type of data required'.

Contribute (Add Comments)

Please help keep this info upto date and use the comments section below to add useful hints, tips and information specific to this SAP function. This will then be available for you and other users to easily find by simply searching on the object name BM_OBJECT_MAINTAIN or its description.