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

posted on 2012-05-01 04:34  懒芒果  阅读(428)  评论(0编辑  收藏  举报