前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matinal:ABAP 自定义搜索帮助参数解析

matinal:ABAP 自定义搜索帮助参数解析

作者头像
matinal
发布2023-10-14 14:20:09
1690
发布2023-10-14 14:20:09
举报
文章被收录于专栏:SAP TechnicalSAP Technical

ABAP 选择屏幕 自定义搜索帮助

物料号为例 如图展示的物料,是不经过自定义搜索帮助处理的,如果我只需要物料描述和物料号,且只限定20开头的物料,就需要用到自定义搜索帮助了

代码详解

构建选择屏幕

代码语言:javascript
复制
SELECTION-SCREEN BEGIN OF BLOCK blk1.
  PARAMETERS:
    p_matnr TYPE makt-matnr.
SELECTION-SCREEN END OF BLOCK blk1.

构建自定义帮助

代码语言:javascript
复制
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr. " 
  PERFORM frm_create_matnr_help. " 创建自定义帮助的例程

处理帮助字段

代码语言:javascript
复制
"在屏幕初始化前 构建用户自定义帮助的例程 
INITIALIZATION .
  PERFORM frm_get_matnr_f4.  "创建例程 例程里面是 需要的字段 也就啊是 20 开头的物料以及 物料描述

帮助字段的程逻辑

代码语言:javascript
复制
" 构建全局变量内表
TYPES:BEGIN OF ty_f4,
        matnr TYPE mara-matnr,
        maktx TYPE makt-maktx,
      END OF ty_f4.
      
DATA : gt_f4 TYPE STANDARD TABLE OF ty_f4.

"获取数据的例程
FORM frm_get_matnr_f4.
  SELECT
    from makt
  FIELDS
    makt~matnr,
    makt~maktx
  WHERE right( makt~matnr,8 ) LIKE '20%'
    AND makt~spras eq @sy-langu
  INTO CORRESPONDING FIELDS OF TABLE @gt_f4.  "此处取数逻辑按自己的业务需求来

ENDFORM.

创建自定义帮助

代码语言:javascript
复制
FORM frm_create_matnr_help .
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'MATNR'     " 参考的表字段
      dynpprog        = sy-repid
      dynpnr          = sy-dynnr
      dynprofield     = 'P_MATNR'  " 用于选择屏幕上的哪一个
      value_org       = 'S'
    TABLES
      value_tab       = gt_f4   " 自定义的表 需要全局变量 一般来说也是通过例程处理的 frm_get_matnr_f4
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.
ENDFORM.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ABAP 选择屏幕 自定义搜索帮助
    • 代码详解
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档