財務憑證過賬增強 BAPI_ACC_DOCUMENT_POST
阿新 • • 發佈:2019-01-07
這也是sap慣用的一招
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
DOCUMENTHEADER = GT_ACC_HD
TABLES
ACCOUNTGL = GT_ACC_GL
CURRENCYAMOUNT = GT_ACC_CUR
RETURN = GT_RETURN
EXTENSION2 = GT_EXT2.
這個EXTENSION2是一個用來增強擴充套件FI憑證欄位的結構喲
EXTENSION2 對應的欄位是這樣的:
STRUCTURE 1 Types TE_STRUC CHAR 30 “放你的增強結構”
VALUEPART1 1 Types VALUEPART CHAR 240 "放結構對應的值,然後根據長度寫回結構欄位中,實現動態匹配"
VALUEPART2 1 Types VALUEPART CHAR 240
VALUEPART3 1 Types VALUEPART CHAR 240
VALUEPART4 1 Types VALUEPART CHAR 240
__________________________________________ ______
自己先定義結構,然後在BADI中做增強,從而實現你需要而此bapi沒提供的欄位
BADI
AC_DOCUMENT
增強中CHANGE METHOD:
LOOP AT C_EXTENSION2 INTO WA_EXTENSION where structure = 'ZAFIKJPZ'.
WA_ZAFIKJPZ = WA_EXTENSION-VALUEPART1.
append WA_ZAFIKJPZ to lt_ZAFIKJPZ.
ENDLOOP.
ENDIF.
sort lt_ZAFIKJPZ by posnr.
loop at c_accit into wa_accit.
read table lt_ZAFIKJPZ into WA_ZAFIKJPZ with key posnr = wa_accit-posnr.
if sy-subrc eq 0.
MOVE-CORRESPONDING WA_ZAFIKJPZ to wa_accit.
endif.
modify c_accit from wa_accit.
endloop.
程式中這樣填充
GT_EXT2-STRUCTURE = 'ZAFIKJPZ' .
GT_EXT2-VALUEPART1 = LS_EXT2 .
APPEND GT_EXT2 .
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
DOCUMENTHEADER = GT_ACC_HD
TABLES
ACCOUNTGL = GT_ACC_GL
CURRENCYAMOUNT = GT_ACC_CUR
RETURN = GT_RETURN
EXTENSION2 = GT_EXT2.
這個EXTENSION2是一個用來增強擴充套件FI憑證欄位的結構喲
EXTENSION2 對應的欄位是這樣的:
STRUCTURE 1 Types TE_STRUC CHAR 30 “放你的增強結構”
VALUEPART1 1 Types VALUEPART CHAR 240 "放結構對應的值,然後根據長度寫回結構欄位中,實現動態匹配"
VALUEPART2 1 Types VALUEPART CHAR 240
VALUEPART3 1 Types VALUEPART CHAR 240
VALUEPART4 1 Types VALUEPART CHAR 240
__________________________________________ ______
BADI
AC_DOCUMENT
增強中CHANGE METHOD:
LOOP AT C_EXTENSION2 INTO WA_EXTENSION where structure = 'ZAFIKJPZ'.
WA_ZAFIKJPZ = WA_EXTENSION-VALUEPART1.
append WA_ZAFIKJPZ to lt_ZAFIKJPZ.
ENDLOOP.
ENDIF.
sort lt_ZAFIKJPZ by posnr.
loop at c_accit into
read table lt_ZAFIKJPZ into WA_ZAFIKJPZ with key posnr = wa_accit-posnr.
if sy-subrc eq 0.
MOVE-CORRESPONDING WA_ZAFIKJPZ to wa_accit.
endif.
modify c_accit from wa_accit.
endloop.
程式中這樣填充
GT_EXT2-STRUCTURE = 'ZAFIKJPZ' .
GT_EXT2-VALUEPART1 = LS_EXT2 .
APPEND