从纯粹技术的角度,严格说来一个从事咨询的SAP顾问,基本上没可能完全掌握SAP软件系统的核心技术。
SAP系统从诞生到现在超过40年,经过SAP公司无数研发人员的数十年如一日的努力,以及巨额研发资金的长期持续投入,系统功能超级复杂,功能超级强大,适用于全球各个行业的诸多企业。整个SAP系统数十个功能模块,源代码行数已经是天文数字,所使用到的数据库表数十万个,无数个的Function Module(函数),这些所有的技术元素组成的SAP系统,对于SAP公司以外的其它技术人员而言,就如同一个巨大的黑箱一样。你想了解诸多功能的实现细节,掌握其系统源代码级的底层核心技术,难度之大,可想而知。
一个优秀称职的SAP咨询顾问,需要经过多年的摸索与项目实践的历练与成长。他需要熟悉并掌握SAP系统的强大功能,宏观上理解并体会到SAP软件产品的设计理念与总体架构,微观上需要对于SAP相关模块的功能要有比较深入的洞察。这样在为客户提供咨询服务的时候,才能针对客户提出的诸多需求提供完美的解决方案。SAP系统是分成诸多模块或者说子系统的,据悉一个咨询顾问即使是穷其一生去潜心研究某一个模块,都无法做到精通或者说完全掌握这个模块的底层核心技术;更不用说,精通或者说掌握整个SAP系统了。 系统如此之复杂,掌握SAP系统核心技术难度如此之大,是不是说作为SAP咨询顾问就无所作为,只能耍耍嘴皮子,基于SAP系统的基础上为客户提供无科技含量的软件咨询服务?答案是否定的,中国的SAP咨询顾问们在探索与掌握SAP底层核心技术方面,其实是可以有所作为的。
当然也是有前提的。
前提之一:懂SAP软件系统开发语言ABAP。不懂ABAP语言,是没法掌握SAP系统的源代码级核心技术的。不懂ABAP编程语言,照样可以做一个优秀的function 咨询顾问,照样可以成就客户获得较好的收入,但是他绝对与SAP核心技术无缘!
前提之二:热爱技术,推崇技术,不觉得做技术是混得差。正如笔者说的,不重视技术,或者说对技术没有兴趣,是不可能掌握核心技术的。有了对于核心技术探索与学习的浓厚兴趣,才能发挥主观能动性,克服各种困难,去研究相关的源代码或者底层架构,真正理解SAP系统研发人员的设计思维与模式。比如SAP的条件技术,可以从源代码的角度去分析其实现的细节,掌握其灵活性是如何实现的;比如SAP报表结果的布局的自定制又是如何实现的;分析SAP模块之间的集成点相关的源代码,掌握这些集成点是如何实现的,在什么时候触发的;分析SAP某个单据保存比如MIGO过账之后,系统更新了哪些表,如何决定是否去更新某些特定的表等等;比如SAP系统的屏幕格式的定制,大多数功能主要通过配置来实现而不用编写代码来实现的大型软件系统设计思路,又是如何实现的。。。。。。类似这些,都是可以通过分析相关源代码,研究SAP底层数据库表结构关系等方式来获得一些洞察的。
SAP咨询顾问对于这些比较底层一点的技术的探索,并不一定是说要学会SAP系统,然后自己去开发与设计一套比SAP更好或者类似SAP这样的ERP软件系统然后超越SAP公司。作为一个SAP咨询顾问,能对SAP软件系统的核心技术有深入的了解,至少能更好的提升自己的技术水平与咨询能力,能为实现客户的需求提供更好的解决方案,提高个人价值。当然的,如果SAP咨询顾问将来想立志做出一套中国完全自主知识产权的支持大型企业ERP的软件系统,其软件架构,系统设计模式,支持客户定制化等诸多方面,都可以借鉴SAP系统的思路,‘师夷长技以制夷’并不是完全没有可能!
了解与掌握SAP系统核心技术,是SAP咨询顾问核心竞争力的基石。
2018-04-27 写于无锡市新吴区