FIELD-SYMBOLS: <lfs_oip_hu> TYPE ly_s_oip_definition.
TRY.
<lfs_oip_hu> = mt_oip_definition[ def-v_container = 'CONTAINER_ALV_OIP_1' def-v_class_id = 'OIP_TAB1' ].
* separator
CLEAR ls_button. "Already defined in standard
ls_button-butn_type = cntb_btype_sep.
APPEND ls_button to <lfs_oip_hu>-def-s_toolbar-t_buttons.
* print button
CLEAR ls_button.
ls_button-function = 'OK_PRINT_HU'.
ls_button-butn_type = cntb_btype_button.
ls_button-text = ''.
ls_button-quickinfo = 'Print HU'.
ls_button-icon = icon_print.
APPEND ls_button to <lfs_oip_hu>-def-s_toolbar-t_buttons.
CATCH CX_SY_ITAB_LINE_NOT_FOUND.
ENDTRY.
*Register HU print ok code at the controller
DATA: lo_temp TYPE REF TO /scmb/if_controller.
lo_temp = me.
IF lo_temp->mv_class_id = 'OIP_TAB1'.
CLEAR: lt_okcodes.
APPEND 'OK_PRINT_HU' TO lt_okcodes.
lo_temp->mv_class_id = 'ZHU_PRINT'.
*Register the viewer at the controller
so_controller->viewer_register(
io_viewer = lo_temp
it_okcodes = lt_okcodes ).
lo_temp->mv_class_id = 'OIP_TAB1'.
ENDIF.
DATA: lt_asp_tu TYPE /scwm/tt_asp_tu,
lv_failed TYPE abap_bool,
ls_asp_tu TYPE /scwm/s_asp_tu.
DATA: lo_tudlv_manager TYPE REF TO /scwm/cl_sr_tudlv,
ls_tu_act_key TYPE /scwm/s_tu_sr_act_num,
lt_bo_tu_hu TYPE /scwm/tt_bo_tu_dlv_no_sort,
ls_bo_tu_hu TYPE /scwm/s_bo_tu_dlv.
Case IV_OKCODE
*Determine the selected line(s)
CALL METHOD get_selected_lines
EXPORTING
iv_suppress_message = abap_true
iv_no_select = abap_true
IMPORTING
et_aspect = lt_asp_tu
ev_failed = lv_failed.
IF lt_asp_tu[] IS INITIAL OR lv_failed = abap_true.
*add error message if no entry is selected
ls_message-msgty = 'E'.
ls_message-msgid = '/SCWM/UI'.
ls_message-msgno = '003'.
go_message_handler->add_system_message(
EXPORTING msg = ls_message ).
ELSE.
LOOP AT lt_asp_tu INTO ls_asp_tu.
*get all assigned HUs
lo_tudlv_manager = /scwm/cl_sr_tudlv=>get_instance( ).
ls_tu_act_key-tu_num = ls_asp_tu-tu_num.
ls_tu_act_key-tu_sr_act_num = ls_asp_tu-tu_sr_act_num.
lo_tudlv_manager->get_bo_tu_dlv(
EXPORTING
is_tu_act_key = ls_tu_act_key
iv_one_record_per_hu = abap_false
IMPORTING
et_bo_tu_hu = lt_bo_tu_hu ).
******
Own custom Logic based on a requirement
*******
ENDIF.
ENDCASE.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
10 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |