ERP物料排斥
老大问我对职业生涯有什么规划,我说有四大规划,非常非常,非常非常大的规划,就是:
仿造SAP;兼并IBM;收购MS;挤垮Oracle !
老大一听说我纯粹是
吹牛吹的风太大,把桥梁都吹倒了!
又问能搞一些具体的东西来,具体想做什么?
具体的,我也有, 就是:
MM模块戴上手套;给PP模块戴个口罩。
给SD模块戴上镣铐; 教育FICO自动戴上套套 。

(1).销售产品的列表/排斥

一.列表和排斥配置

产品列表:确保只销售清单中的产品给特定客户。

产品排斥:确保清单中的产品不能销售到特定客户。

销售产品的列表和排斥应用非常简单,系统预设好客户+物料的列表和排斥,如果需要使用,只要简单在1-[6]中分配到相应订单类型就可,如果没有特殊需要,详细配置说明见2

产品列表/排斥的设置和定价技术基本相同,大多数情况下,物料+客户就已经足够了,特殊情况下,你可使用自定义字段和自定义条件表,步骤如1

1-[1]:维护允许字段, 物料+客户可能不能满足你的需求,你可以使用其他字段,比如你家产品和物料太多,你觉得维护列表/排斥太复杂,改用产品组+客户组;或者使用一些自定义的字段,如果增加其他字段,可能需要在KOMKG, KOMPG 和KOMGG增加并编写相应增强,因500年才可能碰到这样BT的需求,此处不讨论。

1-[2]: 系统已设置物料+客户条件表0001(由于条件技术用在多处,此处0001表全名是KOTG001,前缀KOTG),假设你改用产品组+客户组,则自定义一个表比如叫999(全名是KOTG999)

1-[3]: 系统默认的2个存取顺序A001/B001分别表示基于客户+物料的列表/排斥,对应到同一条件表0001。

1-[4]:系统默认设置了2个条件类型A001/B001,分别对应到存取顺序A001/B001。

1-[5]:系统默认设置了2个列表/排斥过程A00001/B00001, 熟悉定价的读者就知道,一个定价过程往往包括多个条件类型, 不过在列表/排斥过程A00001/B00001分别只包括一个列表/排斥条件类型A001/B001。

*注意:

条件字段->条件表->存取顺序(可包含多个按策略读取的条件表)->条件类型(对应到一存取

顺序)->条件技术过程->分配到最终条件对象如采购订单/销售订单等,这就是条件技术的一

般思路,条件技术最强大的功能是它能极其灵活地组合供应商/客户/物料/采购订单/销售订单

甚至自定义字段中的所有内容来实现相关功能。

1-[6]:为销售订单类型分配列表/排斥过程,详见图2 。

2-[1]:列表/排斥都形成一个清单,有时当出现多个过程时允许用户选择采用何种方式,现在给读者一个思考,假设你同时使用了产品组+客户组排斥功能和产品+客户的列表功能,某产品销售给某客户在产品组+客户组的排斥中,但在产品+客户却在允许销售的列表中,究竟该产品能否被卖给该客户?

      假设为国外销售订单类型ZA01分配列表/排斥过程

2-[2]:列表处输入被允许的列表过程。

2-[3]:排斥出输入被排斥的列表过程。

究竟哪个过程是列表哪个过程是排斥?

现在,需要强调的是,1-[5]中系统默认设置的2个过程A00001/B00001实际上是完全相同的,使用同一个条件表KOTG001,条件类型A001/B001完全相同,存取顺序A001/B001完全一致,究竟我们如何知道哪个是允许的列表还是排斥呢?答案就在图2中,假设你在2-[2]中输入B00001,则B00001就是列表,虽然该过程叫排斥,同样如果在2-[3]中输入A00001,则A00001就是排斥,虽然该过程叫列表。我举例的目的是为了说明功能和答疑,如果在实际配置时你硬要这样和系统反着干,则纯粹属于抬杠行为。

二.创建列表/排斥记录(Tcode:VB01/VB02/VB03)

同销售定价一样,我们也需要创建列表/排斥记录,如3

 

3表示为客户创建允许销售的产品列表(条件表A001,假设在图2中将排斥设置为A00001则是排斥),假设客户没创建任何列表,则客户默认允许被销售任何产品,如果设置列表,则只允许销售列表中的产品给该客户。

列表和排斥实际目的相同,销售列表和排斥通常在垄断企业或稀缺资源企业应用,市场竞争节烈,大部分普通企业恨不得把客户当上帝给供起来,谁家有东西不想卖出去? 垄断企业或稀缺资源企业不同,客户和经销商们必须得到相关审批或购销合同才能买到相关产品,假设企业产品数千种,客户A可购买除了XYZ之外的全部产品,那就使用排斥,排斥XYZ;客户B只允许购买XZ产品,那就使用列表,如果硬要折腾,排斥掉除XZ之外的数千种和允许XZ列表效果一样。

2中销售列表和排斥是基于销售订单类型的,假设某企业设置列表和排斥只对国外销售订单类型ZA01才有效,对国内销售订单类型无效,对国外设置列表和排斥是因为美国人勾结联合国搞了个DPL(Denied Party List),比如禁止卖汽油、武器等军用物资和科技产品给一些恐怖分子个人、一些地区或一个国家,并且在产品包装区和装卸区进行所谓的反恐检查,对于武器等、TNND Ball,当然DPL通常情况下只适用于其它国家,美国人不一定遵守,比如它可卖武器给台湾,咱们卖个武器还要偷偷摸摸,美国人似乎贼喜欢干这样见不得人的勾当。

三.建立列表和排斥销售订单(Tcode:VA01)

设置了列表和排斥的功能的销售订单在建立时,自动检查该功能,我们可以看到诸如”物料 0000000060071201 已被排除,消息号 V1 117物料 0000000060001843 没有列出因此不允许, 消息号 V1 118,这样就表示列表和排斥确实在起作用。

总结:

启用标准的物料+产品列表/排斥功能,只要直接将过程A00001/B00001分配到销售订单类型并VB01创建物料+产品列表/排斥记录就可。

列表还是排斥可能被其它销售模块其它功能替代, 比如,垄断产品建立销售订单时通常必须需参考经审核的销售合同创建,销售产品只能从合同带出,也就无所谓列表/排斥,且带有销售数量限制,想多买都没门!

(2).采购原料的列表/排斥

采购原料ERP为什么不也启用一个列表/排斥功能呢,应该是考虑原料品种远大于产品种类,有的企业原料高达数十万种,做列表排斥功能数据量太大,本人注意到ERP”失败”有两个重要原因: 一是企业的关键业务流程在该ERP无法实现; 二是性能造成业务无法正常继续,这两个问题基本无解,关键业务流程再去客户化风险太大,而因庞大的数据量引起的性能问题也是另企业郁闷无比的,特别是大型集团的集中服务器经常面临此问题。

  自己造一个,步骤如下:

一.SE11自定义供应商允许采购物料清单表ZVENMAT,如图4:

 

可设置供应商允许的物料组范围和物料范围,同一供应商可设置多物料组范围和物料范围段,SE55设置维护视图,并用SE93建立Tcode,注意选择视图属性避免授权用户在生产系统直接维护时产生传输请求。

二.在采购订单增强中判断供应商允许采购的物料组范围或物料范围。

SMOD:MM06E005选择出口增强函数EXIT_SAPMM06E_012,判断下采购单时间供应商如果在ZVENMAT有记录时则只能采购该表中允许的原料,如果无记录,则允许采购任何原材料。

***控制供应商的原料授权采购  ***

*** By Stone.Fu on 2008/11/20     ***

data: l_ZVENMAT like zvenmat occurs 0 with header line,

         i_mara like mara ,

         i_find(1) type  c,

         i_msgstr(60) type c .

select  *  into table l_ZVENMAT from zvenmat

    where lifnr  = I_LFA1-lifnr .

*如果未找到记录则允许采购所有原材料

check sy-subrc eq  0 .

LOOP AT tekpo.

*找到采购行项目对应的物料号和物料组

   select Single * into i_mara from mara

        where matnr = tekpo-matnr .

  Loop at l_ZVENMAT .

      if ( i_mara-matnr  between l_ZVENMAT-matnrF and l_ZVENMAT-matnrT )

       or ( i_mara-matkl  between l_ZVENMAT-matklF and l_ZVENMAT-matklT ).

*因供应商可多条授权记录,只要找到一条物料/物料组范围则表示被授权采购,退出循环

         i_find = 'X' .

         exit .

      else .

         i_find = ''.

      endif .

  endloop .

  if i_find <> 'X' .

     concatenate '行项目:' tekpo-ebelp  '物料:'

     tekpo-matnr '未经授权该供应商采购,请检查采购授权表ZVENMAT!' into  i_msgstr .

     message E001(00) with  i_msgstr .

    endif .

ENDLOOP .

如果再加上采购物料授权表ZVENMAT再加上公司代码、工厂、授权有效期,允许/排斥标志,实际上就是一个简单的采购列表/排斥。

(3).客户料号/供应商料号/旧料号

a.客户料号的使用

上游有SCM/SRM,中间整ERP,下游玩CRM,不同企业再通过NW的XI做数据集成,软件厂商给你描绘了一副美好的业务蓝图,让企业领导以为只要一实施了其产品立即能进世界500强。

设想一下,假设你在建立销售订单时,能对应到客户那边采购单和客户料号,还是有点意义的,相关使用步骤如下:

I. VOV8:定义销售订单类型时,在“一般控制”页选择“读取信息记录”和“输入PO编号"。

II.VD51假设产品60071201建立了对应客户物料CUSTOMMAT1,VD51还可设置一些销售数量舍入和计量单位组信息。

III.VA01建立销售订单时将自动带出相关客户PO和客户物料号,可双击行项目编号到”订单数据”屏幕,见5

 

理论上,销售订单和采购订单能对应,则企业已发货数/开票数/未清应收和客户已接受数发票数/未清应付都能有个对应关系。通过XI,很多企业实现了集团内部销售/采购单一建,对方自动建立采购/销售订单,当然如果双方/三方在同一台服务器,ERP还提供了更简单的第三方/跨公司采购/销售功能,使用这些标准功能可以大大减少各公司间的物流和资金流操作。

b. MPN供应商料号

OEM,ODM,OBM这些词汇读者可能早已听说,比如客户让你给加工点东西,但指定材料供应商,虽然供应商品质、价格、按时交货率、及技术方面差强人意,次贷风波,金融危机,为了可爱的Money,全家老小能吹空调而不是跑到大街喝西北风,你也就忍了,就可以用用传说中的MPN(Manufacturer Part Number)。在一些重要设备/材料,为了跟踪零件的供应商供货详细信息,也使用MPN,下面简单介绍一下MPN使用步骤:

a.定义制造商零件参数文件,配置如6

 

假设定义制造商零件参数文件MPN1,图中的几个参数意义:

强制的MPN”: 表示使用MPN管理的物料在建立采购订单或计划协议时必须使用MPN料号而非企业自己物料号,这点一定要注意。

 

http://mfg.kingdee.com/pages/sapguru/blog/archive/2008/11/21/331639.aspx