ALV`den MIGO Çağırma
Malzeme Belgesi raporunda ilgili satır tıklandığında SET PARAMETER ile görüntüleme modu ve malzeme belgesi seçeneği ayarlanamadığı için CALL TRANSACTION `MIGO` düzgün çalışmıyor. Onun yerine `MIGO_DIALOG` fonksiyonu kullanılmalı.
-Fieldcat ayarlanır.
READ TABLE rt_fieldcat ASSIGNING FIELD-SYMBOL()
WITH KEY fieldname = `MBLNR`.
IF sy-subrc EQ 0.
-hotspot = abap_true.
ENDIF.
UNASSIGN .
-ALV eventi ayarlanır.
SET HANDLER me->handle_hotspot_click FOR me->mo_grid_100.
******************** LCL_MAIN DEFINITION *******************
METHODS handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING sender e_row_id e_column_id es_row_no.
******************** LCL_MAIN IMPLEMENTATION ***************
METHOD handle_hotspot_click.
DATA: ls_stable TYPE lvc_s_stbl.
ls_stable-row = `X`.
ls_stable-col = `X`.
CHECK es_row_no-row_id GT 0.
CASE sender.
WHEN me->mo_grid_100.
IF e_column_id-fieldname = `MBLNR`.
READ TABLE mt_100_itab ASSIGNING FIELD-SYMBOL()
INDEX es_row_no-row_id.
IF sy-subrc EQ 0.
CALL FUNCTION `MIGO_DIALOG`
EXPORTING
i_action = `A04`
i_refdoc = `R02`
i_notree = `X`
i_no_auth_check = ` `
i_deadend = `X`
i_skip_first_screen = `X`
i_okcode = `OK_GO`
i_mblnr = -mblnr
i_mjahr = -mjahr
i_zeile = -zeile.
ENDIF.
ENDIF.
CALL METHOD me->mo_grid_100->refresh_table_display
EXPORTING
is_stable = ls_stable
EXCEPTIONS
finished = 1
OTHERS = 2.
" WHEN me->mo_grid_200.
ENDCASE.