You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义出站IDoc创建、跨客户端发送及状态29问题排查分步指导

自定义出站IDoc状态29(未发送,ALE服务错误)分步排查指南

一、基础ALE配置检查(最常见触发原因)

  • 伙伴配置校验(WE20)
    • 确认目标客户端对应的LS类型伙伴已维护,出站参数中:消息类型需与自定义IDoc绑定的一致,端口类型(如TRFC)选择正确,关联的RFC目标(SM59配置)无拼写错误。
    • 检查出站参数的IDoc类型是否为你自定义的IDoc,版本(如30)匹配当前系统。
  • RFC目标有效性(SM59)
    • 测试目标客户端的RFC连接:点击「测试连接」和「远程登录」,确认网络连通且登录正常。
    • 确保RFC目标使用的用户拥有权限对象S_IDOC_ALL、S_RFC,避免因权限不足导致发送失败。
  • 消息类型与IDoc关联(WE82)
    • 确认自定义消息类型与IDoc类型的出站方向(标识1)条目已维护,无缺失或错误匹配。
  • 端口配置检查(WE21)
    • 若使用TRFC端口,验证端口关联的RFC目标与SM59中配置的完全一致。

二、IDoc生成程序逻辑验证

  • 控制记录(EDIDC)字段校验
    • 确认程序中DIRECT(出站需设为1)、RCVPRT(伙伴类型,如LS)、RCVPRN(目标伙伴编号)、MESTYP(消息类型)、IDOCTYP(自定义IDoc类型)等关键字段赋值正确,无空值或错误值。
  • 数据段(EDIDD)构建检查
    • 表头、项目段的SEGNAM需与创建的段名完全一致(SAP中为大写),避免因名称不匹配导致段识别失败。
    • 项目段的PARENT字段需正确关联表头段的DOCNUM与SEGNUM,确保层级关系有效。
    • 检查VBAK/VBAP字段赋值是否类型匹配(如字符型字段不能传入数值型数据),避免数据转换错误。
  • 发送函数调用验证
    • 程序调用MASTER_IDOC_DISTRIBUTE后,必须检查返回的RETURN表,若存在错误消息,直接根据消息文本定位问题。
    • 确认MASTER_IDOC_CONTROL参数的OUTPUT_MODE:设为1为立即发送,设为2则需通过RSARFCEX触发收集的IDoc。

三、IDoc错误详情深挖

  • IDoc状态明细查看(WE02/WE05)
    • 选中状态29的IDoc,点击「状态信息」查看具体错误描述(如「伙伴未维护」「RFC连接超时」),这是最快的定位线索。
    • 查看控制记录(EDIDC)内容,确认接收方信息、消息类型、IDoc类型等核心字段是否正确。
  • TRFC错误日志检查(SM58)
    • 若使用TRFC发送,SM58中会留存未执行的TRFC条目,查看错误原因(如权限不足、目标系统不可达)并针对性修复。

四、补充缺失的流程步骤

  • 完善伙伴配置(WE20)
    • 若未维护目标伙伴,新增LS类型伙伴,在出站参数中绑定自定义消息类型与IDoc类型,指定端口及对应RFC目标。
  • 维护分配模型(BD64)
    • 创建分配模型,设置发送方为当前客户端、接收方为目标客户端,分配自定义消息类型后执行BD82生成伙伴配置,确保配置同步。
  • 补充权限
    • 为程序运行用户添加权限对象:S_IDOC_ACT(IDoc处理权限)、S_RFC(RFC调用权限)、V_VBAK_VKO(销售订单读取权限)等。

五、测试验证步骤

  • IDoc类型测试(WE19)
    • 在WE19中加载自定义IDoc类型,手动填充表头、项目段数据,点击「标准出站处理」模拟发送,根据返回结果排查配置或数据问题。
  • 程序调试
    • 在MASTER_IDOC_DISTRIBUTE函数处设置断点,检查传入的控制记录、数据段参数是否正确,查看函数返回的错误信息。
  • 目标客户端验证
    • 发送成功后,登录目标客户端通过WE02查看IDoc状态,确认是否接收成功(状态53)。

内容的提问来源于stack exchange,提问作者Vishal__2546

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 01:05:05