SAP标准自定义代码管理
1 管理概述
SAP自定义开发,增强,甚至SAP软件的修改在如今的公司中都不稀奇。实现这些以扩充SAP软件的标准功能,来适应特定公司和业务流程的需求。这通常是必须的、合理的意向。但随着时间的推移,经常的变更成为了一个主要成本和性能瓶颈。另外,自定义代码管理也得到了发展,不管标准增强的可能性或是因为关于正常由SAP提供的标准功能的信息不充足。除此之外,自定义代码也可能随着时间的推移变得过时,不再使用的开发也依旧维护。在生产环境和为提高和适应的驱动成本中,差的软件质量经常引发问题。所有这些都是在你的组织中实施维护自定义代码管理的原因。自定义代码管理是一个连续的状态测量和四个方面的自定义代码优化的过程:数量、质量、技术严重性和商业临界性,以及为日常操作和支持的准备和采用。因此,自定义代码管理从操作前景对自定义代码开发提供了一个完整的视图,而不是从发展本身。此文档中描述的主题和方法是纯粹的面向ABAP的。偏差和具体问题将在Java中叙述。 首先,此文档为E2E解决操作的SAP标准(第2部分)和自定义代码管理标准(第3部分)提供了一个简短的概述。自定义代码管理的基本概念将在第4部分描述,包括自定义代码的四个层面和它们的优化、文档和准则、管理集中、自定义开发的生命周期和操作准备。第5部分将对自定义代码管理过程进行描述,包括所有主要的阶段。第5部分也会提供可以使用的工具的概述,来自动支持流程。第6部分提供过程结果测量建议。由SAP提供的有效的自定义代码管理培训将在第7部分进行陈述。进一步资料的链接参见第8部分。
2 E2E解决操作的SAP标准
关键任务Operation是一个挑战。随着SAP-centric solutions的灵活性的增加,客户必须去有效的管理复杂性、风险、成本以及技能和资源。客户必须运行以及逐渐的改进IT Solution来确保solution landscape的平稳操作。这包括有效性、性能、流程、和数据透明性、数据一致性、IT流程一致性的管理以及其他的任务。
一般情况下,客户组织中的多个团队与这些需求的实现有关。他们属于关键organizational areas Business Unit and IT.尽管每个公司的组织名称可能不同,但是他们的Function一般来说都是相同的。他们根据公司战略和corporate policies以及组织目标来运行他们的活动(例如,公司管制、一致、安全)。
第 1 页 共 27 页
Figure 2.1: Organizational model for end-to-end solution operations
不同的团队专门进行某些任务的执行:在业务方,End User使用已实现的Functionality去运行他们的日常业务。Key User为他们的同事提供First Level Support。Business process champions定义业务流程怎样被执行。program management office根据开发和操作的Financing将他们的需求传达给IT组织以及确保这些需求被实现。
在技术方,application management团队直接联系业务单位。这关系到实现业务需求和为End User提供支持。Business process operations包括Business Application的监控和支持、它们的融合以及Jobs的自动操作。Custom development关心使Solution适用于客户指定需求和开发。SAP technical operations与系统的一般管理和详细的系统诊断有关。IT infrastructure组织提供底层的ITInfrastructure(网络、数据库,…)。深度的专业化也有可能存在于这些组织中。例如,在SAP技术操作中对于不同的Application这可能是individual experts。
优化SAP-Centric Solution的操作,要求不同团队之间的有效合作。如果客户聘请服务提供商去执行一些任务或者全部的流程,这将变得更加的重要。客户必须精密的整合outtasking和outsourcing services提供商到他们的Solution操作中。
有关团体之间有效合作的关键先决条件是流程、责任、服务级别协议(SLAs)和衡量服务级别的实现的关键性能指标(KPIs)的清晰定义。基于从SAP Active Global Support获得的经验,当服务超过40000客户时,SAP已经定义了可以帮助客户为它们的SAP-CENTRIC SOLUTION设置和运行端对端的Solution Operation的流程标准和最佳业务实践。这不仅包括来自SAP的应用程序也包括来自独立软件供应商(ISVs)和最初设备生产商(OEMs)的
第 2 页 共 27 页
应用程序以及统一到Customer Solution中的Custom Code 应用程序。 SAP为Solution Operation定义了以下标准:
? Incident Management 描述事件解析流程
? Exception Handling 说明在日常业务操作中如何去定义一个模型和Procedures来
管理异常和错误情况
? Data Integrity 避免端对端Solution Landscape中的数据不一致
? Change Request Management 使最小风险的变更可以有效和准时的实现 ? Upgrade 通过升级项目引导Customer和技术Partners。
? SOA Readiness 为enterprise service-oriented architectures(SOA)确保技术和组织
准备
? Root Cause Analysis 定义在不同支持级别和不同技术间如何去执行根本原因分析 ? Change Control Management 包含变更的调度和分析
? Solution Documentation 定义有关Customer Solution的必要的文档和报表
? Remote Supportability 包含必须被用来优化Customer Solution的承载能力的5个基
本的需求
? Business Process and Interface Monitoring 描述关键任务业务流程的监控和管
理
? Data Volume Management 定义如果去管理数据增加
? Job Scheduling Management 解释如何去管理Background Jobs的计划、安排和监控。
? Transactional Consistency 在distributed system landscapes通过应用程序保护数
据同步
? System Administration 描述为了有效的运行一个Customer Solution如何去管理
SAP技术。
? System Monitoring 包含ITSolution的技术状态的监控和报告 ·Test Management 描述了测试管理的方法和功能、角色、集成的方法以及SAP-centric Solutions的技术系统测试
·Custom Code Management描述了自定义代码操作和优化的基本概念。 在这个清单之外,White Paper描述了Custom Code Management。
3 自定义代码管理简介
很难综合分析和评估你目前的使用简单方法的IT系统的标准软件、增强、和自定义开发的复杂结构。因为业务需求的偏差和相关性很大,很难测量对你关键核心业务流程综合的影响。 只要你的IT系统和最主要的业务流程能够顺利进行,并且成本维持在一个可接受的范围内,有关自定义开发和增强的重要问题就经常被忽视。包括以下几方面: ·自定义开发解决方案和SAP标准有什么不同? ·具体客户程序怎样很好的实现? ·开发在以后会运行的顺利吗? ·当负责开发的人员不再可用时,谁将负责自定义开发? ·自定义开发中隐藏了怎样的不可见的成本?
第 3 页 共 27 页
·SAP标准软件升级后,自定义开发仍然需要吗? ·SAP升级将会对自定义开发产生怎样的影响? 在自定义期间,SAP标准软件进行了增强甚至修改。不同的自定义解决方案存在,主要的开发在ABAP中,但是Java中也存在,彼此交互和集成。带有这种复杂性和强聚焦,仅一个功能需求,如果没有适当注意,自定义解决方案的重要因素,如文档、对核心业务流程的影响,质量,可视性,支持性和维护性就遗留下来。这个标准显示了维持优化期间怎样避免这种情况,从操作和维持前景中怎样管理重要的因素。自定义代码管理可以被作为一个自定义开发的永久性优化流程来描述,基于as-is分析和集中于解决方案操作及支持的前期准备。 自定义代码管理的关键是这些方面的不断优化,包括自定义解决方案的数量和质量、对业务流程的影响和技术严重性。这些主题是此标准的基础。焦点是完成最优的操作,维护和自定义开发支持。在自定义开发和实现项目中都应该予以考虑。这些标准显示在这些项目和自定义代码生命周期的所有阶段,所有相关的影响为什么和怎样被考虑。集中于自定义开发的最优的技术准备活动被单独描述。这些主题和方法都是面向ABAP的。Java中的偏差和具体问题将在此章中涉及。但是不涵盖所有的细节。 SAP提供了几种服务和工具,包括SAP解决方案,以用来支持自定义代码管理的完美流程。这些将在5.2和7.1中进行描述。SAP解决方案企业版对于SAP解决操作和支持服务来说是基础,也为自定义代码管理提供有力的工具。解决方案文档性能产生了比生产多得多的自定义代码文档,也提供了信息中心点,用于变更、调整、或是支持活动。自定义代码管理仓也是SAP解决方案企业版的一部分,提供了过时客户对象识别的可能性,特别是对于万一技术升级或是业务性能带有增强包的更新,帮助优化工作的变更影响分析,SAP提供代码检查工具作为ABAP工作台和代码质量检查组成性能的一部分。除了这两个最后的纯粹面向ABAP的维护工具,为J2EE的SAP NetWeaver Developer Studio(Developer Studio)集成在为静态代码检查和Java程序测试的JLin工具中。 自定义代码管理在解决方案操作组织模型中的分配,在第2部分陈述,将叙述一下内容。应用管理拥有自定义代码管理,并且确保不断的致力于维护改善的整体提高、可操作性和自定义代码的支持性。因此需要设计其他几个组织单元,首先是自定义开发,可以调整和增强具体客户需求的SAP解决方案。除了自定义开发提供的技术知识,自定义代码管理业需要业务流程专家,由业务流程执行者输送。同时,这些单元确保自定义代码管理的主要目标是防止不必要的修改。此外,与SAP标准的偏差应是最少。提供这些,他们降低所有权(TCO)的目标成本,减少长远影响的变更。最后,在操作流程和解决方案准备操作和支持的自定义开发集成中,此操作流程涉及SAP技术操作和业务流程操作, 运行SAP方法组合途径、相关资料、SAP E2E解决方案操作(详见第8节)的实现工具和服务。它页可以被看做是只用于操作的加速SAP(为执行SAP软件的ASAP方法)。自定义代码管理是它的一部分。运行SAP可被参考,用于自定义代码管理流程的实现,这个在此文档中也有描述(见5.1)。 文件通篇将涉及修改、增强和组合应用。
4、自定义代码管理标准的基本概念是什么? 4.1 四个层面的自定义代码管理
自定义代码,包括增强和修改中存在的一个公司的SAP系统概述可以评价在四个方面。这些方面是数量,质量,技术程度和商业临界。目标是在这四个方面建立一个自定义解决的不
第 4 页 共 27 页
断评估过程,在基本结果的基础上优化解决方案,获得和调整必须实现的目标。如何做到对现有的事态发展这一点是第4.2节中所述。新的发展,这四个方面应该在发展项目中所概述的第4.5节中计划和考虑到。
4.1.1 数量
重要的是必须了解你的自定义对象的数量。在ABAP环境中,例如,一个对象是一个程序,针对特定客户的交易,一个函数,而且还自行实施SAP用户退出或SAP增强接口。在Java环境下,对象在SAP标准的情况下刻意修改历史记录,不同类型的发展组成或门户网站的内容。每个对象组都有其属性和技术实现类型。 重要的是要知道哪些对象的出口,以评估目前仍在使用的,以及哪些自定义代码很可能已经过时。废弃对象的减少包含具有很大的潜力的降低总成本的所有权。 在ABAP环境中支持这一优化的主要工具在SAP解决方案管理版中是定制开发管理驾驶舱(CDMC)。相关功能将在4.2.4中讲述。 解决层次如下: ·有哪些自定义代码对象组? ·存在多少对象? ·我仍在使用它们吗? ·为了优化TCO和操作,可以删除过时的吗?
4.1.2 质量
不良质量的自定义代码往往导致不可预见的应用失败和核心业务。这中断业务的连续性可以变得非常昂贵。往往只是被认为是功能质量,但非功能因素不那么重要,并常常区别之间的好的和坏的解决方案。在ISO 9126标准中定义了六大类的软件产品质量:功能性、可靠性、可用性、效率、可维护性和可移植性。他们每个人都被进一步细分为多个子项目,见图2
图2:采用ISO 9126标准的质量模型的外部和内部质量。ISO 9126可以作为基础,建立一个公司的特定质量模型和质量检测系统。这应该加强对自定义代码的不断认识,那是改善行动的先决条件。
除了代码的技术质量,相关的因素存在,类似副作用的影响。 必须确定它们尽可能最少化。质量测量最好依靠一个工具。该代码检查工具提供的ABAP开发环境的工具,以供,、正式的ABAP代码质量分析(见5.2和8)。它必须区分正规质量代码,例如应用命名惯例或文件中的代码,和整体产品质量所代表的ISO标准。正式代码质量通常是通过分析获得的唯一的源代码。这是非常重要的质量探索,但不能给出所有相关
第 5 页 共 27 页