一种基于SAP的根据工单需求自动解冻的方法与流程

文档序号:12864332阅读:2676来源:国知局

本发明涉及一种基于sap的根据工单需求自动解冻的方法。



背景技术:

sap为“systemapplicationsandproducts”的简称,是企业管理解决方案的软件名称。物料需求计划(materialrequirementplanning,mrp)即指根据产品结构各层次物品的从属和数量关系,以每个物品为计划对象,以完工时期为时间基准倒排计划,按提前期长短区别各个物品下达计划时间的先后顺序,是一种工业制造企业内物料计划管理模式。

对于部分特定的采购物资,不同部门有不同的管控点:(1)财务从资金管控上出发,要求在物资在采购入库时不与供应商挂账,而需等到物资在生产消耗后,再与供应商结算,即寄售模式。(2)销售从客户的要求出发,要求采购订单绑定销售订单,对应入库的库存也绑定销售订单,即跟单模式。

sap标准解决方案为:由于sap标准功能无法实现采购订单同时跟单和寄售,只能通过在采购单绑定销售单和移动类型103和105配对使用,达到销售、财务的管控效果。其中,sap移动类型为sap系统中用于标志物料移动(收货/发货/转储/转储记帐)的三位的数字/字母。通常分几大类:收货、发货、转储、库房调整,移动类型103指的是采购订单收货至冻结状态的库存,移动类型105指的是批准仓库中冻结的收货库存。sap事务代码是激活一个sap功能窗口的代码串,通常由字母和数字组成。

对于物资免检的sap标准事务处理流程,包括以下几个步骤:(1)sap标准事务代码migo根据采购单收货,使用移动类型103。此时sap库存“非限制库存”不增加,对应数量增加在“收货冻结的库存”,且无会计凭证生成。(2)办理103收货后,库管将物资搬运至特定区域,进入冻结状态。(3)在销售订单对应的工单排工后,sap生成生产预留单。(4)库房发料人员检查预留单中“独立需求”的物料,使用标准事务代码mmbe核对物料的“非限制库存”是否有差缺。(5)如有差缺,再判断“收货冻结的库存”是否有数量可以解冻。(6)如果有数量,mmbe可以通过右键查询出对应的所有采购单。(7)选择一个采购单,使用标准事务代码migo收货,移动类型105。此时sap该物料的“非限制库存”增加对应数量,“收货冻结的库存”减少,并生成会计凭证。(8)反复操作第6至7步,直至该物料“非限制库存”满足预留单要求。(9)库房人员需重复4至8步,直至该工单的预留单里所有“独立需求”物料无差缺。(10)财务月结时,按会计凭证生成的日期挂账。

对于物资非免检的sap标准事务处理流程,包括以下几个步骤:(1)sap标准事务代码migo根据采购单收货,使用移动类型103。此时sap生成检验批,无会计凭证。(2)质检人员在事务代码qa32内查询未质检的检验批,质检合格后录入质检结果,不合格则办理退货。(3)对于质检合格的103,库管将物资搬运至特定区域,进入冻结状态。(4)在销售订单对应的工单排工后,sap生成生产预留单。(5)库房发料人员检查预留单中“独立需求”的物料,使用标准事务代码mmbe核对物料的“非限制库存”是否有差缺。(6)如有差缺,再判断“收货冻结的库存”是否有数量可以解冻。(7)如果有数量,标准事务代码mmbe可以通过右键查询出对应的所有采购单。(8)通过标准事务代码me23n查询该采购单103凭证的检验批。(9)通过标准事务代码qa12,将合格数过账、解冻。此时sap该物料的“非限制库存”增加对应数量,“收货冻结的库存”减少,并生成会计凭证。(10)反复操作第7-9步,直至该物料“非限制库存”满足预留单要求。(11)库房人员需重复5至10步,直至该工单的预留单里所有“独立需求”物料无差缺。(12)财务月结时,按会计凭证生成的日期挂账。

然而sap标准解决方案中的缺陷包括:对于库房物资管理员来说,将面对的几个问题:(1)我的库房里有哪些物资目前是处于“收货冻结的库存”,数量是多少(2)这些“收货冻结的库存”我应该什么时候去操作105;操作多少数量;(3)如果需要操作的物料很多,我能快速操作完成吗;而sap标准的解决方案,却无法快速、直观的解决这些问题:(1)sap标准事务代码mmbe可以查询“收货冻结的库存”,但一次仅可查询一个物料编码,且物料编码必须知道、输入。其他库存查询标准事务代码可批量库存,但均无法显示“收货冻结的库存”。(2)sap标准事务处理流程可见,库房数据员是被动的,无法主动在工单下达后,第一时间批量、直观的发现“独立需求”中存在“收货冻结的库存”的差缺。(3)从sap标准事务处理流可见,操作是需要逐项、反复核对的,效率低,量大时且容易出错。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于sap的根据工单需求自动解冻的方法。

本发明的目的是通过以下技术方案来实现的:一种基于sap的根据工单需求自动解冻的方法,每隔一段时间执行以下步骤:

s1:设置基础日期,以基础日期+n天为范围,去搜索sap系统内需求日期在此范围内的生产订单;

s2:抓取生产订单预留中单独需求的物料及需求数量,与库存中的非限制库存比较,当库存无法满足需求时,至步骤s3;

s3:查找符合工单对应销售订单的所有跟单采购订单,并列出其中移动类型103的采购订单收货至冻结状态的库存;

s4:以先进先出原则,将移动类型103的采购订单收货至冻结状态的库存中入库凭证最早的库存依次取出,直至需求满足;

s5:判断物料是否需要检验,如果不需要检验时,则直接调用bapi接口过账;如果需要检验时,判断对应的检验批是否已录结果,若没做录入结果则排除该数据,若有则调用bapi接口,将其合格数量进行过账;

s6:输出报表,将执行结果展示。

进一步地,所述的方法在将执行结果展示之后还包括以下步骤:

s7:若一定时间内的工单仍有差缺,采购人员立刻催货。

进一步地,步骤s3~s6包括以下子步骤:

s81:根据工单信息,关联订单项afpo表和采购凭证中的帐户设置ekkn表的对应字段,所述的对应字段包括订单编号、行项目号和物料编码;

s82:排除ekkn表中删除标识字段loekz为非空的采购订单对应的所有行项目;

s83:排除采购凭证项目ekpo表中删除标识字段loekz或交货已完成标识字段elikz中任意一个为非空的采购订单及行项目;

s84:查询ekpo表,只保留科目分配类别字段knttp为m和国际贸易条件字段inco2为挂账的采购订单及行项目;其中,科目分配类别字段knttp为m表示为通过mrp将采购申请转换成的采购订单;

s85:根据保留的采购订单及行项目,在采购凭证历史ekbe表中查找,得到所有的物料凭证编号lfbnr和行项目号buzei;;

s86:分别对移动类型103的非质检库存和移动类型103的质检库存的数量进行确定和过账,其中对于非质检库存的数量进行确定和过账包括以下子步骤:

s8611:根据步骤s85得到的物料凭证编号lfbnr和行项目号buzei,查询检验批和物料凭证的连接表qamb,保留在qamb表中找不到检验批字段prueflos且在qamb表中检验批和物料凭证间的参考类型字段typ的值为1的物料凭证编号及行项目号,其中typ的值等于1表示为根据单据建立的物料凭证;

s8612:根据保留的物料凭证编号,在ekbe表找到所有的物料凭证字段belnr、行项目号字段buzei及对应的移动类型字段bwart、数量字段wesbs;

s8613:计算收获冻结的库存数量=移动类型103的库存-移动类型104的库存-移动类型105的库存+移动类型106的库存,并按照物料凭证编号排序;其中,移动类型105指的是批准仓库中冻结状态收货,移动类型104指的是移动类型103的冲销回滚,移动类型106指的是移动类型105的冲销回滚;

s8614:根据每一个103物料凭证字段belnr计算的库存数量与缺少数量比较,当第一个103物料凭证字段对应的库存数量小于缺少数量时,查找下一个103物料凭证字段的库存数量,直至满足需求;

s8615:根据找到的103物料凭证字段belnr及行项目号字段buzei,使用移动类型105调用bapi接口过账;

对于质检库存的数量进行确定和过账包括以下子步骤:

s8621:根据步骤s85得到的物料凭证编号lfbnr和行项目号buzei,查询检验批和物料凭证的连接表qamb,在检验批和物料凭证的连接qamb表找到检验批字段prueflos且在qamb表中检验批和物料凭证间的参考类型字段typ的值为1;然后根据所述检验批字段prueflos在使用决策的检验批的视图qave表中找到使用决策字段vcode非空的移动类型为103的物料凭证及行项目号,保留找到的物料凭证编号及行项目号,其中决策字段vcode非空表示质检员已经录入了质检结果:

(1)当根据检验批字段prueflos在表qamb中不能找到物料凭证即参考类型字段typ的值typ=3时,判定为未质检过账,其中,typ=3表示为质检过账的物料凭证;

(2)当根据检验批字段prueflos在表qamb中能找到物料凭证时,根据保留的物料凭证编号,找到所有的物料凭证字段belnr、行项目号字段buzei及对应的移动类型字段bwart、数量字段wesbs;并计算收货冻结的库存数量=移动类型103的库存-移动类型104的库存-移动类型105的库存+移动类型106的库存-移动类型124的库存,按物料凭证编号排序;移动类型124表示退货;

s8622:根据每一个103凭证计算的库存数量与缺少数量比较,当第一个103物料凭证对应的库存数量小于缺少数量时,查找下一个103物料凭证的库存数量,直至满足需求;

s8623:根据找到的检验批字段prueflos调用bdc接口过账。

进一步地,所述的报表输出的结果包括:销售订单、销售订单行项目、生产订单、工厂、生产订单开始日期、预留编号、预留行项目号、物料编码、物料描述、总需求数量、已发料数量、净需求数量、可用库存数量、缺少数量、103收货冻结的库存、库存地点、批次。

进一步地,所述的设置基础日期包括自动设置当前日期为基础日期。

本发明的有益效果是:(1)本发明减少人工,转换效率高:不仅不需要库房数据员人为去检查库存;而且在转换的时候,不需要库房数据员核对采购单、销售订单、工单的关系后,再逐一解冻。既实现了财务从资金管控上出发要求的寄售模式,又实现了销售从客户的要求出发的跟单模式。(2)本发明将转换工作变被动为主动,系统自动转换工单的范围是当天到次n日,预防工单在派工后,因为差缺而停线。

附图说明

图1为本发明方法流程图。

具体实施方式

下面结合附图进一步详细描述本发明的技术方案:

如图1所示,一种基于sap的根据工单需求自动解冻的方法,每隔一段时间(每一小时)执行以下步骤:

s1:自动设置当前日期为基础日期,以基础日期+2天为范围,去搜索sap系统内需求日期在此范围内的生产订单;其中,afpo表为工单的主表。

具体地,首先工单主表afko的基本开始日期字段gstrp,可通过时间查询到工单,再通过工单号关联,查询工单主表afpo,得到销售单和行项目号。

s2:抓取生产订单预留中单独需求的物料及需求数量,与库存中的非限制库存比较,当库存无法满足需求时,至步骤s3;

其中,sap物料基础数据中有独立/集中两种属性值,集中代表运行mrp之后,无论来源如何,所有的需求都汇总为一个采购或者生产订单;独立代表运行mrp之后,会根据不同的销售订单需求来源生成不同的采购或者生产订单。而本实施例就是解决物料为独立需求的解冻。另外,sap标准方案中,属性为集中的物料,是使用“寄售模式”,不会使用“冻结”再“解冻”的模式。而独立需求的物料,却不能使用“寄售模式”。需求数量指的是,独立需求的物料所涉及的工单需求数量。

具体地,步骤s2需要将物料编码工单主表afpo和工单明细表resb以工单号关联(resb表中mantr字段等于ekpo表中mantr字段)进行关联,然后可以查询到投料需求的物料明细和数量,再根据物料查询可用的库存,得到差缺。

afpo是工单主表,resb是工单明细表;即afpo是存的工单生产的成品a,100个;而resb是存的要生产a,需要进行投料的原材料a,b,c,d,e,f…,我们要解冻的是原材料,所以要通过afpo找到resb的原材料,再计算原材料是总需求。工单表afpo通过销售订单关联到的ekkn,即是采购单订单明细表,这些采购明细也是原材料,对应resb的投料需求。

s3:查找符合工单对应销售订单的所有跟单采购订单,并列出其中移动类型103的采购订单收货至冻结状态的库存;

具体地,工单主表afpo和采购表ekkn以销售订单号、项目号关联,可以查询到哪些采购单是为这个销售订单的工单采购的。其中,根据工单信息,关联订单项afpo表和采购凭证中的帐户设置ekkn表的对应字段,所述的对应字段包括订单编号(afpo表中kdauf字段等于ekkn表中vbeln字段,afpo表中kdauf字段表示销售订单号,ekkn表中vbeln字段表示销售和分销凭证号),行项目号(afpo表中kdpos字段等于ekkn表中vbelp字段,afpo表中kdpos字段表示销售订单行项,ekkn表中vbelp字段表示销售单据项目);其中,关联订单项afpo表为sap中的通用数据表,采购凭证中的帐户设置ekkn表也为sap中的通用数据表。

s4:以先进先出原则,将移动类型103的采购订单收货至冻结状态的库存中入库凭证最早的库存依次取出,直至需求满足;

具体地,该步骤由以下子步骤组成:

s41:排除ekkn表中删除标识字段loekz为非空的采购订单对应的所有行项目;删除标识字段loekz为非空表示未删除;

s42:排除采购凭证项目ekpo表中删除标识字段loekz或交货已完成标识字段elikz中任意一个为非空的采购订单及行项目;其中,采购凭证项目ekpo表为sap中的通用数据表,交货已完成标识字段elikz为非空表示交货未完成;

s43:查询ekpo表,只保留科目分配类别字段knttp为m和国际贸易条件字段inco2为挂账的采购订单及行项目;其中,科目分配类别字段knttp为m表示采购单是“指定销售订单”的,国际贸易条件字段为挂账,即表示该采购单是寄售模式,即收货入库不挂账,在耗用后再挂账;

其中,科目分配类别字段是采购单行项目里面的一个属性值,前面提到的物料属性为“独立”时,对应mrp跑出来的采购申请转成的采购订单,这个“科目分配类别”就为m,代表“销售订单的单独采购”,这类采购单,都会跟着销售订单+行项目,收货后直接到销售订单库存,而不是通用库存,其他销售订单是无法消耗与之不对应的销售订单库存。

sap标准解决方案对于采购单即“指定销售订单”又“寄售”,无行业简便方案,通常通过103冻结,再105解冻方式处理,这也是本程序要特定解决这类采购单的解冻问题。

s44:根据保留的采购订单及行项目,在采购凭证历史ekbe表中查找,得到所有的物料凭证编号lfbnr;其中,采购凭证历史ekbe表为sap中的通用数据表。

s5:判断物料是否需要检验(用上面的103物料凭证查询qamb,typ=1,如有记录,则是需要质检),如果不需要检验时,则直接调用bapi接口过账;如果需要检验时,判断对应的检验批是否已录结果,若没做录入结果则排除该数据,若有则调用bapi接口,将其合格数量进行过账;

具体地,对于需要质检的物料,根据s4步骤中的物料凭证中,在表qamb中查询,找到的检验批prueflos:若qamb表中没有检验结果,需要再通过检验批prueflos关联表qave查找检验结果vcode;若qave表中质检结果vcode为非空(此时有质检结果),再检查是否已经解冻过账(查询qamb,typ=3,如有记录,则此检验有过解冻),如果是,则计算剩下可过账的冻结库存,如果否,则计算合格的冻结库存。计算完后,调用bapi过账。

s86:分别对移动类型103的非质检库存和移动类型103的质检库存的数量进行确定和过账,其中对于非质检库存的数量进行确定和过账包括以下子步骤:

s8611:根据步骤s85得到的物料凭证编号lfbnr和行项目号buzei,查询检验批和物料凭证的连接表qamb,保留在qamb表中找不到检验批字段prueflos且在qamb表中检验批和物料凭证间的参考类型字段typ的值为1的物料凭证编号及行项目号,其中typ的值等于1表示为根据单据建立的物料凭证;

s8612:根据保留的物料凭证编号,在ekbe表找到所有的物料凭证字段belnr、行项目号字段buzei及对应的移动类型字段bwart、数量字段wesbs;

s8613:计算收获冻结的库存数量=移动类型103的库存-移动类型104的库存-移动类型105的库存+移动类型106的库存,并按照物料凭证编号排序;其中,移动类型105指的是批准仓库中冻结状态收货,移动类型104指的是移动类型103的冲销回滚,移动类型106指的是移动类型105的冲销回滚;在sap中,每个移动类型都有对应的冲销类型,就好比“做错了,数据回滚”。所以逻辑中104就是103的“冲销回滚”,106就是105的“冲销回滚”。从业务上来说,是有可能做错了冲销的,所以逻辑要考虑。

s8614:根据每一个103物料凭证字段belnr计算的库存数量与缺少数量比较,当第一个103物料凭证字段对应的库存数量小于缺少数量时,查找下一个103物料凭证字段的库存数量,直至满足需求;

s8615:根据找到的103物料凭证字段belnr及行项目号字段buzei,使用移动类型105调用bapi接口过账;

对于质检库存的数量进行确定和过账包括以下子步骤:

s8621:根据步骤s85得到的物料凭证编号lfbnr和行项目号buzei,查询检验批和物料凭证的连接表qamb,在检验批和物料凭证的连接qamb表找到检验批字段prueflos且在qamb表中检验批和物料凭证间的参考类型字段typ的值为1;然后根据所述检验批字段prueflos在使用决策的检验批的视图qave表中找到使用决策字段vcode非空的移动类型为103的物料凭证及行项目号,保留找到的物料凭证编号及行项目号,其中决策字段vcode非空表示质检员已经录入了质检结果:

(1)当根据检验批字段prueflos在表qamb中不能找到物料凭证即参考类型字段typ的值typ=3时,判定为未质检过账,其中,typ=3表示为质检过账的物料凭证;

(2)当根据检验批字段prueflos在表qamb中能找到物料凭证时,根据保留的物料凭证编号,找到所有的物料凭证字段belnr、行项目号字段buzei及对应的移动类型字段bwart、数量字段wesbs;并计算收货冻结的库存数量=移动类型103的库存-移动类型104的库存-移动类型105的库存+移动类型106的库存-移动类型124的库存,按物料凭证编号排序;移动类型124表示退货;

s8622:根据每一个103凭证计算的库存数量与缺少数量比较,当第一个103物料凭证对应的库存数量小于缺少数量时,查找下一个103物料凭证的库存数量,直至满足需求;

s8623:根据找到的检验批字段prueflos调用bapi接口过账。

s6:输出报表,将执行结果展示。

其中,以上步骤可以通过事务代码sm37实现。

更优地,在本实施例中,所述的方法在将执行结果展示之后还包括以下步骤:

s7:若一定时间内的工单仍有差缺,采购人员立刻催货。

更优地,在本实施例中,所述的报表输出的结果包括:销售订单、销售订单行项目、生产订单、工厂、生产订单开始日期、预留编号、预留行项目号、物料编码、物料描述、总需求数量、已发料数量、净需求数量、可用库存数量、缺少数量、103收货冻结的库存、库存地点、批次。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1