I came to SAP (ABAP) world from the background of C/C++ and some Java knowledge. This is a narration of my experience of my first ever face to face introduction with ABAP language. I am not here to say which language is better and which is not but to explain what I experienced when I first started in ABAP.
– Development environment – The very first shock of first connecting to an R/3 system before writing any code. I could write any C/C++/Java code on my system without bothering about to have a user/password first to connect a system and then go to ABAP workbench to write something.
Next, shock after writing hello world program, Where are the files? When we write code in C/C++, we save it as .c/.cpp/.h etc on local system but where are the files stored in ABAP? I can’t see/know the extension of the files? Great! I can not take them with me to my home for further rework (this is good, I don’t need to work at home anymore). Now in the workbench itself, you get three buttons for checking syntax, compile and then activate (now what is this activate? I never have done this in other languages). Even till date I do not know after what happens after you compile and then activate? What is the type of file after compilation and activation? Like in c we get object files and then exe files, but here its all mysteryJ
– Syntax – Syntax is pretty cool and easy – its almost like English. The big problem – I need to put a full stop at the end of everything! Even after IF/ENDIF/CASE etc. Again, in other languages it is pretty much different. During my first few program, I used to get lot of syntax errors just because I have missed the full stop or put semicolon ‘:’ because of C/C++ background.
Next was where is malloc /calloc /pointers? How to control memory? During college days, we had a nice quote – “The probability of your program crashing is directly proportional to number of pointers you use in the program”. In ABAP I get a dump but no more crashes/hangingJ No need to check those pesky hex memory locations and put hours n hours of finding the cause of memory leaks/crashes. I love ABAP in this case.
– Database connectivity – This is what I liked most and I believe that this the best feature of ABAP compared to any language in this world. I need not care about what database I am using and how to connect. I can create/define and view the tables in the same session as well just I need to define table type in my code and direct write SQL statement, no need to worry about the location of data!
Graphical User Interface (GUI) – This is more of screen programming. I think this is the place where ABAP becomes tough for programmers. First creating the controls itself is a tough task. I have done some programming in VC++ and Visual Basic (VB) as well, and the interface is so easy. You need to just drag n drop and that’s it! But in ABAP I had pretty tough time to create a nice UI. I have seen the WebDynPro also and it’s much better compared to ABAP screen programming still there is a long way to go in comparison to VB/VC++. The easiness to control the property of different UI controls/ resizing changing the colors etc is much much better in VB. I hope we will see continuous improvements in this regard.
Well, this was a short narration of my early experiences with ABAP. Now it has been almost 4 years still I keep finding something amusing/interesting in this ABAP world. I am still working in VC++ more so it’s a never ending story and learning. Still compilation errors because of full stop in C++ or because of semi colon in ABAP J.
I wish I could connect to database in C++ as easy as in ABAP!