ebs采购订单价格与上次价格对比差异超过30%时,提醒,plsql怎么写

发布时间:2019-07-29 16:05:01

根据同一个公司下,同一个物料中

A = 价格 

B=  时间

C=公司

D=物料

推荐回答

1. From - to这里面要得到的是含税的总价。博主这次做的简单点,就直接参考step 1 -即PB00或PBXX

2. Subtotal一定要写9,9才会计算到net value里面去

3. 新建一个calculation formula,比如905.因为这个条件类型需要我们通过税码自己计算出来,而不是通过存取顺序维护条件记录的方式计算出来。

下面就是公式的内容了。

*&---------------------------------------------------------------------**&      Form  FRM_KONDI_WERT_905*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*FORM frm_kondi_wert_905.  DATA: l_kbetr LIKE konp-kbetr.    "Tax Rate  DATA: l_krech LIKE t685a-krech.   "Inclusive or Exclusive  DATA: l_knumh LIKE a003-knumh.    "Condition Record Number  DATA: l_kschl LIKE a003-kschl.    "Condition Type  DATA: l_kappl(2) TYPE c VALUE 'TX'. "Application* Get condition type and condition record  SELECT SINGLE knumh kschl           FROM a003           INTO (l_knumh,l_kschl)          WHERE kappl = l_kappl            AND aland = komk-aland            AND mwskz = komp-mwskz.  IF sy-subrc = 0.* Get condition record value    SELECT SINGLE kbetr             INTO l_kbetr             FROM konp            WHERE knumh = l_knumh.    IF sy-subrc = 0.      SELECT SINGLE krech               INTO l_krech               FROM t685a              WHERE kschl = l_kschl.* Set Condition Value      IF sy-subrc = 0.        IF l_krech = 'A'. "Tax Excluded          xkwert = -1 * xkomv-kawrt * l_kbetr / ( 100000 + l_kbetr ).        ELSEIF l_krech = 'I'. "Tax Included          xkwert = -1 * xkomv-kawrt * l_kbetr  / 100000.        ENDIF.      ENDIF.      l_kschl = xkomv-kschl.* Set Condition Amount      LOOP AT xkomv WHERE kschl = l_kschl.        xkomv-kbetr = l_kbetr * -1.      ENDLOOP.    ELSE.* Set Condition Value      xkwert = 0.      l_kschl = xkomv-kschl.* Set Condition Amount      LOOP AT xkomv WHERE kschl = l_kschl.        xkomv-kbetr = 0.      ENDLOOP.    ENDIF.  ENDIF.ENDFORM.                    "FRM_KONDI_WERT_905

以上问题属网友观点,不代表本站立场,仅供参考!