ABAP 实现内表自定义的F4功能

Posted SAP Tab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP 实现内表自定义的F4功能相关的知识,希望对你有一定的参考价值。

“实现多列内容的F4功能
REPORT Z_TAB_TEST.
 
TYPES: shlp_descr 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
*&---------------------------------------------------------------------*
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
*&---------------------------------------------------------------------*
FORM cb_form TABLES record_tab STRUCTURE seahlpres
              CHANGING shlp TYPE shlp_descr
                       callcontrol LIKE ddshf4ctrl.
  DATA: interface LIKE LINE OF shlp-interface.
  READ TABLE shlp-interface INTO interface INDEX 1.
  interface-shlpfield+4(1) = ‘2‘.
  interface-valfield = ‘P_MAKTX‘.
  APPEND interface TO shlp-interface.
ENDFORM.                    "bo_callback_form

以上是关于ABAP 实现内表自定义的F4功能的主要内容,如果未能解决你的问题,请参考以下文章

ABAP OPEN SQL——内表与内表结构

ABAP 内表

详解ABAP/4内表结构

abap 内表的结构体比数据库的结构体少一个client字段,怎么把内表的数据添加到数据库中?

ABAP根据字段汇总

ABAP 中内表的复制