網站首頁 編程語言 正文
序
HELLO ,這里是百里,一個學習中的ABAPER,在SAP開中傳統會經常遇到選擇屏幕,正常系統自帶的數據元素可以解決大部分數據搜索幫助的問題,但是一些自開發,或者用戶定制的選擇屏幕就會出現搜索幫助不存在的情況.此時需要自行建立選擇幫助.本案例將詳細介紹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 接受的字段 .
技術總結
原文鏈接:https://juejin.cn/post/7171453148723970078
相關推薦
- 2022-05-29 C#實現文本轉語音功能_C#教程
- 2022-10-01 React?hooks?useState異步問題及解決_React
- 2022-05-11 RabbitMq工作模式深度剖析與Spring整合MQ
- 2022-01-18 ES6新語法(解構賦值、模板字符串)
- 2022-06-16 React中前端路由的示例代碼_React
- 2022-07-06 python?pandas中的agg函數用法_python
- 2022-05-19 python?字典常用方法超詳細梳理總結_python
- 2022-06-14 C語言選擇、循環、函數、數組與操作符_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支