ABAP SEARCH HELP

来源:互联网 发布:想开个淘宝零食店 编辑:程序博客网 时间:2024/05/17 06:21

一个表有text table时,search helpselection method选择这个表时,会根据用户登录语言自动选择相应的textMaintenance view不应当作为search helpselection method。但是由于database view使用的都是inner join,有些情况下需要使用out join,这时你可以创建help view来实现。如果search helpselection methodclient dependent的,那么相应的possible values也是client dependent的。

Search helpdialog type决定了是否在显示hit list之前显示一个对话框来限制数据。你可以定义作为参数显示在dialog box上的特性,可以使用selection method中的除client field之外的任何字段以及text table中的非key字段作为参数。你可以通过分配parameter position来决定那个字段显示在那个dialog box上。这样的话你可以在两个dialog box上分配不同的parameterSearch helpparameter必须通过data element来定义。在定义search helpparameter时,你需要定义它是IMPORT还是EXPORT。同fm一样IMPORTEXPORT PARAMETER构成了search helpinterface。可以定义参数既不显示在restricting dialog box上也不显示在hit list dialog box上,这在业务场景在需要更新的字段在search help dialog box上不出现。Search field是一个特例,search field parameter是一个import parameterSearch field的辅助信息不应当被定义为import parameterSearch help描述了input helpflow。只有search help被分配到屏幕字段上时search help才起作用。这被称作search help attachment to the fieldAttaching a search help影响了屏幕字段的行为模式,所以它也被看作屏幕字段定义的一部分。Screen field的语义属性和技术属性通常并不在input template中直接定义,在screen painter中只是让它指向一个dictionary fieldScreen fieldabap dictionary中来的到这些属性。这个原理同样应用于screen fieldinput help。在search help attachment中,从input help中取数据或者为input help提供数据的screen fields都要分配给input help的相应参数。Search field必须被分配给input helpexport parameter。这个参数也最好是import parameter。没有input help attachmentfields也可能有input help,比如这个fielddomainfixed values等。在ABAP DICTIONARY中有三种方式可以attaching a search help

l         A search help可以attachstructuretable的一个字段上

l         如果field有一个check table,那么就会自动提供input helpcheck tablekey field就会被显示,如果check tabletext table那么text table的第一个字符型的非key field也会被显示。如果对这个Input help并不满意,可以对check table attach一个search help。那么使用这个table作为check tablefield都可以使用这个search help。在作attachmentsearch helpinterfacecheck tablekey field必须一一对应。

l         Field的语义属性和possible values是通过data element定义的,可以给data element attach一个search helpAttach时你必须定义一个EXPORT parameter

check table attach search help可以提高复用性,但是不能给search help额外的参数传递值。SAP SYTEM中,有多种方式可以实现input help,当一个field有多种方式时,下面是他的优先顺序:

 

你可以在screen field上自定义search help,但是这样的话就不具备复用性。可以在screenPOV事件中通过编程实现input help,可以通过FMF4IF_FIELD_VALUE_REQUESTF4IF_INT_TABLE_VALUE_REQUEST来实现对标准input help的调整,不过在使用之前应当首先考虑是否可以通过SEARCH HELP EXIT来实现。可以在screen painterattach search help,但是这样与在ABAP DICTIONARY中相比具有一定的局限性。在hit listcontext menu中的technical info可以看出你是用什么方式实现的input help

Search helpselection method的数量比较大时,可能会对系统的性能产生影响,尤其当selection methodview来自于多个数据库表时,更要注意其对性能的影响。通过添加筛选条件可以提高系统性能,如果为筛选条件的字段添加索引效果更好。如果input help的数据不是很多你可以考虑对其做buffer。一个field可以有多个search path组成一个search help,它被称为collective search help。同elementary search help一样,collective search help也有IMPORT EXPORT PARAMETERS作为interface。它也像elementary search help一样可以被attachfieldstableselements。一个collective search help可以被include到另外一个collective search help当中。Collective search helpelementary search helptab pages的形式体现,最后使用的search help在下次使用是active的。4.6以后你可以在standard search helpappend customer elementary search help而不需要modificationSAP standard collective search help包含多个elementary search help,有些情况下某些elementary search help可能根本不需要,这种情况下可以通过append search help然后设置hidden flag来实现。

 

Search help for table的菜单路径netweaver4.6c不同,netweaverextras中,4.6cgoto中。