惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
WordPress大学
WordPress大学
小众软件
小众软件
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
腾讯CDC
量子位
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
S
SegmentFault 最新的问题
Simon Willison's Weblog
Simon Willison's Weblog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
Google Online Security Blog
Google Online Security Blog
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
罗磊的独立博客
L
LINUX DO - 最新话题
博客园 - Franky
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
AI
AI
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
I
Intezer
S
Securelist

博客园 - 飞扬跋扈

用户中心 - 博客园 Using sql azure for Elmah Invalid object name ‘sys.configurations’. (Microsoft SQL Server, Error: 208) Cannot install ubuntu or other linux flavours on citrix Xen server ubuntu重置root密码 How to join a Ubuntu to Windows Domain 在ubuntu上搭建reviewboard jQuery设计思想 用户中心 - 博客园 WPF - Displaying enums in ComboBox control 节能的荧光胶带让你起夜不开灯 Outlook发信 教菜鸟建个无敌文件夹 Don’t Delete – Just Don’t [python 3.1]删除指定目录下的bin,obj文件夹 - 飞扬跋扈 用户中心 - 博客园 [转]Webbrowser控件判断网页加载完毕的简单方法 .py to exe Tabs versus Spaces
ABAP TIPS (1) -- F4检索功能的实现
飞扬跋扈 · 2010-03-10 · via 博客园 - 飞扬跋扈

ABAP TIPS (1) -- F4检索功能的实现

      为了规范画面输入数据,有的时候需要对自建画面输入项目(不能参照系统项目)附加自检索帮助功能(系统的F4功能)。
      此功能的实现,大体上分两部分。第一,可选画面的调用,按下F4后可弹出约定可输入项目的列表;第二,用户选定的值能够返回到输入项目中。

      另外,我提供的这个程序事例可自己添加选可选数据,而不仅仅局限于R/3系统内已创建的表数据作为数据源,先前在网上寻找能自定义的此类功能,几乎没有,所以我把我后来研究出的这个放到这里,以飨大家:)下面是该功能事例代码,请大家参考,欢迎讨论。

************************************************************************
* プログラム : ZZF4HELP * 名称    : 入力項目選択ヘルプ用サンプル * 機能概要  : 独自検索ヘルプ. * 作成者   : KONGXIANGSHUAI * 作成日   : 2005/09/30 *----------------------------------------------------------------------* REPORT ZZF4HELP. * 入力項目選択ヘルプ用 TYPES: BEGIN OF TY_VALUES, VALUE TYPE SETHEADERT-SETNAME, DESCRIPT TYPE SETHEADERT-DESCRIPT, END OF TY_VALUES. CONSTANTS: CNS_TITLE(8) TYPE C VALUE 'ソート区分'. "入力項目選択ヘルプ用タイトル DATA: IT_VALUES TYPE TABLE OF TY_VALUES, TW_VALUES LIKE LINE OF IT_VALUES. DATA: IT_DYNPFIELDS TYPE TABLE OF DYNPREAD, TW_DYNPFIELDS LIKE LINE OF IT_DYNPFIELDS. *----------------------------------------------------------------------* * パラメータ定義 *----------------------------------------------------------------------* * 出力区分定義 PARAMETERS:PA_OUTYP(1) TYPE C OBLIGATORY. *----------------------------------------------------------------------* * AT SELECTION-SCREEN *----------------------------------------------------------------------* * 入力項目選択ヘルプ用 AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_OUTYP. PERFORM FRM_F4_HELP_OUTYP. AT SELECTION-SCREEN. * 出力区分のチェック IF NOT ( PA_OUTYP = '1' OR PA_OUTYP = '2' OR PA_OUTYP = '3' ). SET CURSOR FIELD 'PA_OUTYP'. MESSAGE E001(ZFI0) WITH TEXT-M06 PA_OUTYP. ENDIF. *----------------------------------------------------------------------* * START-OF-SELECTION *----------------------------------------------------------------------* START-OF-SELECTION. WRITE: '出力区分:', PA_OUTYP. *&---------------------------------------------------------------------* *& Form FRM_F4_HELP_OUTYP *&---------------------------------------------------------------------* * 出力区分項目の入力選択ヘルプ *----------------------------------------------------------------------* FORM FRM_F4_HELP_OUTYP. CLEAR: TW_VALUES. REFRESH: IT_VALUES. TW_VALUES-VALUE = '1'. TW_VALUES-DESCRIPT = '社員番号'. APPEND TW_VALUES TO IT_VALUES. TW_VALUES-VALUE = '2'. TW_VALUES-DESCRIPT = '部門番号'. APPEND TW_VALUES TO IT_VALUES. TW_VALUES-VALUE = '3'. TW_VALUES-DESCRIPT = '年齢'. APPEND TW_VALUES TO IT_VALUES. PERFORM FRM_F4_HELP USING 'PA_OUTYP' CNS_TITLE. ENDFORM. " FRM_F4_HELP_OUTYP *&---------------------------------------------------------------------* *& Form FRM_F4_HELP *&---------------------------------------------------------------------* * 項目の入力選択ヘルプ *----------------------------------------------------------------------* * -->   P_PARAM 項目名 * -->   P_TITLE タイトル *----------------------------------------------------------------------* FORM FRM_F4_HELP USING P_PARAM P_TITLE. DATA: LIT_DDSHRETVAL TYPE STANDARD TABLE OF DDSHRETVAL, LTW_DDSHRETVAL LIKE LINE OF LIT_DDSHRETVAL. SORT IT_VALUES BY VALUE. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'VALUE' DYNPPROG = SY-CPROG DYNPNR = SY-DYNNR WINDOW_TITLE = P_TITLE VALUE_ORG = 'S' TABLES VALUE_TAB = IT_VALUES RETURN_TAB = LIT_DDSHRETVAL EXCEPTIONS PARAMETER_ERROR = 1 NO_VALUES_FOUND = 2 OTHERS = 3. IF SY-SUBRC <> 0. MESSAGE E005(ZCA0) WITH TEXT-M01. "'値がありません。' ENDIF. CLEAR: TW_DYNPFIELDS. REFRESH: IT_DYNPFIELDS. READ TABLE LIT_DDSHRETVAL INTO LTW_DDSHRETVAL INDEX 1. CASE SY-DYNNR. WHEN '1000'. TW_DYNPFIELDS-FIELDNAME = P_PARAM. ENDCASE. TW_DYNPFIELDS-FIELDVALUE = LTW_DDSHRETVAL-FIELDVAL. APPEND TW_DYNPFIELDS TO IT_DYNPFIELDS. CALL FUNCTION 'DYNP_VALUES_UPDATE' EXPORTING DYNAME = SY-CPROG DYNUMB = SY-DYNNR TABLES DYNPFIELDS = IT_DYNPFIELDS EXCEPTIONS OTHERS = 1. ENDFORM. " FRM_F4_HELP