搜索帮助也称为F4帮助功能,在SAP的屏幕对象和表格定义中经常会使用到,搜索帮助的类型分为两种,一种为基本索引帮助,即单独显示某个数据集合的页面,另一种为复合索引帮助,是由多个基本索引帮助组成。
1.1 通过参考表创建一个索引帮助对象
搜索帮助的实质是从物理表中获取需要输入的数据,数据的查找方式有两种,第一种是直接从物理表或者视图中获取,第二种可以通过ABAP程序从数据表中抓取。下面将介绍如何通过视图来创建搜索帮助。
STEP | 01 创建帮助视图
在SAP中通常通过字段的状态来判断交货单是否已经完成交货,下面通过搜索帮助来获取已经过账的交货单信息,同时需要显示收货方的名称。交货单相关信息可以从以下表中获取。
● LIKP:交货单的表头信息
● VBUK : 交货单的状态
● KNA1 :客户主数据表
需要在帮助视图中显示的字段包括:LIKP-VBELN 交货单号码;LIKP-KUNNR 货物送达方的编码;KNA1-NAME1送达方的名称;VBUK-WBSTK 交货单状态。“C”表示已经交货。
首先需要在数据字典中创建一个视图,SAP提供了一种帮助视图,专门为维护搜索帮助设立,该类视图仅提供表的关联信息,不会在数据库服务器上占用实际的物理空间。
进入数据维护工具SE11,选择视图选项,输入自定义视图名“ZV_VBELN”。单击该页面中的“创建”按钮,系统提示选择视图类型,选择“维护视图”单选按钮。
进入视图关联条件维护页面,在Table列表中输入关联的信息表LIKP、VBUK、KNA1,在Join Conditions中维护几个表的关联条件。注意表关联尽量使用关键字进行连接。
接下来需要维护帮助视图的显示字段,在指定表中选择需求字段,至此视图的维护已经完成,注意保存并激活该视图。
STEP | 02 维护好视图后,接下来就可以建立一个搜索帮助对象了。首先在SE11中选择搜索帮助选项,输入自定义帮助名ZH_VBELN,单击页面的“创建”按钮,系统将弹出对话框要求选择帮助类型,以“基本索引帮助”单选按钮为例。 STEP | 03 单击对话框中的“确定”按钮将进入该搜索帮助的属性维护页面,有以下属性需要设置。
● Short description:搜索帮助的文本描述。
● Selection method : 搜索帮助的选择方法,直接输入表或者视图的名字,本例中输入已创建好的视图“ZV_VBELN”。
● 对话类型:共分为三种模式。
♦ 立即值显示:在调用输入帮助后立即显示命中清单,通常如果命中清单只包含一些条目则建议使用该选项。
♦ 带有值限制的对话:立即显示限制值的对话框。如果所输出清单的行数预计很多的话,建议选择该选项。限制即将处理的数据设置会增加命中清单的清楚性,并降低值选择过程中系统的负载。
♦ 基于值集的对话:如果命中清单包含的条目小于100个,那么立即显示该命中清单。如果其包含的条目多余100个,那么显示限制值用的对话框。
● Parameter:在其中包括如下选项。
♦ 搜索帮助参数:定义搜索帮助中所包含的字段名称。
♦ IMP/EMP:定义输入输出参数,输入条件是什么,输出哪些字段在帮助列表中。
♦ LPOS:基本搜索帮助命中清单中的顺序位置,如果参数不应该在命中清单中出现,那么将该字段留为空,位置编号不能在列中多次出现,但是允许时间间隔,在元素搜索帮助中,至少在命中清单中出现一个参数。
♦ SPOS:在帮助列表中加入限制输入条件,此字段为限制条件输入域的排列顺序。
♦ SDis : 控制在帮助列表限制输入字段是否可以输入。
♦ Modify:更改默认的Date Element。
♦ 缺省值:设置该字段的默认值,本例中设置WBSTA的默认值为C,表示取状态为交货的单据。
STEP | 04 至此该搜索帮助已经创建完成。可以单击工具栏的“执行”按钮测试该搜索帮助的实际效果,在测试初始页面中可以看到显示的几个字段为Parameters->EXP中所勾选的项目。
STEP | 05 单击“确定”按钮,将弹出“限制值范围”对话框,在此对话框中能看到“货物移动状态总计”字段被赋予了常量“C”
STEP | 06 单击“限制值范围”对话框中的“确定”按钮,将显示查询的结果。