今天在调试标准程序的时候,意外的发现了一个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. pytorch和tensorflow的爱恨情仇之一元线性回归例子(keras插足啦)

    直接看代码: 一.tensorflow #tensorflow import tensorflow as tf import random import numpy as np x_data = np ...

  2. Java中构造代码块的使用

    例子1 public class Client { { System.out.println("执行构造代码块1"); } { System.out.println("执 ...

  3. Oracle数据导入Mysql中

    一.Navicat Premium中的数据迁移工具 为了生产库释放部分资源,需要将API模块迁移到mysql中,及需要导数据. 尝试了oracle to mysql工具,迁移时报错不说,这么大的数据量 ...

  4. 用DirectX12绘制一个Cube

    之前一篇文章讲了DirectX12的初始化流程,现在来看看在此基础上如何绘制一个Cube. 首先,我们要为这个Cube准备一个shader,来告诉GPU绘制的具体流程,DirectX中的shader使 ...

  5. SpringBoot从入门到精通教程(六)

    之前学了,这么多东西 thyemeaf .MyBatis 还有 配置文件等等,今天我们就来做一个小案例 CRUD,程序员的必备 项目结构 pom.xml <!-- mybatis 相关依赖 -- ...

  6. 手把手教你搭饥荒专用服务器(三)—MOD及其他高级设置

    友情链接: 手把手教你搭饥荒专用服务器(一)-服务器准备工作 手把手教你搭饥荒专用服务器(二)-环境配置及基本使用 手把手教你搭饥荒专用服务器(三)-MOD及其他高级设置 手把手教你搭饥荒专用服务器( ...

  7. (四)linux的常用环境变量及设置

    一.为什么要设置环境变量 1.环境变量能解决什么问题? 你是否经历过输入$python命令后,屏幕上打印出python:command not found的尴尬:每一次都要输入$/home/tools ...

  8. cmd运行乱码或显示编码GBK的不可映射字符解决方法

    出现这样的错误,一般是因为代码中含有中文字符,注释中的中文字符也算.由于使用cmd运行java程序的时候,系统默认的编码格式是gbk.而包含中文字符的代码一般是Unicode格式,所以直接运行含有中文 ...

  9. sql中大于等于小于的写法

    由于在mybatis框架的xml中<= , >=解析会出现问题,编译报错,所以需要转译第一种写法: 原符号 < <= > >= & ' "替换符号 ...

  10. Oracle中除数为0的两种解决办法(decode与nullif)

    Oracle中Decode函数,语句DECODE(tag,''ZCGS'',0,1)=decode(''@corp-No@'',''6010'',1,0) decode(字段或字段的运算,值1,值2, ...