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.

屏幕对象的F1/F4输入帮助功能的更多相关文章

  1. char *s = getpass()屏幕不回显示 ,返回输入的字符

    char *s = getpass(“please input you name:”)屏幕不回显示 ,返回输入的字符

  2. JavaScript的屏幕对象

    screen 屏幕对象 反映了当前用户的屏幕设置. width 返回屏幕的宽度(像素数). height 返回屏幕的高度. availWidth 返回屏幕的可用宽度(除去了一些不自动隐藏的类似任务栏的 ...

  3. javascript之BOM编程Screen(屏幕)对象

    这个对象属性相对比较简单.掌握四个方法即可. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  4. STM32 HAL库学习系列第7篇---定时器TIM 输入捕获功能

    测量脉冲宽度或者测量频率   基本方法 1.设置TIM2 CH1为输入捕获功能:  2.设置上升沿捕获:  3.使能TIM2 CH1捕获功能:  4.捕获到上升沿后,存入capture_buf[0], ...

  5. javascript之Screen(屏幕)对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. STM32 HAL库学习系列---定时器TIM 输入捕获功能

    基本方法 1.设置TIM2 CH1为输入捕获功能: 2.设置上升沿捕获: 3.使能TIM2 CH1捕获功能: 4.捕获到上升沿后,存入capture_buf[0],改为捕获下降沿: 5.捕获到下降沿后 ...

  7. 屏幕字段不允许直接输入,只能通过SearchHelp(F4)

    ---恢复内容开始--- REPORT  z_barry_test NO STANDARD PAGE HEADING . PARAMETERS: p_date TYPE sy-datum ,      ...

  8. JQuery+AJAX实现搜索文本框的输入提示功能

    平时使用谷歌搜索的时候发现只要在文本框里输入部分单词或字母,下面马上会弹出一个相关信息的内容框可供选择.感觉这个功能有较好的用户体验,所以也想在自己的网站上加上这种输入提示框. 实现的原理其实很简单, ...

  9. stm32输入的功能引脚功能介绍

    Ⅰ.写在前面在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx).但是,你们都知道各种模式的具体意义吗? 有的人问:IO口输出可 ...

随机推荐

  1. 基于visual Studio2013解决算法导论之013基数排序

     题目 基数排序 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...

  2. 正态分布(Normal distribution)又名高斯分布(Gaussian distribution)

    正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及project等领域都很重要的概率分布,在统计学的很多方面有着重大的影 ...

  3. 基于visual Studio2013解决C语言竞赛题之0610冒泡排序函数

      题目

  4. MSSQL - 尚未备份数据库 xxxx 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLA

    此错误的原因是:你的数据库服务器中存在同名数据库! RESTORE DATABASE  [student] FROM  DISK = N'G:\备份文件'  WITH  FILE = 1, MOVE ...

  5. 用 Asterisk 搭建自己的免费 VoIP 服务器

    原文 http://www.yaoblog.info/?p=5021 1. 这里以 Debian 为例子,安装 Asterisk apt-get update apt-get install aste ...

  6. C++ 库研究笔记——通过inline避免hpp 的mutiple definition 错误

    C++用了这么多年,这个却第一次知道,以前没用过hpp 这样: // foo.hpp void foo() { /* body */ } // a.cpp #include "foo.hpp ...

  7. 关于wxFileSystemWatcher输出文件名的解决方法

    本文针对的wxWidgets版本: 2.9.4, 2.9.5,其他版本未作测试. 如果要使用 wxFileSystemWatcher 并且让其产生的wxFileSystemWatcherEvent 事 ...

  8. 浅谈Jquery的使用下篇

    上一篇我们已经探讨了Jquery的有关的内容,简单的选择器以及一些Jquery的属性事件和方法等内容,让我们简单的学到了Jquery的比较基础的内容,下面我们就来探讨Jquery的一些其它的内容,比如 ...

  9. ASP.NET - 使用MqSql数据库

    1. 首先需要安装mysql, 脚本之家下载地址: http://www.jb51.net/softs/2193.html 或者去mysql.com官网都可以,一路next,安装好后,有个简单配置,提 ...

  10. Linux主机上发布java web应用

    1.链接远程主机命令 ssh user@hostname 如: shh root@192.168.1.1 2.查看主机操作系统版本 uname -a 3.linux系统安装mysql a)检查是否安装 ...