SAP ABAP BADI ACC_DOCUMENT创建财务凭证扩展字段增强(转)
BAPI_ACC_DOCUMENT_POST 增强 - 简书
BADI:BADI_ACC_DOCUMENT 用于财务凭证创建时添加BAPI上没有的字段信息。
1.创建BADI实施,并拷贝SAP示例提供的代码 。METHOD CHANGE
DATA: WA_EXTENSION TYPE BAPIPAREX, EXT_VALUE(960) TYPE C, WA_ACCIT TYPE ACCIT, L_REF TYPE REF TO DATA. FIELD-SYMBOLS: <L_STRUC> TYPE ANY, <L_FIELD> TYPE ANY. SORT C_EXTENSION2 BY STRUCTURE. LOOP AT C_EXTENSION2 INTO WA_EXTENSION. AT NEW STRUCTURE. CREATE DATA L_REF TYPE (WA_EXTENSION-STRUCTURE). ASSIGN L_REF->* TO <L_STRUC>. ENDAT. CONCATENATE WA_EXTENSION-VALUEPART1 WA_EXTENSION-VALUEPART2 WA_EXTENSION-VALUEPART3 WA_EXTENSION-VALUEPART4 INTO EXT_VALUE. MOVE EXT_VALUE TO <L_STRUC>. ASSIGN COMPONENT 'POSNR' OF STRUCTURE <L_STRUC> TO <L_FIELD>. READ TABLE C_ACCIT WITH KEY POSNR = <L_FIELD> INTO WA_ACCIT. IF SY-SUBRC IS INITIAL. MOVE-CORRESPONDING <L_STRUC> TO WA_ACCIT. MODIFY C_ACCIT FROM WA_ACCIT INDEX SY-TABIX. ENDIF. ENDLOOP.

2.设置过滤器


3.创建增强结构并添加所需字段ZFISACC_EXTE 其中POSNR是必须字段。

4.调用BAPI_ACC_DOCUMENT_POST填充增强字段信息。
*扩展字段填写 CLEAR LT_EXTENSION2. *字段长度超过240个字节, LT_EXTENSION2-STRUCTURE = 'ZFISACC_EXTE'. CLEAR:LS_ZFISACC_EXTE. LS_ZFISACC_EXTE-POSNR = LV_POSNR. LS_ZFISACC_EXTE-BSCHL = '40'. * LS_ZFISACC_EXTE-RSTGR = '110'."原因代码 LT_EXTENSION2+30(960) = LS_ZFISACC_EXTE. APPEND LT_EXTENSION2.
SAP ABAP BADI ACC_DOCUMENT创建财务凭证扩展字段增强_sap的会计凭证bapi增强字段-CSDN博客

浙公网安备 33010602011771号