开发者社区> jerrywangsap> 正文


简介: 作为一个SAP开发人员,需要学习SAP传统技术(比如ABAP)以外的开源技术吗?

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.

Top 10 things ABAP developers should know when learning JavaScript

JavaScript for ABAP Developers

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.



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.


Android开发学习之使用Toolbar实现不同的Fragment使用不同颜色的标题栏与状态栏                                            先看效果图。
2307 0
912 0
10240 0
【利用K8S技术栈打造个人私有云系列文章目录】 利用K8S技术栈打造个人私有云(连载之:初章) 利用K8S技术栈打造个人私有云(连载之:K8S集群搭建) 利用K8S技术栈打造个人私有云(连载之:K8S环境理解和练手) 利用K8S技术栈打造个人私有云(连载之:基础镜像制作与实验) 利用K8S技术栈打造个人私有云(连载之:资源控制研究) 利用K8S技术栈打造个人私有云(连载之:私有云客户端打造) 利用K8S技术栈打造个人私有云(连载之:总结)(Coming Soon...) Vue.js初摸 本人对前端其实不是很熟悉,也是最近才接触。
1569 0
好吧,我承认我喜欢这样的多个 StoryBoard 组织的方式,学习了!
以下转载内容很不错,后续补充从官方文档疏理出来的脉络,确实很好的用法。 Storyboard 跳转 和 传值    写在前面...
715 0
Spark学习之数据读取与保存(4) 1. 文件格式 Spark对很多种文件格式的读取和保存方式都很简单。 如文本文件的非结构化的文件,如JSON的半结构化文件,如SequenceFile结构化文件。通过扩展名进行处理。 2. 读取/保存文本文件 Python中读取一个文本文件 input = sc.textfile("file:///hom
1330 0
IBM RSA (IBM rational software architect ) V8 学习之六 C++类模板设计
原文http://blog.csdn.net/ztz0223/article/details/7603041   前面已经讲述过了IBM RSA (IBM rational software architect ) V8(具体版本V8.
835 0
+ 订阅