1.HELP-REQUST[FOR{LOW|HIGH}]字段的F1帮助

当选择SAP屏幕功能的制定字段按F1键时可以调关注用自定义的程序或者系统帮助文件,该功能通常称为F1帮助。

TYPES:syst.
SELECT-OPTIONS:s_date FOR syst-datum. AT SELECTION-SCREEN ON HELP-REQUEST FOR s_date-low.
PERFORM show_f1.
*&---------------------------------------------------------------------*
*& Form SHOW_F1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM show_f1 .
DATA t_link LIKE TABLE OF tline WITH HEADER LINE . CALL FUNCTION 'HELP_OBJECT_SHOW'
EXPORTING
dokclass = 'DE'
* DOKLANGU = SY-LANGU
dokname = 'SYDATUM'
* DOKTITLE = ' '
* CALLED_BY_PROGRAM = ' '
* CALLED_BY_DYNP = ' '
* CALLED_FOR_TAB = ' '
* CALLED_FOR_FIELD = ' '
* CALLED_FOR_TAB_FLD_BTCH_INPUT = ' '
* MSG_VAR_1 = ' '
* MSG_VAR_2 = ' '
* MSG_VAR_3 = ' '
* MSG_VAR_4 = ' '
* CALLED_BY_CUAPROG = ' '
* CALLED_BY_CUASTAT =
* SHORT_TEXT = ' '
* CLASSIC_SAPSCRIPT = ' '
TABLES
links = t_link
* EXCEPTIONS
* OBJECT_NOT_FOUND = 1
* SAPSCRIPT_ERROR = 2
* OTHERS = 3
.
IF sy-subrc <> .
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. ENDFORM.

2.VALUE-REQUEST[FOR {LOW|HIGH}]字段的F4键帮助
当指定字段按F4时,可以调用自定义的程序或者系统帮助数据。该过程是通过单击F4事件来触发,所以也可以通过abap事件控制语法AT SELECTION-SCREEN来调用

当该参数主要是在定义帮助数据时使用,在参照数据表建立的屏幕对象一般会取用默认帮助对象,与F1不同的是,F1是进行信息提示,而F4是显示填充值得列表,所以选取的值将返回给所操作的屏幕对象,可以调用系统函数F4IF_FIELD_VALUE_REQUEST参照某一个具体表字段来维护F4帮助,如下示例

TYPES:syst.
SELECT-OPTIONS:s_date FOR syst-datum. AT SELECTION-SCREEN ON value-request FOR s_date-low.
PERFORM show_f1.
*&---------------------------------------------------------------------*
*& Form SHOW_F1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM show_f1 .
* DATA t_link LIKE TABLE OF tline WITH HEADER LINE . CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'SYST' "参照表
fieldname = 'DATUM' "参照字段
* SEARCHHELP = ' '
* SHLPPARAM = ' '
DYNPPROG = sy-repid "指定执行程序
DYNPNR = sy-dynnr "指定执行程序屏幕编码
DYNPROFIELD = 'S_DATE' "触发事件的屏幕对象名称
* STEPL = 0
* VALUE = ' '
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* SUPPRESS_RECORDLIST = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* SELECTION_SCREEN = ' '
* IMPORTING
* USER_RESET =
* TABLES
* RETURN_TAB =
* EXCEPTIONS
* FIELD_NOT_FOUND = 1
* NO_HELP_FOR_FIELD = 2
* INCONSISTENT_HELP = 3
* NO_VALUES_FOUND = 4
* OTHERS = 5
.
IF sy-subrc <> .
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. ENDFORM.

3.NO DATABASE SELECTION不选取逻辑数据库约束

在调用逻辑数据库的程序中,往往对用户输入的数据按权限来进行筛选。倘若在定义的对象后面加上NO DATABASE SELECTION参数,该对象所输入的对象则不会受到逻辑数据库的约束。

目前ABAP中需要运用NO DATABASE SELECTION定义的逻辑数据库很少,例如HR模块管理的PNP逻辑数据库中,其中所有的帮助条件采用Search Help的方式进行定义。而在

引用逻辑数据库F1S开发的程序中,通过F4只能看到用户权限所限制的数据,以连接编号CONNID字段为例子,在引用逻辑数据库的程序中,通过NO DATABASE SELECTION参数可以读取非限制条件的数据,逻辑数据库可以在abap编辑器的属性页面中进行定义。

执行逻辑数据库需要引用定义NODES或TABLES,使用NO DATABASE SELECTION定义的参数如下。

NODES spfli.
SELECT-OPTIONS:s_connid FOR spfli-connid NO DATABASE SELECTION.

最新文章

  1. mono for android 自定义titleBar Actionbar 顶部导航栏 修改 样式 学习
  2. 编译原理-词法分析03-DFA
  3. PHP文件的读取
  4. jQuery经典学习笔记
  5. (C语言)结构体成员的引用-&gt;(箭头)和 .(点)
  6. Class类工具 - ClassUtils.java
  7. cognos8.3 sample在DB2里的安装
  8. Oracle常见的问题
  9. Visual Studio.NET、asp.net和C#间的关系是怎样的?
  10. GTK、KDE、Gnome、XWindows 图形界面
  11. 百度地图API的自动定位和搜索功能(移动端)
  12. Nginx各种配置
  13. SQL Server 2012 管理新特性:AlwaysOn 可用性组
  14. Tensorflow环境下安装Pandas
  15. 利用JS自动打开页面上链接的实现代码
  16. B - Pie
  17. 【LeetCode】数独
  18. http和socket之长连接和短连接区别【转】
  19. SHT30 Linux标准 i2c-dev 读取程序
  20. convert CAN frame

热门文章

  1. 红黑树和AVL树的实现与比较-----算法导论
  2. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客
  3. T-sql表表达式
  4. libevent: linux安装libevent
  5. [置顶] Android源码分析-点击事件派发机制
  6. 在SSH框架中使用Spring的好处(转)
  7. java字符操作获取汉字的拼音以及其它经常使用工具
  8. android开发之蓝牙配对连接的方法
  9. JQuery学习(3)
  10. 【VC】Dialog 窗体随意切割子窗体。