您的位置:首页 > 编程语言

用户选择屏幕搜索帮助的代码实现

2011-11-14 13:15 183 查看
很久不写程序了,最近接手一财务报表修改,对一用户选择屏幕开发搜索帮助;第一反应就是搜索帮助是与数据字典相关联,大凡系统表字段里的数据元素都会有默认的,但找遍了所有的表,此字段就是没有自带的搜索帮助,在想是否要自建一个数据库表,对数据元素内置一个搜索帮助,要建数据库表、数据元素、字段.....;做的前期工作非常多;但却忘了,利用屏幕事件,在程序里开发一个搜索帮助,之前是有用过的,一下子却忘了个干净;

代码实现如下:

屏幕字段: 为一区间 对前后的两个区间字段分别开发搜索帮助;因是同一数据,可共用一个搜索帮助;

第一步: 字义一内表,注:包含的若干字段为搜索帮助显示的内容;

第二步:在INITIALLIXATION 事件 初始化此内表的值,就是用户想看到的预选清单;

第三步:在选择屏幕事件中对屏幕参数作如下处理:

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_xxx-low.

PERFORM FRM_GET_KOSTL.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_xxx-HIGH.

PERFORM FRM_GET_KOSTL.

因参数P_xxx在屏幕上为一选择区间

子程序:

FORM FRM_GET_KOSTL .

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

* DDIC_STRUCTURE = ' '

RETFIELD = 'xxxxx' 预选值要填入的字段名

* PVALKEY = ' '

DYNPPROG = 本程序名

DYNPNR = SY-DYNNR

DYNPROFIELD = 'XXXX' " 此屏幕字段参数

VALUE_ORG = 'S'

* MULTIPLE_CHOICE = ' '

* CALLBACK_PROGRAM = ' '

* CALLBACK_FORM = ' '

TABLES

VALUE_TAB = IT_CSKS[] " 存放预选值清单的内表

* FIELD_TAB =

* RETURN_TAB =

* DYNPFLD_MAPPING =

EXCEPTIONS

PARAMETER_ERROR = 1

NO_VALUES_FOUND = 2

OTHERS = 3.

ENDFORM. " FRM_GET_KOSTL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: