APP下载

一个基于SAP体系的交货排程自动分配系统的设计与实现

2012-09-17陆海平

微型电脑应用 2012年11期
关键词:交货供应商分配

陆海平

0 引言

以往,生产企业在面临供应商很长又不可靠的交货期时,通常都会采取较被动的方法,如准备安全库存、提前备料、人工紧急跟催等,如果生产成品周期出现调整或产能发生变化,很容易产生原物料呆滞库存,增加企业的不必要生产成本。为解决上述问题,本文设计一套供应商交货排程自动分配系统,旨在使供应商的交期及数量遵循企业的实际生产需求,缩短进货周期时间,使企业保持所需求的最小存货量,有效减少了采购成本。

本系统基于 SAP R/3系统设计开发,使用其提供的ABAP语言实现,其中数据显示部分采用了SAP提供的标准ALV显示功能模块,业务数据更新部分,采用了SAP的BAPI接口技术。在完成本系统的过程中,原物料的需求计算很重要。本文根据SAP的供需平衡理念,在其MRP的运算结果基础之上,通过有效的库存数量,去冲减生产需求数量,以得到正确的缺料需求数据。系统设计的过程中,还充分考虑系统与采购人员的交互操作,增加了可人工选择更新数据部分,使得交货排程分配更加灵活。本系统的开发,使用了多种程序模块化技术,使得程序结构清晰,实现了代码复用,并增加了程序的可读写和可维护性[1]。

1 总体系统结构

供应商交货排程自动分配系统的总体结构,如图1所示:

图1 供应商交货排程自动分配系统结构

系统包括 4个部分:物料需求计算模块,物料供给计算模块,供应商交货排程模拟分配模块,更新 SAP系统业务数据模块。为减少开发难度、降低开发风险,都采用分模块的开发方式,后期测试也分模块进行,有效地提高了开发效率。

(1)物料需求计算模块:根据系统MRP计算出来的物料需求时间和需求量,结合该物料的可用库存量,计算出物料在相应时间的短缺量。计算结果,按时间排序并按照事先定义的数据结构存储在数据库中,该数据可随时更新,并加入数据版本控制,生成新数据时,旧版本数据需加上删除标志。该模块计算结果,还可供其它系统采用,如缺料预警系统等。

(2)物料供给计算模块:收集系统中未完成交货的采购单信息,并将结果按一定的格式存储在数据库中,该数据可随时更新,并加入数据版本控制。

(3)供应商交货排程模拟分配模块:该模块是本系统的主模块,在上述两个模块的计算基础上,将系统中的采购单交货排程信息,按照物料需求数据做数量和时间的分配,分配过程中加入参数控制,将模拟计算结果写入数据库中,此部分可多次模拟,每次模拟将产生一个新的数据版本,用于后续查询或选择性更新业务数据。

(4)更新 SAP系统业务数据模块:根据模拟分配的结果,将计算出的采购单交货排程,更新到 SAP系统的业务数据中,该部分使用SAP提供的组件BAPI技术[2]完成。

2 系统软件设计

本系统的 4个软件模块,在 SAP的开发平台-ABAP Workbench上开发,采用其自带的设计语言-ABAP。ABAP工作台组件,是一个以 ABAP语言为基础、功能极为强大而全面的系统定制和开发工具,所开发的应用程序,在R/3 Basis系统应用服务器的工作过程中运行,因而独立于用户所使用的硬件和操作系统。

2.1 物料需求计算程序

物料需求计算程序采用ABAP编程,程序根据SAP-MRP的运行结果【库存/需求清单】展开,将物料的需求日期和数量按时间排序,并用物料的可用库存去满足每一项的需求,如有某项需求不能够满足,则认为此项需求处于缺料状态,程序再将这项需求的缺料日期和数量,保存到数据库中。物料需求计算程序流程,如图2所示:

图2 物料需求计算程序流程

程序设计时重点考虑以下问题:

(1)物料的可用库存,需根据企业定义的库存类型去计算,无效的库存不能纳入计算;

(2)物料的需求数据,需遵循 SAP的【库存/需求清单】,需求类型,可加入选择参数控制,用户可根据实际情况,决定需要满足的物料需求类型;

(3)计算出的物料需求数据需存储至数据库中,并加入数据版本,在新版本产生时,旧版本数据设置为失效。

2.2 物料供给计算程序

物料供给的计算程序,将系统中现有的未交完采购单信息,计算出并存储至数据库中,可加入数据版本控制。设计时,如有其它物料供给信息,比如预留单(MR)等,也需计算并存储,存储时,设置一个标识列,以与采购单信息区别。

2.3 供应商交货排程模拟分配程序

供应商交货排程模拟分配程序,在物料需求程序计算出的物料短缺信息及采购单信息的基础上,根据最近日期优先满足的原则,将采购单的交货排程重新分配,重新分配仅针对采购单的未结数量、分配时,先以MRP建议的采购单优先分配,当分配的采购单数量不够满足需求时,再对其它的采购单进行分配。所有的需求满足后,如还有剩余的采购单数量,可以将这一部分分配到一个指定日期,并标记为无需求状态,此部分数量,可做为向供应商缩减采购订单的依据。每次模拟分配时,需将采购单的分配结果存入数据库中并加上版本控制,便于后续数据查询和验证。编写程序时,按照模拟分配的步骤将程序模块化,每个子模块实现其相应功能,当有新的需求要加入时,程序比较易于维护。供应商交货排程模拟分配程序流程,如图3所示:

图3 供应商交货排程模拟分配程序流程

设计程序时,重点考虑以下问题:

(1)物料的最小包装量:程序在进行供应商交货排程分配时,如该物料有最小包装量,则在分配时,不仅要将每次分配的交货数量补足至最小包装的整数倍,而且对于本次分配时多出的数量,需要在下一个分配中扣除,这样才能保证由最小包装量导致的多余数量,满足到正确的需求日期上,而不会产生过多的交货。

(2)供应商已确认交货排程的处理:交货排程通知供应商后,供应商会对此交货排程做一个确认动作,对于这部分已确认交货排程,在供应商没有发货的前提下,如企业需求出现变化,还是需要对此交货排程重新分配。重新分配时,对于供应商已发交货单的排程需要锁定,并且需要把这些排程的相应日期的数量从需求中扣除。

(3)不能够变更交期的时间区间处理 :供应商交货排程模拟分配时,对于当前日期的邻近日期区间内的排程,需要做锁定处理,因这部分排程供应商已做了备料,如临时发生排程变化,会导致双方的交货协议不一致。所以程序中,可设置一个参数去管理这个区间范围,或者也可以根据物料分开管理,这样,不同的物料会有不同的锁定交货期参数。

2.4 更新SAP系统业务数据模块

BAPI全称为 Business Application Programming Interfaces ,即业务应用编程接口,在SAP内部组件及SAP、非SAP组件之间的技术整合和业务数据传输过程中,起着非常重要的作用[3]。SAP通过BAPI实现组件间的信息和数据交换。与传统意义上的API不同,BAPI提供的整合功能,不仅在技术层面,同时也扩展到了业务层面。BAPI是基于RFC技术实现的,内部程序或外部程序,都可以通过BAPI访问SAP系统中的业务对象、数据和应用。本模块基于BAPI技术,调用其业务对象方法BAPI_PO_CHANGE,其功能,是根据上述模块中计算出的供应商交货排程模拟分配结果,对系统中的采购单交货排程做批量更新动作。设计程序时,需考虑原采购单交货排程数据,已交货部分需要做锁定处理,同时,还要考虑更新的事务处理,如果更新时采购单数据已被更改,需要做数据的回滚机制。

3 测试结果及分析

根据系统的开发结构,测试分4个部分,分别是物料的需求计算测试,物料的供给数据测试,供应商交货排程模拟分配测试,更新SAP系统业务数据测试。

3.1 物料的需求计算测试结果

根据企业的生产需求,考虑物料现有库存的前提下,计算出该物料的需求日期及数量,测试结果,如表1所示:

表1 物料需求计算数据

3.2 物料供给数据计算测试结果

物料的供给数据,基本上是该物料的采购数据,考虑测试的完整性,加入一项预留单(MR)供给数据,后续模拟分配时,此项非采购单供给也需参与分配计算。测试结果,如表2表示:

表2 物料供给数据

3.3 供应商交货排程模拟分配测试结果

供应商交货排程模拟分配时,如表3所示:

表3 供应商交货排程模拟分配

对于过期的需求,其建议交期会放在今天,如表3次序1和次序2两项,建议交期为2011年11月27日(当日)。表2中的预留单一项在分配时会把需求数据(表1)中从2011年10月14日至2011年11月28日的数量999999 PC优先满足,剩余数量107067 PC被分配到2011年11月28日,见表3次序3 。当所有需求满足后,如还有部分采购单未分配,程序中设置将这部分交期统一放到2013年12月31日,见表3次序6 。

3.4 更新SAP系统业务数据测试结果

供应商交货排程模拟分配后,再执行本模块程序将模拟的结果写入SAP系统,测试结果,如表4和表5所示:

表4 更新前SAP交货排程结果

表5 更新后SAP交货排程结果

4 结论

随着企业的不断发展,对供应商交货管理也不断提出新的改善需求。本文设计的供应商交货排程自动分配系统基于SAP体系,数据完全与MRP系统集成,减少了中间转换等不必要环节,使得安排供应商交货更有效率。为实现双赢的企业管理模式,越来越多的企业对实施供应商关系管理(SRM)系统寄予更多重视,本文设计的系统,也为企业后续实施供应商关系管理系统或电子采购系统,打下坚实的基础。

[1]黄佳.SAP程序设计[M].北京:机械工业出版社,2007.

[2]魏喆,谭建荣,冯毅雄,朱亚臣.基于组件BAPI的制造业网络化商务异构数据集成技术[J].机械工程学报,2009,45(12):121-127

[3]黄佳.SAP业务数据传输指南[M].北京:人民邮电出版社,2006.

猜你喜欢

交货供应商分配
考虑延期成本承诺交货时间与产能扩张决策
应答器THR和TFFR分配及SIL等级探讨
遗产的分配
一种分配十分不均的财富
中考话“水”
长纤纺纱机交货量复苏
RMA预测2015年美国轮胎交货量为3.12亿条
供应商汇总
供应商汇总
供应商汇总