Budget check in PPS
Issue:
In PPS, if budget check of shopping cart, the system only check the net value (without the tax value), but the back-end system is customized to check budget in purchase order with tax value.
########Steps to reproduce########
1. Log in to SRM Portal
2. Employee Self-Service > Create a new Shopping Cart.
3. Choose Description item.
4. Enter a descripton. Enter 1 EA. Enter 1 EUR.
5. Go to Item Deatils > Accounting tab > enter Earmarked funds (2000229) and position (001).
6. See that the total value = 1,04 EUR (VAT included).
7. Check the Shopping Cart. The system only display a warning message for the budget check. (It's only checking 1 EUR!!!!).
8. Change the item value to 1,01 EUR (1,05 EUR total value) and check the shopping cart. The system displays an error message.
This is a known issue in extended scenario. See note 1450876 (SRM 7.0 SP10)
But in classic scenario, the problem remains since p_item-tax_code keeps blank instead of tax code N1.
LBBP_PDCOIF13/FILL_COMMITMENT_FROM_ITEM
* add non-deductible tax amount to purch_val
* get tax info for line item, evaluate non-deductible flag, then add tax amount
REFRESH lt_tax_detail.
p_purch_val = p_item-value.
CALL FUNCTION 'BBP_PDTAX_GETDETAIL'
EXPORTING
i_p_guid = p_item-guid
i_p_kind = 'B'
TABLES
e_tax = lt_tax_detail.
LOOP AT lt_tax_detail INTO ls_tax.
CHECK ( not ls_tax-stazf IS INITIAL ) AND ls_tax-tax_code = p_item-tax_code AND ls_tax-del_ind IS INITIAL.
p_purch_val = p_purch_val + ls_tax-tax_amount.
ENDLOOP.
-->per debugging, p_item-tax_code blank < !!!
this value is transfered via the following path: lt_item >po_item >i_po_item >p_item
Early in preparing tax code when creating shopping cart,
When lt_tax is filled with N1, the program is back to form TAX_CALCULATE_AND_MODIFY, in line 210:
* take over the tax-code as in itemGetdetail
* necessary due to performance improvement in PO
IF iv_object_type EQ c_po.
READ TABLE lt_tax WITH KEY p_guid = lt_item_t-guid
BINARY SEARCH.
IF sy-subrc EQ 0.
lt_item-tax_code = lt_tax-tax_code. < !!!! Root Cause!!
ENDIF.
IV_OBJECT_TYPE BUS2121
C_PO BUS2201
A new note 1709350 is created to fix it.
*>>>> START OF DELETION <<<<<
IF iv_object_type EQ c_po.
*>>>> END OF DELETION <<<<<<<
*>>>> START OF INSERTION <<<<
* in SC, the tax_code should be considered
IF ( iv_object_type EQ c_po ) OR ( iv_object_type EQ c_shop ).
*>>>> END OF INSERTION <<<<<<
other notes:
1380091. This note will make sure non-deductible tax flag is available on ERP structures.
1296010 Pilot release 700 SP01
1087123 Main note: In general budget check works net.
Exception: PO budget check works gross in case of non-deductible tax (e.g. Add-On: EA-PS Funds Management).
30472 2012