在由多个公司组成的企业集团中,通常会有公司间的业务。一般来说,涉及到公司间的业务有两类,分别是跨公司销售和公司间采购。还有一类库存调拨(一步法/两步法),可用于公司间采购,也可用于公司内调拨。
跨公司销售指销售单据中,发货工厂对应的公司和销售组织对应的公司为不同的公司。销售公司针对最终客户,下达一张销售订单,发货时发货工厂直接给客户发货,销售公司开对客户的标准发票,发货公司开公司间发票,产生的IDOC自动记销售公司成本和生产公司收入,不用做采购发票校验。
公司间采购是STO模式(销售和采购通过一张采购订单,需求方给供货方下一个采购订单),发货工厂根据采购订单发货,一边开销售发票,一边做采购发票校验。
今天主要说一下IDOC创建的财务凭证过账日期的问题。发货工厂给客户发货,交货单84004386是在2020.12.28过账
其出具发票日期会与实际货物移动日期时间相同
而销售公司对客户开具的发票是在2021.01.30
那么对应生成的IDOC中,过账日期使用的是交货单的出具发票日期2020.12.28
按说在1月份的时候12月份的账期应该是关闭的,这张凭证是不能生成的,然鹅它就这么出现在这了……单从技术角度来考虑,该如何修改这个IDOC生成的财务凭证的过账日期呢?
首先看一下生成的IDOC,找到过账日期对应的IDOC字段,E1EDK03 026(查资料找到的,记住就好了)
那么我们就去找出站时的代码,将这个值改掉就好了。执行事务码WE20,找到对应的客户,双击消息类型
打开消息控制,双击处理代码SD08
可以找到对应的函数
研究下函数就能发现,E1EDK03 026的赋值就在这里
剩下的事情就简单了,在这个FORM里创建增强点,修改赋值就可以了。如果要取销售公司对客户的发票过账日期,可以使用内存变量从前面的程序获得。比如在BTE增强00001025对应的函数中给内存变量赋值。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Buffalo_soldier/article/details/114661955