業務場景:例如我們需要對國家的稅率做乙個
增強,以完成某種業務運算,但是每個國家的稅率又是不同的,所以可以新建乙個badi用於增強國家稅率計算,對badi進行多次實施,分別用於不同國家的稅率計算。
1、因為badi多次實施,需要選中multiple use;因為實施的implementation用於不同場景,需要選中filter use。
2、在badi:y_badi_calc_vat1中再實施乙個implementation:y_badi_calc_vat_gb
部署method(y_cl_cal_vat_gb)**:y_if_calc_vat~get_vat
method y_if_calc_vat~get_vat.
data: percent type p value 8 .
ex_amount_vat = im_amount * percent / 100 .
ex_percent_vat = percent .
endmethod.
複製**
3、在badi:y_badi_calc_vat1中新建定義乙個filter
4、分別在badi的兩個implemention中設定filter條件
y_badi_calc_us的filter條件為country = us,意思是:當country = us時,執行y_badi_calc_us中method**
y_badi_calc_gb的filter條件為country = gb,意思是:當country = gb時,執行y_badi_calc_gb中method**
5、se38修改呼叫程式的**:
data: handle type ref to y_badi_calc_vat1,
sum type p,
vat type p,
percent type p.
parameters: ctry(2) type c.
start-of-selection.
sum = 50.
*獲取badi物件:y_badi_calc_vat1
get badi handle filters country = ctry.
*呼叫badi物件y_badi_calc_vat1的方法get_vat
call badi handle->get_vat
exporting
im_amount = sum
changing
ex_amount_vat = vat
ex_percent_vat = percent.
write: 'percentage:', percent, 'vat:', vat.
複製**
6、執行程式,測試效果:
當輸入條件是us時,執行y_badi_calc_us implemention
當輸入條件是gb時,執行y_badi_calc_gb implemention
2015-7-3 17:55 上傳
我們debug就可以直觀的看到不同條件執行不同implemention了
乙個容器多個程序,乙個pod多個容器
乙個容器多個程序 在docker的映象編譯指令碼dockerfile中帶起多個程序,如下可以在contivnet.sh中啟動多個程序 from 192.168.1.2 5001 world centos7 ovs 2.6.4 1 copy bin contiv bin copy scripts co...
乙個函式中返回多個值
如把多個需要返回的值作相應的處理後變成乙個可以用return 語句返回的資料,再在主調函式中拆開返回的資料使之變成幾個值。那麼當我們希望從乙個函式中返回多個值時,用什麼方法去實現比較合理呢?2方法1 利用全域性變數 分析 全域性變數作為c 語言的乙個知識點,雖然我們都了解它的特點,但在實際教學過程中...
乙個例項中,多個synchronized方法的呼叫
public class threada extends thread public void run public class threadb extends thread public void run public class run 如上所示,myobject類有兩個方法,分別建立兩個執行緒...