今天在调试标准程序的时候,意外的发现了一个F4帮助的函数,感觉还是挺好用的。

F4IF_FIELD_VALUE_REQUEST从函数名就可以看出是给字段添加F4帮助的。

F4 help for fields that are only known at runtime这是这个函数的描述,即运行时使用。在日常的工作中,其实都是在运行时使用,所以

对于我们开发者来说,就当正常的函数使用就可以了。参数呢,比较常用的有这几个:其他参数请到se37中自行查看,都比较简单

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
       EXPORTING
            tabname           = gs_selfields-tabname  “数据字典中的表明
            fieldname         = gt_Selfields-fieldname ”数据字典中的字段名
*            value             = selval
       TABLES
            return_tab        = return_tab
       EXCEPTIONS
            FIELD_NOT_FOUND   = 1
            NO_HELP_FOR_FIELD = 2
            INCONSISTENT_HELP = 3
            NO_VALUES_FOUND   = 4
            OTHERS            = 5.

运行这个函数就会弹出F4帮助界面的值选择窗口,窗口中的值就是tabname中字段fieldname的所有可选值,当选择某个值后,

那么这个值和其相关的属性就会存放到表return_tab中。这里不详细列举,请developer们自行测试。

深入研究发现,这个函数隶属于函数组SDHI(外部应用程序 F4 界面模块),在这个函数组中有很多可用的允许开发者自定义帮助的函数,这里不详细叙述,developer们可以自行研究。

另外一个比较常用的F4帮助函数是F4IF_INT_TABLE_VALUE_REQUEST。

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  EXPORTING
*  DDIC_STRUCTURE        = ' '
   RETFIELD              = 'COL1'
*  PVALKEY               = ' '
  DYNPPROG              = SY-REPID
  DYNPNR                = SY-DYNNR
  DYNPROFIELD           = 'COL1'
*  STEPL                 = 0
  WINDOW_TITLE          = 'WINDOW--TITLE'
*  VALUE                 = ''
  VALUE_ORG             = 'S'
*  MULTIPLE_CHOICE       = 'X'"多项选择,用于SELECT-OPTIONS
*  DISPLAY               = 'F'"C则只能显示,不能选择
  CALLBACK_PROGRAM      = sy-repid
*  CALLBACK_FORM         = ' '
*  MARK_TAB              =
* IMPORTING
*  USER_RESET            =
  TABLES
   VALUE_TAB             = ITAB
*  FIELD_TAB             = FIELD_TAB
*  RETURN_TAB            =
*  DYNPFLD_MAPPING       =
 EXCEPTIONS
  PARAMETER_ERROR       = 1
  NO_VALUES_FOUND       = 2
  OTHERS                = 3
     帮助界面的值为自定义的内表ITAB中的内容。    .

SAP中的F4帮助的更多相关文章

  1. 如何从SAP中查找BADI

    如何从SAP中查找BADI   如何从SAP中查找BADI http://blog.csdn.net/CompassButton/article/details/1231652 BADI作为SAP的第 ...

  2. SAP中关于用户IP信息的获取(转载)

    SAP中如何获取登录用户的IP? 或如何查看哪些IP登录到SAP中: 在Table: USR41中查看,具体字段的说明如下: MANDT   ---   ClientBNAME   ---   登录的 ...

  3. SAP中的Currency Converting Factor

    ABAP编程中,有个概念很重要,即Currency Converting Factor(货币转换因子).可能很多ABAP初学者都不知道这是什么东西,这里我们就简单探讨下. 1. 什么是货币转换因子 在 ...

  4. SAP中主数据和单据的删除

    在SAP实际操作的过程中,有些主数据或者单据需要删除,但是删除的方法却不尽相同,所以笔者今天总结了下,供大家参考. 1,用T-Code去删除 例如我们要删除某个物料,我们可以用T-Code MM06 ...

  5. .NET连接SAP系统专题:SAP中新建可远程调用的RFC(二)

    何谓RFC,就是一个Function,可以被非SAP系统调用,比如VB,C#,Java等.如果我们在RFC中INCLUDE了相关的业务逻辑,那么我们就可以完全操控SAP中的业务数据了.就像在TTE里, ...

  6. C#如何通过NCO3.0来连接SAP并调用SAP中的RFC

    ,这是SAP针对.Net开发的专用组件,安装完成之后在C:\Program Files\SAP\SAP_DotNetConnector3_x86目录下面会有sapnco_utils.dll sapnc ...

  7. 部分2020年交期的PR回写到SAP中

    描述:此问题一直存在,只是用户没有发现,最近提出,部分2020年交期的PR回写到SAP中 优化: SELECT MAX (PR.ORDERID), PR.ITEM, SUBSTR (PR.RECOMM ...

  8. SAP中对于获取订单的状态

    在SAP中对于如何获取订单的状态,提供了至少两个函数,分别是 STATUS_READ 和   STATUS_TEXT_EDIT.下面简单介绍这两个函数 1.STATUS_READ  改函数的实现原理大 ...

  9. 【MM系列】SAP 在SAP中更改基本计量单位

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 在SAP中更改基本计量单位 ...

随机推荐

  1. Impala队列内存参数分析

    同步发布在csdn上 问题 对Impala队列内存的几个参数分析了下,欢迎指正 队列资源池的几个内存配置 Maximum Query Memory Limit 某个队列资源池,一个查询在一个Impal ...

  2. C++ 中使用 PRId64

    同一份代码,Ubuntu 14.04.1 编译没有问题,centos 7 上编译提示错误: error: expected ')' before 'PRId64' 这里两个地址说得很清楚了: http ...

  3. 安装nodejs 版本控制器

    安装下载地址: https://pan.baidu.com/s/1Ed_IPDTOHxR9NShUEau-ZA 下载好后,放在安装nodejs的文件夹下 然后敲cmd,进入安装nodejs的文件夹下. ...

  4. 关于BAPI_ACC_DOCUMENT_POST解读

    BAPI_ACC_DOCUMENT_POST是SAP ERP提供生成会计凭证的标准BAPI,这个BAPI可以用到多种场景生成会计凭证,实际项目中一般情况下更多的是生成应收和应付的会计凭证,分别对应客户 ...

  5. SQL注入及如何解决

    SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗 ...

  6. Centos7.6上部署Supervisor来监控和操作各类服务

    supervisor    是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统.它可以很方便的监听.启动.停止.重启一个 ...

  7. 灯光设置(light)

    clc;clear all;close all; %% 台灯的设置figure('color','k')% 底座fill3([0 1 1 0],[0 0 1 1],[0 0 0 0],'b',... ...

  8. 解决误删/bin/bash问题

    出现原因:由于当时误操作把 /bin/bash 命令解释器二进制文件移到了/root 家目录里面,再重新登录系统之后,登陆进去什么也干干不了. 解决办法:让系统重启,以挂载光盘模式进入系统BIOS,选 ...

  9. 深入浅出Mybatis系列 强大的动态SQL

    上篇文章<深入浅出Mybatis系列(八)---mapper映射文件配置之select.resultMap>简单介绍了mybatis的查询,至此,CRUD都已讲完.本文将介绍mybatis ...

  10. VS2017+qt5.9的安装

    VS2017+qt5.9的安装 运行环境: win7旗舰版+vs2017专业版+qt5.9.2 第一步:安装qt5.9.2 下载qt安装包:下载地址http://mirrors.ustc.edu.cn ...