24832 - Pricing rules/TVCPF (定價計算的Pricing type)
Depending on the situation, the system shouldredetermine conditions or
not. For this, a differentiated control is required, for example:
1. When you create orders or billing documents, the conditions arepartially redetermined although you want to copy the values from the referencedocument.
2. However, in other transactions, you want to redetermine the conditionsinstead of copying them.
3. The "New pricing" function on the item condition screenredetermines all conditions. This means it works with pricing type B.However, you do not always want this.
4. The same applies to the "New pricing" function for the entireorder.
The following text explains some examples for the use of the pricing type(KNPRS) implemented for this purpose:
*********************** Example 1 ********************************
You want to copy the condition type 'VPRS' (cost) from the order into thebilling document. You are using the pricing type G. However, as a consequence,the value of the VPRS condition in the billing document may differ from thevalue of the goods issue posting.
*********************** Example 2 ********************************
You want to copy the condition type 'PI01' ("Price for intercompanybilling") from the order into the billing document. You are using thepricing type G.
*********************** Example3 *********************************
The cost 'VPRS' is to be redetermined when copying a credit memo request from abilling document. This is required if you defined the credit memo item in sucha way that no costs are to be determined. Since the pricing conditions are nolonger checked when copying, you have to proceed as described above toeliminate the VPRS condition.
*********************** Example4 *********************************
The "New pricing" function on the item condition screen is tokeep the manual condition. This means the function should behave like pricingcategory C.
*********************** Example5 *********************************
The "New pricing" function for the entire order is to keep themanual conditions; this means the function should behave like pricing categoryC.
*********************** Example6 *********************************
Billing is to be performed using the pricing type G. However, condition typeswith condition category S and T (standard cost or moving cost) are also to beredetermined in the billing document. In the standard system, this pricing typecopies those condition types from the order.
Other Terms
KNPRS, TVCPF, TVCPA
Reason andPrerequisites
The pricing type controls which conditiontypes are redetermined and which are copied unchanged. (However, the item isalways revaluated). Below, you will find a description of the pricingtype characteristics that are used in the standard system (for the enhancementoptions for customers, see SAP Note 26115). Note that the specified standardpricing types sometimes do not exist in older releases, or that the standardpricing type characteristic may be different in the individual releases.Therefore, the given consulting note should not be considered to be exhaustive.It merely serves to explain the principle of how a pricing type is structuredand how its characteristics can be influenced. The exact characteristic of apricing type in the release being used can be seen directly in the source codeof the form routine KONDITIONSVORSTEP in the main program SAPLV61A.
'A' (Copy price components and redetermine scales):Nocondition types are redetermined. Only the scale prices are adapted due to achanged basis.
'B' (Execute new pricing): Completelynew pricing (as if you created a new item), manual conditions are lost.
Restriction: Condition types which are not determined via condition technique(for example, condition type 'VPRS' or condition types with KNTYP = 'G' whichare determined using formulas) are NOT redetermined even if you did not changethem manually.
Completelynew pricing, manual ones are copied.
Caution: Hereyou have to make sure that all condition types that can possibly be changedmanually have T685A-KMANU = 'C' (Manual entry has priority) in Customizing.Otherwise, the conditions may be displayed twice (automatic and manual) andboth may be active.
Asin pricing type A but the prices are fixed (no scales are read). Conditionbasis and condition basis value are redetermined.
'E' (Adopt price components and fix values):Asin pricing type D but neither the condition basis nor the condition basis valueare redetermined.
'F' (Copy pricing elements, turn value and fix):Onlyused within the program.
'G' (Copy pricing elements unchanged and redetermine taxes):Thefollowing condition types are redetermined:
Condition class KOAID = 'D' (Taxes) Condition class KOAID = 'C' (Rebate) Condition category KNTYP = 'I' (Intercompany billing conditions) Condition category KNTYP = 'R' (Remuneration list conditions) Condition category KNTYP = 'L' (Generally new when copying) Condition category KNTYP = 'G' (Cost) Condition category KNTYP = 'E' (Cash discount conditions)Allremaining condition types are dealt with like pricing type D. In particular,with pricing type G, the system does not only redetermine the taxes but alsothe cost conditions and the intercompany billing conditions.
'H' (Redetermine freight conditions):Thefollowing condition types are redetermined:
Condition type KNTYP = 'B' (Delivery costs) Condition type KNTYP = 'F' (Freight conditions) Condition category KNTYP = 'L' (Generally new when copying) 'I' (Redetermine rebate conditions):Rebateconditions and scales are redetermined.
'J' (Redetermine confirmed purchase net price/value):Conditiontypes with condition category KNTYP = 'D' (Confirmed purchase net price/value)are redetermined.
'K' (Adopt price components and costs. Redetermine taxes):Thefollowing condition types are redetermined:
Condition class KOAID = 'D' (Taxes) Condition class KOAID = 'C' (Rebate) Condition category KNTYP = 'R' (Remuneration list condition) Condition category KNTYP = 'I' (Price for intercompany billing) Condition category KNTYP = 'E' (Cash discount) 'M' (Copy pricing elements, turn value): Noconditions are redetermined; the condition values are
multiplied by-1 when copied.
Conditiontypes with condition category KNTYP = 'G' (Cost) are redetermined.
Please notethat this pricing type has NO effect on the billing document since here thegoods issue value from the delivery is usually directly transferred to pricing.Redetermination of the costs by subsequently reading the material valuationsegment when executing pricing type "N" would result in the goodsissue value information being irretrievably lost.
This standardbehavior can be changed by a modification only. If required, please contactyour local consultant or SAP Remote Consulting.
Conditiontypes with condition category KNTYP = 'O' (Variants) are redetermined.
'P' (Revaluation only):Thesystem does not redetermine any conditions; only the revaluation occurs.
'Q' (Redetermine calculation conditions):Conditiontypes with condition category KNTYP = 'Q' (Costing) are redetermined.
'U' (Redetermine precious metal conditions):Conditiontypes with condition category KNTYP = 'U' (Discount/surcharge for preciousmetals) are redetermined.
Solution
There are two options to change the standardbehavior:
1. Set up a new pricing type (for example, 'X') and allocate the pricingtype in the document flow (copying control in the IMG, Customizing depending onthe source and target document type via transactions VTAA, VTAF, VTLA, VTLF andVTFF).
2. Change the pricing type used in the standard system.
Procedure
For both purposes, USEREXIT_PRICING_RULE is used in Program RV61AFZA. This iscalled after the setup of internal table STEU which defines the behavior ofpricing types.
*********************** Example 1 ********************************
Pricing type 'X' is to be set in such a way that the condition 'VPRS' (whichhas the condition category 'G') is not redetermined during billing. Otherwise,it behaves as pricing type 'G'.
Up to Release 4.0B, USEREXIT_PRICING_RULE can be implemented as follows:
FORM USEREXIT_PRICING_RULE.
STEU-KNPRS = 'X'.
STEU-KNTYP = 'LRIE......'.
IF KOMK-KNUMA IS INITIAL.
STEU-KOAID = 'CD........'.
ELSE.
STEU-KOAID = 'D.........'.
ENDIF.
STEU-MAUEB = ' '.
APPEND STEU.
ENDFORM.
In order to ensure that pricing type 'X' acts exactly like pricing type 'G',the FORM routine USEREXIT_PRICING_COPY in Program RV61AFZA is to be used inreleases lower than Release 4.0A ( this is called when you create a documentwith reference to another document: copying control; here, the MODE is the pricingtype):
FORM USEREXIT_PRICING_COPY.
IF MODE CA 'X'.
IF KONV-KSTEU NA 'CEF'.
KONV-KSTEU = 'D'.
ENDIF.
ENDIF.
ENDFORM.
In this case, you should note that the billing document contains a special ruleconcerning the cost condition 'VPRS'. If the goods issue is posted for thedelivery note to be billed, the value of the goods issue is copied intocondition 'VPRS'. This is hard coded. You can prevent this by setting the fieldTKOMP-WAVWR to zero in the include RV60AFZZ, USEREXIT_PRICING_PREPARE_TKOMP.
In higher releases, pricing type 'K' is also available, which copies the VPRSof the order to the billing document and does not redetermine it unless thereis no goods issue posting
(otherwise, the above-mentioned special rule applies.)
*********************** Example 2 ********************************
Pricing type 'Y' is to be set in a way that this works as pricing type 'G' butwithout redetermining the intercompany billing conditions 'PI01' and 'PI02'.They have condition category 'I'.
Changes in program RV61AFZA:
FORM USEREXIT_PRICING_RULE.
STEU-KNPRS = 'Y'.
STEU-KNTYP = 'GLRE.......'.
IF KOMK-KNUMA IS INITIAL.
STEU-KOAID = 'CD........'.
ELSE.
STEU-KOAID = 'D.........'.
ENDIF.
APPEND STEU.
ENDFORM.
In order to ensure that pricing type 'Y' acts exactly like pricing type 'G',the form routine USEREXIT_PRICING_COPY in the program RV61AFZA is to be used:
FORM USEREXIT_PRICING_COPY.
IF MODE CA 'Y'.
IF KONV-KSTEU NA 'CEF'.
KONV-KSTEU = 'D'.
ENDIF.
CLEAR: KONV-SAKN1.
ENDIF.
ENDFORM.
*********************** Example 3 ********************************
Pricing type 'Z' is to be set in the same way as pricing type 'D', but thistime the costs are to be redetermined. Up to Release 4.5B, you can implementUSEREXIT_PRICING_RULE as follows (as of Release 4.6A, pricing type 'N' isavailable for this purpose):
FORM USEREXIT_PRICING_RULE.
STEU-KNPRS = 'Z'.
STEU-KNTYP = 'G.........'.
STEU-KOAID = '..........'.
STEU-MAUEB = ' '.
APPEND STEU.
ENDFORM.
In order to ensure that pricing type 'Z' acts exactly like pricing type 'D',the FORM routine USEREXIT_PRICING_COPY in the program RV61AFZA is to be used:
FORM USEREXIT_PRICING_COPY.
IF MODE CA 'Z'.
IF KONV-KSTEU NA 'CEF'.
KONV-KSTEU = 'D'.
ENDIF.
ENDIF.
ENDFORM.
Note: To correct the problem, you should define your own pricing types. In somecases, it may be required to change existing pricing types. This is required ifyou want to influence the reaction to certain field changes in the order (seeSAP Note 26115 for this). This also allows you to influence the "Newpricing" function in the order and billing document. This function usesthe pricing type 'B'.
*********************** Example 4 ********************************
The "New pricing" function on the item condition screen should keepthe manual changes. By default, pricing type B is called. As of Release 4.5A,however, you have the option to store another pricing type for this purpose inCustomizing of the pricing procedure (transaction V/08).
Inthe USEREXIT_CHANGE_PRICING_RULE of the program MV61AFZA, you can replace thepricing type 'B' with another pricing type, for example 'C', up to Release4.0B.
FORM USEREXIT_CHANGE_PRICING_RULE USING PRICING_RULE.
IF PRICING_RULE = 'B'.
PRICING_RULE = 'C'.
ENDIF. ENDFORM.
*********************** Example 5 ********************************
The "New pricing" function is to be set for the entire order in sucha way that manual changes are kept. By default, pricing type B is called. As ofRelease 4.5A, however, you have the option to store another pricing type forthis purpose in Customizing of the pricing procedure (transaction V/08).
Up to Release 4.0B, a solution is only possible by means of a modification inthe program MV45AF0F:
FORM FCODE_KONB.
PERFORM PREISFINDUNG_GESAMT USINGCHARB. <<<<<<<<<<delete
PERFORM PREISFINDUNG_GESAMT USINGCHARC. <<<<<<<<<<insert
ENDFORM.
FV45PF0P has to be changed in the same way:
FORM PREISFINDUNG_NEU.
* Aufruf neue Preisfindung
PERFORM PREISFINDUNG USINGCHARB. <<<<<<<<<< delete
PERFORM PREISFINDUNG USINGCHARC. <<<<<<<<<< insert
* geänderte Informationen in Beleg übernehmen
PERFORM VBAP_BEARBEITEN.
PERFORM VBAP_BEARBEITEN_ENDE.
ENDFORM.
*********************** Example 6 ********************************
Pricing type 'X' is to be set so that it functions like pricing type 'G', butalso redetermines condition categories 'S' and 'T'.
Changes in program RV61AFZA:
FORM USEREXIT_PRICING_RULE.
STEU-KNPRS = 'X'.
STEU-KNTYP = 'GLRIEST...'.
IF KOMK-KNUMA IS INITIAL.
STEU-KOAID = 'CD........'.
ELSE.
STEU-KOAID = 'D.........'.
ENDIF.
STEU-MAUEB = ' '.
APPEND STEU.
ENDFORM.
To ensure that pricing type 'X' behaves exactly like pricing type 'G', use theform routine USEREXIT_PRICING_COPY in the program RV61AFZA:
FORM USEREXIT_PRICING_COPY.
IF MODE CA 'X'.
IF KONV-KSTEU NA 'CEF'.
KONV-KSTEU = 'D'.
ENDIF.
ENDIF.
ENDFORM.
******************** Additional information ****************************
You can display the standard behavior of the pricing types in the form routineKONDITIONSVORSTEP (up to Release 3.1I in the include LV61AF0K, as of Release4.0A in the include LV61AA12). There, for each pricing type, a line exists ininternal table STEU. The fields have the following meaning:
Thisis the pricing type used.
KNTYP Thisfield contains a positive list of the pricing categories (up to 10
values can beentered).
Thisfield contains a positive list of the condition classes (up to 10 values can beentered).
MAUEB This XFELD specifies whether manual changes should be copied. STFKZThisfield contains a positive list of the scale indicators (up to 5 values can beentered).
NOTYPThisfield contains a negative list of the condition categories (up to 5 values canbe entered).
KDUPLThisfield contains a positive list of the structure conditions (up to 3 values canbe entered).
NOKDUPLThisfield contains a negative list of the structure conditions (up to 3 values canbe entered).
KFKIVThisfield specifies whether intercompany billings should be redetermined ('.' or'X' can be entered).
KVARCThisfield specifies whether variant conditions should be redetermined ('.' or 'X'can be entered).
PRSQU Thisfield specifies whether the price source should be taken into account ('.' orSPACE can be entered).
Note that most condition attributes (fields of the structure XKOMV) can alsohave the value SPACE. To use the above 'CA' or 'NA' statements in the IFstatements also in these cases as required, you can fill the fields of the lineSTEU with a corresponding number of '.' characters. These values are checked
first of all in the form routine XKOMV_AUFBAUEN_PRUEFEN
(up to 3.1I, in the include LV61AF0X; as of 4.0A, in the include LV61AA65).
source link: https://launchpad.support.sap.com/#/notes/24832
相關文章
- SAP SD 基礎知識之定價配置(Pricing Configuration)
- Note 886532 - Pricing: Displaying and rounding numbers
- SAP SD 基礎知識之定價中的條件技術(Condition Technique in Pricing)
- External Pricing in C4C and ERP
- 實時計算Flink>產品定價>計量計費
- 銷售定價例程906計算錯誤問題
- “關機幣價”如何計算?
- 雲端計算學習資料分享:type檢視命令
- 計算機效能評價指標計算機指標
- SAP定價的合計欄位的程式碼照抄
- Rust中的macro_rulesRustMac
- ESLint 推薦的rules收集EsLint
- axios 修改Content-Type設定iOS
- 雲端計算的定義是什麼?
- 雲端計算,定義2020
- vivo商城計價中心 - 從容應對複雜場景價格計算
- 恆訊科技分析:雲端計算的定義
- 什麼是計算機編碼的定義?計算機
- SD-WAN 如何計算組網專線的價格?
- JavaScript 購物車自動計算價格JavaScript
- 資料庫表CRMD_ORDERADM_I裡欄位OBJECT_TYPE的計算邏輯資料庫Object
- 詳細說明百度競價排名價格計算公式公式
- app定製的價格APP
- matlab對不定積分和定積分的計算Matlab
- 雲端計算和開源時代的鎖定
- 樣本協方差矩陣的定義與計算矩陣
- 解讀雲端計算的定義和特點
- 邊緣計算:釋放物聯網的商業價值
- “華為號”,決定穿越計算光年
- 購物車自動計算商品總價格
- China Tightens Recycling Import RulesImport
- OData metadata 定義中,entity type key 的作用是什麼
- el-form中rules的原理簡介ORM
- JavaScript商城購物車價格自動計算功能JavaScript
- 簡單計算給定兩個給定經緯度座標的距離
- What are general rules when deciding on index?Index
- Java規則引擎 Easy RulesJava
- Prometheus監控神器-Rules篇Prometheus