正常情况下,输入documentheader-header_txt 参数即可传入抬头文本字段。
项目上发现这个字段突然失效了,百般DEBUG未发现蹊跷,只要求助于万能的SDN,
如果激活了这个BADI:AC_DOCUMENT ,需要在CHANGE_INITIAL & CHANGE_AFTER_CHECK
这两个方法中插入一些代码。
以下是具体细节:
-
Because BAPI: BAPI_ACC_DOCUMENT_POST will Check BADI with Posting
1.BADI Information:
(1)Object Type Name(Interface) is IF_EX_AC_DOCUMENT (T-code: SE24)
(2)Method: CHANGE_INITIAL & CHANGE_AFTER_CHECK
2.Reason:
(1)Once This BADI has been created for any reason,
BAPI:BAPI_ACC_DOCUMENT_CHECK & BAPI_ACC_DOCUMENT_POST
will check it for Document Header Text
(2)If Method: CHANGE_INITIAL & CHANGE_AFTER_CHECK has been created for any reason,
but Creator return an null Document Header Text, then BAPI will clear Document Header Text
3.Solution:
(1)Add source code into Method: CHANGE_INITIAL & CHANGE_AFTER_CHECK,
please refer to (2) for detail source code below
(2)
*********************************************************************
DATA: wa_header TYPE acchd.
IF sy-xprog EQ 'SAPLBPFC'.
*---<SAPLBPFC> is for Posting with BAPI: BAPI_ACC_DOCUMENT_CHECK
*---<SAPMSSY1> is for Test(Check) 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.