Saturday, November 28, 2009

A peep into SAP

I was at college when I first heard about SAP to be frank. I googled and found that it meant "Systems, Applications and Products in Data Processing". It meant nothing to me then. It was something which I didn't understand at that point in time. I just came to know that it was some German company formed by 5 engineers who quit IBM.


After completing my B.Tech I was waiting for my DOJ at Wipro. Which was getting delayed due to the unrest in the market. The idea of getting enrolled for the certification course struck me when I saw catch phrase in "The Times of India". It went like "Why get stuck with a boring jobs when SAP can add zeros to your salary" !!! I thought then that I should give it a try. I checked up for the list of authorized education partners and found one close by to my place. I went to the institute and the guys there explained me the different modules and the role of SAP in a company. The modules were - Basis, ABAP, HR, FICO, XI, PP, MM (There are many more). Basis mainly deals with the management of the SAP network, ABAP is a 4th generation event oriented, OOP language which also has a procedural support (if you go by what the book says!!!), HR is of course is Human Resource, FICO is Financial Accounting, PP stands for Production Planning, XI means eXchange Infrastructure ( Which mainly manages cross client and cross platform communication), MM stands is Materials Management.


If you guys have paid attention till now, then, I believe that you would have made a good guess about my module. It is ABAP. ABAP stands for Advanced Business Application Programming. ABAP was initially a procedural language but was extended with OOP concepts. The new extended language is called ABAP objects. ABAP Objects supports multi-level inheritance. Multiple inheritance is simulated by interfaces. It is event driven. It can work with the database as well as present GUI.


Programs can fetch reports, input data, update database tables, present GUI across multiple platforms in suitable formats and using minimum resources. We as "ABAPers" create such programs, we perform database updates using special function modules which can be called remotely (RMI), we provide input helps in user fields, so that values entered by the user are checked for consistencies through foreign key relationships across all dependent tables in the database, we create transactions. A person who is working in a different module uses the stuff that we create. For eg(its not a bookish example!!): If a guy from MM needs a report about the stock. Then the ABAPer creates a report program which fetches data from the DB and presents it. Then ABAPer then creates the transaction code for the program. The transaction code is normally a 4 letter alphanumeric code. The MM guy just needs to enter this code and he sees what he wants to see!!


ABAP is database independent. It uses something called a database interface. We write all the queries in something called Open SQL (ABAP syntax) and the database interface translates it to the native SQL of the underlying database. Native SQL is supported though strongly advised not to use due to the loss of database independence. You can imagine a database interface like the Java Compiler which creates a platform independent code. Also, we manage database locks, queries. Guys it is exciting!!! There are naming conventions which need to be followed for everything - classes, packages, function modules(actual functions grouped in a function group). Function groups are globally available(across the entire system). There is something called ABAP dictionary which manages the everything all global data is declared in the ABAP dictionary.


For table fields there is a two-level domain concept. There is a data element and a domain. A data element defines things like field label etc. while the domain defines data type, length etc. There can be multiple data elements using the same domain. Once created in the ABAP dictionary, the data element can be used in  different tables. This ensures centralized management of table fields.


SAP manages multiple clients in the same system. While logging on, the user needs to specify a client and a log on language. Data relevant to the specified client is available to the user; although it is stored in the same table along with other clients. The GUI text, menu options, context menu etc. is available in the log on language chosen by the user.


There are tools for creating classes, funtion groups(function groups contain function modules), screens, transactions etc. ;You name it SAP has it. SAP was previously using a 2 tier architecture(R/2), but now it supports R/3 (3 tier) architecture. The 3 levels being Presentation, Application and Database. Some layers are scalable. There can be many application servers in a SAP network. These communicate using a message server. There are tables buffers which are used for frequently accessed data. The buffers lie in the application server and so need to be synchronized at regular intervals to avoid irrelevant data creeping in.


SAP also provides a workflow which manages mailing and automation of complex work cycles, ensuring that the right data reaches the right person at the right time. Data can be presented according to the business requirement. SAP Web Application Server(WAS) has a JRE and supports JSP. ABAP uses something called BSP (Business Server Pages) while JAVA uses JSP. There is a Internet Communication Manager(ICM) which manages the requests. If they come from BSP's then they are handled by the ABAP dispatcher and if they are JSP's then the requests are sent to the JAVA dispatcher. In this scenario only web browsers are required.


SAP also provides a mobile version for mobile devices like PDA. This for business on the go. SAP provides a portal which provides a user with tools that are relevant to his or her role. Workflow is bundled.


Getting certified is a privilege. Certified guys get their business card on the SAP site and get access to an ocean of SAP's resources and software, expert help etc. etc. I'm really happy and proud to be a SAP professional. I'd like to say SAP's got balls guys !!! My exact profile is SAP ABAP Technical Consultant. This is just a BRIEF description about SAP.

Wednesday, April 15, 2009

The solution has been found

Last time I was talking about Firefox I was full of sarcasm about Linux... But somehow everytime we failed to install Firefox; the desire to install it became even stronger... After a week of googling and ending up nowhere, me and my senior at office didn't give up...And at last here we are with the only proper technique to install Firefox on Red Hat Linux ....There an old saying...
Failure is the stepping stone to success....
but for the past 1 week..
Failures were the stepping stone to distress!!!
But the mystery has been solved...And the answer found...

I have put up the solution on my technical blog.... click here to check it

Music is oxygen

Music is like oxygen...I cant even imagine living in a world without music... Its the rhythm of life...It rejuvenates me from stress and tension....Inspires me when my morale is down.. Every occasion has its own suitable music..I have a passion for Rock music... Music adds flavor to our dull lives....

Especially after a long and tiring day listening to my favorite music revives me...I'm sure that your case is no different...

This is what some of my friends had to say about what music means to them in their lives


A big relief .......when u r at a closed - stuffed and jail like office
- Anu
A R Rahman..!!
- Vivek
'As heart beats ensure the liveliness of ur Body. Its Musiq which ensures the liveliness of ur Mind !!'
- Abhi
love , energy , affection, sentiments
- Viswan

Thursday, April 9, 2009

The day i tried to install firefox on linux


Being a die hard Microsoft fan...and a windows user I am finding it difficult to work on Linux...of course I'm not new to it...but windows has such an easy interface...the simplicity offered by it cannot be matched by any available Linux release.

I've got so addicted to firefox that I cant even imagine using any other browser!!!! I have tried many other available options(Safari, IE, Chrome, Opera) but I still feel that nothing can match firefox...Its simply awesome...

But windows has its own advantages....you just have to click the setup executable and you can sit back and relax..!!! But on Linux..its a completely different story....

Installing firefox can take more time than installing Linux!!! such are the complications of Linux!! Here at this point I would say...that Linux has a great developer friendly environment...but installing something new can really spoil your day!!!

That 's what has happened since the last 3 days... My addiction to firefox made me try to install it on Mandriva 2006...but the in the end I ended up formatting my machine!!! Such are the complications... For 3 complete days I have tried...googled..but still nothing....huh!!!

For a second, I thought about a shot tempered person trying to install firefox or for that matter anything on Linux...and ending up wrecking his PC...!!!

Right now I am trying to install it on red hat Linux enterprise....but it hasn't made matters simple.....

Just imagine....To install firefox you need the following packages....

  • Pixman
  • ATK
  • GTK
  • GLib
  • Pango
  • Cairo
  • Pkg-config
and on top of that there is a specific order...
if you miss it, don't worry...you just have to start all over again!!.
to add salt to the wound...only some versions are compatible....So.. dear first timer ..I promise you HELL