on 11-20-2014 7:39 AM
Hi Experts,
I have maintained payment term of business partner and left payment term in contract blank.
When i do periodic posting, i find that , payment term of AP accounting document is empty.
Payment term here is supposed to be taken from business parter which i've maintained.
Do you know why it's like this? What logic of payment term is it?
Thanks
Ian
Hi Ian,
regarding periodic posting with RERAPP the SAP note 1587196 explains the reason. The due date (baseline) date is always set according to the definition in the cashflow items of the contract when performing the periodic posting run.
But you may change this by implementing BADI_REEX_FI_BAPI.
If you want to have the payment term from customer or vendor account in the posted documents you may set ‘*’ for field PMNTTRMS and clear the bline date as shown in the coding example below.
* customer items
LOOP AT ct_bapi_items_ar ASSIGNING <ls_bapi_items_ar>.
clear <ls_bapi_items_ar>-bline_date.
<ls_bapi_items_ar>-pmnttrms = ‘*’.
ENDLOOP.
* vendor items
LOOP AT ct_bapi_items_ap ASSIGNING <ls_bapi_items_ap>.
clear <ls_bapi_items_ap>-bline_date.
<ls_bapi_items_ap>-pmnttrms = ‘*’.
ENDLOOP.
Hope this helps.
Best regards,
Franz
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Lan.
Even If you setting the business partner synchronization with customer/vendor master, when you
create lease contract , system does not fill this payment term item. you must select this payment term.
so, if you want to fill this filed from vendor master data automatically, you can use below enhancement.
- Enhancement Spot : BADI_RE_CN_CN
- Sample : zrevcl_im_recn_contract ==> _checkpaymentterm_method (private_methods)
-----------------------------------------------------------------------------------
* Debit side?
check lo_contract->is_debit( ) eq abap_true.
lo_payment_mngr = lo_contract->get_term_payment_mngr( ).
lo_payment_mngr->get_list(
importing et_list = lt_posting_py ).
lo_payment_mngr->get_list_cdsplit(
importing et_cdsplit = lt_cd_split ).
loop at lt_posting_py into ls_posting_py
where pymtterm is initial.
ls_posting_py-pymtterm = 'Y000'.
modify lt_posting_py from ls_posting_py
transporting pymtterm.
endloop.
---------------------------------------------------------------------------------
Best Regards
Yeong-Chul Jeong
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
6 | |
5 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.