IDOC接口.docx

上传人:b****6 文档编号:8610266 上传时间:2023-02-01 格式:DOCX 页数:15 大小:266.80KB
下载 相关 举报
IDOC接口.docx_第1页
第1页 / 共15页
IDOC接口.docx_第2页
第2页 / 共15页
IDOC接口.docx_第3页
第3页 / 共15页
IDOC接口.docx_第4页
第4页 / 共15页
IDOC接口.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

IDOC接口.docx

《IDOC接口.docx》由会员分享,可在线阅读,更多相关《IDOC接口.docx(15页珍藏版)》请在冰豆网上搜索。

IDOC接口.docx

IDOC接口

IDOC是SAP提供的接口工具,最开始的用途是在电子商务EDI领域,EDI可是老早以前的概念了,意思是通过将数据通过两边概念好的文件(数据)格式来传输,到系统中处置,进展到了今天,显然能够用“接口”来归纳了。

若是说的接口的话,到此刻为止,SAP提供的接口技术确实很多,如:

BDC\IDOC\BAPI\XI(PI)\WEBSERVICE等等。

值得专门说一句,BW的数据抽取机制,确实是通过IDOC来实现的。

下面,咱们以SAP与SAP自概念数据传输的方式为例,向大伙儿说明如何利用IDOC。

本例中,咱们从一个系统(PIITST100)传输到另一个系统(BT3CLNT800)。

第一,从网上贴了下大体步骤,下面咱们依照那个步骤来操作:

创建IDOC:

   第一步:

WE31创建IDOC所包含的字段.   第二步:

WE30创建IDOC把Segment分配给IDOC   第三步:

WE81  创建信息类型   第四步:

WE82   把IDOC类型与信息类型对应.   第五步:

WE57AssignMessage&IdocTypetoaFunctionModuleforProcess   第六步:

SM59DefineaRFCconnectionforIdoctransfer  第七步:

WE21DefineaPort(AssignaRFCdestinationwhichcreatedinSM59)  第八步:

WE41/42CreatProcessCode   第九步:

WE20DefineaPartnerProfiles(AlsocreataOutboundparameterswithPort,orInboundparameterswithProcesscode)管理IDOC:

   WE02   显示IDOC,可以根据时间,IDOC类型查找IDOC,查看成功,出错信息。

   WE46   IDOC管理(出\入)   WE60   IDOC类型文档(可以查看IDOC结构,和每个字段的描述.  WE19 根据IDOC号进行IDOC处理,可以修改IDOC值进行补发动作,处理分为内向和外向。

消息配置:

    WE20配置伙伴消息进和出IDOC类型    WE21配置伙伴。

以下操作在发送方:

1.创建IDOC类型的段(WE31)

IDOC类型的字段,意思说咱们都要传递那些数据。

咱们那个地址只传递3个字段的数据。

2.创建IDOC类型,并把段分派给IDOC类型(WE30)

新建IDOC类型,点击

,将适才创建的段分派给IDOC类型,

3.创建消息类型(WE81)

消息类型是传递消息的大体单元,所有的消息传递都是通过消息类型来操作的。

那个地址咱们只概念消息类型的名称。

4.将IDOC类型分派给消息类型(WE82)

5.概念RFC连接(SM59)

源系统:

目标系统:

6.概念端口(WE21)

那个地址概念目标系统的端口,概念事物性RFC

7.保护伙伴参数(WE20)

咱们为源系统保护出站参数。

第一创建逻辑系统,在SALE中,作为合作伙伴编号

以下内容为接收方系统完成:

8.依照前面的步骤,在接收方,创建相同的消息类型

9.设置入站处置代码(WE42)

咱们利用FUNCTIONMUDULE来处置数据。

需要概念入站处置代码,再分派给进站参数

第一创建FM,咱们从标准的IDOCFM“BAPI_IDOC_INPUT1”复制一个咱们自己的,逻辑咱们自己写,只取其参数,代码如下。

(具体创建FM的方式略)

functionzflowtest.

*"----------------------------------------------------------------------

*"*"Localinterface:

*"IMPORTING

*"VALUE(INPUT_METHOD)LIKEBDWFAP_PAR-INPUTMETHD

*"VALUE(MASS_PROCESSING)LIKEBDWFAP_PAR-MASS_PROC

*"EXPORTING

*"VALUE(WORKFLOW_RESULT)LIKEBDWF_PARAM-RESULT

*"VALUE(APPLICATION_VARIABLE)LIKEBDWF_PARAM-APPL_VAR

*"VALUE(IN_UPDATE_TASK)LIKEBDWFAP_PAR-UPDATETASK

*"VALUE(CALL_TRANSACTION_DONE)LIKEBDWFAP_PAR-CALLTRANS

*"TABLES

*"IDOC_CONTRLSTRUCTUREEDIDC

*"IDOC_DATASTRUCTUREEDIDD

*"IDOC_STATUSSTRUCTUREBDIDOCSTAT

*"RETURN_VARIABLESSTRUCTUREBDWFRETVAR

*"SERIALIZATION_INFOSTRUCTUREBDI_SER

*"EXCEPTIONS

*"WRONG_FUNCTION_CALLED

*"----------------------------------------------------------------------

 

data:

gt_zflowdbtypezflowdboccurs0withheaderline,

gt_zflowtypezflowoccurs0withheaderline.

*SETRETURN_VARIABLESVALUE

readtableidoc_contrlindex1.

return_variables-doc_number=idoc_contrl-docnum.

return_variables-wf_param='Processed_IDOCs'.

appendreturn_variables.

*SETIDOC_STATUSVALUE.

clearidoc_status.

idoc_status-status='53'.

idoc_status-docnum=idoc_contrl-docnum.

idoc_status-repid=sy-repid.

appendidoc_status.

*READEDIDD

loopatidoc_data.

caseidoc_data-segnam.

when'ZFLOW'.

moveidoc_data-sdatatogt_zflow.

endcase.

appendgt_zflow.

endloop.

*PROCESSINGDATA

loopatgt_zflow.

gt_zflowdb-bukrs=gt_zflow-bukrs.

gt_zflowdb-gjahr=gt_zflow-gjahr.

gt_zflowdb-wrbtr=gt_zflow-wrbtr.

appendgt_zflowdb.

endloop.

insertzflowdbfromtablegt_zflowdb.

endfunction.

创建同意数据的数据表ZFLOWDB:

将刚创建的FM添加到进站函数模块列表中(BD51)

下面咱们开始创建进站处置代码:

(WE42)

概念逻辑信息:

10.分派FM到消息和IDOC类型(WE57)

11.保护伙伴参数文件(WE20)

12.在发送端效劳器新建一下程序,执行:

reportztestidoc.

data:

g_idoc_ctllikeedidc,

g_zflowlikezflow.

data:

gi_ret_ctllikeedidcoccurs0,

gi_idoc_datalikeediddoccurs0withheaderline.

*BUILDIDOC_CTLRECORD

performbuild_idoc_ctl.

*BUILDICOC_SEGMENTDATA

performbuild_idoc_seg.

*CALLFUNCTIONANDCREATEIDOC

performcreate_idoc.

*&---------------------------------------------------*

*&FormCREATE_IDOC

*&---------------------------------------------------*

*text

*----------------------------------------------------*

*-->p1text

*<--p2text

*----------------------------------------------------*

formcreate_idoc.

callfunction'MASTER_IDOC_DISTRIBUTE'

exporting

master_idoc_control=g_idoc_ctl

*OBJ_TYPE=''

*CHNUM=''

tables

communication_idoc_control=gi_ret_ctl

master_idoc_data=gi_idoc_data

*EXCEPTIONS

*ERROR_IN_IDOC_CONTROL=1

*ERROR_WRITING_IDOC_STATUS=2

*ERROR_IN_IDOC_DATA=3

*SENDING_LOGICAL_SYSTEM_UNKNOWN=4

*OTHERS=5

.

ifsy-subrc<>0.

MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO

WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.

else.

commitwork.

endif.

endform."CREATE_IDOC

*&---------------------------------------------------*

*&FormBUILD_IDOC_CTL

*&--------------------------------------------------*

*text

*----------------------------------------------------*

*-->p1text

*<--p2text

*----------------------------------------------------*

formbuild_idoc_ctl.

*TYPE

g_idoc_ctl-idoctp='ZFLOWMON'."IDOCTYPE

g_idoc_ctl-mestyp='ZFLOWMSG'."MESSAGETYPE

*RECEIVER

g_idoc_ctl-rcvprt='LS'."PARTNERTYPE

g_idoc_ctl-rcvprn='B3TCLNT800'."PARTNERNO

*SENDER

g_idoc_ctl-sndprt='LS'."PARTNERTYPE

g_idoc_ctl-sndprn='PIITST100'."PARTNERNO

endform."BUILD_IDOC_CTL

*&---------------------------------------------------*

*&FormBUILD_IDOC_SEG

*&---------------------------------------------------*

*text

*----------------------------------------------------*

*-->p1text

*<--p2text

*----------------------------------------------------*

formbuild_idoc_seg.

*HEADDATA

gi_idoc_data-segnam='ZFLOW'."SEGMENTNAME

gi_idoc_data-segnum=1."SEGMENTNO

g_zflow-bukrs='1003'.

g_zflow-gjahr='2010'.

g_zflow-wrbtr='1000'.

moveg_zflowtogi_idoc_data-sdata.

appendgi_idoc_data.

gi_idoc_data-segnam='ZFLOW'."SEGMENTNAME

gi_idoc_data-segnum=2."SEGMENTNO

g_zflow-bukrs='1004'.

g_zflow-gjahr='2010'.

g_zflow-wrbtr='1001'.

moveg_zflowtogi_idoc_data-sdata.

appendgi_idoc_data.

endform."BUILD_IDOC_SEG

通过WE02检查执行结果:

发送方:

双击各个项目能够看到明细

同意方:

查询表结果:

此刻咱们看到,咱们将数据从一个系统传输到了另一个系统,继而,咱们基于这些数据成立应用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1