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.
    DATAls_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.