可以通过BAPI、FM或代码更改支付区块吗?

发布于 2018-09-07 22:09:19
我一直使用FI_DOCUMENT_CHANGE。看看这个例子。
希望能有所帮助。
" VARIABLES
DATA: LT_ACCCHG TYPE TABLE OF ACCCHG.
DATA: LS_ACCCHG TYPE ACCCHG.
DATA: LV_AWTYP TYPE AWTYP.
DATA: LV_AWSYS TYPE AWSYS.
DATA: LV_AWREF TYPE AWREF.
DATA: LV_AWORG TYPE AWORG.
DATA: LV_LIFNR TYPE LIFNR.
" Fill variables here
" Can be found in tables BKPF AND BSIK
" SET VALUES FOR NEW PAYMENT BLOCK
" P = Payment request, A = Blocked for payment
" Check T008 for more Payment Block values
LS_ACCCHG-FDNAME = 'ZLSPR'. "Payment Block
LS_ACCCHG-NEWVAL = 'P'.
APPEND LS_ACCCHG TO LT_ACCCHG.
" CHANGE PAYMENT BLOCK
CALL FUNCTION 'FI_DOCUMENT_CHANGE'
EXPORTING
I_AWTYP = LV_AWTYP
I_AWREF = LV_AWREF
I_AWORG = LV_AWORG
I_AWSYS = LV_AWSYS
I_LIFNR = LV_LIFNR
TABLES
T_ACCCHG = LT_ACCCHG.发布于 2018-09-05 21:44:12
使用BAdi INVOICE_UPDATE来更改这一点,方法CHANGE_BEFORE_UPDATE。实现示例is here。
通过BAPI使用BAPI_ACC_PYMNTBLK_UPDATE_POST更改支付分块,调用方法如下:
DATA: it_return TYPE STANDARD TABLE OF bapiret2,
wa_return LIKE LINE OF it_return .
DATA ld_referenceinv TYPE bapiacpmblk.
MOVE it_bkfp-awkey TO ld_referenceinv-obj_key.
MOVE it_bkfp-awtyp TO ld_referenceinv-obj_type.
MOVE it_bkfp-awsys TO ld_referenceinv-obj_sys.
MOVE it_bkfp-bukrs TO ld_referenceinv-comp_code.
CALL FUNCTION 'BAPI_ACC_PYMNTBLK_UPDATE_POST'
EXPORTING
referenceinv = ld_referenceinv
TABLES
return = it_return .
IF sy-subrc = 0.
" Everything OK
ENDIF.https://stackoverflow.com/questions/52184354
复制相似问题