一个原以为是ALE/IDoc问题的跟踪过程

 前些天收到一个Defect大致场景如下:
Customer先发一个PO给我们, 我们根据它生成SO,同时有个Scheduled Job定时的去执行Tranaction VF04去生成Invoice, 而对特定Ship-to的Invoice有个output type会把这个invoice通过IDoc的形式传到Customer那里去.

问题: 现在那个Customer不能100%的收到我们的Invoice IDoc

解决过程:
1. AR里事先给出了一个有问题的SO, 我们根据这个SO通过WE02打到相应的Outbound IDoc, 发现它的Status是03没有问题. 再根据这个IDoc的生成时间我们设了个时间范围加上已知的IDoc Basic Type, Partner Port 和Partner Number信息找到所有那个时间段内发给那个客户的Invoice IDoc, 的确是有些Invoice 的IDoc status是30, 说明这些IDoc在生成Master IDoc和Communication IDoc后在ALE Service Layer没有被正确的传出去, 当时就认为可能是Basis的配置出了问题. (有关IDoc Troubleshooting 的处理可以参考:http://help.sap.com/saphelp_sm32/helpdata/en/52/16adef543311d1891c0000e8322f96/content.htm 和 《ALE, EDI, & IDoc Technologies for SAP, 2nd Edition》一书的Troubleshooting 那一章节)

2. 过了几天,新加坡那边的一个Partner说问题是因为在用VF04/VF06 background生成Invoice时那个生成IDoc的output type(ZB01) 没有加到应该加的Invoice上去. 按照他的描述操作的确发现有些生成的Invoice用VF03看没有那个output type, 但是你一用VF02进去那个Output type马上就会自动加进去.

3. NACE 检查 Billing (V3)的output control settings
  a) Procedure: choose procedure "V10000 (Billing Output)" => Control Info => 发现那个Output type 的Requirement为925 => 在925对应的处理逻辑设个断点 => 重新用VF02进一个有问题的invoice, Req. 925对应的Form 被执行但正常Exit (sy-subrc = 0) , 说明这块应该没什么问题
  b) Output types: ZB01 这个output type指向一个RSNASTED/EDI_PROCESSING没问题
  c) Access Sequences: 有Sales org./Bill.type/Sold to和Sales org./Bill.type/Bill to
  d) Condition Records: 发现那些invoice的ship to 信息已经维护在里面
按理说在系统生成这样的一个Invoice的时候应该是把这个Output type 自动加进去了呀!!

4. 此时我们已经可以把问题锁定到在Background调用VF04批生成Invoice时导致的问题. 这里有个有趣的事, 我们直接运行VF04得到是些Billing Due List, 怎么生成这些SO的Invoice呢? GUI Status里找不到相关的button或menu item, 在SDN上发现是在Due LIst页面按F11, 晕, SAP也留彩蛋不成, .

5. 找到对应的处理程序, 但是能怎么下手呢???
Foreground 运行没问题
Background 运行95%没问题, 怎么调试? 没辙了...
哎, 看样子是SAP的问题, 最后美国同事发了个OSS note 让SAP的人去搞了 ....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值