zoukankan      html  css  js  c++  java
  • 在Dialog屏幕中给输入字段建立搜索帮助

    在Dialog屏幕中给输入字段建立搜索帮助,有以下三种情况:
    一:直接使用系统已有的搜索帮助,对于系统已存在搜索帮助的输入字段可直接使用:在屏幕格式器里双击输入字段框,在其“属性”栏的“搜索帮助”框内填入该字段的搜索帮助名称。如物料“matnr”的搜索帮助名称为“MAT1”。注意:MAT1一定要大写,对于所有在屏幕输入的字符,不管以任何形式输入都要大写,否则系统是不认识的,就如在代码里引号内的字符串要大写才正确一样。

    二:自建搜索帮助,其过程如下:
    1、在dialog屏幕的逻辑流里在user_command后定义module,如下:
    process before output.
    ...
    process after input.
    module user_command_0100.
    process on value-request. "输入字段的响应
    field t_pline module f4_help_for_pline. "“t_plnnr”是输入字段的“name”,“f4_help_for_pline”是module名,自己随便起吧
    2、双击“f4_help_for_pline”创建该module,这时进入程序代码编辑,module如下:
    module f4_help_for_pline input.
      call function 'F4IF_INT_TABLE_VALUE_REQUEST' "调用函数
        exporting
          retfield    = 'PLINE'  "搜索帮助内表要输出的的帮助字段名,注:要大写
          dynpprog    = sy-repid
          dynpnr      = sy-dynnr
    *      dynprofield = ''
          value_org   = 'S'
        tables
          value_tab   = ithp_pline. "存储搜索帮助内容的内表
    endmodule.                 " f4_help_for_pline  INPUT
    注:“retfield”的内表输出字段的名字要和输入字段保持一致,并最好和透明表的字段名一致,否则弹出的搜索帮助会显示不了字段名。
    3、在屏幕输出前或在上一屏幕进入本屏幕的动作发生后,取得搜索帮助的内容,如下:
        clear ithp_pline[].
        select pline pltxt
         into corresponding fields of table ithp_pline
         from afpo
         where dwerk = t_werks
         and matnr = t_matnr.
    内表ithp_pline有两个字段pline、pltxt即是搜索帮助将显示的两个列,其中ithp_pline是输入字段。

    三:联动搜索帮助的建立:有两个输入字段要建立搜索帮助,并且这两个字段是相互关联的,选择一个字段的输入值同时也选择了另一个字段的值,比如顺序与工序的关系必需是相互的。
    1、定义
    data:field_tab_vgn type dfies occurs 0,
         dynpfld_mapping_vgn type dselc occurs 0,
         wa_map_vgn type dselc,
         field_tab_pln type dfies occurs 0,
         dynpfld_mapping_pln type dselc occurs 0,
         wa_map_pln type dselc.
    2、在dialog屏幕的逻辑流里在user_command后定义module,如下:
    process before output.
    ...
    process after input.
    module user_command_0100.
    process on value-request.
    field:it_bg-plnfl module f4_help_for_vornr, "顺序、工序的联动搜索
          it_bg-vornr module f4_help_for_vornr.
    3、双击“f4_help_for_vornr”创建该module,这时进入程序代码编辑,module如下:
    module f4_help_for_vornr input.
      call function 'F4IF_INT_TABLE_VALUE_REQUEST'
        exporting
          retfield    = 'PLNFL'  "搜索帮助要输出的的帮助字段名
          dynpprog    = sy-repid
          dynpnr      = sy-dynnr
          dynprofield = 'T_PLNFL'   "“T_PLNFL”为输入字段,在此用T_VORNR也可以但上面的retfield名也要改
          value_org   = 'S'
        tables
          field_tab   = field_tab_vgn  "联动关系表
          dynpfld_mapping = dynpfld_mapping_vgn "存储联动内容的内表
          value_tab   = ithp_vgn. "存储搜索帮助的内表
    endmodule.                 " f4_help_for_vornr  INPUT
    4、在屏幕输出前或在上一屏幕进入本屏幕的动作发生后,取得搜索帮助的内容,如下:
       clear ithp_vgn[].
       select plnfl vornr ltxa1
        into corresponding fields of table ithp_vgn
        from afko
        inner join afvc on afvc~aufpl = afko~aufpl
        where afko~aufnr = t_aufnr.
      "调用联动函数
      call function 'ZSET_F4_FIELD_FROM_VALUE_TAB'
        tables
          value_tab = ithp_vgn       "存储搜索帮助的内表
          field_tab = field_tab_vgn. "联动关系表
      clear dynpfld_mapping_vgn[].
      wa_map_vgn-fldname = 'PLNFL'.  "帮助内表字段
      wa_map_vgn-dyfldname = 'T_PLNFL'. "输入字段
      append wa_map_vgn to dynpfld_mapping_vgn.
      wa_map_vgn-fldname = 'VORNR'.
      wa_map_vgn-dyfldname = 'T_VORNR'.
      append wa_map_vgn to dynpfld_mapping_vgn.

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lijunhai/archive/2007/11/30/1909841.aspx

  • 相关阅读:
    Visual Studio调试托管代码
    Visual Studio调试本机代码
    Visual Studion调试器指南---编辑并继续
    Visual Studio 调试器指南---调试器中的表达式
    Visual Studio 调试器指南---查看调试器中的数据
    Visual Studio调试器指南---断点和跟踪点
    Visual Studio调试器指南---转储文件
    Visual Studio调试器指南---自动启动调试器
    Visual Studio调试器指南---实时调试
    Visual Studio调试器指南---使用线程和进程
  • 原文地址:https://www.cnblogs.com/elegantok/p/1557781.html
Copyright © 2011-2022 走看看