關於定價過程的公式的學習
在SAP的定價過程配置中,我們經常會需要使用到公式。這樣就需要我們對公式有清楚的瞭解,在這裡就簡單的介紹一下公式。
1)公式的名稱
在SAP的定價過程中會用到各種公式,這些公式的名稱為"規定字首"+"XXX"(公式對應編號).公式規定字首請參見單元:LV61ATOP。程式碼摘錄如下:
* structs to set up form-names for formulas and requirements
*來自條件型別的配置
data: begin of frm_staffelbas,
fix(15) value 'FRM_STAFFELBAS_',
nr like t685a-kofrs, "基本價值等級公式
end of frm_staffelbas.
data: begin of frm_gruppenkey,
fix(16) value 'FRM_GRUPPENKEY_0',
nr like t685a-grlnr, "建立組關鍵字的例程號
end of frm_gruppenkey.
*來自定價過程的配置
data: begin of frm_kond_basis,
fix(15) value 'FRM_KOND_BASIS_',
nr like t683s-kofra, "可選條件基值公式(條件基)
end of frm_kond_basis.
data: begin of frm_kondi_wert,
fix(15) value 'FRM_KONDI_WERT_',
nr like t683s-kofrm, "替換計算型別的條件公式(計算類)
end of frm_kondi_wert.
data: begin of bedingung_pruefen,
fix(6) value 'KOBED_',
nr like t683s-kobed, "需求
end of bedingung_pruefen.
data: begin of bedingung_vorstep,
fix(6) value 'KOBEV_',
nr like t683s-kobed,
end of bedingung_vorstep.
2)公式的資料傳入和傳出(定價通訊)
sap的定價公式的傳入和傳出是我們設計自定義的公式需要了解清楚。我們可以檢視公式的呼叫程式碼,看看sap在呼叫處的前後都使用了那些變數,就可清楚資料傳入和傳出。如計算類的呼叫分析:
* calculation formula
IF xkomv-kofrm NE 0.
wertformel = 'X'.
xkwert = xkomv-kwert.
frm_kondi_wert-nr = xkomv-kofrm.
PERFORM (frm_kondi_wert) IN PROGRAM saplv61a IF FOUND.
xkomv-kwert = xkwert.
ENDIF.
這段程式碼摘自LV61AA43單元,可以從紅色部分看得出sap透過中間變數xkwert來傳遞公式的計算資料。同樣可以看到sap的標準一些計算類的公式程式碼:
* Version 2 : Calculation of the value in case of percentage conditions
* which should be calculated from the reduced value
form frm_kondi_wert_007.
check: xkomv-kgrpe = ' '.
check: komp-kumza ne 0.
check: komp-kumne ne 0.
check: komp-kpein ne 0.
xkwert = ( ( ( komp-netpr * ( 100000 + xkomv-kbetr ) ) / 100000 )
* komp-mglme / komp-kumza * komp-kumne / 1000 / komp-kpein )
- komp-netwr.
endform.
注意:在sap的有些標準的公式裡會透過修改xkomv結構來資料傳遞的資料,這時你一定要同時修改中間變數,這樣才能保證呼叫後xkomv結構對應的欄位不會被舊值覆蓋。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/195776/viewspace-1023831/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於價格的小學問:價格錨點/尾數定價
- memcached的學習過程
- 關於 Angular 應用的 Bootstrap 過程Angularboot
- 效能優化的過程學習優化
- 關於ModeAnalytics的學習
- 關於HTTP的學習HTTP
- 關於Fragement的學習
- 關於SQLMAP的學習SQL
- Mysql 5.7儲存過程的學習MySql儲存過程
- 關於JDBC學習過程中的注意事項(分享自己犯過的錯誤,寫給初學JDBC的小夥伴的八條建議)JDBC
- SAP MM採購定價過程的一個簡單例子單例
- 關於SCRUM的學習心得Scrum
- Java學習過程Java
- keycloak~關於社群登入的過程說明
- 分享一些自己的學習過程和學習方法
- 走進前端的過程--方向式學習前端
- Laravel 學習過程中用到的工具-20180930Laravel
- MySQL學習 - 查詢的執行過程MySql
- 學習vue過程中遇到的問題Vue
- 關於學習.NET的歷程回顧與今後的探索實踐方向
- C++學習日記:關於我決定開始學習C++的那些事C++
- 我的Linux系統開始學習的過程Linux
- 學習excel公式的一百種危害Excel公式
- 學習C過程中的筆記系列-2筆記
- 記錄下學習使用kratos的過程一
- 關於協程的理解
- 關於react-native-image-picker使用過程中的坑React
- 【機器學習基礎】關於深度學習的Tips機器學習深度學習
- 關於http(自己的學習筆記)HTTP筆記
- 關於Apache Tika的學習和使用Apache
- Myth 關於Git的學習筆記Git筆記
- 關於學習心態的調整
- 如何學習Java? 在學習Java的過程中需要掌握哪些技能?Java
- Vue學習筆記 - 關於過渡效果的一些總結Vue筆記
- MSP430學習過程
- SQL SERVER 學習過程(一)SQLServer
- 關於法學考研(刑法),我的學習方法
- 關於Entity Freamwork 儲存過程操作儲存過程
- 【原始碼學習】window 的刪除及更新過程原始碼