[4]顾武军,俞向前,瞿瑜萍,等.对浦东地区畜禽种质资源保护与开
发利用策略的思考[J].上海畜牧兽医通讯,2011(6):52-53.[5]
XIAO Q ,ZHANG Z ,SUN H ,et al.Pudong white pig:a unique genetic resource
disclosed
by
sequencing
data [J].Animal ,
2016,11(7):1117-1124.
[6]
周立新.德国猪遗传资源保护与开发利用及启示[J].四川畜牧兽医,2012,259(5):8-10.
[7]肖倩,张哲,孙浩,等.浦东白猪及其猪胴体与肉质性能分析
[J].畜牧与兽医,2016,48(2):49-53.
[8]肖倩,张哲,孙浩,等.浦东白猪杂交试验报告——
—繁殖性能与育肥性能[J].畜牧与兽医,2016,48(5):70-72.
[9]肖倩,张哲,孙浩,等.浦东白猪遗传多样性及繁殖性能的变化分
析[J].中国畜牧兽医,2017,44(4):1095-1101.
[10]赵颂,朱弘焱,于百平,等.猪抗病基因Mx1第14外显子多态
性与免疫性能的相关分析[J].畜牧与兽医,2012,44(2):11-14.[11]董晓君,张绍祥,陶勇.中国地方猪种分子遗传多样性的研究进
展[J].种业研究,2007,3(9):35-38.
【责任编辑:刘少雷】
近年来,随着生猪养殖业的快速发展,生猪养殖业的规模化、集约化程度较高,越来越多的企业都想将产业链上下游打通,建立愈发完整的集养殖、生产、采购、销售于一体的经营模式[1-2]。传统的生猪养
殖生产系统控制着公司生产、采购、销售、库存、饲料、质检等过程的运作,同时配备专业的集团
企业财务管理与控制系统,生产系统为公司提供了该财务系统所需要的接口,以便于将系统中的数据传输到财务系统中。这样的养殖生产系统在使用中有它自身的优势:业务之间交互性强、界面操作简单、功能简单实用。但是却存在着没有实现完整集成的一体化管理、成本分析与控制不精细化、业务
收稿日期:2021-10-08
基金项目:安徽高校自然科学研究重大项目(KJ2019ZD09);安徽省重点研究与开发计划项目(202004a07020028);上海市现代农业产业技术
体系项目(沪农科产字(2018)第4号)
*通讯作者仇
燕,女,1996年生,硕士研究生。
生猪养殖生产系统对接SAP 的
研究与实现
燕1童
锐1,2王文宇1,2吕成军3*黄
旭4
1.安徽工业大学信息技术研究院,安徽马鞍山243002;
2.安徽工业大学计算机科学与技术学院,安徽马鞍
山243032;3.天邦食品股份有限公司,上海200233;4.武汉中畜智联科技有限公司,武汉430000
摘要近年来,我国生猪养殖信息化软件系统快速发展。传统的养殖管理系统控制着生产、销售、采购、仓
储、饲料等业务方面的运作,并结合专业财务软件,能够方便地交互单据信息。但这却存在着养殖业务之间不集成、财务业务不一体化、业务数据与实际不对称等问题。我国的行业龙头企业引入SAP 系统以解决和优化上述问题。主要针对生产模块和物料管理模块,SAP 系统提供数据传输接口,养殖生产系统
通过改造原有的业务需求并运用基于XML 的Webservice 接口技术完成对接,来达到实时记录各业务流程的猪只生产状态、采购状况、销售记录、库存信息、成本消耗等数据功能。SAP 系统的实施将仓储信息与生产、销售、采购、饲料、成本以及财务信息集成起来,以此来实现生猪养殖管理精细化、提高管理水平、提升整体效益。
关键词生猪;养殖生产系统;SAP ;接口技术
. All Rights Reserved.
数据与实际数据脱节等问题。尤其在生产和物料仓储方面,养殖成本无法做出准确丈量,导致生产成本与实际账面不符,且对于生猪养殖所需的饲料、疫苗、兽药器械等原材料无法仔细衡量库存。与传统的财务系统相比,SAP系统的引进与应用能够更加精细化地管理猪只生产过程,通过详尽的数据分析对养殖生产起到指导性作用[3-4]。由于实际工作量巨大,限于篇幅,本文仅针对生产计划(production
planning,PP)模块和物料管理(material manage原ment,MM)模块展开研究并实现了数据对接。在对接接口的技术方面,根据SAP系统与养殖生产系统之间的信息通信状况,提出了Webservice接口技术,为此查阅了Webservice技术方案和实施的具体步骤的参考文献,并深入分析了Webservice应用技术与连接。在系统间数据实施对接的过程中,对接口技术实现的方案及接口对接所涉及的业务流程设计做了详细的阐述。
生产计划模块(PP)主要专注于生产相关功能、报表,根据原料、产能对饲养、屠宰、运输、销售等环节进行自动运算并制定生产和销售计划,并通过生产计划和生产数据报表层面为整个生产业务提供具有指导性的意见。针对目前生产业务流程,提出优化。优化方案设计:生产计划是结合客户订单和当前库存来制定的,准确核算出各生产流程中猪的重量与数量、消耗的物料来避免库存堆积和生产少料的风险;而原材料的需求计划是依据猪只实际消耗流水、物料采购订单并结合当前库存制定的,所以需要详细记录各生产流程物料需求量、实时地更新库存,在此基础上制定需求计划。
物料管理模块(MM)涉及流程中物料管理的全过程,与其他模块包括财务、生产、销售等均有密切的联系。目前物料的采购和库存管理,主要就是将猪只饲料、疫苗、兽药兽械的消耗情况按照传统方式传递给财务系统。存在的问题是物料模块与其他模块脱节,没有办法对物料实施精细化管理。所以,需要使物资采购与生产之间保持紧密联系,让采购计划在物资类型、数量和采购时间上更符合生产计划的需求,采购订单的生成、采购信息的录入、入库信息的产生、盘点等涉及物料库存的改变都要直接反映到财务凭证上,采购计划的变更要做好记录,财务信息根据业务信息的录入依次记录下来。1生猪养殖生产系统与SAP对接需求
1.1业务需求分析
养殖生产系统整体业务,主要涵盖了仔猪、种猪、育肥猪、后备猪、精液等业务以及饲料的生产供应业
务。虽然育肥猪、仔猪实现了批次管理,种猪实现了耳号管理,但是在养殖成本核算颗粒度上没有细化,并且后备猪、精液管理不规范。所以,对于仔猪、育肥猪、后备猪、种猪等均要实现生产与成本核算批次的双维度;生产过程全面批次管理及核算,可追溯,有助于质量管理,提升成本核算精细化。
当前养殖生产系统虽然在财务系统实现了记账,但是更多的是在线下通过手工的方式进行传递,最后在财务系统中进行记账,如精液销售、猪只销售等更多的还是事后记账,没有形成完全的事前计划,事中掌控,事后分析,没有形成即时的业务与财务集成。未来在生产业务与销售出库业务交互时要进行有效的集成管控,销售出库时要确认销售订单数量是否超出库存,并将销售凭证按一定的规则传给财务系统进行记录。通过使用销售凭证和库存结合,提升数据的准确性、及时性。
养殖的生产业务流程中涉及的物料管理主要包括饲料、疫苗、兽药兽械的耗用,形成了一定的交易记账协同,但是还没有完全形成事前的计划协同,如没有对采购价格进行统一管理,导致财务记账混乱;采购需求计划也不明确,导致并不知道实际猪的生产过程中会消耗多少物料,造成资源浪费。所以,在物料管理模块应该推进计划协同,在系统中支持采购计划-需求计划-饲喂计划等的集成计划体系,实现饲料、疫苗、兽药兽械等采购需求计划的统一。
1.2业务功能设计
规模化的养殖生产业务主要分为仔猪、批次猪、后备猪、种猪、精液、物料板块。下面就养殖生产各业
务板块进行详述。
1)仔猪(落地、断奶仔猪)生产业务。一般养殖场仔猪无分批,因为同一栋舍、单元内同时会有不同日龄段猪只,所有饲料和动保无法精确区分,但是现在栋舍、单元的猪只在SAP里严格进行批次成本核算。要求在生产养殖系统中按周(最多不得超过15d)对仔猪创建批次,批次数据传入SAP,SAP 依据其创建生产订单。生产订单创建好后,对母猪
. All Rights Reserved.
场母猪开启分娩,分娩后产出的落地仔猪,按照相应的批次传入SAP中,SAP对落地仔猪进行生产入库。落地仔猪在母猪喂养结束后转化为断奶仔猪,由SAP对断奶仔猪批次订单进行生产投料。生产系统收到SAP回传的批次生产订单配料量,及时进行报工和原料发料。这样可以将饲料、疫苗、兽药兽械的耗用具体到每个批次,可以精确地进行生产成本核算。
断奶仔猪在饲养过程中,养殖系统根据仔猪建批时间,接下来每次月末对批次进行估重,并将估重数据传入SAP,记录好各批次的重量变化。养殖系统根据SAP回传来的各批次仔猪重量对比可以看出仔猪的质量是否合格,从而判断仔猪是否进行调拨出库、销售出库还是死亡出库。无论哪项操作,都要按照批次将要处理的仔猪批次数据传入SAP,在SAP中首先对各批次猪只库存数量做出调整,确认好调拨订单(销售订单)量和死亡猪只量,再创建好订单,最后进行调拨出库(销售出库或者死亡出库)。养殖系
统根据SAP回传的数据来关联仔猪的数量变化,这样可以对后续的仔猪生产计划做出指导,如优化仔猪的饲喂标准和免疫程序,让仔猪的质量更佳。
2)批次猪(育肥猪、培育猪)生产业务。养殖生产系统中育肥猪、培育猪均按批次管理,批次建立原则为7d,不得超过15d。批次建立之后,将批次数据传入SAP系统中,SAP按批创建生产订单,一个批次对应一个生产订单。批次猪不论来源于集团内部彼此相互调拨入库或者集团外部的采购入库,养殖生产系统都要将批次猪调拨、采购入库的数量传入SAP,在SAP端进行入库,并分别进入所对应的批次生产订单,由SAP指导各批次的生产投料。养殖生产系统收到SAP回传的物料配料数据,下达发料通知,方便后续精确计算养殖成本。批次猪养殖过程中,每次月末按批进行估重,估重数据传入SAP,回传各批次猪只重量变化数据到养殖系统后,依据其对各批次里的猪只进行批次猪转生产、销售出库、调拨出库、批次猪转批、批次猪死亡自宰操作。对于这些操作,每项操作养殖系统都要将批次变化数据按批传入SAP,在SAP端调整库存数量。但对于批次猪销售出库,新增了猪只牌价管理和销售确认功能。
批次猪销售时,首先,采集市面上不同品种的猪只牌价,单独在养殖生产系统开发一个页面将牌价发布在上面,接着,在批次猪销售发起报批申请时,将猪只牌价作为参考。在猪只销售前,进行客户预付款确认。先在养殖生产系统页面登记客户信息,并将信息传入SAP,SAP收到客户信息解析后获取不同客户的账户余额。养殖生产系统收到SAP回传的客户名单数据,进行销售确认,在装车出库时,增加装运车辆皮重校验,与销售报批的批次猪重量核对,最后上传销售凭证,完成销售出库操作。销售模块的改
进,一方面可以依据销售价格、重量对猪只销售行为提前报批,加强了生产过程管理,有助于提升生产效益;另一方面,销售预付款的确认使得销售流程能够快速执行,通过车辆皮重核对销售报批重量,实现了猪只销售透明化管理。
3)后备猪(公猪、母猪)种猪生产业务。公猪场内后备公猪、母猪场内后备母猪暂无分批,和仔猪、批次猪一样,必须创建批次,并由SAP根据批次创建生产订单,在对其按照批次依次进行生产投料、月末估重。各批次估重数据传入SAP,养殖生产系统收到SAP回传的各批次猪只重量变化数据,对其做出死亡、自宰、销售、调拨出库等操作并将猪只变化数据传入SAP,在SAP端调整库存数量。
当后备猪饲养成熟后,进行后备转生产操作,后备猪转为种猪,即后备猪转为成熟资产,一只猪对应一张资产卡片,卡片上自动生成资产号。养殖生产系统向SAP系统传入各批次的后备转生产的猪只数量变化数据和资产卡片数据,SAP收到后,对批次库存进行调整,并通过资产卡片信息单独保存种猪资产信息。养殖生产系统依据每头猪的资产号来修改原来的猪耳号,再将相应的修改数据传入SAP系统。这样便于养殖生产系统直接按照资产号来管理种猪。种猪的死亡、自宰、销售出库通过养殖生产系统将出库数据传入SAP,在SAP端标记为资产减少。对于集团内部彼此相互的种猪调拨入库,SAP端收到数据变化时,要重新创建资产卡片来接收集团各养殖部门增加的种猪资产,并把原种猪所在的养殖部门的资产卡片消除,再将最新的种猪资产分配情况传给养殖系统,养殖生产系统可以依此来更加精细化地管控公司及各养殖部门的种猪资产。
webservice实现4)饲料、疫苗、兽药兽械供需平衡。仔猪、批次猪、后备猪、种猪在养殖生产系统中都是按批次管
. All Rights Reserved.
理,由SAP按批计算物料需求进行生产投料,养殖生产系统收到批次配料具体数据时,养殖生产部门通过程序自动计算,按历史实际发生数据调整计算系数,并结合现有的物料库存,生成饲喂需求计划、免疫需求计划、兽药兽械需求计划,提高饲料、疫苗、兽药兽械需求的准确性。养殖系统将这些物料需求计划传入SAP系统,SAP生成饲料、疫苗、兽药兽械采购订单回传过去,养殖生产系统根据采购订单上的饲料、疫苗、兽药兽械需求量结合以往的采购价格分别确定好各自的价格,再对其依次开展过磅处理,确定每种物料的重量,用重量乘以单价,得出每项物料的最终采购总价,并将总价传入SAP,在SAP端记录好,再回传至养殖生产系统。养殖生产系统增加采购价格维护流程,采购价格统一维护在系统上,价格规范,降低账务核算物料成本时出错的概率。
5)精液生产、销售业务。养殖生产系统在原精登记的时候,记录好公猪站公猪产精信息登记,原精与公猪耳号形成对应关系,将登记信息传入SAP 系统,在SAP先创建原精生产订单,生产订单属性包括公猪耳号和原精数量,再进行原精入库。原精入库执行后,养殖生产系统对其增加了检测管理和稀释管理,检测管理:统计合格与不合格数量,如果原精质量不合格,则直接废弃,并将废弃的原精数量反馈给SAP,由SAP调整一下生产订单上的原精库存;稀释管理:原精稀释成精液,精液按照包装规格分为
鲜精50mL、鲜精80mL、冻精45mL。原精经过检测与稀释后,养殖系统将其处理过的具体数据传入SAP,SAP创建精液生产订单,确认不同包装规格的精液数量。这样可以加强精液的精细化管理,实现了精液的销售生产仓储质量的业务协同,提高了数据的及时性。
精液销售时,首先在养殖生产系统分别记录好鲜精50mL、鲜精80mL、冻精45mL的需求量,如鲜精50mL规格需精液800L,冻精45mL规格需精液900L等,根据其需求量不同构建好不同销售订单信息,再传输到SAP,SAP依据销售订单创建好不同的精液批次,通过精液生产订单上的精液库存给其分配好具体的精液数量,并利用生产订单上的公猪耳号属性,将精液批次里的不同规格的精液来源,即哪头公猪的产能,记录下来。最后确定好销售订单上的精液出库量,进行出库,再调整好精液库存,如果销售订单上需求量大于精液实际库存,及时反馈到养殖生产系统,对销售订单做出修改。精液销售订单与生产联动,既可以利用精液批次和公猪耳号对应关系,便于质量追溯;又能依据销售订单量维护各个公猪站的精液产能,实现了产能与销售平衡。
2养殖生产系统与SAP接口设计
养殖生产系统对接SAP系统采用的是Webser-vice的WSDL方式[5-7],而Webservice是主要的接口应用技术,技术原理如图1所示。
2.1Webservice技术简介Webservice也叫XML Web Service,WebSer-vice是一种可以接收从Internet或
者Intranet上的其他系统中传递过来的请求,是一种跨语言和跨平台的远程调用技术,Web基于开放标准技术(Http
,图1Webservice接口应用技术原理
.
com. All Rights Reserved.
Xml,Soap)使其特别适合于异构平台的多样性和可扩展性,是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明。WSDL是一个用于精确描述Web服务的文档,WSDL文档是一个遵循WSDL XML模式的XML文档。WSDL文档将Web 服务定义为一个服务访问点或端口的集合。客户端可以通过它来访问包含面向文档信息的服务或面向过程调用(与远程过程调用相似)。使用了WSDL,就可以通过这种跨平台和跨语言的方法使Web Service代理的产生自动化,向这种Web Service的提供商和用户推出方便的协调工作的方法。SOAP 是实现在Webservice组件之间底层的通信协议。SOAP是指简单对象访问协议,是一个基于XML的协议交换消息,可以使用HTTP来传输这些信息。事实上HTTP是SOAP消息的最常见的传输工具。SOAP将信息进行XML的序列化后,再用HTTP协议的方式再打包进行传送,传送的方式是tcp或者udp即soap信息可以通过HTTP协议包装后通过tcp或udp传输。Webservice原理:Web Service就是一个应用程序,它向外界暴露出一个能够通过Web 调用的API。Web Service是一种基于Web的中间件技术。用户通过把应用程序的一部分包装成Web 服务的形式,将自己的应用程序功能提供给别人,实现应用程序之间的接口。Webservice可用于多个系统和SAP系统之间的传输,比较灵活。根据外部系统提供的Webservice的WSDL地址,在SAP系统创建Webservice consumer时候输入该URL。使用SOAMANAGER创建逻辑端口,封装函数,在函数里指定端口,并调用类的方法,反之,创建Webservice provider,生成WSDL供外部调用。
2.2SAP接口对接实现
1)养殖生产系统如何请求SAP接口。养殖生产系统采用的是C#语言连接SAP技术,连接的前提是:SAP系统要存在RFC远程调用函数,即RFC是一种机制,允许业务应用程序与其他系统进行通信和交换信息(以预定义的格式)。建立连接的步骤:在已有的养殖生产项目BMS中创建一个类库BMS. ServiceAPI,系统会自动生成一个组件Connected Services,右击这个组件,选择添加引用,在地址栏输入SAP系统提供的WSDL地址,例如:url/wsdl?p= ic/9dd2eef66791353dbfcf0ce5111f0b71点击转到,这时我们可以获取位于该地址上的所有服务引用,一般一个地址对应一个服务,到我们需要的服务引用,再点击命名空间按照预定义好的格式进行命名,最后点击确定。这样下来在养殖生产系统里就添加了这个服务应用,添加应用的同时会自动生产一些配置文件。例如,添加精液领用出库SAP接口,养殖生产系统在fig自动生成的配置文件。但是根据这样的代码来编译接口,会导致编译错误,所以我们需要自己去重新配置接口的服务文件,以此来请求接口函数。首先,将security的mode 元素属性改为TransportCredentialOnly,用来提供基于http的客户端身份验证。其次,增加transport的
clientCredentialType属性:指定执行使用HTTP身份验证的客户端身份验证时要使用的凭据类型;proxyCredentialType属性:指定使用代理通过HTTP在域中执行客户端身份验证时使用的凭据类型(只有当mode元素的security属性位Transport 或TransportCredentialsOnly时,此属性才适用);realm属性:一个字符串,指定摘要式或基本身份验证的HTTP身份验证方案所使用的领域。接着,增加messag
e的clientCredentialType属性:指定要在使用基于消息的安全性执行客户端身份验证时使用的凭据类型(默认值为UserName);algorithmSuite 属性:设置消息加密和密钥包装算法,此属性类型为SecurityAlgorithmSuite,用于指定算法和密钥大小。最后,对于endpoint终结点的选择,只需要留下一组就可访问SAP接口了。
2)养殖生产系统如何调用SAP接口。同步调用模式:在同步调用模式下,接口的调用方会一直等待被调用方返回执行结果,除非调用超时。养殖生产系统在连接好SAP服务后,右击已经创建好的类库文件添加调用接口里的函数,运用同步调用接口的模式调用SAP接口。具体调用过程:首先在项目里创建一个类文件,在这个类文件里面,编译代码来调用SAP对应的接口函数来请求SAP服务,再通过该函数来进行客户端请求账号密码,最后将养殖生产系统编译好的报文发送至SAP端,SAP端接收后返回给养殖生产系统报文,养殖生产系统再等待SAP的报文返回消息并作出解析来判断是否调用接口成功以及具体的失败错误后,再执行养殖生产系统的后续操作。同步调用接口的优缺点显而易
. All Rights Reserved.