好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

sap定价相关程序.doc

7页
  • 卖家[上传人]:小**
  • 文档编号:89348893
  • 上传时间:2019-05-23
  • 文档格式:DOC
  • 文档大小:108.50KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • SAP定价相关程序 定价技术一直是SAP引以为豪的一个设计设计也很复杂,闲下空来DEBUG了一下SAP的标准程式基础的IMG设定(定价表/访问顺序/定价类型/定价过程)就不说了,现在将一些SAP的定价逻辑分享给大家,希望能给做定价增强的ABAPer兄弟一些些帮助 1) 定价程序FunctionPool: SAPLV61AFunction Name: Pricing2) 变量说明XKOMV 记录系统定价结果(Item Level)TKOMV 记录系统定价结果(Doc. Level)KOMT1 定价过程KOMT2 访问顺序KOMK 定价关键字(表头)KOMP 定价关键字(行) 3) 程序处理逻辑A) 整理 KOMK / KOMP 的值 (SAP提供接口做增强,SO/DN/BILLING)SO:Program: MV45AFZZUser Exit: userexit_pricing_prepare_tkomk / userexit_pricing_prepare_tkompDN:BADI: LE_SHP_PRICINGMethod: CHANGE_INPUT_HEADER_AND_ITEMSBILLING:Program: RV60AFZZUser Exit: USEREXIT_PRICING_PREPARE_TKOMK / USEREXIT_PRICING_PREPARE_TKOMPB) 抓取定价IMG的相关设定Program: LV61AA12FORM: KONDITIONSVORSTEP* --> KOMK header communication structure ** <-- KOMT1 table of pricing procedure ** <-- KOMT2 table of condition access sequences * C) 根据定价设定,整理定价过程结果内表Program: LV61AA67 FORM: XKOMV_AUFBAUEN_AUS_KOMT1* Build XKOMV from KOMT1 derived from T683S ** --> KOMK header communication structure ** --> KOMP item communication structure ** --> KOMT1 pricing procedure ** --> KOMT2 accesses ** <-- XKOMV internal table of conditions *定价过程中的"需求"将在这里被处理. 如果检查通过的话,改定价类型将会被记录在XKOMV里面.价格主档的数据也会在这里被处理,见 Program: LV61AA29FORM: konditionen_lesenSAP 定价配置过程1.首先“定义条件表”,确定哪些字段会影响定价,然后将这些字段选定后,生成一个定价条件表。

      2.“定义存取顺序”,通过定义存取顺序,关联上步创建的定价条件表3.“定义条件类型”,通过条件类型,可以管理存取顺序,从而关联条件表这样当使用这种条件类型时就可以在相应的条件表中产生条件记录了3.1定义客户定价组,纯代码表维护,在客户主数据中有值是价格确定的一个因素4.“定义定价过程”,关联条件类型5.a 定义客户定价过程,这个相当于维护一个代码表为以后配置那种单据下那个客户使用什么样的定价过程作准备客户资料中关联这个值5.b 定义单据定价过程,类似于上面的过程,也是一个代码表5.c 为订单类型指定单据定价过程,这个过程就是把订单类型和上面定义的单据定价过程相关联5.d 给出具发票类型分配单据定价过程,类似于5.c,只不过是针对发票的6.“定义定价程序确定”,根据单据可能关联的元素,关联4步骤中定义的定价过程7.“通过项目类别定义定价”,用来确定指定的项目类别是否执行定价过程,这步确定是否取定价,6步确定去取那个定价8.通过VK11,创建条件记录,即录入价格数据定价取定价的过程模拟分析如下:0.根据订单行项目中的“类别”从“通过项目类别定义定价”配置中判断是否需要取定价如果需要取,继续执行,否则终止。

      1.根据订单类型从“为订单类型指定单据定价过程”步骤中取得此订单类型的定价过程2.根据订单中的客户,从客户主数据中取得在“定义客户定价过程”中定义的值3.根据录入的销售组织、渠道、产品组、以及1步骤中取得的单据类型的定价过程和2步骤中取得的客户的定价过程,从“定义定价程序确定”中取得要使用的定价过程4.根据取到的定价过程,遍历其记录,取到定价类型5.根据定价类型,从定价类型的定义中,取到存取顺序6.根据存取顺序,从存取顺序表中找到该存取顺序中每一个所关联的条件表和每个条件表和定价通讯结构之间关联的字段在存取顺序中由一个排斥选项,用来确定在找到满足条件的记录后,是否还要继续)7.通过6步找到的表名、字段名,从相应的条件表中找满足条件的条件记录,即通过VK11录入的价格条件记录数据,如果找到,就取出这个价格值,返回到相应的定价过程的定价类型的值上SAP 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 valueform 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结构对应的字段不会被旧值覆盖。

      后台配置:定价过程条件技术(condition technology)是SAP中运用较多的配置技术条件技术广泛地应用于定价、文本确定、输出确定和物料确定等,它基本上存在于任何需要条件记录的地方SAP通过条件技术在一定数量的选项中选择一个方案因为SAP是基于条件做出选择的,因此有了‘条件技术’这个名词系统将条件作为条件记录进行储存条件表由一个或多个关键字段和一个数据部分组成数据部分储存了一个数字,我们可以通过这个数字在另外一个表中中找到对应的条件记录举个例子:A018是我们最常使用的物料信息记录的条件表,左边有4个简短关键字,分别是供应商,物料,采购组织和信息类别左边一列的简短关键字代表了已选关键字段,右边一列代表了哪些字段可以作为关键字段大家可以用事务代码SE16进行查看表A018中,应用M代表采购,条件类型PB00代表总价,随后的供应商,物料,采购组织和信息类别即为设置的关键字段,最后的条件记录号即为前面所说的条件表中的数据部分然后我们可以根据这个条件记录号去相应的透明表中寻找相应的条件记录系统标准的条件记录储存在下列透明表中:KONP(时效性条件)KONH(抬头条件)KONM(数量等级)KONW(价值等级)物料信息记录的条件记录存在于KONP中,我们使用SE16可以进行查看.条件表也可。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.