IDOC练习(二、接收端配置)

配置接收方
第一步WE31创建段(SEGMENT):ZLM_SMT01(field字段跟发送端一致)
IDOC练习(二、接收端配置)

第二步WE30创建IDOC基本类型 :ZLM_IDOC_TYPE1
IDOC练习(二、接收端配置)

IDOC练习(二、接收端配置)

IDOC练习(二、接收端配置)

第三步WE81创建IDOC消息类型 :ZLM_IDOC_MSG1
IDOC练习(二、接收端配置)

第四步WE82关联基本类型和消息类型
IDOC练习(二、接收端配置)

第五步WE37创建接受函数     :ZLM_IDOC_RECIVER01
输入输出参数是固定的,从任意一个接收函数copy下就行
IDOC练习(二、接收端配置)

IDOC练习(二、接收端配置)

IDOC练习(二、接收端配置)

第六步BD51注册函数
IDOC练习(二、接收端配置)

第七步WE57关联函数和基本类型消息类型
IDOC练习(二、接收端配置)

第八步WE42创建inbound press code:ZLM_IDOC_PROCESS1
IDOC练习(二、接收端配置)

IDOC练习(二、接收端配置)

第九步BD54创建逻辑系统     :ZLM_DEV21
IDOC练习(二、接收端配置)

第八步WE20配置发送方信息:
IDOC练习(二、接收端配置)

IDOC练习(二、接收端配置)

到此,接收端配置完成

接收端FM:

FUNCTION ZLM_IDOC_RECIVER01 .
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD OPTIONAL
*"     VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC OPTIONAL
*"  EXPORTING
*"     VALUE(WORKFLOW_RESULT) LIKE  BDWF_PARAM-RESULT
*"     VALUE(APPLICATION_VARIABLE) LIKE  BDWF_PARAM-APPL_VAR
*"     VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
*"     VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
*"  TABLES
*"      IDOC_CONTRL STRUCTURE  EDIDC OPTIONAL
*"      IDOC_DATA STRUCTURE  EDIDD OPTIONAL
*"      IDOC_STATUS STRUCTURE  BDIDOCSTAT OPTIONAL
*"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR OPTIONAL
*"      SERIALIZATION_INFO STRUCTURE  BDI_SER OPTIONAL
*"----------------------------------------------------------------------

   DATA :
        l_wa_idoc_data    like edidd .
   DATA :
        l_data            LIKE ZLM_SMT01 .                                 "WE31配置的那个机构 
 
   LOOP  AT  IDOC_CONTRL .
     LOOP  AT IDOC_DATA  into l_wa_idoc_data  WHERE docnum  = IDOC_CONTRL -docnum .
        "虽然l_wa_idoc_data-SDATA是没结构的,这样赋值后就成有结构的数据了
       l_data  = l_wa_idoc_data -SDATA .
     ENDLOOP .

   ENDLOOP .


   COMMIT  WORK .
   CLEAR IDOC_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   =  'successfully processed' .

   APPEND IDOC_STATUS .


ENDFUNCTION .

可以在这里打外部断点,然后在执行发送程序

转载于:https://www.cnblogs.com/senlinmu110/p/3802225.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在SAP系统中,当我们遇到需要重新发送入站IDoc的情况时,有几个步骤可以按照以下方式进行: 首先,我们需要确定需要重新发送的入站IDoc的状态。我们可以使用事务码WE02进入IDoc查看工具,通过输入IDoc号码或其他搜索条件来找到需要重新发送的IDoc。一旦找到了IDoc,我们可以查看其当前的状态。如果IDoc的状态为“51”(根据具体情况可能有所不同),表示该IDoc已经成功处理,但由于某些原因需要重新发送。如果IDoc的状态为其他数值,可能表示该IDoc还没有被处理,无需重新发送。 接下来,我们需要将需要重新发送的IDoc打上标记,以便系统能够识别。我们可以使用事务码WE20进入“IDoc入站处理设置”界面,在该界面中选择需要重新发送IDoc的合作伙伴配置,并将“激活排队”标志打上。这样一来,下次系统运行IDoc入站处理时,它会注意到该IDoc并重新处理它。 最后,我们需要运行IDoc入站处理事务码(通常是事务码BD87)来重新处理具有“激活排队”标记的IDoc。该事务码会扫描系统中所有激活排队的IDoc,并重新发送这些IDoc。 需要注意的是,在重新发送入站IDoc之前,我们应该先排除导致IDoc处理失败的根本原因。这可能需要与相关团队进行协作,并进行适当的系统配置或修复操作。 这就是重新发送入站IDoc的一般步骤。根据具体情况,步骤可能会有所不同,但以上提到的步骤应该适用于大多数情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值