最近有业务顾问反馈在销售订单上填入的利润中心未带入发票中,借由这次机会研究一下SD发票利润中心的确定逻辑。
根据业务顾问提供的数据,跟踪到发票的利润中心首先从销售订单行带入,代码执行到截图位置被清空。
往前追溯是因为发票行工厂对应的公司代码与发票公司代码不一致导致进入利润中心清空逻辑,发票公司代码从销售订单的BUKRS_VF字段带入。
继续向下跟踪逻辑进入函数:COPCA_SD_PRCTR_GET,进入subitution FORM获取利润中心,继续跟踪可得是从GGB1替代中获取利润中心,进入GGB1查看确实有相应替代配置,如果获取不到则留空。
总结:销售订单行的利润中心会首先带入发票,如果发票行工厂对应的公司与发票公司不一致则首先取销售订单行的PCTRF,如果为空则利润中心会被清空继续从替代配置中查找利润中心,找不到则留空。