Code: Alles auswählen.
CLASS cl_package_factory DEFINITION LOAD.
DATA: lv_selected_id LIKE df41s-parent_obj,
lv_canc TYPE flag,
lt_excl_nodes LIKE bmobject OCCURS 0,
ls_excl_node LIKE bmobject,
lv_dyname LIKE d020s-prog,
lv_dynumb LIKE d020s-dnum,
ls_dynpfields LIKE dynpread,
lt_dynpfields LIKE dynpread OCCURS 0,
lv_check_system_type TYPE flag.
CALL FUNCTION 'BM_ROOT_GET'
IMPORTING
root_node = ls_excl_node-id.
APPEND ls_excl_node TO lt_excl_nodes.
IF cl_package_factory=>s_system_type = 'SAP'
AND ( cl_package_factory=>s_development_type = 'A' AND
p_dlvunit <> 'SAP_BASIS' ).
lv_check_system_type = 'X'.
ELSE.
lv_check_system_type = ' '.
ENDIF.
CALL FUNCTION 'BM_FUNCTION_RANGE_F4'
EXPORTING
display_appl = 'X'
check_system_type = lv_check_system_type
IMPORTING
sel_id = lv_selected_id
canc = lv_canc
TABLES
excl_nodes = lt_excl_nodes[]
EXCEPTIONS
OTHERS = 99.
IF sy-subrc = 0
AND lv_canc = tpak_c_false.
DATA: lt_function_ranges TYPE bmt_function_ranges,
ls_function_range TYPE bmt_function_range,
lt_ids TYPE bmt_obj_defs,
ls_id TYPE bmt_obj_def.
CLEAR p_comp_posid.
IF lv_selected_id <> space.
ls_id-def = lv_selected_id.
APPEND ls_id TO lt_ids.
CALL FUNCTION 'BM_COMPONENTS_GET'
TABLES
i_component_ids = lt_ids
e_components = lt_function_ranges.
READ TABLE lt_function_ranges INTO ls_function_range
INDEX 1.
IF sy-subrc = 0.
p_comp_posid = ls_function_range-ps_posid.
" pv_name = ls_function_range-name.
ENDIF.
ENDIF.
ENDIF.