配置接收方
第一步WE31创建段(SEGMENT):ZLM_SMT01(field字段跟发送端一致)
第二步WE30创建IDOC基本类型 :ZLM_IDOC_TYPE1
第三步WE81创建IDOC消息类型 :ZLM_IDOC_MSG1
第四步WE82关联基本类型和消息类型
第五步WE37创建接受函数 :ZLM_IDOC_RECIVER01
输入输出参数是固定的,从任意一个接收函数copy下就行
第六步BD51注册函数
第七步WE57关联函数和基本类型消息类型
第八步WE42创建inbound press code:ZLM_IDOC_PROCESS1
第九步BD54创建逻辑系统 :ZLM_DEV21
第十步 WE20配置发送方信息:
到此,接收端配置完成
接收端FM:
FUNCTIONZLM_IDOC_RECIVER01.
*"----------------------------------------------------------------------
*"*"Localinterface:
*"IMPORTING
*"VALUE(INPUT_METHOD)LIKEBDWFAP_PAR-INPUTMETHDOPTIONAL
*"VALUE(MASS_PROCESSING)LIKEBDWFAP_PAR-MASS_PROCOPTIONAL
*"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_CONTRLSTRUCTUREEDIDCOPTIONAL
*"IDOC_DATASTRUCTUREEDIDDOPTIONAL
*"IDOC_STATUSSTRUCTUREBDIDOCSTATOPTIONAL
*"RETURN_VARIABLESSTRUCTUREBDWFRETVAROPTIONAL
*"SERIALIZATION_INFOSTRUCTUREBDI_SEROPTIONAL
*"----------------------------------------------------------------------
DATA:
l_wa_idoc_datalikeedidd.
DATA:
l_dataLIKEZLM_SMT01."WE31配置的那个机构
LOOPATIDOC_CONTRL.
LOOPATIDOC_DATAintol_wa_idoc_dataWHEREdocnum=IDOC_CONTRL-docnum.
"虽然l_wa_idoc_data-SDATA是没结构的,这样赋值后就成有结构的数据了
l_data=l_wa_idoc_data-SDATA.
ENDLOOP.
ENDLOOP.
COMMITWORK.
CLEARIDOC_STATUS.
IDOC_STATUS-docnum=IDOC_CONTRL-docnum.
IDOC_STATUS-status='53'.
IDOC_STATUS-msgty='S'.
IDOC_STATUS-msgid='00'.
IDOC_STATUS-msgno='398'.
IDOC_STATUS-msgv1='idoc'.
IDOC_STATUS-msgv2='successfullyprocessed'.
APPENDIDOC_STATUS.
ENDFUNCTION.
可以在这里打外部断点,然后在执行发送程序