• 会计凭证增强抬头文本维护失败


    1问题描述

    在使用BAPI创建会计凭证时,发现抬头文本字段维护不进去,经过大量调试,以为是会计凭证增强出了问题,后来发现去掉增强还是维护不进去,之后Google,发现了一个解决方案。

    这位大佬的意思是,如果实现AC_DOCUMENT中的类IF_EX_AC_DOCUMENT的方法CHANGE_INITIAL 或 CHANGE_AFTER_CHECK,当使用BAPI_ACC_DOCUMENT_POST创建会计凭证时,抬头文本将会为空。解决方法就是将一段逻辑添加到CHANGE_INITIAL 和 CHANGE_AFTER_CHECK中。

    后来发现项目中确实有人使用了AC_DOCUMENT这个增强点,并且实现了CHANGE_INITIAL方法,因此,需要增加逻辑。

    2解决方法

    1. CHANGE_INITIAL 中新增逻辑

    *    此处因为实现了该方法,导致了会计凭证批导的抬头文本无法维护,因此加以下代码
        DATAwa_header TYPE acchd.
        IF sy-xprog EQ 'SAPMSSY1'.
    *<SAPLBPFC> is for Posting with BAPI: BAPI_ACC_DOCUMENT_CHECK
    *<SAPMSSY1> is for Test(Check) with BAPI: BAPI_ACC_DOCUMENT_POST

    *<SAPCNVE > is for Posting(Tax) with BAPI: BAPI_ACC_DOCUMENT_POST
          CLEAR wa_header.
          wa_header im_document-header.
          ex_document-header-bktxt wa_header-bktxt.
          CLEAR wa_header.
        ENDIF.

    2.CHANGE_AFTER_CHECK中新增逻辑

    *    此处因为实现了该方法,导致了会计凭证批导的抬头文本无法维护,因此加以下代码
        DATAwa_header TYPE acchd.
        IF sy-xprog EQ 'SAPCNVE'.
          CLEAR wa_header.
          wa_header im_document-HEADER.
          ex_document-HEADER-bktxt wa_header-bktxt.
          CLEAR wa_header.
        ENDIF.

  • 相关阅读:
    redis 资料
    php 安装redis php扩展
    Unity生命周期
    疫情下的大学生人格发展研究
    对联一句——百花深处
    Unity实现byte[]合成图像
    Unity实现精灵资源动态加载
    数据结构与算法初步
    Unity中激活子物体
    C#实现自定义列表
  • 原文地址:https://www.cnblogs.com/BinGeneral/p/12859097.html
Copyright © 2020-2023  润新知