SAP技巧之修改自帶搜索幫助為自定數據集
序
HELLO ,這里是百里,一個學習中的ABAPER,在SAP開中傳統(tǒng)會經常遇到選擇屏幕,正常系統(tǒng)自帶的數據元素可以解決大部分數據搜索幫助的問題,但是一些自開發(fā),或者用戶定制的選擇屏幕就會出現搜索幫助不存在的情況.此時需要自行建立選擇幫助.本案例將詳細介紹F4,選擇幫助的使用方式.
什么是F4搜索幫助
在標準的SAP中,提供了大量的數據元素類型,我們定義選擇屏幕時候只要參考表標準數據數據元素,就提供自帶的選擇幫助數據。我們增加的F4選擇幫助就是參考標準的制作的。
技術介紹
我們調用函數F4IF_INT_TABLE_VALUE_REQUEST ,傳輸取數內表,到 value_tab
設定對應匹配字段值 retfield ,然后設定對應的LOW 或者 HIGH 取數值 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.
實例展示
本案例內容為自建表,對應1000屏幕內的選擇屏幕取數介紹. 通過給LOW 和 HIGH 設定對應的值 跳出對應的選擇數據.
數據準備
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 .
獲取數據及調用函數
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.
結果
如圖,在選擇屏幕界面,我們自定義的選擇幫助內容即可展示出來,對應的配置字段為內表數據,而接受數據為對應 retfield 的字段 ,本案例為 NAME 接受的字段 .
技術總結
本篇文章講述的自定義選擇幫助內容,常用的場景為ALV選擇幫助自定義報表,更多關于SAP修改搜索幫助為自定數據集的資料請關注腳本之家其它相關文章!
相關文章
windows環(huán)境下python連接openGauss數據庫的全過程
openGauss是一款全面友好開放,攜手伙伴共同打造的企業(yè)級開源關系型數據庫,這篇文章主要給大家介紹了關于windows環(huán)境下python連接openGauss數據庫的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-01-01
最新DataGrip2020.2.x破解版激活碼的步驟詳解(支持Mac/Windows/Linux)
這篇文章主要介紹了最新DataGrip2020.2.x破解版激活碼教程詳解(支持Mac/Windows/Linux),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
Hive數據去重的兩種方式?(distinct和group?by)
數據庫中表存在重復數據,需要清理重復數據,下面這篇文章主要給大家介紹了關于Hive數據去重的兩種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-01-01

