首页 ABAP_RFC_BAPI培训教程

ABAP_RFC_BAPI培训教程

举报
开通vip

ABAP_RFC_BAPI培训教程ABAP_RFC_BAPI培训教程 SAP R/3的接口方式主要有RFC、IDOC、BAPI三种。 RFC分二种:1 正常的本地RFC。2 远程RFC(外部系统调用)。 BAPI(SAP自带业务函数--封装好函数)。 RFC,BAPI 都可以理解成一个函数。它有输入、输出,改变,排除 参数,表(既可以输入也输出)。 1.1 RFC 参数介绍 1.2 创建一个SAP本地RFC。 1.3 创建一个远程RFC。 2 查找BAPI 3 调用RFC,BAPI 1.1 RFC 参数介绍 SE37 ...

ABAP_RFC_BAPI培训教程
ABAP_RFC_BAPI培训教程 SAP R/3的接口方式主要有RFC、IDOC、BAPI三种。 RFC分二种:1 正常的本地RFC。2 远程RFC(外部系统调用)。 BAPI(SAP自带业务函数--封装好函数)。 RFC,BAPI 都可以理解成一个函数。它有输入、输出,改变,排除 参数,表(既可以输入也输出)。 1.1 RFC 参数介绍 1.2 创建一个SAP本地RFC。 1.3 创建一个远程RFC。 2 查找BAPI 3 调用RFC,BAPI 1.1 RFC 参数介绍 SE37 Attributes(属性), Import(输入参数),Export(输出参数),Changing(更改参数), Tables(输入,输出内表),Exceptions(排除参数),Source code(编写代码)。 Attributes(属性): Normal Function Module :在SAP内部调用RFC Remote-Enabled Module:远程函数调用,即使用外部系统(.NET,VB,JAVA....)调用SAP RFC。 Update Module: 一般使用 Start immed(立刻执行). Import(输入参数): 就是要传入来的条件参数,不能为内表。最常用。 Export(输出参数): 就是返回值,也不能为内表。最常用。 Changing(更改参数): 返回值,与export差不多,这个很少用。 Tables(输入,输出内表): 可以把多个内表的值传进来,同时也可以把多个内表返回。 Exceptions(排除参数。): 不常用。 Source code(编写代码): 就是编写代码了,如果不写代码,那这个RFC就没有用处了。 輸入參數,輸出參數,表 可以不全部使用. 1.2 创建一个SAP本地RFC。 运行SE37 TCODE. 填写一个RFC函数名,名字必须是以“Z”或“Y”开头,建议使用“Z"开头.然后点击Create按钮。 填写函数组与函数描述。 如果现有的函数组没有自己想的保存的函数组,则自己新创建一个。新开一个窗口,运行SE37. 填写函数组名字及描述, 保存。 在弹出要求填写包界面,如果该函数组不需要传到PRD,则保存到本地就行了,连扫LOACL OBJECT,如果要上传,自己从PACKAGE中选择包,与请求传输号。使用SE80創建包. 函数组创建成功,再返回到刚才创建RFC函数要求选择函数组的界面选择。 属性: 选择Normal Function Module 与 Start immed. Import输入参数: 如果有输入参数,就填写,没有,可以不填写。 Parameter Name:填写参数名字。 Typing:填写参考类型,如Type, TYPE REF TO. Associated Type:填写参考的字段,可以手工填写,也可以查找。 Default Value:填写默认值。 Optional:表示是否是可选。 打勾表示可以不必填写,不打勾表示必填。 Pass Value: 打勾表示使用默认值。如果填写了默认值,则此选择要勾上。 Short text:该参数的描述,如果是使用系统字段,则自动带出来。 在沒有默認值,如果optional沒有打勾,則會提示輸入值. Export 输出参数: 如果有输出参数,就填写,没有,可以不填写。 Table : 引用结构或表,使用 LIKE, 不能使用TYPE。 在这里 ZPO_IN表示是传入的内表,ZPO_out是输出的内表。 Associated type :填写参考的结构或表名。 Source code: 编写代码跟在SE38中是一样的了,定义变量,结构,内表,SQL等。 FUNCTION Z_RFC_TEST1. *"---------------------------------------------------------------------- *"*"Local Interface: *"  IMPORTING *"     VALUE(BUKRS_IN) TYPE  BUKRS DEFAULT 1000 *"  EXPORTING *"     REFERENCE(BUKRS_OUT) TYPE  BUKRS *"  TABLES *"      ZPO_IN STRUCTURE  ZFI001_018_PR *"      ZPO_OUT STRUCTURE  ZFI001_018_PR *"----------------------------------------------------------------------   DATA:BEGIN OF GI_EKKO OCCURS 0,  "PO 采购订单表头     EBELN LIKE EKKO-EBELN, "PO 采购订单号     BUKRS LIKE EKKO-BUKRS, "公司代码   END OF GI_EKKO.   DATA:BEGIN OF GI_EKPO OCCURS 0,  "采购表ITEM表     EBELN LIKE EKKO-EBELN, "采购单     EBELP LIKE EKPO-EBELP, "采购单ITEM     MATNR LIKE EKPO-MATNR, "物料号     MENGE LIKE EKPO-MENGE, "采购数量   END OF GI_EKPO.   SELECT EBELN BUKRS INTO TABLE GI_EKKO   FROM EKKO     WHERE BUKRS = BUKRS_IN.  "公司代码的值从输入参数中来。   IF ZPO_IN[] IS NOT INITIAL.     SELECT EBELN EBELP MATNR MENGE INTO TABLE GI_EKPO FROM EKPO       FOR ALL ENTRIES IN ZPO_IN  "输入参数表       WHERE EBELN = ZPO_IN-EBELN AND EBELP = ZPO_IN-EBELP. *      记住,使用FOR ALL ENTRIES IN 来连接内表,一定要判断该内表不要为空,否则把该表全部 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 都读取出来   ENDIF.   READ TABLE GI_EKKO INDEX 1.   IF SY-SUBRC = 0.     BUKRS_OUT = GI_EKKO-BUKRS.   "把采购订单的第一条记录的公司代码输出   ENDIF.   LOOP AT GI_EKPO. Data表     MOVE-CORRESPONDING GI_EKPO TO ZPO_OUT. "输出内表     APPEND ZPO_OUT.     CLEAR:GI_EKPO,ZPO_OUT.   ENDLOOP. ENDFUNCTION. 代码编写完成程,然后激活, 本地RFC创建完成。 1.3 创建远程函数。 在属性处选择Remote-Enabled Module. 在输入、输出参数处还要把PASS VALUE勾选上。如果不勾选,不能激活: 表,代码 都是一样的. 激活成功之后,还需要释放。 2 查找BAPI BAPI是个SAP的封装好的业务函数。 运行BAPI TOCDE查找BAPI。 在里面分模块,根据业务去找相对应的BAPI。 通过Hierarchical 可看R3模块的业务BAPI,不是所有业务都有BAPI。 下面找到一个是创建发票的BAPI。 双击BAPI进入查看,或者运行SE37进入查看, 双击BAPI进入查看, 也是直接进入SE37的界面的。 输入参数: TABLE: 3 调用RFC,BAPI. 在程序调用RFC,BAPI的地方,点击按钮,查看查找函数。 点击确认按钮,会自动带出所有参数出来。 如果输入参数,输出参数据都需要,则把它们去掉注解。 并给参数,内表绑定值。 得到的返回内表或输出参数再进行数据处理。 BAPI也是这样调用: 到这里还没有结束,调用RFC,BAPI都有一个返回信息,使用. SY-SUBRC 判断是否成功。 Rfc: Z_RFC_TEST3 Code: ZRFC_TEST REPORT  Z_RFC_TEST. CALL FUNCTION 'Z_RFC_TEST1' * EXPORTING *   BUKRS_IN        = 1000 * IMPORTING *   BUKRS_OUT       =   TABLES     ZPO_IN          =     ZPO_OUT         =           . if sy-subrc = 0.    " 等于 0 表示成功   endif. CALL FUNCTION 'BAPI_BILLINGDOC_CREATEMULTIPLE' * EXPORTING *   CREATORDATAIN         = *   TESTRUN               = *   POSTING               =   TABLES     BILLINGDATAIN         = *   CONDITIONDATAIN       = *   CCARDDATAIN           = *   TEXTDATAIN            = *   ERRORS                =     RETURN                =     SUCCESS               =           . if sy-subrc = 0.    " 等于 0 表示成功   endif. 剩下的就是自己处理返回的参数与内表了。
本文档为【ABAP_RFC_BAPI培训教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_933477
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:20
分类:互联网
上传时间:2013-01-23
浏览量:29