先聊一下什么是Selection Screen。从资料上了解到SAP把程序屏幕分为3种,一种是Dialog Screen,一种是List,还有就是Selection Screen。从外观上来看,Dialog Screen和Selection Screen两种屏幕长得类似。SAP的解释是如果纯粹只是为了输入数据,就应该使用Selection Screen。(原文:You often use screens purely for data input . In these cases, you can use a selection screen. )
老实说,我只能把Selection Screen理解为“傻瓜”版的Dialog Screen。(原文:When you create a selection screen, the system automatically assumes the tasks of the Screen Painter and Menu Painter.)对于客户来说,Selection Screen和Dialog Screen不重要,SAP设计Selection Screen主要是为了简化SAP顾问的工作。好吧,谢谢SAP。
Ad Hoc Query中的Selection Screen来源有3种,一种是逻辑数据库PNP/PNPCE和PCH(图1),一种是在Infotype中字段(图2),还有就是在Infoset Query中制作的。第三种是本文重点介绍的。
图1
业务场景
假设某个企业的SAP HR系统中,我们在信息类型0001(组织分配)上增加了客户化字段“员工附加分类”。
而且这个分类会经常被用于筛选和归类员工数据。客户希望能够在每个HR报表上把这个字段作为默认的选择条件。
制作方法
1.事务代码SQ02,转到Selection Screen的Tab页。捷键SHIFT+F7。菜单路径如下:
2.创建一个选择字段
要注意“附加”一定要写“MODIF ID sel”,否则会报错。至于为什么这样写,可以通过SE36查看PNP逻辑数据库的选择字段写法。
3.编写ABAP代码
菜单路径:转到->代码,选择“5 记录处理”,相当于GET PERNR事件的位置。
4.如果还有特殊的检查逻辑,还可以选择“9.在选择屏幕”中编写逻辑检查的ABAP代码。
|