I joined SAP China seven years ago after graduation and knew nothing about SAP or ABAP at that time. Now I am working as a development expert in SAP. I just would like to share my personal experience and felling on several technology which are not invented or owned by SAP ( such as Java, C# etc ) and how did those technology influence my career life.
This blog just expresses my personal opinions and if you have a completely different idea, welcome to discuss with me:)
Why I consider it is better to master more technology than only excelling at ABAP
Perhaps it is true that even if you are only good at ABAP dynpro programming, you can still earn a good money, since nowadays still many large company are using ERP where lots of dynpro program are stilled being used, even though the webclient version is available. ( At least this is true in China, when I visited several large customers locally and sit besides their employees, I still saw the good old dynpro screen on their laptop ).
However, since nowadays SAP never stops its innovation steps, as a employee in SAP, I always realize that it is inevitable for us to touch and have to learn some technology which are not invented or owned by SAP, I will illustrate some of them later. For me during my study on some technology, I have also faced many obstacles and sometimes felt very frustrated. Fortunately once I overcome these troubles, I do see the following benefit:
(1) Enable you to think wider.
I always enjoy the discussion with my previous classmates who have joined other companies like Microsoft, Oracle, EMC etc. They always complain to me saying “Hey guy, why SAP is so isolated from the outside IT world?
Recently we have a new technology called XXXX and which could resolve one commonly acknowledged technical barrier in the perfect way. Why don’t you SAP behave that way…”. Well I would say I only partly agree with them. It is true that SAP didn’t take in some latest hot technology, since IMHO due to SAP’s different target customers compared with those companies. Nevertheless for example the ABAP itself is always evolving. Just consider the difference between the currently latest ABAP and the old ABAP language ten years ago.
If you have more knowledge besides ABAP, you could make comparisons between those ones with ABAP, which helps you get a deep understanding about ABAP’s strength and weakness. Otherwise suppose you are an ABAP expert, but you know nothing about other technology else, then I doubt whether it is possible for you to make an objective conclusion.
(2) Enable you to better deal with customer
According to my experience in China, when I support my sales colleagues to try to win a deal from customer especially those big customers, normally all of them have their legacy systems which are of course developed by non SAP technology like Java and C#. Frequently I have to discuss with their development managers about the integration to SAP system. I realized my knowledge on Java ( J2EE ) and C# ( .Net platform ) plus my SAP expertise can ensure the technical discussion go on in a smooth way.
On the other side sometimes customer has raised several requirements which according to my experience is difficult to implement with pure SAP technology. Then I try to investigate whether it is possible to achieve it together with their existing system landscape and infrastructure. With the necessary technical knowledge equipped with myself, I am able to discuss with their developers, to make them feel that we are really devoted ourselves to deliver a solution to customer, not to only try to sell our products.
I also received the questions from the customer developers more than one time like below: “if our company buys SAP product, since I can only use Java / C# to program, will I be fired since I know nothing about ABAP?”. I answered to them: “before I join SAP, I know nothing about ABAP and even didn’t know what it is yet. If you are a good Java / C# programmer, there will be no difficulties for you to master ABAP. Of course it will take times for you to become an ABAP expert, but you can keep learning / practicing in your daily work. Just consider how you upgrade from a Java newbie to a Java expert”.
(3) Open new opportunities ( and a better salary maybe ? )
Suppose you have owned the solid expertise on SAP area, and you have also been very familiar with other fundamental technology outside SAP, and you are able to make good use of your mixed knowledge structure to better serve your customer or continuously improve your daily work, then it is promising that new work opportunity is opened for you, you can go forward in your career path and perhaps get a better pay.
Several examples for the non-SAP technology I have learned and used so far in SAP
Here below I just list several non-SAP technology I have touched and learned in my career life so far for your reference.
(1) Adobe Livecycle Designer and related infrastructure
in my opinion Adobe Form is a good substitute for the old smart form. The Adobe PDF form could fulfill the customer requirement such as rendering their business data like Sales Order, service order, opportunity, or any other transaction data like that. In design time developer uses Adobe form designer to develop the form layout ( so called form template), which could be saved as a xdp file which is actually an xml file. The layout design is done in a What-you-see-is-what-you-get way so it is more efficient than development via smart form. The element in Adobe form could be bound to a data connection which could be an ABAP interface, an XML interface or through a web service WSDL. In the runtime the template is merged with the bound data source to render the final PDF by ADS( Adobe Document Service ).
The feature that it appeals to me is that it has many available-to-use powerful controls, by making use of which I could only spend little effort to fulfill customer requirement, for example see the series of bar-code library below.
Since ABAP webdynpro has an office integration control which could integrate the Adobe form into ABAP webdynpro, so it is worth putting the combination of both into your toolbox. For example I have written a blog about how to generate qrcode in ABAP webdynpro. With more and more application having been developed in mobile platform, many customers are interested how a Qr-code would be implemented in SAP system. Adobe form template could even be rendered as interactive form which allows end users to type some input into the form and the input could be submitted back to SAP system to trigger subsequent business scenario. This write back functionality provides another flexible solution for business scenario integration. For example you could see how interactive form is used in CRM from following blogs:
- Support of Interactive Forms in SAP CRM 7.0
- CRM 7.0: How-to SAP Interactive Forms by Adobe in the Resource Planning
- SAP CRM 7.0: SAP interactive Forms by Adobe in the Resource Planning
(2) basic Java development skills
I am not a real Java expert in SAP. I know the SAP Net-Weaver Developer Studio is SAP’s environment for developing Java-based, multiple-layered business applications. However I haven’t yet used it to build SAP product but instead just written some small toys for fun. My major knowledge about Java comes from the study when I was in university. Fortunately when my team has taken the development task for “SAP Customer briefing”, an mobile application in Android platform, my manager asked me “Can you program in Java?”, I said yes. Then I become the one of the four developers for this project. The android development is based on Java, so it is easy for me to quickly grasp the key points of it. Since I have the basic understanding and knowledge on Java, I could start my development task and learn more about Java each day in my job, which helps me improve my Java skill a lot than simply reading books and writing small pieces of code.
You could download the Customer briefing from application store and you could have an overview about it via this link.
(3) basic C# development skills
BYD studio is an IDE developed by SAP for partners working for SME ( Small and Medium Enterprises ) customers. SAP experts partners to do custom developments for customers with this IDE instead of using SE80 in SAPGUI. The IDE is developed with C# with Visual studio based on .Net framework.
You could have an overview about BYD studio via this link.
For me I feel very lucky to be able to develop a product with the C# language which I am not good at compared with ABAP. During the project I found there are tremendously new stuffs which I didn’t know before, so I keep fresh every day and am eager to learn more about it. During the learning I begin to consider and compare the difference between C# and ABAP. I ask myself like why this language feature is not available in ABAP, what benefit developer will gain if it would be supported from some release, what obstacles our kernel dev colleagues will have to overcome if the feature needs to be supported and so on.
Till now I still remember the tough days and nights when I deal with a bug which is difficult to resolve via debugging, due to the event handling mechanism in Visual studio ( we are not developing an application used by end user but an IDE used by developers ). I appreciate such experience because I will not always have such suffering when I am doing an ABAP project ).
(4) how to integrate SAP system with customer legacy systems
Maybe it is a little confusing to list SAP business connector and PI here since both are SAP technology. I list it here just because after the above discussion of Java and C# skills, I would like to introduce you how to integrate customer systems developed by these two languages with SAP.
The SAP Business Connector allows you to extend your business processes over the Internet and integrate non-SAP Products using open and non-proprietary technology. It allows for bi-directional, real-time as well as asynchronous communication to and from the SAP Server. I have used it in many POC( proof of concept ) prototype development to fulfill customer’s requirement to connect their legacy system with SAP.
Since PI has also provided the integration functionality, please find a comparison between these two from this blog: SAP Business Connector versus SAP Process Integration
(5) Javascript
There are already well written blogs about why ABAPers should learn Javascript, so I will not repeat in this blog any more.
Maybe I could provide you one more example. When I am doing maintenance for CRM office integration ( which allows you to see your outlook mail items in CRM system )
I soon find there are lots of Javascript used in this area, so I did spend some time to refresh my Javascript language.
Summary
It would take you undoubtedly lots of time and effort if you would like to become an expert on any of the mentioned five areas. Our limited time is precious than gold, so should be put to study the knowledge which is of the most importance.
For me, I would like my expertise to behave like a “T” shape, so I will continuously build up my core SAP skills ( ABAP, HANA and Fiori ) and go deep into them, and meanwhile widen my knowledge scope by touching more about Java, C#, Javascript and other emerging technology being used by other IT company. Stay hungry, stay foolish. Hope this blog can help your career life to some degree. Feel free to discuss with me.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
简单来讲,SAPLINK就是用来导入和导出ABAP程序,等开发对象的一个开源分享项目的产物. 1.上载前置工具程序 导入SAPLINK需要使用ZSAPLINK_INSTALLER程序进行导入. TCode:SE38,新建名为ZSAPLINK_INSTALLER的程序. 2....
SAP NetWeaver是SAP企业服务架构(ESA)的基础,是一个企业服务总线(ESB),它支持各种集成和开发技术,并为运行SAP软件的系统提供核心基础架构服务。NetWeaver为SAP应用和非SAP应用提供集成解决方案,包括企业门户、...
标题中的"FSALV sap开源项目Fast alv"是指一个基于SAP系统开发的开源项目,旨在提供更快、更高效的数据展示和分析功能。在SAP系统中,ALV(ABAP List Viewer)是一个标准的报表工具,用于显示二维表格数据。FSALV即...
在ABAP程序中,可以将数据选择到内表中,这样做的好处是可以对数据进行更复杂的处理,比如将数据从一个表转移到另一个表。通过使用内表读取数据时,通常会用到loop语句。 查询条件的动态指定允许在程序运行时根据...
- **学习与培训**:对于新入职的开发人员来说,这是一个非常好的学习资源。 #### 四、技术细节 1. **版本控制**: - 该工具版本号为1.5.0,针对不同SAP版本提供了相应的支持。 - 针对老版本SAP系统的Direct ...
4. **ABAP Git客户端**:SAP提供了ABAP Git客户端工具,如abapGit,它是一个开源的Git客户端,可以直接在ABAP开发环境中使用。开发者可以通过abapGit管理他们的ABAP源代码,进行版本控制,以及与远程仓库同步。 5. ...
《SAP ABAP 知识管理》是专为IT业程序开发人量身定做的一款简易实用的知识管理系统,其功能方便、实用。通过《SAP ABAP 知识管理》,你可以高效安全地管理ABAP开发过程中解决或学到的知识。通过《SAP ABAP 知识管理...
知名机构2013年最新SAP ABAP培训课程26课,授课视频录像和音质整体均清晰,讲解精细,课程内容老师由浅入深讲解课程,通俗易懂,适合作为刚入门的ABAP学员学习,也可以作为提高课程用。26课ABAP视频总时间约75小时....
ABAP2XLSX 是一个在SAP ABAP环境中用于创建和操作Microsoft Excel文件的开源库。这个库允许开发者在ABAP程序中直接生成XLSX格式的Excel文档,而无需借助外部工具或服务器端的Microsoft Office实例。通过ABAP2XLSX,...
10. 社区支持:作为开源项目,abap2xlsx拥有一个活跃的开发者社区,提供问题解答、技术支持和新功能开发。用户可以通过阅读项目文档、参与讨论和提交问题来获取帮助。 总的来说,abap2xlsx-main项目为SAP开发者提供...
Eclipse ABAP插件是开发SAP ABAP应用程序的一个强大工具,它允许开发人员在集成的开发环境中(IDE)编写、测试和调试ABAP代码。Eclipse作为一个高度可扩展的平台,通过添加特定的插件,如ABAP插件,可以支持多种编程...
为了更好地使用SAPUI5进行开发,搭建一个合适的开发环境是必不可少的。 #### 二、SAPUI5开发环境配置步骤 ##### 1. 安装Java Runtime Environment (JRE) SAPUI5的开发环境要求至少安装Java Runtime Environment ...
总的来说,SAP Link是一个强大且灵活的工具,能够提升SAP开发团队的工作效率。通过学习和熟练掌握SAP Link,开发人员可以更有效地管理他们的代码资产,实现快速的系统迁移和数据操作。同时,开源的特性也让它具有极...
标题"安装SAP NetWeaver AS ABAP 752 SP01开发人员版的Vagrant Box"表明我们将讨论如何使用Vagrant来设置一个预配置的虚拟环境,这个环境已经包含了SAP NetWeaver AS ABAP 752 SP01的开发人员版。Vagrant是一款流行...
SAP JCo是一个开源的Java库,它提供了与SAP R/3或SAP NetWeaver系统的接口。通过JCo,开发者可以在Java应用程序中实现对SAP的功能调用,包括ABAP程序、BAPIs(Business Application Programming Interfaces)和RFCs...
SAP JCo是一个Java API,它提供了一组接口和类,使得开发人员能够创建 RFC 客户端,这些客户端可以调用SAP系统的模块,从而实现数据交换。SAP JCo支持两种主要的编程模型:同步和异步。同步模式下,调用SAP RFC后,...
ABAP2XLSX是一个基于SAP ABAP编程语言的开源库,专为在SAP环境中操作Microsoft Office Excel文件而设计。该项目的核心目标是提供一个简单、高效且灵活的工具,使得ABAP开发者能够轻松地读取、创建和修改Excel工作簿...
- 特点:只能在 SAP HANA 数据库上运行,并需要 ABAP 堆栈支持。 3. **分析应用程序** - 功能:提供基于角色的实时业务信息,帮助监控关键绩效指标(KPI)。 - 特点:利用 SAP HANA 的强大计算能力,从海量数据中...
SAP Java Connector (SAPJCO)是SAP提供的一个开源库,它使得非SAP系统能通过RFC协议与SAP系统进行通讯。 在压缩包子文件的文件名称列表中只有一个文件“sapjco”,这可能就是解压后得到的“sapjco.jar”文件,或者...
标题中的"SAP接口sapjco3包(32位)"指的是SAP的Java连接器(SAP JCo,也称为sapjco3),这是一个用于在Java应用程序和SAP系统之间建立通信的接口库。这个包提供了32位版本,适用于运行在32位操作系统上的Java应用程序...