核心提示:.Eoa485 { display:none; } 在SAP的定价过程配置中,我们经常会需要使用到公式。这样就需要我们对公式有清楚的了解,在这里就简单的介绍一下公式。1)公式的名称在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结构对应的字段不会被旧值覆盖 (编辑:cindy liu ) |