增强开发指南:给信息类型输入字段定义搜索值帮助(Search Help)的方法介绍和举例
人力资源管理信息化探索 2022-01-07 16:27:15 关注

在SAP HCM项目实施中,经常需要对各类人力资源对象的主数据结构和输入屏幕做增强,这可以采用自定义信息类型的方式,也可以是在标准信息类型上添加增强字段。对于需要选择输入的屏幕字段,为了用户输入方便和正确,最好能提供输入值选择的值列表帮助功能(F4 Value Help)。


SAP HCM系统中提供输入值帮助有多种方式,主要包括:

1)在信息类型字段使用的数据元素所基于的域(Domain)上定义枚举值或者值表(Value Table);

2)在信息类型字段上定义检查表(Check Table);

3)如果是信息类型增强或者是自定义信息类型,可以在细节屏幕的逻辑流的PROCESSON VALUE-REQUEST部分对特定的屏幕字段写代码提供选择值帮助功能;

4)使用搜索帮助对象(Search Help)提供选择值帮助功能。

本文举例说明如何定义对信息类型屏幕字段提供值选择帮助功能,并举例说明。

一、业务需求举例

根据客户业务需求,需要自定义信息类型用来存放标准岗位对象(使用SAP职务对象)的分类属性,包含岗位族群、岗位序列、岗位子序列和岗位等级等信息,通过在TCODE PPOME 层次框架中增加页签用于维护标准岗位的分类属性;

二、信息类型和PPOME增强步骤

1、使用TCODE PPCI定义字段信息类型9502,包含岗位族群、岗位序列、岗位子序列和岗位级别等字段;

2、生成信息类型子屏幕7000,这个屏幕用于定义PPOME中的页签;

3、定义基于信息类型9502的页签,让该页签在标准对象管理器方案OME0中对对象C可用;

4、在PPOME 中维护标准岗位的分类属性的时候,岗位序列和岗位子序列因为分别存放在两个定制表ZHR_GWXL和ZHR_GWZXL中,两者是关联码表,而且没有定义单独的文本表,如果使用检查表的方式定义外码(Foreign Key), F4值帮助中只能看到编码,看不到编码对应的文本,不方便用户选择和使用。于是决定使用定义搜索帮助对象的方式来提供更易于使用的值帮助。

三、搜索帮助的定义

1、使用TCODE SE11定义搜索帮助,首先输入搜索帮助的名字ZH_ZHR_GWZXL,点击创建;


      系统会弹出窗口询问是创建基本搜索帮助(Elementary Search Help)还是组合搜索帮助(Collective Search Help ),组合搜索帮助是由若干个基本搜索帮助组合而成,通常情况下基本搜索帮助已经能满足项目实施需求,所以本文只介绍基本搜索帮助的创建,所以选择基本搜索帮助。

2、在以下窗**输入基本搜索帮助的定义内容,主要包括数据采集的方式、对话行为和参数部分。


1) 输入搜索帮助的描述信息;

2)输入搜索帮助的数据采集的选择方式,可以是直接使用一张数据库表,也可以是基于定义好的视图,后者需要使用SE11事先定义,可以基于一张基表,也可以使基于几个基表的连接(JOIN),在连接的时候可以设定连接的条件(Join Conditions)和记录选择条件(Selection Conditions),以及视图中包含的字段;

3)对话类型选择“D-立即显示值“,一般在选择值列表(Hit List)包含的值比较少的时候可以直接直接选择D,如果选择值列表包含值很多的时候可以选择“A-根据值集合的对话框和C-带有值限制的对话框,A的意思是在选择值列表的记录少于100条的时候直接显示,多于100条的时候显示为带记录条数限制的列表框,C的意思是只展示限制值内的记录数,用户可以修改限制记录数,重现检索和展示,如下图所示例:


4)可以定义一个快捷键(Hot Key),这样可以在有搜索帮助的屏幕字段内通过直接输入快捷键,直接在组合选择帮助中进入对应的基本搜索帮助,格式为=HK.X, 这里X代表快捷键码,可以是一位字母或数字。

5)如果是比较复杂的搜索帮助,如果通过基本表(包括文本表)或者视图无法实现,可以在搜索帮助出口(Search HelpExit)

字段输入一个Function Module的名字,这个函数模块负责查询和返回帮助值;这个Function Module要提前创建和完成代码编写,用在搜索帮助出口的函数有固定的输入参数和输出参数,可以参考IT0008 中TRFGR字段的搜索帮助H_PAD_TARIF中所包含的基本搜索帮助H_T510所使用的出口函数HR_T510_F4_EXIT;

6)在屏幕下方的参数窗**输入弹出式值帮助窗口的相关定义:

搜索帮助参数:输入搜索帮助所使用的透明表或者视图的相关字段,如本例中为岗位序列、岗位序列文本、岗位子序列、岗位子序列文本;

输入参数(IMP):勾选作为搜索帮助输入参数的列,用于筛选出在帮助值窗**显示的记录值;

输出参数(EXP):勾选作为返回到帮助值窗口的字段,比如码值和对应的文本;

列表框位置(LPos):定义各列在返回值表中的相对位置;

选择框位置(SPos):在弹出式值帮助窗口的上部有一个倒三角按钮,点击它会在弹出式值帮助窗口上方出现一个选择条件和限制数子窗口,这里定义参数字段在这个子窗**的显示位置;

显示选择列(SDis, 屏幕上也是选择,检查框):定义参数字段在在弹出式值帮助窗口的限制条件子窗口是否可以修改(输入),如果勾选,则该字段只是显示不能修改。如本例中,先输入岗位序列,然后在岗位子序列字段点击F4,这时候只会选择选定序列下的子序列,在限制性选择子窗**也不能修改序列,所以将岗位序列勾选为显示选择列;

修改列(Modified):选择后,可以修改参数默认的数据元素,可以达到修改窗口列标题的目的,则使用的数据元素要和参数的数据元素类型相兼容。

缺省值(Default Value):可以指定参数的默认值,可以是常量值、系统变量SY中包含的字段,也可以是GET参数值,如MOL、UGR等。

7)保存定义,激活搜索帮助对象。

四、搜索帮助的使用


1、使用TCODE SE11 修改信息类型基于的结构定义如HRI9502或者增强结构如CI_P0001等;

2、选择输入帮助/检查(Entry Help/Check)页签,然后选择需要提供搜索帮助的字段;


3、点击Search Help 按钮,在弹出式窗口输入搜索帮助的名字,系统自动生成搜索帮助的参数和结构字段的匹配建议,点击确认按钮,保存结构定义,然后激活结构。

4、这时候可以测试一下以上增强,使用PPOME维护岗位的分类信息,检验定义的搜索帮助是否生效,其效果应该如下图所示:

人力资源管理信息化探索
0
0