IDOC接口Word格式.docx
《IDOC接口Word格式.docx》由会员分享,可在线阅读,更多相关《IDOC接口Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
![IDOC接口Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/30/f6a1684f-b9f1-4456-bd44-4866045e525c/f6a1684f-b9f1-4456-bd44-4866045e525c1.gif)
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.
insertzflowdbfromtablegt_zflowdb.
endfunction.
创建同意数据的数据表ZFLOWDB:
将刚创建的FM添加到进站函数模块列表中(BD51)
下面咱们开始创建进站处置代码:
(WE42)
概念逻辑信息:
10.分派FM到消息和IDOC类型(WE57)
11.保护伙伴参数文件(WE20)
12.在发送端效劳器新建一下程序,执行:
reportztestidoc.
g_idoc_ctllikeedidc,
g_zflowlikezflow.
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
--------------------------------------------------*
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='
g_idoc_ctl-sndprn='
PIITST100'
BUILD_IDOC_CTL
FormBUILD_IDOC_SEG
formbuild_idoc_seg.
*HEADDATA
gi_idoc_data-segnam='
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-segnum=2."
1004'
1001'
BUILD_IDOC_SEG
通过WE02检查执行结果:
发送方:
双击各个项目能够看到明细
同意方:
查询表结果:
此刻咱们看到,咱们将数据从一个系统传输到了另一个系统,继而,咱们基于这些数据成立应用。