基于ERP系统二次开发的探讨

发表时间:2021/5/19   来源:《基层建设》2020年第35期   作者:李志杰
[导读] 摘要:SAP系统为企业经营管理的各类业务开发了专业完善的功能模块,并可以进行灵活的配置,以适应各行各业、不同规模客户的需求。
        乐麦信息技术(杭州)有限公司
        摘要:SAP系统为企业经营管理的各类业务开发了专业完善的功能模块,并可以进行灵活的配置,以适应各行各业、不同规模客户的需求。文中介绍了为何需要对SAPEKP系统进行二次开发和SAP系统二次开发需求合理性判断及实现方法。
        关键词:ERP;SAP;二次开发
        SAP ERP系统(下文中通常简称为“系统”)是一款商务套装软件,涵盖了财务、生产、采购、库存、质量、销售、设备、项目、人力资源等企业经营的主要业务内容,SAP系统为这些业务开发了专业完善的功能模块,并可以进行灵活的配置,以适应各行各业、不同规模客户的需求。
        1二次开发的需求
        1)满足客户提出的个性报表的需求。
        2)满足客出的个性表单打印的需求。
        3)满足客户在ERP系统标准功能和流程中提出的个性化控制的需求。
        4)满足客户提出的ERP系统标准功能缺失的程序开发需求。
        5)满足客户购置其他专业管理系统后,与ERP系统进行数据交换和业务协同的接口开发需求。
        2二次开发需求合理性判断及实现方案
        2.1个性报表的需求
        1)客户提出报表缺少数据内容。如果系统中已有相关的报表,而数据内容中缺少需要的数据字段,首先需要判断该报表是否为预置,系统预置的报表数据有些可以通过后台配置调整,不能调整的,通常只能重新开发,也可以拷贝标准报表,在拷贝出的报表中修改实现,必要时还可以直接修改标准报表程序。如果该报表为项目实施或系统维护过程中自行开发的报表,可直接进行修改完善。但做这些修改时都需要注意新增内容是否会严重影响报表的查询速度以及对系统造成的负担。
        2)客户提出报表缺少查询条件。有些标准报表可以通过后台配置进行查询条件的调整(如:MB51),而大多情况只能通过重新开发或修改报表实现。查询条件的设计往往对报表运行性能的影响较大,要谨慎评估查询条件的增改,尤其对于非关键字段、非索引字段、数值字段,甚至分类特性等不能直接读取的字段,尽量避免将其作为唯一查询条件,或仅将其作为搜索结果的过滤条件使用。
        3)报表格式不习惯。尤其在国内,传统报表往往是横向显示,而ERP系统的报表多为纵向,以提高报表的灵活性和扩展性,并减少开发的工作量。遇到这样的情况,尽量与客户沟通协商,如客户不能接受,只能通过系统大量开发以报表或打印表单(Script Form、Smart Form、Adobe Form)的方式实现,也可通过水晶报表等其他开发工具实现。
        4)客户喜欢看大而全的报表,希望把各类数据信息汇总在一张报表上显示。此类报表建议根据数据内容和逻辑,在ERP系统分项开发,待各类数据齐备后,通过ERP打印表单或BO水晶报表等开发实现。
        5)为了解决默认变式设置的问题。有时会因为个别用户在使用过程中通过报表变式隐藏掉一些字段,或是设置了数据过滤条件,又将该报表变式设为了全局默认,导致其他用户查询报表时找不到本有的数据内容,在不熟悉原报表内容的情况下,提出了新增报表需求。通过重新设置或删除该默认变式,即可解决。
        6)已有报表速度慢。开发人员应当分析速度瓶颈(可使用SE30、ST05等工具),判断是否存在优化空间,对已有报表进行优化不做新增报表开发。
        7)为了解决权限控制的问题。

有些报表中存在价格、供应商等敏感数据,部分用户查看报表时应该隐藏这些信息,客户常常会提出开发一张相同的报表来实现此类控制需求,其实开发人员可以根据情况,自定义权限对象,在程序中加人权限检查相关代码,以实现查询权限的区分控制。
        2.2个性表单打印的需求
        表单打印与查询报表的主要区别在于,报表对于数据分析的灵活性要求更强,而表单打印对格式要求更为严格。所以进行表单打印开发前,必须与客户确认好表单的内容格式、纸张大小、打印机类型等。ERP系统内的表单打印开发工具有三种,分别是Script Form、Smart Form和Adobe Formo其中前两种是ERP自带的免费工具,后者是前者的升级版本,除旧表单维护,新开发的表单不建议再使用Script Form。如果客户购买了Adobe Form,则建议优先使用该工具,可更快捷地实现更为复杂和美观的打印表单,并可以直接保存为PDF格式文件。
        2.3在ERP系统标准功能和流程中提出个性化控制的需求
        SAP为客户在实施ERP系统标准程序中预留了丰富的增强接口,开发人员可根据客户要求找到相应的接口,进行开发,插入检查、控制和修改代码。ERP系统增强接口种类有很多,常见的主要有两种。一种称为用户出口(User Exit),对应早期面向过程开发的程序设计下预留的客户定制函数,通过对这些函数的输入输出参数进行处理,编写适合客户自己业务的逻辑,以起到影响标准功能的流程和数据的作用。另一种称为BADI(Business Add—In),是一种后期使用面向对象概念实现的功能增强,每个增强针对某一业务对象提供一组方法,实现相关业务不同处理阶段的检查、控制和修改等操作。SAP对FI模块还有专门的增强方案,早期为会计凭证的验证和替代,后又出现了BTE(Business Transaction Events)。此外,还有一些增强是通过直接在标准程序代码过程中调用预留的FORM来实现的,这些FORM放在固定的模块池程序中,可由用户自己填写代码,标准程序通过语句“PERFORM程序名称(FORM名称)”调用执行。查找增强的途径有很多,最简单的方法当然是通过网络搜索,如果找不到,可以通过后台配置(SPRO)中的文档进行查找,也可以通过跟踪阅读标准程序等方法进行查找。实在找不到,可能真的没有预留需要的接口,只能修改标准程序代码,直接插入处理代码,或插入自定义增强,以备日后修改和管理。
        2.4与ERP系统进行数据交换和业务协同的接口开发需求
        由于ERP系统在企业处于核心地位,客户购置实施了新的信息管理系统,大多需要与ERP系统进行接口交互,接口的内容通常包括:接收ERP系统的物料、客户、供应商等主数据,采购、生产、销售、维修、储运等订单数据,指导周边系统执行运作;上传ERP系统计量、投料、收货、发货、维修、运输等执行结果数据,ERP收集后生成相应的会计记账结果。如果客户添置的是数据仓库、商务智能等决策分析系统,则接口主要用于接收ERP系统的各类主数据及业务处理、财务记账结果,为该系统提供数据基础,生成分析报表。企业信息化的发展,还会表现在企业之间数据的交换需求不断增多,甲方创建采购订单自动触发乙方生成销售订单,这类数据交换需求也需要在各自的ERP系统进行接口设计与开发才能实现。SAP ERP系统提供丰富的接口解决方案,主要应用的有:RFC(远程功能调用)、BAPI(业务应用编程接口)、ALE(应用层数据交换)、Idoc(类似于XML的数据交换格式)、WEB Service、XI(SAP的中间件产品)等。接口的设计也是非常重要的,当其他系统向ERP提出接口要求时,需要谨慎考虑该接口的数据量大小,发生频率高低,以及数据的保密程度。在接口内容设计中,既要考虑接口结构和字段的简明唯一,还要考虑到未来扩展预留备用,并根据数据的重要性和发生频率,决定直接进行点对点的功能调用,还是通过中间件产品进行通讯执行和管理。
        3结语
        通过对SAP ERP系统二次开发相关的分析和阐述。可以看出,对ERP进行二次开发不但不可避免,而且是系统使用依赖度提升的一种表现。通过二次开发,获取需要的分析数据,完善企业管理的业务流程,实现企业内各系统、企业ERP系统之间的协同作业,都需要不断通过二次开发完善ERP系统才能实现,二次开发使企业ERP系统发挥更为重要和丰富的作用。
        参考文献:
        [1]龙学磊.基于ERP系统的单体产品成本核算系统设计[J].价值工程,2019,38(23):280-281.
        [2]孙黎.ERP系统架构的分析[J].科技与创新,2017(18):43+46-47.
 
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: