Function也称为函数,它是SAP中一个独物的程序模式,一般是一段单独的程序代码,可独立执行或直接被SAP其他程序所调用。Function支持远程访问模式,即提供接口供SAP程序使用(如VB,.NET,JAVA等),通常称为RFC(Remote Function Call).

 
Function Modules
* 函数是和程序无关的,它不能直接创建在程序里并直接调用它。
   任何一个函数都属于某Function Group,并可以被任何程序所调用。
* 函数的执行异常可以通过抛出一个Exception来返回给SY-SUBRC
* 显然,Function Modules和Subroutine在内存分配机制上有很大的不同。
   程序中的全局变量无法访问,所有函数需要的变量都必须通过参数来进行传递。
 
Function Groups
 * 一个函数组包含了实现有一定共性的多个函数。
 * 函数组是一种F类型的ABAP程序,它无法自己执行,只能被程序所调用
 * 当我们调用某一个函数时,这个函数所属的函数组也会全部被调入内存。
 * 函数组中任何一个函数有错误都会导致该函数的所有函数不能使用.调用的PROGRAM编译不能通过,所以通常在调试中的函数不直接激活。可以通过测试工具测试成功后再激活。

* Function初始界面及Function Group的创建。

1.  Tcode:SE37

2.与Rrport不同的是,创建Function程序前必须先定义一个地Function Group,

一个Group下可包含多个Function,创建Function Group命令的具体操作路径为:

点击【建立群组】

输入自定义Function名称:ZRFC_TEST_SIMPLE,单击Create按钮,

以上,Function已被创建成功,系统进入初始界面,可以看到系统自动生成预代码,

但是还不具备任何功能,需要对Function的输入输出参数及数据处理逻辑程序进行设计

Function 编辑器共分为7个页面,各自功能定义如下:

1. 属性:用于定义该Function类型及其基本信息。

* 处理类型:用于定义该Function类型,主要用于定义是否可以远程调用。

* Normal function module:普通调用模式,该Function只能在SAP系统中使用;

* Remote enable module: 远程调用模式,允许该Function被SAP及非SAP程序调用,

即设置为RFC,RFC是SAP与外部应用系统的通信接口。

* Update Module:将该Function设置为更新模式,调用该Function程序可采用如下定义:

"Call Function XXX in update task",必须再次使用COMMIT命令时才能完成该Function的数据操作,适用于多次调用函数最后再保存的多笔业务的录入。

2.Import/Export 为数据输入、输出接口,其接口参数可以为单个变量或者为一个结构体。

3. Changing可同时作为输入输出接口,其参数可为单个变量或Struct或内表。接口定义属性基本一致

* 参数名称:接口调用时对其赋值,作为一个数据对象在程序中使用;

* Typing: 类型选择项,与数据定义时的LIKE、TYPE作用一致;

* 参考类型:可为数据字典对象;

* 预设值:若输入字符型值时需加上引号;

* 选择性:该选项定义是否可以修改参数值,若未选中,相当于定义该参数为一常量,

若选中,该参数可以在程序中重新赋值。

* Pass Value: 定义该对数是否为必输项,若未选中,调用该Function时此参数为必须输入项;

* 短文: 该参数信息描述

* 长文:单击对应按钮可以设置参数详细描述。

4. Exceptions: 为错误回执接口,定义程序中所返回的错误。

5. Source code:切换到ABAP代码编辑窗口,代码中可以定义子程序或调用其他Function。接口中所定义的参数都只是该Function代码的私有变量,可以在Function中直接引用,由此实现与外部程序数据的交换,接口参数定义如图

Function程序设计及应用的更多相关文章

  1. 通过百度echarts实现数据图表展示功能

    现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...

  2. HDU 6156 - Palindrome Function [ 数位DP ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛

    普通的数位DP计算回文串个数 /* HDU 6156 - Palindrome Function [ 数位DP ] | 2017 中国大学生程序设计竞赛 - 网络选拔赛 2-36进制下回文串个数 */ ...

  3. 《JavaScript高级程序设计》读书笔记 ---Function 类型

    说起来ECMAScript 中什么最有意思,我想那莫过于函数了——而有意思的根源,则在于函数实际上是对象.每个函数都是Function 类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对 ...

  4. (java保留n位小数)precise math function 北京信息科技大学第十届ACM程序设计竞赛 第2题

    precise math function Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Othe ...

  5. 《JavaScript高级程序设计》5.5 Function类型

    5.5 Function类型 函数实质上是对象, 每个函数都是Function类型的实例, 并且都和其他引用类型一样具有属性和方法. 因此函数名实际上也是一个指向函数对象的指针, 不会与某个函数绑定. ...

  6. 面向对象程序设计-C++ Class & Object & Friend Function & Constructor & Destructor【第五次上课笔记】

    大家可以下载后用Vim 或者 Sublime Text等文本编辑器查看 以下代码均已折叠,点击“+“即可打开 一开始老师用C语言大作业的例子,写了个 Student 的结构以及相关操作 #includ ...

  7. 【2017中国大学生程序设计竞赛 - 网络选拔赛】Palindrome Function

    [链接]http://acm.hdu.edu.cn/showproblem.php?pid=6156 [题意] 已知函数f(x, k),如果10进制数x在k进制下是个回文数,那么f(x, k)值为k, ...

  8. 【2019中国大学生程序设计竞赛-女生专场】C - Function

    原题 韦神提供的思路orz 首先一个显然的性质,所有的c可以提出来,方程变成ax^2+bx的形式 因为x的值是离散的,而m的值又不大 所以一开始让x都为1(注意!x是正整数),然后每次挑一个x让他加一 ...

  9. HTML5 程序设计 - 使用HTML5 Canvas API

    请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...

随机推荐

  1. IDEA Debug模式下启动慢的解决办法

    工程没有做什么大的改动,近期Idea在debug模式下启动耗时800s +,run模式下200s.Idea debug模式启动的时候会有这样的提示: 方法断点会戏剧性的降低debug的速度.当时并没有 ...

  2. 如何获取到app的包名

    相信很多朋友在刚开始接触测试app的时候都不清楚app的包名是什么,接下来给大家介绍几种方法去获取. 一.手机设备已连接到电脑,点击进入app中,前提是电脑上装备了android-SDK,tools文 ...

  3. shell更改xml中的指定值

    sed -i 's;<id>.*<\/id>;<id>新内容<\/id>;g'  your.xml

  4. vim简明教程(附快速记忆方法)

    vim分为四种模式: 普通模式(normal mode) 插入模式(insert mode) 可视模式(visual mode) 命令模式(excute mode) 下面整理了常用的快捷键和记忆方法( ...

  5. tomcat9.0 问题汇总

    安装时提示 Failed installing tomcat9 service 是因为之前安装tomcat,然后直接删除文件夹,虽然把文件夹删除了,但是重新安装时,服务存在相同的服务名,解决办法:使用 ...

  6. 使用ajax向服务端发送Form中的数据

    前端代码: <form action="" id="myFormUpdate"> <p>宠物名称: <input type=&qu ...

  7. Tarjan求点双连通分量

    概述 在一个无向图中,若任意两点间至少存在两条“点不重复”的路径,则说这个图是点双连通的(简称双连通,biconnected) 在一个无向图中,点双连通的极大子图称为点双连通分量(简称双连通分量,Bi ...

  8. 【JZOJ5439】【NOIP2017提高A组集训10.31】Calculate

    题目 分析 对于\[\sum_{i=1}^{n}\lfloor\dfrac{T-B_i}{A_i}\rfloor\] 我们考虑拆开处理,得到 \[\sum_{i=1}^{n}(\lfloor\dfra ...

  9. Linux——awk

    https://blog.csdn.net/jin970505/article/details/79056457 可以根据特定规则输出文本文件内容

  10. Cookie相关工具方法

    /** * InputStream转化为byte[]数组 * @param input * @return * @throws IOException */ public static byte[] ...