VOFM例程开发实现定价增强

例程,即Fomula,是使用在销售、采购、发票、交货等单据中定价过程的一小段程序。之所以有Fomula存在,是因为在不同的业务场景下,定价过程可能千差万别,但是却可以拆分为一些关键的组成部分,如复制请求、数据传输、要求、公式,每个例程就是一小段专用程序,这些例程程序会被标准程序动态调用:如:PERFORM XXX IN XXXX IF FOUND. 我们可以在例程中编写代码片段,修改运行环境中的数据。具体的每种例程都有不同的环境变量和接口数据。
这里我们以mm物料模块的采购订单的 增强 为例。

1、首先打开事务代码VOFM,然后进入菜单:要求>定价,在打开的 屏幕 的表格输入一条新记录,回车输入开发KEY,回车就新增了一条新的计算方案记录,
 
输入例程编号,描述,应用选择M,因为这个定价增强用在mm物料模块
 
选中新建的例程,点击'源文本',就可以在里面写定价的增强代码了
 
SY-SUBRC = 4.  表示这段代码不起作用
SY-SUBRC = 0.表示这段代码起作用
FORM KOBED_XXX 检查Item信息
FORM KOBEV_XXX 检查Header信息

2、选中新建记录的活动的那个单选框,再点菜单:编辑->激活例程
 
激活例程时,RV61A701被INCLUDE 在RV61ANNN,即在RV61ANNN中添加一行:INCLUDE RV61A701
 

3、spro进入后台
 
选中'过程'双击
 
将刚才新建的701例程配置到物料模块采购的计算方案中,保存
 

4、在开发机测试
me21n创建ZB等类型的采购订单时,ZRA4条件类型不起作用

5、例程传输到生产机时,发现订单无法调用计算方案进行正确计算商品价格
这是因为服务器间的传输,出现没被调用,这是SAP的BUGER,需要激活:
     (1) SE38 执行RV80HGEN, 激活所有公式;
该程序的作用是根据表TFRM,TFRMT在RV61ANNN等程序中增加INCLUDE RV61A701这样的代码
     (2) SE38 打开RV61ANNN, Utilities Menu>Update Navigation Index.

猜你喜欢

转载自blog.csdn.net/champaignwolf/article/details/80098823