前言
SD模块中,发票输出产生的会计凭证中的利润中心可能不对,这就需要在发票输出的过程中,根据需求,修正其利润中心 ,本文将介绍如何处理。
实现过程
打开TCODE:CMOD,创建一个增强项目:如"ZESD0001",如果已有,可跳过此步骤。点击"增强分配",输入"LVEDF001",然后再点击"组件",双击"EXIT_SAPLVEDF_004"
进入函数模块,再双击"ZXEDFU04",提示是否创建包含文件,回车确认
在包含文件" ZXEDFU04 "中添加如下代码,然后激活代码
*&---------------------------------------------------------------------**& 包含 ZXEDFU04*&---------------------------------------------------------------------**冲销发票凭证输出凭证的利润中心更改IF dvbdkr-fkart = 'ZIVS' OR dvbdkr-fkart = 'ZIGS'. SELECT SINGLE @abap_true INTO @DATA(lv_exists) FROM cepc WHERE prctr = @dvbdkr-kunwe. CHECK sy-subrc = 0. LOOP AT dvbdpr ASSIGNING FIELD-SYMBOL(<fs_dvbdpr>) WHERE prctr IS INITIAL. <fs_dvbdpr>-prctr = dvbdkr-kunwe. ENDLOOP.ENDIF.最后返回到CMOD的"ZESD0001"增强项目的组件中,点击激活, 组件" EXIT_SAPLVEDF_004 "前面为绿色的"✅"就表明可以了。
DVBDKR 为开票的抬头信息, DVBDPR 为开票的行信息,可根据自己实际需求,修改判断条件,修正错误字段信息。
总结
CMOD增强的难点不在于代码如何编写,而是在于如何选择合适的增强分配和增强组件,这就需要业务顾问和开发顾问日常的积累了,实在不清楚的也可以搜索网上资源。