一直以来,我们认为SAP的商品编码保存在表里是带有前置0. 界面呈现的时候系统转换去掉了前置0. 如图中的客户字段效果.
- 我们也和客户解释: SAP就是这样的. 数字编码就是带有前置0, 要不,咱们加个字母放在编码里, 就不会有前置0了.
- 我们也和外围系统解释: SAP商品就是这样的, 大不了我在接口传输给你的时候转换一下, 去掉前置0.
- 我们还得小心在导入处理时添加前置0,以免系统识别不了商品编码
- 我们还对自己解释: SAP这样设计的目的肯定是为了编码长度一致,查询效率高.
- 项目中可能还会碰到这样的问题: 客户旧商品编码本身带有前置0 . 比如商品编码 01000 和 商品编码1000在客户旧系统中并存. 进入SAP后, 因为商品编码添加前置0的原因, 这两个编码无法并存.
- 我们很聪明的把客户编码放到了商品的旧物料号字段. 在接口处理时转换编码: 入站添加前置0, 出站去掉前置0(或者入站时转换旧编码成SAP编码,出站时转换SAP编码为旧编码)
- 我们还得规范开发,使用标准字段定义商品编码,避免界面出现商品编码前置0的情况.
我们在做这些事情的时候, 免不了心里嘀咕几句:SAP怎么就不能把商品编码搞得简单些.
其实,我们都冤枉SAP了. 因为SAP提供了一个配置项,用于控制数字商品编码是否添加前置0.
配置路径如下图:
配置内容
配置后,数字商品编码的界面显示和数据库中保存就一致了.
设置了该配置以后, 如果款商品(一般商品)都是数字. 创建变式商品会报错 MH 208 .该错误是标准系统的问题. 注释掉程序中的报错信息即可 程序名 LMGNKU01 205行左右(好吧,总算没有白冤枉SAP, 他也有没有考虑到的地方)
本文摘录入公众号:syjf1976_abap