BAPI_REQUISITION_CREATE 创建采购申请

当科目分配类别为M时

如果配置了科目自动过账,REQUISITION_ACCOUNT_ASSIGNMENT传销售订单号,科目号不能传,如果传了会报错: ME038 “对于总帐帐户 在公司码 中无直接记帐能被做”。正确是不传科目号,但是如果BAPI不能自动找到科目,会报错:06138 “不可能确定一个消耗帐户”

具体原因:

ME51N会根据输入的销售订单以 KZBWS = '' 去查找自动过账的科目,查不到进函数SD_ORDER_CHECK,函数有个增强,增强里调用函数SD_DOCUMENT_ACCOUNT_ASSIGNMENT,会把E_COBL-KZBWS改成'A',再去查。

查科目的函数是ME_ACCOUNT_ASSIGNMENT。

BAPI只会直接根据KZBWS = ''去查,如果此时科目配置不标准(表T030),BAPI就会出现BUG,

此时做一个隐式增强,在函数ME_ACCOUNT_ASSIGNMENT开头,限定TCODE,把I_KZBWS 改成 'A'

 

 

猜你喜欢

转载自blog.csdn.net/cylcylcylcylwo/article/details/114015116