• SD关于定价过程的公式的学习


     在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结构对应的字段不会被旧值覆盖。

  • 相关阅读:
    Java正式day_06——数组排序
    别只知道策略模式+简单工厂,试试更香的策略模式+抽象工厂!
    图解连接阿里云(一)创建阿里云物联网平台产品和设备,使用MQTT.fx快速体验
    嵌入式交叉编译GDB,结合vscode图形化调试C和C++代码 coredump定位段错误
    内核链表之list_for_eacy_entry手绘图解
    makefile实验三 理解make工作的基本原则
    玩转Libmodbus(一) 搭建开发环境
    RT-Thread的C语言多态风格展示
    C++函数默认参数 详解
    杂类-边学边记
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157044.html
Copyright © 2020-2023  润新知