ERP系统中控制业务对象状态的装置技术领域
本发明ERP系统复杂业务对象控制涉及技术领域,具体地,涉及ERP系统中控制业
务对象状态的装置。
背景技术
随着ERP单据的复杂性提高,有些业务可能需要处理一些复杂的业务对象的状态。
例如单据序列号的控制,存量模型中各种数据的控制,条码扫描时数据的等,下面以序列号
控制为例,对此发明进行描述:
ERP的单据序列号根据不同的单据存在很多状态,如U8ERP中就有下列状态
(不存在、待入库、在库、待出库、出库、待报废、已报废、待处理、已处理、
销售出库、未知、销售发货、销售退货、在制、改制、返工)等,
用户还可以根据实际需求添加其他状态,这些状态可以在不同的单据间进行转换,每
种单据对其序列号的来源状态和目标状态有特定的要求。例如对一张销售出库单来说,序
列号的来源状态可能是在库或销售发货,目标状态可能是出库或待出库,之间的控制比较
复杂。
目前的解决办法就是按照不同的单据,在代码中按照特殊要求进行控制,每种单
据都需要写不同的代码,如果用户有不同的需求则要改动相应代码,增加程序处理的复杂
度,也不利于实施交付。
为此,就需要为类似业务对象如序列号等提供一个高度灵活易扩展的功能,开发
和实施人员只需要对不同要求做一些简单配置即可,提高开发和交付效率。
发明内容
本发明的目的在于,针对上述问题,提出ERP系统中控制业务对象状态的装置,以
实现对ERP单据中一些复杂业务对象状态的灵活控制。根据不同用户需求可以设置该对象
的状态及其各种状态间的转换控制。
为实现上述目的,本发明采用的技术方案是:ERP系统中控制业务对象状态的装
置,主要包括:
状态维护单元,通过设置一个xml文件,定义目前需要的所有对象状态值及其操作,如
需增加或修改对象状态,则在该节点上增加相应定义;
状态转换单元,实现对不同对象的来源状态和目标状态之间的转换;
状态控制单元,读取状态维护单元和状态转换单元的配置文件,根据配置文件对对象
的状态进行记录和控制;
和状态数据存储单元,包括数据库表,存储对象状态信息、对象的明细信息和栏目值。
进一步地,还包括状态统计分析单元,统计查询对象当前状态以及转换过程明细。
进一步地,所述数据库表为ST_SNDetail_vouchs。
进一步地,状态控制单元包括UFSTSNCO类单元和UFSTSNDMO下的具体实现类
clsUFSTDMO_PUIn,具体包括根据配置文件处理对象状态的控制引擎,读取规则信息,根据
这些配置检查对象状态是否合法,是否满足转换条件,转换后生成哪种状态,决定在数据库
中写入哪些栏目值,对象状态的明细信息写入到数据库表ST_SNDetail_vouchs中,
所述UFSTSNCO类单元读入配置文件加载相应数据,并根据配置信息调用自定义的处理
类clsUFSTSNCO。
进一步地,所述对象状态包括单据序列号的状态,存量模型中各数据的状态和条
码扫描时数据状态。
本发明各实施例的ERP系统中控制业务对象状态的装置,由于主要包括:状态维护
单元,通过设置一个xml文件,定义目前需要的所有对象状态值及其操作,如需增加或修改
对象状态,则在该节点上增加相应定义;状态转换单元,实现对不同对象的来源状态和目标
状态之间的转换;状态控制单元,读取状态维护单元和状态转换单元的配置文件,根据配置
文件对对象的状态进行记录和控制;和状态数据存储单元,包括数据库表,存储对象状态信
息、对象的明细信息和栏目值;从而开发和实施人员只需要对不同要求做一些简单配置即
可,提高开发和交付效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实
施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例所述的ERP系统中控制业务对象状态的装置原理图;
图2为本发明实施例所述的示例单据操作序列号界面图;
图3为本发明实施例所述的用于统计查询序列号当前状态以及转换过程明细示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实
施例仅用于说明和解释本发明,并不用于限定本发明。
具体地,随着ERP单据的复杂性提高,有些业务可能需要处理一些复杂的业务对象
的状态。例如单据序列号的控制,存量模型中各种数据的控制,条码扫描时数据的等,下面
以序列号控制为例,对此发明进行描述:
ERP的单据序列号根据不同的单据存在很多状态,如U8ERP中就有下列状态
(不存在、待入库、在库、待出库、出库、待报废、已报废、待处理、已处理、
销售出库、未知、销售发货、销售退货、在制、改制、返工)等,
用户还可以根据实际需求添加其他状态,这些状态可以在不同的单据间进行转换,每
种单据对其序列号的来源状态和目标状态有特定的要求。例如对一张销售出库单来说,序
列号的来源状态可能是在库或销售发货,目标状态可能是出库或待出库,之间的控制比较
复杂。
结合图1,此发明的关键技术要点是控制序列号对象状态时,能按照预先设定的状
态转换规则对不同单据实现状态转换和控制,这个预定的规则要具备高度的灵活性,可配
置性,可扩展性。具体实现分为状态维护单元,状态转换单元,状态控制单元,状态统计分析
单元。
1)状态维护单元
通过设置一个xml文件定义目前需要的所有对象状态值及其操作,可以自行添加。
如需新增或修改序列号状态,只需在该节点上增加相应定义。
2)状态转换单元
由于各种不同单据的序列号都有来源状态和目标状态,这两种状态的转换规则对不同
的单据和不同的操作都不一致,这里同样采用xml文件记录不同的转换规则。具体设置如下
图。
<vouch>节点定义相应要处理的单据类型,单据对应的数据库表或视图名以及控制单
元的类名称。
<operates>节点定义单据在不同操作下对序列号状态的要求以及转换和控制规
则。
<needstate>:需要的状态
<targetstate>:目标状态
<checkoption>:该操作需控制的栏目
<updateoption>:该操作修改状态表中相应的栏目
3)状态控制单元
此单元读取状态维护单元和状态转换单元的配置文件,根据这些设置对单据的序列号
状态进行记录和控制。目前的方案为由两个类单元实现。
1:UFSTSNCO :主要读入配置文件加载相应数据,并根据配置信息调用自定义的处
理类clsUFSTSNCO。
2: UFSTSNDMO下的具体实现类clsUFSTDMO_PUIn。
这里提供通用的处理类,处理类实现了一套根据配置文件处理序列号状态的控制
引擎。处理类会读取规则信息,根据这些配置检查单据当前序列号状态是否合法,是否满足
转换条件,转换后生成哪种状态,决定在数据库中写入哪些栏目值。
单据序列号的明细信息写入到数据库表ST_SNDetail_vouchs中,
状态信息会写入到数据库表ST_SNstate中
本文发明实现对ERP单据中一些复杂业务对象状态的灵活控制。根据不同用户需求可
以设置该对象的状态及其各种状态间的转换控制,其他对象的实现方式与单据序列号方式
相同,不再赘述。
至少可以达到以下有益效果:
1.不同单据可以灵活配置序列号状态和转换规则,提高开发效率和实施效率。
2.此发明可扩展至其他需要控制状态的对象,例如ERP中存量可用量的控制,可以
根据不同需求配置存量模型中哪些数据量参与运算以及运算的公式;
3.提高系统的易用性;
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管
参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对
前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在
本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护
范围之内。