点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
多个BAPI的选择 SPRING 一般情况下. 我们尽量选择函数名后面带有数字并且数字最大的函数,更大的数字序号往往代表了更新的BAPI函数版本. 比如PO的创建,选择BAPI_PO_CREATE1 抬头部分信息 HEADERDATA: 明细部分 ITEMDATA 采购订单/商品凭证明细部分 根据订单基于收货的出具发票标记EKPO-WEBRE,如果有该标记. 则明细部分必须输入商品凭证信息. 否则,无需输入商品凭证部分 总账科目部分 GLACCOUNTDATA 费用/返利等总账科目信息 总账贷方减少应付金额, 借方增加应付金额. 物料部分 MATERIALDATA 不在采购/商品凭证的商品数据信息(这部分不太常用,一般用来调整商品库存价值,从而影响移动平均价) 关键字段 HEADERDATA- INVOICE_IND 抬头-INVOICE_IND = 'X'. 创建正常发票校验 此时明细行中金额ITEM_AMOUNT退货设置负数, 收货设置正数 ,数量QUANTITY始终设置正数 抬头-INVOICE_IND = ''. 创建贷项发票校验 此时明细行中金额退货设置正数, 收货设置负数,数量始终设置为正数 HEADERDATA- INVOICE_IND内容设置方式 通过ITEMDATA 中的采购收获金额加总 + GLACCOUNTDATA借项金额加总 为SUMA 通过ITEMDATA 中的采购退货金额加总 + GLACCOUNTDATA贷项金额加总为SUMB 如果SUMA >= SUMB INVOICE_IND = 'X' . 此时ITEMDATA中的采购入库金额用正数, 采购退货金额用负数. GLACCOUNTDATA 金额始终用正数 如果SUMA < SUMB INVOICE_IND = '' 此时ITEMDATA中的采购入库金额用负数, 采购退货金额用正数 GLACCOUNTDATA 金额始终用正数 如果上述规则没有遵守. 系统可能会报错 特定报错处理 如果按照上述规则设置了参数,BAPI 还是返回错误 M8 485 现金折扣总额不能过帐。 报错原因: 系统会根据抬头的借项/贷项标记 RBKP-XRECH (从INVOICE_IND传入) = '' 表示贷项 ='X'表示结项 去校验行项目中的收货金额/退货金额总计. 如果收获总计>退货总计 只能做发票 如果退货总计>收获总计 只能做贷项 如果存在总账行,按照之前的规则确定的INVOICE_IND内容, 违背了系统这个检查规则, 就会导致报错M8 485 可以通过增强跳过这个检查,不影响后续处理逻辑. 跳过方式: 检查的代码位置: 函数 MRM_CALCULATE_SKONTOBASE FORM VERGLEICH_SKONTOBASIS 开头用隐式增强退出FORM . 约定 如果你对这篇文章感兴趣,请帮忙点赞,在看,分享. (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.) 公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群 公众号 : syjf1976_abap ABAP开发技巧 微信号 : 392077 公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群