mercoledì 8 aprile 2015

Determinare il nome del Function Module generato

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
data: gv_form     TYPE NA_FNAME,
      gv_function TYPE RS38L_FNAM.

*----------------------------------------------------------------------*
* FORM READ_FM                                                         *
*----------------------------------------------------------------------*
FORM read_fm USING    pv_form
             CHANGING pv_function.

  DATA: lv_w_cx_root            TYPE REF TO cx_root,
        lv_cx_fp_api_repository TYPE REF TO cx_fp_api_repository,
        lv_cx_fp_api_usage      TYPE REF TO cx_fp_api_usage,
        lv_cx_fp_api_internal   TYPE REF TO cx_fp_api_internal.

  TRY.
      CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
        EXPORTING
          I_NAME     = pv_form
        IMPORTING
          E_FUNCNAME = pv_function.
    CATCH cx_fp_api_repository INTO lv_cx_fp_api_repository.
      MESSAGE lv_cx_fp_api_repository TYPE 'E'.
    CATCH cx_fp_api_internal INTO lv_cx_fp_api_internal.
      MESSAGE lv_cx_fp_api_internal TYPE 'E'.
    CATCH cx_fp_api_usage INTO lv_cx_fp_api_usage.
      MESSAGE lv_cx_fp_api_usage TYPE 'E'.
    CATCH cx_root INTO gv_w_lx_root.
      MESSAGE lv_w_cx_root TYPE 'E'.
  ENDTRY.

ENDFORM.                    " read_fm

Nessun commento: