作為一個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.
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的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2719114/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 給技術人員一些技術以外的建議
- 一個 SAP 開發工程師十餘年的技術寫作之路回顧工程師
- SAP 移動開發技術綜述移動開發
- 作為一名SAP從業人員,需要專門學習數學麼
- PHP開發人員技術提升心得PHP
- 有感而發 - 日新月異的SAP開發技術和手術方式
- 一個SAP開發人員的雙截棍之路
- 一個SAP開發人員的養蠶流水帳
- 為什麼從事雲原生開發需要學習容器技術
- SAP介面技術
- 作為一技術人員,面試前都需要做哪些準備?面試
- 助力AI技術共享,螞蟻開源又一核心技術“因果學習系統 OpenASCE”AI
- 作為一名後端開發者,你需要學習和掌握的技術棧都有哪些呢?後端
- SAP ABAP CDS view 檢視的 Replacement 技術介紹View
- 為什麼 Web 開發人員需要學習一個 JavaScript 框架?WebJavaScript框架
- 什麼是 SAP ABAP FDA - Fast Data Access 技術?AST
- Android開發人員應該知道的一些技術Android
- 一個SAP開發人員的2019年終總結
- 一個SAP開發人員的2018年終總結
- 不懂技術有機會進 SAP 嗎?
- SAP的技術戰略
- onethink開發個人技術部落格
- SAP技術專家的ABAP偵錯程式培訓材料
- SAP整合技術(十三)SAP Cloud IntegrationCloud
- 「SAP技術」SAP不夠嚴謹?
- 作為一名 ABAP 資深顧問,下一步可以選擇哪一門 SAP 技術作為主攻方向?
- 自學Java開發技術靠譜嗎?Java
- SAP ABAP DDIC 結構欄位的一些技術限制條件
- 做Java開發需要哪些技術?Java
- Followme智慧跟單機器人技術開發/Followme系統開發技術詳情機器人
- 技術人員該如何接手一個複雜的系統?
- 【SAP技術】SAP不能修改一個已經分配給交貨單的HU
- 作為一名前端工程師,你需要學習哪些技術棧呢?前端工程師
- 「SAP技術」SAP MM MPN物料的採購初探
- SAP Commerce Accelerator和SAP Spartacus的技術對比
- 合約/Richfollow跟單機器人系統技術開發/python技術機器人Python
- 前端技術人員的發展之路前端
- 大資料開發技術學習方向大資料