運用兩個function 可得到供應商最後付款日.
sap tcode FBL1N : 淨額到期日
使用Tcode : f-43建立傳票時,sap會自動依據供應商主檔所建立的主檔資料.代入付款條件代碼.付款天數,計算基準日.這個"付款基準日"是指付款計算的起始日.
當你進行完結清作業,建立付款傳票.才會出現"結清日期","結清文件"
撰寫報表時,大多需要得到這個結清日期.
運用下列兩個 function,可得到這個"結清日期"
function "FI_TERMS_PAYMENT_PROPOSE"
輸入"文件日期","過帳日期","供應商代碼","付款條件","公司代碼".
可得到 "付款基準日" E_ZFBDT
得到"付款基準日",可運用Function "NET_DUE_DATE_GET"
得到 "淨額到期日" E_FAEDT
ABAP Example
data : zfbdt TYPE bseg-zfbdt,
zbldat like bkpf-bldat,
zbudat like bkpf-budat,
zbdlt like bseg-zbd1t .
zbldat = 20170113.
zbudat = 20170201.
zfbdt = 20170201.
CALL FUNCTION FI_TERMS_OF_PAYMENT_PROPOSE "
EXPORTING
i_bldat = zbldat " sy-datlo Document date
i_budat = zbudat " sy-datlo Posting date
" i_cpudt = " sy-datlo CPU date
" i_zfbdt = zfbdt " sy-datlo Payment Baseline Date
i_zterm = PC02 " t052-zterm Terms of payment
* i_reindat = " bkpf-reindat Invoice Receipt Date
i_lifnr = A30288 " bseg-lifnr Account Number of Vendor
i_bukrs = 1000 " bkpf-bukrs Company Code
IMPORTING
e_zbd1t = zbdlt " bseg-zbd1t Days for cash discount terms 1
" e_zbd1p = " bseg-zbd1p Percentages for cash discount terms 1
" e_zbd2t = " bseg-zbd2t Days for cash discount terms 2
" e_zbd2p = " bseg-zbd2p Percentages for cash discount terms 2
" e_zbd3t = " bseg-zbd3t Days for net due date
e_zfbdt = zfbdt " bseg-zfbdt Payment Baseline Date
" e_split = " t052-xsplt Terms of payment are split
. " FI_TERMS_OF_PAYMENT_PROPOSE
WRITE : zbdlt,zfbdt. "" 這個是 付款基準日
data : zfdtag like bkpf-bldat .
CALL FUNCTION NET_DUE_DATE_GET
EXPORTING
i_zfbdt = zfbdt " Baseline Date
i_zbd1t = zbdlt " Fixed Date 1
i_zbd2t = zbdlt "
i_zbd3t = zbdlt "
i_shkzg = H " Vendor(H), Customer(S)
i_rebzg = 00000000 "
i_koart = K " Vendor(K), Customer(D)
IMPORTING
e_faedt = zfdtag. " Net due Date
WRITE : zfdtag.