当前位置:编程学习 > 网站相关 >>

ABAP 搜索帮助的建立F4IF_INT_TABLE_VALUE_REQUEST

为screen上的输入框增加F4搜查功能
 
假设输入框 G_UMLGO 绑定在变量 G_UMLGO.  " 一般输入框 与 全局变量名 起相同 比较方便
且可选值在内表 ithp_pline 的字段 LGORT 上.
 
 
 
定义内表:
 
data: begin of ithp_pline OCCURS 0,
  werks type t001l-werks,
  lgort type t001l-lgort,
  LGOBE type t001l-LGOBE,
  end of ithp_pline.
 
 
 
1.  在PBO 里将要显示的数据读取到内表里
 
PROCESS BEFORE OUTPUT.
  MODULE CONTROL_DATA.
 
 
 
MODULE CONTROL_DATA的内容:
 
  clear ithp_pline[].
  select WERKS LGORT LGOBE
   into corresponding fields of table ithp_pline
   from t001l
   where WERKS = g_werks .
 
 
 
2`在screen的 PAI  上code:
 
 
PROCESS AFTER INPUT.
 
  process on value-request.  "输入字段的响应
  field G_UMLGO module f4_help_for_UMLGO.
 
 
 
  其中 G_UMLGO 为输入框的name.并新建MODULE   f4_help_for_UMLGO.
  立即能在屏幕显示后,该框右侧出现F4按钮.
  
3`编写MODULE  f4_help_for_UMLGO.
  MODULE f4_help_for_UMLGO INPUT.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
        retfield = 'G_UMLGO'          大写,可选值内表的字段名
        value_org = 'S'                     就写'S'
        dynpprog = SY-REPID        返回的输入框所在的main program
        dynpnr = SY-DYNNR           返回的输入框所在屏幕
        dynprofield = 'G_UMLGO'    返回的输入框名
      TABLES
        value_tab = ithp_pline       可选值的内表
      EXCEPTIONS
        parameter_error = 1
        no_values_found = 2
        others = 3.
    IF SY-SUBRC <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
MODULE.
  该function是将 ithp_pline : value_tab的retfield列显示在屏幕上以供选择,
 
  并返回到 dynpprog-dynpnr-dynprofield 框中.
 
 
 
补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,