现象:
1.SAP MIRO在进行发票过账的时候,行项目是通过采购订单带过来的数据,在维护好相关的信息点击保存之后过账发现,抬头-》基本信息-》文本中的数据并没有带到生成的2张凭证行项目文本中,只有原始凭证有文本数据,后继凭证没有文本数据。
2.如果是在MIRO行项目中的某个采购订单行里面写入文本后进行过账,发现原始凭证和后继凭证就又都有相同的文本了,但是用户一般只维护抬头文本,所以有这个增强需求。
处理过程:
1.通过查阅官方note 837859发现需要CMOD中对LMR1M004进行增强,写入E_SGTXT = TAB_DRSEG-SGTXT,但是debug的时候发现,实际上即使是有抬头文本,但是实际上TAB_DRSEG-SGTXT的字段是空值,这个exit EXIT_SAPLMRMP_004的传参只有 E_SGTXT、TAB_DRSEG,没有抬头的参数,所以没办法直接处理。
2.通过查阅官方note 366412 发现,实际上这个是标准的一个“bug”,需要打补丁进行修复,但是因为是生产环境有这个问题,打note的话需要停机停服务,这显然是不现实的。
3.在LMR1M004中新增加的_SGTXT = TAB_DRSEG-SGTXT打上断点,选择全局,查看程序执行的步骤,然后查看标准代码看看是否有预留增强点。
4.发现MRM_INVOICE_POST实际上就是保存的处理函数,在其中的es_saplmrmp中的pointmrm_invoice_post_11中有对参数进行处理,所以在这个位置创建一个新的增强实施,插入以下代码块