用户选择屏幕搜索帮助的代码实现
很久不寫程序了,最近接手一財務(wù)報表修改,對一用戶選擇屏幕開發(fā)搜索幫助;第一反應(yīng)就是搜索幫助是與數(shù)據(jù)字典相關(guān)聯(lián),大凡系統(tǒng)表字段里的數(shù)據(jù)元素都會有默認(rèn)的,但找遍了所有的表,此字段就是沒有自帶的搜索幫助,在想是否要自建一個數(shù)據(jù)庫表,對數(shù)據(jù)元素內(nèi)置一個搜索幫助,要建數(shù)據(jù)庫表、數(shù)據(jù)元素、字段.....;做的前期工作非常多;但卻忘了,利用屏幕事件,在程序里開發(fā)一個搜索幫助,之前是有用過的,一下子卻忘了個干凈;
代碼實現(xiàn)如下:
屏幕字段: 為一區(qū)間 對前后的兩個區(qū)間字段分別開發(fā)搜索幫助;因是同一數(shù)據(jù),可共用一個搜索幫助;
第一步: 字義一內(nèi)表,注:包含的若干字段為搜索幫助顯示的內(nèi)容;
第二步:在INITIALLIXATION 事件 初始化此內(nèi)表的值,就是用戶想看到的預(yù)選清單;
第三步:在選擇屏幕事件中對屏幕參數(shù)作如下處理:
??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.
??因參數(shù)P_xxx在屏幕上為一選擇區(qū)間
??子程序:
FORM FRM_GET_KOSTL .
?????? CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
????? EXPORTING
*???? DDIC_STRUCTURE???????? = ' '
??????? RETFIELD?????????????? = 'xxxxx'???? 預(yù)選值要填入的字段名
*???? PVALKEY??????????????? = ' '
?????? DYNPPROG?????????????? =??本程序名
?????? DYNPNR???????????????? = SY-DYNNR
?????? DYNPROFIELD??????????? = 'XXXX'? "?此屏幕字段參數(shù)
?????? VALUE_ORG????????????? = 'S'
*???? MULTIPLE_CHOICE??????? = ' '
*???? CALLBACK_PROGRAM?????? = ' '
*???? CALLBACK_FORM????????? = ' '
????? TABLES
??????? VALUE_TAB????????????? = IT_CSKS[]??? " 存放預(yù)選值清單的內(nèi)表
*???? FIELD_TAB????????????? =
*???? RETURN_TAB???????????? =
*???? DYNPFLD_MAPPING??????? =
???? EXCEPTIONS
?????? PARAMETER_ERROR??????? = 1
?????? NO_VALUES_FOUND??????? = 2
?????? OTHERS???????????????? = 3.
ENDFORM.??????????????????? " FRM_GET_KOSTL
總結(jié)
以上是生活随笔為你收集整理的用户选择屏幕搜索帮助的代码实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP选择屏幕建议
- 下一篇: 搜索帮助1:在选择屏幕使用自定义搜索帮助