zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    进制转换
    体验mssql-cli
    从Windows迁移SQL Server到Linux
    CentOS7脱机安装SQL Server 2017
    基础知识:数据类型优先级
    SQL Server 2016正式版安装(超多图)
    制造高CPU使用率的简单方法
    SQL Server启动的几种方法
    SQL Server 2016 RC0 安装(超多图)
    机器学习:Python实现单层Rosenblatt感知器
  • 原文地址:https://www.cnblogs.com/lazymango/p/2477545.html
Copyright © 2011-2022 走看看