code学习

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

作者:勇闯天涯的虾客

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

在某个项目里,使用2个STO实现免关税的跨国公司间转储流程里,第一个STO是手工创建的,但是第二个STO是第一个STO创建后通过PO的输出功能来自动创建。

比如如下的STO#4501460918是该流程里的第一个STO单据,进入其output界面,看到有一个自定义的输出类型ZPO2 (Auto ISTO2 creation),它就是用来自动触发第二个STO的。

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

执行事务代码NACE去检查PO的output, 进入如下界面,

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

选中’EF’单选框,然后点击’output types’按钮, 进入如下界面,

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

就能看到输出类型ZPO2了,选中它然后双击‘Processing routines’,进入如下界面,

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

就能看到这个Output type对应的程序名字。然后去看这个程序,

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

找到创建STO的method,然后去检查其源代码,得知自动创建第二个STO的核心函数是BAPI_PO_CREATE1,

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

当然这个功能是自定义的功能,有些特殊的参数需要设置,所以这个自动创建第二个STO的程序不可避免的使用到了少量z-table。本文仅提供粗略的实现思路,技术细节的话这里就不再赘述了。

-完-

2022-12-1.

继续阅读