SAP学员学习历程:Mary19的首次SAP ABAP项目的支持

Mary19是益泰学院2018年的学员,她目前是熟悉SAP FICO,BPC,ABAP的多模块的SAP顾问。她的第一个ABAP项目充满了挑战性,作为高级ABAP顾问,负责对优化客户原有系统中各种性能不佳的程序,她入职乙方月薪为1.8万元。

本文发布于:2021-05-18

Mary19是益泰学院2018年的学员,她目前是熟悉SAP FICO,BPC,ABAP的多模块的SAP顾问。她的第一个ABAP项目充满了挑战性,作为高级ABAP顾问,负责优化客户原有系统中各种性能不佳的程序,她入职乙方月薪为1.8万元,她第一次面试还获得了一个税后月薪3.15万的ABAP自由顾问工作机会。但是她拒绝了高薪水的工作机会。

    Mary19是益泰学院2018年的学员,最初她在我们这里学习SAP FICO模块,她的第一个项目是从事SAP BPC,第一个项目的人天单价为800元每天(考虑到当时还不会BPC,但是具有FICO的基础),在她完成第一个SAP BPC项目之后,以1.6万月薪的月薪入职了一家乙方公司,完成她的第一个SAP FICO项目,第一个FICO项目为财务共享领域,这为FICO领域比较特殊的项目,和一般传统的FICO顾问项目很不一样,基本以开发为主的方式实现各种功能,做的比较辛苦,那个时候她感觉写开发说明书很难。之后,她又完成了一个世界500强汽车行业企业的SAP BPC财务合并项目,以及其他BPC的项目。

    去年,她感觉,有必要加强再进一步学习一些新的技术,她已经会了SAP业务模块中最重要的FICO(财务成本),SAP BPC(预算和合并解决方案)。最终,她自己挑选了SAP ABAP开发顾问,她认为,无论是SAP FICO,还是BPC,最后一些系统无法实现的功能,都要依赖于开发顾问的开发工作来完成,如果自己也会ABAP程序开发,那就是一位业务加技术实力都非常强的综合性SAP咨询顾问,这在业界并不多见,更加不用说写开发需求说明书了,那就会是一件很容易的事情。作为会计专业的她,竟然踏入了难以置信的程序员的工作领域中来了。

    今年她休息足够了,想出去先做下ABAP开发工作,在这段时间中,她推掉了很多能有高日薪水平SAP BPC的各种项目面试机会。她尝试的投递出了她的一份ABAP方面的简历,第一次面试就通过了,有一家提供1500元每天薪水的SAP ABAP自由顾问工作机会,折合月薪大约3.15万,但只有三个月,作为女性,她担心有压力,特别担心自己能否胜任,不敢接受。在犹豫中又参加了第二次面试,第二次面试获得了一份乙方入职的,月薪1.8万每月的工作,她反复比较,非常犹豫,到底应该选择那一份工作?其实作为老师,是非常建议她应该选择第一份工作的,其实作为程序员来说,并不一定就是月薪高的开发任务就是一定比月薪底的难,反过来,月薪底的,有时候开发工作的难度甚至高于月薪高的,因为客户的需求并不是以顾问的水平来确定的,客户的需求有难的,也有容易的。

    她反复考虑,最后她还是拒绝了日薪1500每天的自由顾问工作机会。接受了1.8万月薪的乙方入职工作机会。这个薪水水平,作为入职员工来说,一般也算是中高级ABAP顾问待遇了。她到了项目之后,项目安排方说,她是项目的高级顾问,负责客户系统中一大堆性能不佳的各种程序的性能优化,这是一个非常有挑战性的工作。

    这个工作很不容易,其实难度是超过她第一次面试通过3.1万月薪的工作。项目缺乏开发文档,要自己阅读源代码,并厘清逻辑。要改掉原有一大堆各种复杂SQL所组成的性能杀手的代码,比如这是她啃读代码的厘清逻辑的一个例子:


    有时候到底是因为什么原因导致性能不佳,也难以判断,或者还有没有可能能进一步提升性能。因为原来写代码的程序员,可不是ABAP新手,原来的程序实际上可能是有多年经验的ABAP老手所写就的(从非常复杂的多层嵌套SQL看出来是一个程序老手,只有老手才能写那样的代码。还我们建议:因为程序开发人员不太容易知道他们所写的SQL在数据库的上的执行计划是怎么样的,常常他们能实现功能,但是会容易有性能问题,所以尽量写简单的SQL语句,减少过于复杂的各种Join在某些时候性能更好)。在这里,反而让真正的新手Mary19来优化老ABAP顾问的代码,这是很有挑战的工作。

    客户的SAP系统对接了其他的第三方的应用,其他的第三方的应用会大量频繁读取SAP系统的HR模块的人员信息,原有的接口代码是通过按照条件直接把所需要的数据整体传递给第三方系统。而第三方的系统,尤其是手机应用或者WEB应用,系统界面的限制,再对信息进行分页显示。所以,基于分页的请求(一个网页展示所需要的数据),每次从SAP系统中只需选择必要的数据,还不是大量数据选择出来,就能更减少内存耗用,提高数据库查询数据性能,减少不同系统间的接口数据网络流量。

    Mary19对如何使用ABAP技术实现分页数据库查询不太熟练,也从网上查询了相关资料,比如游标技术,以及SAP ABAP的Open SQL的分页的参考代码,但是该技术在她的客户的SAP系统的版本并不支持。

  https://www.cnblogs.com/hhelibeb/p/8991141.html    






以上技术方式,在Mary19的客户的系统并不支持。只能采用SAP的Native SQL方式来实现分页。这个难度对Mary19来说有些提高了,为此,作为老师,提供了我们之间支持其他学员讲述SAP Native SQL的一个视频小节让她观看。并同时新制作了一个以Oracle数据库为基础,采用Native SQL实现分页技术的视频讲解:
视频文件中的音频:
SAP ABAP使用Native SQL实现数据库分页查询





关于游标技术的代码参考
游标技术用于从数据库分多次选择数据出来
减少集中的网络吞吐量以及服务器集中内存耗用







使用Native SQL对Oracle数据选择数据
的最终参考代码片段


 


关于我们   
微信号联系:yitaiedu