matinal:SAP ABAP 选择屏幕搜索帮助联动

2023-10-14 15:15:48 浏览数 (2)

选择屏幕搜索帮助自动带出其它字段

小功能

代码语言:javascript复制
REPORT z_matinal.

TYPES: shlp_descr_t TYPE shlp_descr .
DATA: BEGIN OF itab OCCURS 0 ,
        matnr LIKE mara-matnr,
        maktx LIKE makt-maktx,
      END OF itab.
DATA: return_tab TYPE ddshretval OCCURS 0 .

PARAMETERS: p_matnr LIKE itab-matnr,
            p_maktx LIKE itab-maktx.

INITIALIZATION.
  SELECT matnr maktx INTO TABLE itab FROM makt UP TO 20 ROWS
    WHERE spras = '1'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr .
  PERFORM f4.

FORM f4.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield         = 'MATNR'
      dynpprog         = sy-repid
      dynpnr           = sy-dynnr
      dynprofield      = 'P_MATNR'
      value_org        = 'S'
      callback_program = sy-repid
      callback_form    = 'CB_FORM'
    TABLES
      value_tab        = itab
      return_tab       = return_tab
    EXCEPTIONS
      parameter_error  = 1
      no_values_found  = 2
      OTHERS           = 3.
ENDFORM.                    "f4"

FORM cb_form TABLES record_tab STRUCTURE seahlpres
              CHANGING shlp TYPE shlp_descr_t
              callcontrol LIKE ddshf4ctrl.
  DATA: interface LIKE LINE OF shlp-interface.
  READ TABLE shlp-interface INTO interface INDEX 1.
  "表示把搜索帮助中的第二列,放入P_MAKTX中去。公众号:matinal
  interface-shlpfield 4(1) = '2'. "注意点解析"
  interface-valfield = 'P_MAKTX'.
  APPEND interface TO shlp-interface.
ENDFORM.                    "bo_callback_form

0 人点赞