VC是SAP中非常重要的功能,过去多年来,我参与了不少使用VC的项目,我将通过多篇文章介绍VC的一些应用,本文介绍通过VC修改销售订单行项目的字段
01 概览
在销售订单创建时,对于可配置物料来说,不同的配置可能会影响销售订单行项目中的字段,譬如同一产品,不同的配置可能具有不同的重量,因此需要通过可配置功能在销售订单中实现输入不同的配置,有不同的重量。
业务逻辑简述如下:
1、根据物料+配置(本文为测试方便,仅使用一个配置:“型号”)确定物料的单件重量。
2、单件重量乘以订单数量确定销售订单中的重量。
02 系统实现
备注:如果你对可配置有所了解,那么测试本场景所需花费时间预计20分钟。
主数据-CT04/CL01创建分类和特征
主数据-CU61创建包含特征的表
主数据-CU60维护表
主数据-CU01创建相关性
主数据-CU41为物料创建配置参数文件,并分配相关性
业务操作-VA01创建销售订单
1、主数据-CT04/CL01创建类( Z1)和特征,共包含五个特征。
五个特征的字段属性/作用如下:
备注:重点在于这里的参照表和字段,在本文的最后端对此进行具体说明
特征 | 描述/作用 | 参照表 | 参考字段 |
ZMATNR | 物料,读取订单行项目的物料 | VBAP | MATNR |
Z13 | 订单行项目的重量,反写到订单行项目 | VCSD_UPDATE | BRGEW |
Z14 | 型号,可配置的选项 | N/A | N/A |
ZMENGE | 物料,读取订单行项目的物料 | VBAP | KWMENG |
Z15 | 单个物料的重量 | N/A | N/A |
02、主数据- CU61创建包含特征的表
如下图所示,设置根据物料编号+型号确定单个物料的毛重。
03、 主数据-CU60 维护表的内容
根据物料+型号维护对应的单个毛重
04、 主数据-CU01 创建相关性
相关性类别为“过程”,代码非常简单:首先根据物料+类别确定 单个重量,再根据单个重量乘以数量得到销售订单行项目的重量。
table Z11( Z14 = Z14, ZMATNR = ZMATNR, Z15 = $SELF.Z15),$SELF.Z13 = Z15 * ZMENGE.
05、 主数据-CU41为物料创建配置参数文件,并分配相关性
前提条件:创建示例物料CAR9,并设置为可配置,并将上文中的分类Z1分配给该物料。本文未展示具体过程
如下图所示,CU41为物料创建配置参数文件,分配分类Z1,并分配相关性Z1.
06、 业务操作- VA01 创建销售订单
VA01创建销售订单,输入客户、物料CAR9、数量2个,并在可配置的窗口输入配置信息,如型号“A”,系统根据上文中维护的信息确定出每个重量为100KG,销售订单数量为2个,因此总重量为200KG.
如下图所示,特征值(毛重)反写到销售订单的行项目中。
03 系统实现说明
销售订单的字段与VC的特征值之间可分为二种情况:读取销售订单字段值到特征值 及特征值反写到销售订单的字段中,具体逻辑如下:
1、销售订单的如下表字段可以在VC被读取到
可以看到销售订单的大部分字段都可以被VC读取到特征中。
上文示例中,我们读取了销售订单行项目的2个字段:VBAP-MATNR(物料)、VBAP- KWMENG(数量),用来计算物料的重量
表 | 描述 |
VBAK | Header data(订单抬头) |
VBAP | Item data(订单行项目) |
MAEPV | Material master fields(物料主数据信息) |
MAAPV | Material master fields(物料主数据信息) |
VBKD | Sales document: commercial data(订单业务数据) |
VBPA_AG | AG Partner: sold-to party(售达方) |
VBPA_WE | WE Partner: ship-to party(送达方) |
VBPA_RE | RE Partner: bill-to party(发票方) |
VBPA_RG | RG Partner: payer(付款方) |
2、只有销售订单中的行项目字段能够被特征值反向修改
可以被修改的字段都在结构VCSD_UPDATE中,该结构包含的字段如下表:
上文示例中将特征值写到VCSD_UPDATE-BRGEW(销售订单行项目的重量)中。
字段 | 中文描述 | 英文描述 |
BRGEW | 毛重 | Gross weight of item |
NTGEW | 净重 | Net weight of item |
GEWEI | 重量单位 | Unit of weight |
VOLUM | 体积 | Volume |
VOLEH | 体积单位 | Volume unit |
KWMENG | 订单数量 | Item quantity |
VRKME | 销售单位 | Sales unit of measure |
转换 | Conversion factors | |
ZMENG | 目标数量 | Target quantity |
ZIEME | 目标数量单位 | Target quantity unit |
ARKTX | 物料描述 | Article description |
如有必要,可在增强(EXIT_SAPLCEI0_001 /EXIT_SAPFV45S_002)修改订单行项目的其他字段。