This SAP Note describes the following:
- a) The sequence in which the most important processing steps are performed during the valuation of the pricing result (FORM XKOMV_BEWERTEN, include LV61AA55)
- b) By means of several examples, the consequences for the use of formulas that result from that
Sequence of the most important processing steps:
- 1. Initialization
- 2. Execution of FORM USEREXIT_XKOMV_BEWERTEN_INIT (include RV61AFZB)
- 3. Loop over the internal table XKOMV, which contains a line for each determined condition of the item just processed and each subtotals line of the pricing procedure ("LOOP AT XKOMV."):
- a) Determination of the condition basis (XKOMV-KAWRT) in accordance with standard R/3 logic
- b) Possible determination of a condition basis deviating from a) by execution of a condition basis formula defined in the pricing procedure
- c) Possible execution of the condition update for the condition basis determined at this time
- d) Determination of the scale base value (XKOMV-KSTBS) in accordance with R/3 standard logic
- e) Possible determination of a scale base value deviating from d) by execution of a scale base value formula defined for the condition type
- f) Determination of the condition value (XKOMV-KWERT) in accordance with standard R/3 logic
- g) Possible determination of a condition value deviating from f) by execution of a condition value formula defined in the pricing procedure
- h) Possible execution of the condition update for the condition value determined at this time
- i) Cumulation of net value (KOMP-NETWR), tax amount (KOMP-MWSBP), and variable ZWISU (see SAP Note 834174)
- j) Possible filling of the subtotal fields specified in the pricing procedure in the column "SubTo" (for example, XWORKD, KOMP-KZWI3, KOMP-WAVWR)
- k) Determination of the net price (KOMP-NETPR) based on the net value cumulated until this time
- 4. Execution of the condition exclusion in accordance with 'last price' logic (see Note 836243, section 5).
- 5. Execution of FORM USEREXIT_XKOMV_BEWERTEN_END (include RV61AFZB)
This list is exemplary and may not be complete:
1. If a scale base value is already determined within the condition base formula [step b)], this scale base value is overwritten again in step d) by the scale base value determined according to the R/3 standard logic. Therefore, this procedure is not useful in general. However, you can determine a condition basis deviating from the R/3 standard logic within a scale base formula [step e)], because step a) has already been executed at this time.
2. If a condition value is already determined within a condition basis formula [step b)], this condition value is overwritten again in step f) by the condition value determined according to the R/3 standard logic. Therefore, this procedure is not useful in general. However, you can determine a condition basis deviating from the R/3 standard logic within a condition value formula [step g)], because step a) has already been executed at this time.
Hopwever, in documents that have been partially billed, for example, this procedure can cause error behavior. In this case, the condition values fixed with 'F' in a pricing are adjusted proportionately with the factor "new basis/old basis". This adjustment takes place between step b) and step c). This means that the calculation of the new condition basis in step g) takes place too late.
3. For a condition type, a condition value formula is used as well as a condition update specifying the maximum condition basis (for more information about the condition update, see Note 615370). This combination may not work correctly under certain circumstances. The condition value determined in step f) according to R/3 standard logic is based on the condition basis that may have been reduced in step c), but the condition value determined in the condition value formula is only determined as expected if this formula also uses the reduced condition basis. This prerequisite is not met, for example, in the value formulas from Note 80183 ("Rounding").
4. If you use the calculation type "G" (formula), steps a) and f) are omitted. In the standard R/3 system, the condition basis and condition value are not determined. The fields XKOMV-KAWRT and XKOMV-KWERT are filled with random values. Therefore, for the calculation type "G", you must use formulas that ensure that the condition basis and the condition value are determined (this is required; also see Note 912145).
5. If you use the reference step "G" (scale based on a formula) step d) is omitted. In the standard R/3 system, the scale base value is not determined. The field XKOMV-KSTBS is filled with a random value. For the reference step "G", you must use a formula that ensures that the scale base value is determined (this is required; see also Note 1006453).
FORM XKOMV_BEWERTEN, include LV61AA55
Reason and Prerequisites
This is due to the design of R/3 pricing.
Note that this is a consultation note. Further inquiries about the function described above are not processed by regular support, but by consulting, and are subject to separate remuneration.