一种计算低位码的方法及装置的制作方法

文档序号:6468866阅读:359来源:国知局
专利名称:一种计算低位码的方法及装置的制作方法
技术领域
本发明涉及计算机应用领域,尤其是涉及一种计算低位码的方法及装置。
背景技术
企业资源管理计划(Enterprise Resources Plannig, ERP )是应用信息技 术实现对整个企业资源的一体化管理的方法,可在企业资源最优化配置的前 提下,整合企业内部主要或所有的经营活动,包括财务会计、管理会计、生 产计划及管理、成本管理、销售与分销等主要功能模块,以达到效率化经营 的目标。ERP软件实现了对整个供应链的有效管理,体现了事先计划与事中 控制的思想,是一套先进的、行之有效的管理思想和方法。
ERP软件中的主生产计划(Master Production Schedule, MPS )、成本计 算、物料需求计划(material requirements planning, MRP)等功能才莫块需要 使用低位码来保证计算时的运算顺序。成本对象在成本对象耗用关系中会处 于一定的层次,低位码则是该成本对象对应的层次编码。
在对现有技术的研究和实践过程中,本发明的发明人发现现有技术存在 以下问题
现有技术中,低位码是
1) 通过手工计算,或者
2) 通过计算机外的特定硬件设备单元结合软件计算,或者
3) 算法仅适用于特定领域或特定软件的的专用算法得出的。 它们的算法通过感性认识得出的,没有精确的数学公式表示,并只能特
定用于某一模块的计算中,不能通用。

发明内容
本发明实施例提供一种计算低位码的方法及装置,使得低位码的计算完 全通过软件方式实现,则能通用于ERP软件的各功能模块。
为解决上述技术问题,本发明所提供的实施例是通过以下技术方案实现

一种计算低位码的方法读取成本对象的耗用与被耗用关系;
将读取到的所述成本对象耗用关系转换为计算机的数据表示结构后放入 未计算的成本对象集合中;
计算未计算的成本对象集合中的所述成本对象的低位码,并将计算出低 位码的成本对象放入已计算的成本对象集合中;
存储所述成本对象与低位码的对应关系。
一种计算低位码的装置,包括
读取单元,用于读取成本对象的耗用与被耗用关系;
转换单元,用于将所述读取单元读取到的所述成本对象耗用关系转换为 计算机的数据表示结构后放入未计算的成本对象集合中;
计算单元,用于计算所述转换单元放入到未计算的成本对象集合中的所 述成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象 集合中;
存储单元,用于存储所述计算单元计算出的所述成本对象与低位码的对 应关系。
由上述技术方案可以看出,本发明实施例通过将读取到耗用关系的成本 对象转换结构后放入未计算的成本对象集合中,然后计算未计算的成本对象 集合中的所述成本对象的低位码,并将计算出低位码的成本对象放入已计算 的成本对象集合中,存储所述成本对象与低位码的对应关系,使得低位码的 计算完全通过软件运用公式实现,精确简洁,并能通用于ERP软件的各功能 模块。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图l是成本对象清单的层次示意图2是本发明实施例一的方法流程示意图3是本发明实施例二的方法流程示意图;图4是本实施例装置的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在ERP软件的供应链模块中,某些单据,例如领料出库单,通常有表示 哪些成本对象耗用了其它哪些成本对象的耗用关系。在图1中,则表示H耗 用I和J, I耗用K, J耗用L和M。
成本对象在成本对象耗用关系中会处于一定的层次,如图1所示,图1为 耗用关系层次示意图,通常为树形结构(复杂的场景会形成多,形结构, 即一个"森林")。其中,H对应层次O; I和J对应层次1; K、 L和M对 应层次2。当一个成本对象在不同的树形结构中对应多个层次时,其中的最 低层次称为低位码(Low Level Code, LLC), 一个成本对象对应唯一的一 个低位码。如成本对象A在一棵树形结构中对应层次1,还在另一棵树形结 构中对应层次2,则成本对象A的低位码为最低层次,即2。
低位码在成本计算、库存量计算等模块中都有重要作用保证计算时的 运算顺序。ERP成本计算模块中,通常是这样的首先根据成本对象之间的 耗用关系算出各成本对象的低位码,即其在耗用关系中所处的逻辑层次,然 后成本计算时,根据这些低位码值,从大到小,也就是从耗用关系的最下层 往上, 一层层地计算各成本对象在成本管理中的数据,如成本单价等等。因 此,在进行成本计算、库存量计算等计算之前确定各成本对象的低位码是很 重要的。
以下结合附图详细说明本发明各实施例的具体步骤。
实施例一、参见图2详细说明,图2为本实施例的方法流程示意图。
步骤201:读取成本对象的耗用与被耗用关系。
成本对象的耗用与被耗用关系通过树形结构表示,通常,在树形结构上
层的成本对象耗用下一层的成本对象,当然,也可以反向表示和理解为下层 的成本对象耗用上一层的成本对象,可以根据具体业务需要而变换。如图l所示的耗用关系,表示成本对象H耗用成本对象I和J,成本对象
I耗用成本对象K,成本对象J^毛用成本对象L和成本对象M。
步骤202:将读取到的所述成本对象耗用关系转换为计算机的数据表示结
构后放入未计算的成本对象集合中。
计算机的数据表示结构可以为映射集合的数据结构。
将所有成本对象与耗用它的其它成本对象的耗用关系,转换为映射集合 的数据结构,其中,集合逗号左边的成本对象耗用右边的一个或多个成本对 象。
例如图l所示的耗用关系,转换为映射集合结构后为{空,H}, {H, 〔1, J〕 }, {I, K}, {J, 〔L, M〕 }。
逗号左边为空的集合表示逗号右边的成本对象没有被其他成本对象耗 用,该成本对象即为树形结构的根,对应的低位码为O。在一组耗用关系中, 应该至少出现一个逗号左边为空的集合。
默认所有成本对象都未经过计算,因此,将转换成的映射集合全放入未 计算的成本对象集合中,以备步骤203计算使用。
步骤203:计算未计算的成本对象集合中的所述成本对象的低位码,并将 计算出低位码的成本对象放入已计算的成本对象集合中。
计算低位码可使用公式
CO_Rank = Max(C01_r, C02—r,...Con一r) + 1
其中,CO—Rank表示某一被耗用的待计算的成本对象(CostObject, CO) 的低位码;COl—r, C02—r,…Con一r表示所有耗用CO的其他成本对象的低位 码的集合;Max表示求所有耗用CO的其他成本对象的低位码的集合中的最大 值。该公式即表示某成本对象的低位码,是所有耗用它的成本对象的低位码 值的集合中的最大值加一。
可以将多个成本对象同时进^"计算,以缩短计算过程。
计算时,可首先找到逗号左边为空的集合,确定该集合中的成本对象对 应的低位码为0后,再计算其他成本对象对应的低位码。其他成本对象对应的 低位码计算可并行化,都不影响本发明实施例的实现,并能加快处理速度。
可在计算时判断成本对象是否被计算过,是否存在循环引用的异常耗用问题等,并在存在循环引用的异常耗用问题时向用户报警,可在计算进行时 或者计算完成后报警,都不影响本发明实施例的实现。
步骤204:存储所述成本对象与低位码的对应关系。 存储计算出的低位码,以备各模块计算时调用。
可存储在相应的数据库或者EXCEL表格中,都不影响本发明实施例的 实现。
当然,树形结构表示下层的成本对象耗用上一层的成本对象时,也不影 响本发明实施例的实现。即图l所示的耗用关系,则表示成本对象H被成本 对象I和J耗用,成本对象I被成本对象K耗用,成本对象J被成本对象L 和成本对象M耗用。
此时,将耗用关系转换为映射集合的数据结构,其中,集合逗号左边的 成本对象被右边的 一个或多个成本对象耗用。则逗号左边为空的集合表示逗 号右边的成本对象没有耗用其他成本对象,该成本对象也即为树形结构的根, 对应的低位码为0。
公式CO—Rank = Max(C01—r, C02—r,…Con—r) + 1中各参数意义则为
CO一Rank表示某一待计算的成本对象(或ERP软件中其它类似事物)的低 位码;C01一r, C02_r, ...Con—r表示所有被CO耗用的其他成本对象的低位 码的集合;Max表示求所有被CO耗用的其他成本对象的低位码的集合中的 最大值。该公式即表示某成本对象的低位码,是所有被它耗用的成本对象的 低位码值的集合中的最大值加一。
本发明实施例通过将读取到耗用关系的成本对象转换结构后放入未计算 的成本对象集合中,然后计算未计算的成本对象集合中的所述成本对象的低 位码,并将计算出低位码的成本对象放入已计算的成本对象集合中,存储所 述成本对象与低位码的对应关系,使得低位码的计算完全通过软件运用公式 实现,精确简洁,并能通用于ERP软件的各功能模块。
本发明把求解ERP软件中大量成本对象之间的耗用关系中成本对象的所 处逻辑层数、大量BOM中的产品结构中的物料所处逻辑层次等等类似现象, 提炼为了 一个数学计算公式CO—Rank = Max(C01—r, C02—r,…COn—r) + 1 。
8此简洁的数学公式及其展示的算法思想,比现有的计算方法,有如下核 心进步
1、 数学公式定义精确,无二义性,容易推理其正确性,也保证了实现它
的^:件的正确性。
2、 便于软件开发人员(他们对数学公式比冗长的文字描述通常更壽l感更 深刻)更好地理解程序代码,提升了软件的可维护性。
3、 数学公式不是一成不变的,而是可以变换下而适应具体业务需求的, 它的可扩展性极好。例如如果业务需要可把此式的加一变成减一;或 者把此求解出的值减该树的最大层次数再算其绝对值,即得出了上下 层次值翻转的效果。
4、 此公式所表示的算法,可以非常简洁、高效地在软件中实现。例如求 解C01—r,C02—r...各耗用成本对象时,可以把这个函数并行化,每一 步让多核CPU同时处理多个成本对象。软件的性能、可伸缩性得到极 大提升。
5、 本发明的计算方法功能强大,尤其在于检测循环领用的异常业务情 况,对于帮助用户采取改正措施起极大作用。例如,如7>式所示,这 是一个递归定义公式,它的递归方法调用栈(本领域的普通技术人员 能够理解)能方便地存储耗用关系链,从而发现异常情况并记录。
以下实施例二对实施例一在实际应用场景中的流程进4于详细i兌明,以下 实施例都以树形结构上层的成本对象耗用下一层的成本对象为例进行说明。 实施例二、参见图3详细说明,图3为本实施例的方法流程示意图。 步骤301:读取成本对象的耗用与被耗用关系。
步骤302:将读取到的所述成本对象耗用关系转换结构后放入未计算的成 本对象集合中。
将耗用关系转换为映射集合的数据结构,其中,逗号右边的成本对象被 左边的一个或多个成本对象所耗用。
步骤303:准备计算未计算的成本对象集合中的所述成本对象的低位码。
准备将未计算的成本对象集合中一一计算出低位码。
步骤304:判断当前计算的成本对象是否被其他成本对象耗用,若无,
9则转步骤307,若是,则转步骤309。
即查看该成本对象是否被包含在逗号左边为空的集合中,若是,则转步骤307。
步骤305:判断当前计算的成本对象是否已包含在已计算的成本对象集合中,若是,则转步骤308,若无,则转步骤309。
步骤306:判断当前计算的成本对象是否存在循环引用的异常耗用关系,若是,则转步骤313,若无,则转步骤309。
循环引用的异常耗用关系指不能将该成本对象的耗用关系表示为单向耗用的情况,例如,成本对象1耗用成本对象2,成本对象2耗用成本对象3,但成本对象3却反过来耗用成本对象1,即组成了一个环。
以上步骤304至步骤306并无前后顺序关系,可同时进行,或者按照其他顺序进行,都不影响本发明实施例的实现。
步骤307:确定该成本对象低位码为零,转步骤310。
该成本对象是否被包含在逗号左边为空的集合中,则说明该成本对象没有被其他成本对象耗用,该成本对象即为某耗用关系的根,对应的低位码为夺。
步骤308:返回该成本对象的低位码,转步骤311。
当前计算的成本对象是否已包含在已计算的成本对象集合中。则说明该成本对象已经经过了低位码的计算,则可直接返回存储的对应低位码,然后转步骤311。
步骤309:计算出低位码,并将该成本对象放入已计算的成本对象集合中。
计算低位码可通过公式CO—Rank = Max(C01_r, C02—r,…Con_r) + 1其中,CO—Rank表示某一被耗用的待计算的成本对象CO ( Cost Object,CO)的低位码;C01一r,C02—r,…Con—r表示所有耗用CO的其他成本对象的低位码的集合;Max表示求所有耗用CO的其他成本对象的低位码的集合中的最大值。该公式即表示某成本对象的低位码,是所有耗用它的成本对象的低位码值的集合中的最大值加一。
步骤310:存储所述成本对象与低位码的对应关系。
10步骤311:判断未计算的成本对象集合中是否还包含成本对象,若是,则转步骤303,若否,则转步骤312。
未计算的成本对象集合中还包含有成本对象时,则转步骤303,继续计算下一个成本对象的低位码;若已全部计算完毕,则转步骤312。
步骤312:退出计算过程。
步骤313:向用户报警,转步骤312。
在当前计算的成本对象存在循环引用的异常耗用关系时,可向用户报警。报警可以在计算过程中即时报警,即在报警后转步骤312,退出计算过程;也可先记录存在异常耗用关系的成本对象,在其他成本对象的低位码计算完毕后,再向用户报警,即在报警后转步骤303,都不影响本发明实施例的实现。
得出各成本对象的低位码后,ERP软件的成本计算、库存量计算等模块则可利用低位码确定计算的顺序。
本发明实施例通过将读取到耗用关系的成本对象转换结构后放入未计算的成本对象集合中,然后计算未计算的成本对象集合中的所述成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象集合中,存储所述成本对象与低位码的对应关系,使得低位码的计算完全通过软件运用公式实现,精确简洁,并能通用于ERP软件的各功能模块。
并在出现循环引用的异常耗用关系时,可向用户报警,用户则可及时进行修正或调整,加强软件的人机互动,提升用户的工作效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上提供了 一种计算低位码的方法,本发明实施例还提供一种计算低位码的装置。
一种计算低位码的装置40,参见图4,图4为本实施例装置的结构示意
图,包括
读取单元41,用于读取成本对象的耗用与被耗用关系;转换单元42,用于将所述读取单元41读取到的所述成本对象耗用关系转换为计算机的数据表示结构后放入未计算的成本对象集合中;可转换为映射
集合的数据结构,其中,集合逗号右边的成本对象被左边的一个或多个成本对象所耗用。
计算单元43,用于计算所述转换单元42放入到未计算的成本对象集合中的所述成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象集合中;还具体用于在树形结构上层的成本对象耗用下一层的成本对象时,将没有被耗用的成本对象的低位码标记为0,将耗用的成本对象中的最大低位码加一得到被耗用的成本对象的低位码;在树形结构下层的成本对象耗用上一层的成本对象时,将没有耗用其他成本对象的成本对象的低位码标记为0,将自身耗用的成本对象中的最大低位码加一得到成本对象的低位码。
存储单元44,用于存储所述计算单元43计算出的所述成本对象与低位码的对应关系。
所述计算低位码的装置40还包括
告警单元45,用于将所述计算单元43计算过程中发现有耗用异常情况的成本对象放入耗用异常的成本对象集合中,并告警示意。所述计算单元44还包括子单元
查找单元46,用于在已计算的成本对象集合中查找是否有当前正在计算的成本对象;若没有,则计算该成本对象的低位码;若有,则返回该成本对象对应的低位码。
本发明实施例通过将读取到耗用关系的成本对象转换结构后放入未计算的成本对象集合中,然后计算未计算的成本对象集合中的所述成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象集合中,存储所述成本对象与低位码的对应关系,使得低位码的计算完全通过软件方式实现,则能通用于ERP软件的各功能模块。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流 程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于 一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施
例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。 以上对本发明实施例所提供的一种计算低位码的方法和装置进行了详细
实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本 领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均 会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种计算低位码的方法,其特征在于读取成本对象的耗用与被耗用关系;将读取到的所述成本对象耗用关系转换为计算机的数据表示结构后放入未计算的成本对象集合中;计算未计算的成本对象集合中的所述成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象集合中;存储所述成本对象与低位码的对应关系。
2、 根据权利要求1所述的方法,其特征在于,所述计算未计算的成本对 象集合中的所述成本对象的低位码,并将计算出低位码的所述成本对象放入 已计算的成本对象集合中还包括将有耗用异常情况的成本对象放入耗用异常的成本对象集合中,并告警示意o
3、 根据权利要求1或2所述的方法,其特征在于,所述计算未计算的成 本对象集合中的所述成本对象的低位码具体为将没有被耗用的成本对象的低位码标记为0,将耗用的成本对象中的最大 低位码加一得到被耗用的成本对象的低位码。
4、 根据权利要求1或2所述的方法,其特征在于,所述计算未计算的成 本对象集合中的所述成本对象的低位码具体为将没有耗用其他成本对象的成本对象的低位码标记为0,将被耗用的成本 对象中的最大低位码加 一得到该成本对象的低位码。
5、 根据权利要求3所述的方法,其特征在于,所述计算未计算的成本对 象集合中的所述成本对象的低位码还包括在已计算的成本对象集合中查找是否有当前正在计算的成本对象; 若没有,则计算该成本对象的低位码; 若有,则返回该成本对象对应的低位码。
6、 一种计算低位码的装置,其特征在于,包括 读取单元,用于读取成本对象的*€用与#皮耗用关系;转换单元,用于将所述读取单元读取到的所述成本对象耗用关系转换为 计算机的数据表示结构后^C^未计算的成本对象集合中;计算单元,用于计算所述转换单元放入到未计算的成本对象集合中的所述成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象集合中;存储单元,用于存储所述计算单元计算出的所述成本对象与低位码的对应关系。
7、 根据权利要求6所述的装置,其特征在于,所述计算单元还包括告警单元,用于将有耗用异常情况的成本对象放入耗用异常的成本对象集合中,并告警示意。
8、 根据权利要求6或7所述的装置,其特征在于,所述计算单元具体用于将没有被耗用的成本对象的低位码标记为0,将耗用的成本对象中的最大低位码加一得到被耗用的成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象集合中。
9、 根据权利要求6或7所述的装置,其特征在于,所述计算单元具体用于将没有耗用其他成本对象的成本对象的低位码标记为0,将被耗用的成本对象中的最大低位码加一得到该成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象集合中。
10、 根据权利要求8所述的装置,其特征在于,所述计算单元还包括查找单元,用于在已计算的成本对象集合中查找是否有当前正在计算的成本对象;若没有,则计算该成本对象的低位码;若有,则返回该成本对象对应的低位码。
全文摘要
本发明实施例公开了一种计算低位码的方法及装置,所述方法为读取成本对象的耗用与被耗用关系;将读取到的所述成本对象耗用关系转换为计算机的数据表示结构后放入未计算的成本对象集合中;计算未计算的成本对象集合中的所述成本对象的低位码,并将计算出低位码的成本对象放入已计算的成本对象集合中;存储所述成本对象与低位码的对应关系。本发明实施例提供的计算低位码的方法,使得低位码的计算完全通过软件运用公式实现,精确简洁,并能通用于ERP软件的各功能模块。
文档编号G06Q10/00GK101458790SQ200810187728
公开日2009年6月17日 申请日期2008年12月31日 优先权日2008年12月31日
发明者孙奇辉 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1