SD-sap是如何确定条件值的数值或者比例(KBERT)的?

来源:互联网 发布:淘宝无忧退货 编辑:程序博客网 时间:2024/04/30 17:15

SAP Note 791944: How is the KBETR determined in a subtotal? 

对应Notes的内容摘抄如下:

 

This consulting note describes how the R/3 standard system determines the condition rate (XKOMV-KBETR) in a subtotal line (lines of the pricing procedure with initial condition key KSCHL) in pricing:

    1. Generally, the following relationship is valid in a pricing result for a condition line with a condition key,

      " (condition rate/condition pricing unit) * condition basis = condition value",

    that is, the condition value (KWERT) results in a "forward calculation" from the multiplication of the price (= condition rate KBETR) with the quantity (= condition basis KAWRT) consideration of the condition pricing unit (KPEIN).
    This relationship, however, is not generally valid if you have directly manipulated the condition value. This can occur, for example, if you enter the condition value manually, if you change the condition value or exeucte a formula (see section 4.)
    In addition, the "forward calculation" (generally) does not apply to subtotals where the condition value is the total of the condition values from the preceding lines..
    The following sections explain how the system calculates the condition rate for these subtotal lines.
    2. In general, the condition rate of a subtotal is determined by dividing the condition value of the subtotal (see Note 1007110) by the condition basis of the pricing condition (YKMENG) ("backward calculation").

    Example:
    Condition        -rate              -basis    -value
    Material price    5.00 EUR /  1 PC    4    PC     20.00 EUR
    Discount 1          2.00 EUR / 10 PC    4    PC      0.80 EUR
    Discount 2          6.000 %            20.00 EUR     1.20 EUR
    Subtotal    4.50 EUR /  1 PC                18.00 EUR


    Dividing the condition value (18.00 EUR) by the condition basis (4 PC) amounts to a condition rate of "4.50 EUR / 1 PC".

    In addition, note that the system also transfers the condition pricing unit of the pricing condition to the subtotal line in this case. In the above example, a condition rate of "EUR 9.00 / 2 PC" would have been determined for a material price of "EUR 10.00 / 2 PC".

    Finally, note that the system always determines the condition rate of the subtotal in the document currency.
    3. However, if the condition value of a subtotal corresponds to the condition value of the pricing condition (that is, the subtotal is not affected by surcharges and discounts following the pricing condition), the system transfers the condition rate of the pricing condition to the subtotal, in contrast to section 2.

    The purpose of this is to avoid possible rounding differences as far as possible.

    Example:
    Condition        -rate              -basis    -value
    Material price  169.48 EUR / 1000 KG  46.343 KG    7.85 EUR
    Subtotal     169.48 EUR /  1000 KG                7.85 EUR

    If, in this case, the system determines the condition rate of the subtotal according to section 2, the amount calculated would be "169.39 EUR / 1000 KG" ( 7.85 / 46.343 * 1000 = 169.389... ).
    Therefore, the condition rate of the subtotal would differ from the condition rate of the pricing condition by EUR 0.09, although the condition values are identical. In this case, it would be better to copy the condition rate of the pricing condition of EUR 169.48 EUR.

    If the condition currency of the pricing condition differs from the document currency, the necessary currency conversion occurs according to the settings in currency Customizing for the condition rate of the subtotal line that is specified in the document currency.
    4. If you have entered or changed the condition value of the pricing condition manually (KMPRS = 'X'), the condition rate of the subtotal line is determined according to section 2 (reverse calculation) as opposed to section 3
    The condition rate of the subtotal line should display the 'unit price', which no longer corresponds to the condition rate of the pricing condition.

    Example:

    Condition        -rate              -basis    -value
    Material price    5.00 EUR /  1 PC    4    PC     20.00 EUR
    Subtotal    5.00 EUR /  1 PC                20.00 EUR

    When the condition value is manually changed to EUR 15.00.

    Condition        -rate              -basis    -value
    Material price    5.00 EUR /  1 PC    4    PC     15.00 EUR
    Subtotal    3.75 EUR /  1 PC                15.00 EUR
    5. You cannot generally use the procedure outlined in section 4 if you have changed the condition value only using a value formula.  In this case, KMPRS is not equal to 'X' and, if the other conditions are fulfilled, the system transfers the condition rate of the pricing condition. The relationship
      "condition rate * condition basis = condition value"
    is therefore not necessarily valid if you are using condition value formulas.

Other terms

YKBETR, YKWERT, YKMEIN, YKSTEU, YKMPRS

Reason and Prerequisites

This is the R/3 standard system response in pricing.

Solution

See also the following correction notes

   514028  "Incorrect condition rate for subtotals" and
   789316  "Fixed items: Condition rate in subtotals",

which you must implement to correctly reproduce the system response described above

Also see Note

    201830  "Calculation of the net price of an item",

which similarly describes how the system determines the net price.

Finally, bear in mind that this is a consulting note.  Any inquiries about the subject described above are not covered by Support but are processed by Consulting, which is subject to a separate fee. 

 

原创粉丝点击