SAP技巧之修改自帶搜索幫助為自定數(shù)據(jù)集
序
HELLO ,這里是百里,一個(gè)學(xué)習(xí)中的ABAPER,在SAP開(kāi)中傳統(tǒng)會(huì)經(jīng)常遇到選擇屏幕,正常系統(tǒng)自帶的數(shù)據(jù)元素可以解決大部分?jǐn)?shù)據(jù)搜索幫助的問(wèn)題,但是一些自開(kāi)發(fā),或者用戶定制的選擇屏幕就會(huì)出現(xiàn)搜索幫助不存在的情況.此時(shí)需要自行建立選擇幫助.本案例將詳細(xì)介紹F4,選擇幫助的使用方式.
什么是F4搜索幫助
在標(biāo)準(zhǔn)的SAP中,提供了大量的數(shù)據(jù)元素類型,我們定義選擇屏幕時(shí)候只要參考表標(biāo)準(zhǔn)數(shù)據(jù)數(shù)據(jù)元素,就提供自帶的選擇幫助數(shù)據(jù)。我們?cè)黾拥腇4選擇幫助就是參考標(biāo)準(zhǔn)的制作的。
技術(shù)介紹
我們調(diào)用函數(shù)F4IF_INT_TABLE_VALUE_REQUEST ,傳輸取數(shù)內(nèi)表,到 value_tab
設(shè)定對(duì)應(yīng)匹配字段值 retfield
,然后設(shè)定對(duì)應(yīng)的LOW 或者 HIGH 取數(shù)值 DYNPROFIELD
.
FORM f_Create_username . CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING * DDIC_STRUCTURE = ' ' retfield = 'USNAM' * PVALKEY = ' ' DYNPPROG = SY-REPID DYNPNR = SY-DYNNR DYNPROFIELD = 's_name-low' * STEPL = 0 * WINDOW_TITLE = * VALUE = ' ' VALUE_ORG = 'S' * MULTIPLE_CHOICE = ' ' * DISPLAY = ' ' * CALLBACK_PROGRAM = ' ' * CALLBACK_FORM = ' ' * CALLBACK_METHOD = * MARK_TAB = * IMPORTING " USER_RESET = 'S' tables value_tab = gt_Data * FIELD_TAB = * RETURN_TAB = * DYNPFLD_MAPPING = EXCEPTIONS PARAMETER_ERROR = 1 NO_VALUES_FOUND = 2 OTHERS = 3 . IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. ENDFORM.
實(shí)例展示
本案例內(nèi)容為自建表,對(duì)應(yīng)1000屏幕內(nèi)的選擇屏幕取數(shù)介紹. 通過(guò)給LOW 和 HIGH 設(shè)定對(duì)應(yīng)的值 跳出對(duì)應(yīng)的選擇數(shù)據(jù).
數(shù)據(jù)準(zhǔn)備
tables : znametable1 . data : gs_data TYPE znametable1 . data : gt_Data TYPE TABLE of znametable1 . sELECT-OPTIONS : s_name for znametable1-name . SELECT-OPTIONS : s_age for znametable1-age .
選擇屏幕幫助
at SELECTION-SCREEN on VALUE-REQUEST FOR s_name-low . PERFORM f_Create_username . at SELECTION-SCREEN on VALUE-REQUEST FOR s_name-high . PERFORM f_Create_username .
獲取數(shù)據(jù)及調(diào)用函數(shù)
FORM f_get_username . SELECT NAME AGE INTO CORRESPONDING FIELDS OF TABLE gt_Data FROM znametable1 . ENDFORM. *&---------------------------------------------------------------------* *& Form f_Create_username *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM f_Create_username . CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING * DDIC_STRUCTURE = ' ' retfield = 'NAME' * PVALKEY = ' ' DYNPPROG = SY-REPID DYNPNR = SY-DYNNR DYNPROFIELD = 's_name-low' * STEPL = 0 * WINDOW_TITLE = * VALUE = ' ' VALUE_ORG = 'S' * MULTIPLE_CHOICE = ' ' * DISPLAY = ' ' * CALLBACK_PROGRAM = ' ' * CALLBACK_FORM = ' ' * CALLBACK_METHOD = * MARK_TAB = * IMPORTING " USER_RESET = 'S' tables value_tab = gt_Data * FIELD_TAB = * RETURN_TAB = * DYNPFLD_MAPPING = EXCEPTIONS PARAMETER_ERROR = 1 NO_VALUES_FOUND = 2 OTHERS = 3 . IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. ENDFORM.
結(jié)果
如圖,在選擇屏幕界面,我們自定義的選擇幫助內(nèi)容即可展示出來(lái),對(duì)應(yīng)的配置字段為內(nèi)表數(shù)據(jù),而接受數(shù)據(jù)為對(duì)應(yīng) retfield
的字段 ,本案例為 NAME 接受的字段 .
技術(shù)總結(jié)
本篇文章講述的自定義選擇幫助內(nèi)容,常用的場(chǎng)景為ALV選擇幫助自定義報(bào)表,更多關(guān)于SAP修改搜索幫助為自定數(shù)據(jù)集的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
DBeaver之如何導(dǎo)出數(shù)據(jù)庫(kù)結(jié)構(gòu)和數(shù)據(jù)
這篇文章主要介紹了DBeaver之如何導(dǎo)出數(shù)據(jù)庫(kù)結(jié)構(gòu)和數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04SQLServer與Oracle常用函數(shù)實(shí)例對(duì)比匯總
這篇文章主要介紹了SQLServer與Oracle常用函數(shù)對(duì)比,需要的朋友可以參考下2014-06-06openGauss數(shù)據(jù)庫(kù)在CentOS上的安裝實(shí)踐記錄
這篇文章主要介紹了openGauss數(shù)據(jù)庫(kù)在CentOS上的安裝實(shí)踐,本文是基于華為云ECS+CentOS 7的openGauss數(shù)據(jù)庫(kù)安裝實(shí)踐,需要的朋友可以參考下2022-07-07以前架征途時(shí)的合區(qū)的SQL語(yǔ)句代碼備份
本來(lái)以為資料都是丟了的,今天整理移動(dòng)硬盤(pán)時(shí)發(fā)現(xiàn)found.000這個(gè)目錄超大,進(jìn)去一看,我的媽呀,資料都在這里了,這下可把我樂(lè)壞了,我趕緊把一些有用的都發(fā)上來(lái)先2008-08-08使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法
這篇文章主要介紹了使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11