SAP S4搜索功能

REPORT ZLS_01_1.


SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

  PARAMETERS P_KUNNR TYPE C LENGTH 10.
SELECTION-SCREEN END OF BLOCK B1 .

INITIALIZATION.
SELECT KUNNR
  FROM KNA1
  INTO TABLE @DATA(GT_KUNNR).
  SORT GT_KUNNR.
  DELETE ADJACENT DUPLICATES FROM GT_KUNNR.
  MESSAGE '' TYPE 'S'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KUNNR.
  PERFORM FRM_SERACH_HELP.
*&---------------------------------------------------------------------*
*& Form FRM_SERACH_HELP
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FRM_SERACH_HELP .
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  EXPORTING
*   DDIC_STRUCTURE         = ' '
    RETFIELD               =  'KUNNR'
*   PVALKEY                = ' '
    " DYNPPROG               = sy-repid
    " DYNPNR                 = sy-dynnr
    DYNPROFIELD            = ' P_KUNNR'
*   STEPL                  = 0
*   WINDOW_TITLE           =
*   VALUE                  = ' '
   VALUE_ORG              = 'S'
*   MULTIPLE_CHOICE        = ' '
*   DISPLAY                = ' '
   " CALLBACK_PROGRAM       = sy-repid
*   CALLBACK_FORM          = ' '
*   CALLBACK_METHOD        =
*   MARK_TAB               =
* IMPORTING
*   USER_RESET             =
  TABLES
    VALUE_TAB              =  GT_KUNNR
*   FIELD_TAB              =
*   RETURN_TAB             =
*   DYNPFLD_MAPPING        =
* EXCEPTIONS
*   PARAMETER_ERROR        = 1
*   NO_VALUES_FOUND        = 2
*   OTHERS                 = 3
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

ENDFORM.

俩排搜索帮助

REPORT ZLS_01_1.

  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中去。
   interface-shlpfield+4(1) = '2'. "注意点解析"
   interface-valfield = 'P_MAKTX'.
   APPEND interface TO shlp-interface.
 ENDFORM.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值