Thursday, June 30, 2005

SAP R/3 : User Exit Enhancement ZME51N...

User exit is a common application or method that is apply in SAP application regardless of its modules or solution. Any ABAPer who does dialog programming will touch on user exit. User exit meaning a certain function is executed when it is trigger by a certain object like buttons or double click.

In ZME51N (purchase requisition), three text boxes and three labels had been added previously. Namely the Tax Sales, Freight charges, and Total Sales. There are three problems here. First, Freight charges was not taken into considerations and resulting a wrong total in Total Sales. Second, message error kept on popping out even though Freight charges is there. Third, Total Value's amount display incorrect value after user have saved the calculation.
To solve the problem, user will need to look at two things:- where is the logic and did the user named the textbox correctly so it can be accessible by the logic?
True enough. Previous programmer forgets to named the text box correctly. After i had settle this i had to trace other coding so to make the correct changes. Error message was straight away settle after that because of the wrong name. Finally, total value's logic was wrongly written and it will multiply the quantity for no reason at all. Take away the multiplication and the problem was solved.
Objects to look into if you are doing user exit:
2. Functions in enhancement section
3. Some knowledge on how PBO and PAI works.

the sky is not the limit...

Tuesday, June 28, 2005

SAP R/3 : Toolbar Not Coming Out in ALV

ALV (ABAP List Viewer) provides all the default toolbar, menu bar, grids, sorters and etc to programmers. However in a recent case, Yip was unable to program the toolbar out. Function to call the toolbar was called however it would not come out.
If we call ALV_MERGE function, all the miscellanous default tools will be given. This time it wouldn't come out. Error said toolbar missing. What Yip did while i observe was, we went to Screen Painter (SE80) to modify the GUI Status. Copy the GUI status and its code into the original program.
Saved the coding (SE38) and reactivate it again.
There you have your toolbar out again.
The sky is not the limit...

The Variable

As all programmers do in programming, they think of logic to solve problems, the shortest code to implement, the most efficient code to use, and the most less-memory burden code to apply. Then we all go around the clock programming it and debugging errors. More professional programmers they go further by looking at variables like how it is use, why it is use, and how these variable can be utilize so it is smaller and not a burden to the system. Yes, variables also play an important part in a system. Here, it is not only referring to ABAP but to other major programming languages from a first level programming language to a very high level programming language.
Try to think VARIABLE as the life source of system like blood in our human system.The logic as the system's backbone and brain. The function and modules that make up components of the system. The interface as the eyes, ears, mouth and hands and legs.
VARIABLE in essence is the vital source to run the code. However, infactual, you may argue DATA is the most important thing in the SDLC, but if you think again, without VARIABLE... what will be use to hold these data. VARIABLE can be consider as the CARRIER. Just like a parasite. They find a host, inject the content then let the content to pass on. VARIABLE is the same, they are used to carry something.That something can be of anything like a data that could affect how the system runs. If the content is bad then the VARIABLE passing inthe system will produce bad result. Similarly, if our blood carries a virus then our human body reacts to it. VARIABLE is the most important TRANSPORTER between modules. Without VARIABLES, there will be no communication between modules. LIke humans, we have mouths, we use it to communicate. Therefore, VARIABLES plays an important role in all programming language.
In Matrix's last installment, do you all remember the words or slogan beneath the title, it goes like "Every ending has Starting and every middle has a starting... also ending!". VARIABLEs work in that way.
"There is no lost but just... tracing".
the sky is not the limit...

Riding Bike Sensation...

I have not been riding bike for quite some time after i had graduated. Recently, i took a one week ride to my workplace. Actually i was not the rider but a pillion rider. Being the passenger of motorbike can be very scary. Amidst the time to reach workplace faster, zig zagging trailers, lorries, buses, cars, and other motorcyclist is quite dangerous. I am still glad that i am driving because it is more safer and i do not really have to stop any time when it rains. However, riding bikes and seeing others riding it does bring back my memories when i was still studying in uni. It always bring back good and bad memories. To all motorcyclist, becareful and respect for others. This also goes to other drivers.
the sky is not the limit...

Monday, June 27, 2005

MDC Jobs' Fair 2005 at PICC...

It has been the most and recent talked about issue on why undergraduate students unable to find jobs. Now i know the reason that a large number of undergraduates unemployed. I may not have the right to say anything about them but at least they themselves have to knock their own sense out to realize their own mistakes.
I have been working for the past one and a half years and i must say that language and presentation are both important or essential elements to job interview. On the 25th of June 2005, Malaysia held the biggest job hunting for ICT students. The event ran for two days. Many turned up and most of them undergraduates and some unemploys.
First of all, i was assigned by my company to help facilitate the setup, running the information booth and scheduling for job interviews. With thousand of flyers and information at my finger tips i am ready to help this fresh graduates and any unemploys. My impression on these fresh graduates would be something like the eagerness to know about the company, maybe feeling relieve that our company is offering them a post or training and others. Unfortunately, i was quite dissappointed that some of the fresh graduates hardly speaks proper English. Some of them were very arrogant (right down arrogant). Some of them questions us back as though as we are selling a product that they are force into buying. Some came with inappropriate clothing. Really, they are not the type that will suit the interviewer's requirement.
I mean for God's sake, if you are looking for a job, please at least do the following:
1. Dress appropriately and formally because you are trying to get a job
2. Speak clearly and loudly...
3. Be courteus and polite... dun be so arrogant and snobbish... it is you who have to sell your qualitfication.
4. Even if you are not qualified for the job... at least, at the end of the interview you can leave behind a good impression to the interviewer.
What i can really say is many fresh graduates does not posses the following above. Worse they fail rule 3. They are not courteus and polite. They are, some of them, down right rude. I would not mind if they have questions on the company but not to extend that you would want to challenge the interviewer.
Come on... you are just a fresh graduate and you cannot afford to challenge an interviewer. So you think you learnt a lot of things in the university or college. Just wait till you work. Those things may never apply. Trust me. If fresh graduates know so much of things why in the first place the company have a training program. Training program is to train you to do the industrial things like the methodological way and the proper way to conduct work. University work is different and sometimes it is totally not applicable at all.
Fresh graduates have to start correct themselves. Being smart is good but acting like a dumbass in getting a job is a stupidity.

The sky is not the limit.

Tuesday, June 14, 2005

The kicks of a programmer...

I have been programming for one year and a half. I must say, programming does really take up a lot of my time and really test my patience to the maximum. It is just not sitting in your cubicle, earphone plug into your ears, eyes focusing on the monitor, and your head thinking of the most logical solution. As a programmer, one should not just stick to one speciality. Although that speciality may involve deeper learning and higher experience of knowledge but knowing your tool in detail is an advantage. This is because tools will evolve to help your tasks more simpler and exciting. I said exciting because sometimes the tools will drive you nuts.
As a programmer, if you can follow one simple step that i am about to describe here you will be fine. I am advising to programmers to understand their tools better. (After all, it is your bread and butter to earn a living... unless you think of changing your career)
For ABAPers, you might only reach to the stage where you only request your application to be transport to the production server and done by Basis guys. In .NET environment, this is quite different.
First, you need to know what are the things you need to build. Does it involve database (most application involves database creation). What are the fields or tables you need. What is it for. To whom you should to talk for greater clarity and whom will be using. This is important as it will be the user using it. No point talking to a manager (telling what he wants) and at the end of the day it is the downline using it (complaining that this is not the right things... well, this happens).
Second, strike out one or two prototype and showed it to users (is this what they want).
Third, once user approves it and is convince that you really understood them. Well, what are you waiting for? Go ahead... do programming!
Fourth, once you have done programming and tested. Send the whole thing for testing.
Fifth, any modifications or request just take good care of it or according to early requirement. (Otherwise, you can charge them more... do not be a fool to simply say YES to all amendments... why? Users ARE fickle minded. Just give them a small reminder that any changes after initial and second agreement will bear sudden small amount of charges... hey you are a professional and earning to support you and your family... why should you give them free if you can do it)
Last, after all the headaches... it is implementation. Implementation means deploying your product to the customer.
All the sixth steps are simple to be put down into here. Try doing it.
It would be fun! You get to meet a whole new world of friends (kind of bosses, kind of employees). It is also fun to see how the employee reflect yourself in working. At least, you are learning the ropes. Programming can be fun but it has many responsibilities that the steps has hidden. Fun and stressful. Well, money is hard to come by... if you imagine that... maybe it will change your mind to be even more hardworking...
Money can be spend in a few seconds but it might take months or years to churn out a software to get your money... if you are fast... you are pro.... As pro as you are, you will be bound to face criticism... eat it up... it is good for you... just like vitamins... I believe in every job we do, there will be criticism. Programming is never simple but it just need your passion, dedication and responsibilities. Sound simple?
the sky is not the limit...

Sleepless in Damansara

It was windy at night. Friday. No where to go. Had gone through bouts of ABAP codes, transported for user testing. Called a day off. Went home. Had a nice bath. Called my wife. A bit excited and a bit sad she sounded. She was going back to Penang from a week's holiday in Labuan (her hometown). For me, work, eat and sleep. A routine. As much as it would seem. I am seeing codes whole day. After ABAP, there is .NET at night. I wonder when i will just stop doing programs. Tired eyes, dried throat, and hardly breathed. Well, i do not know what keeps me going.
At the end of the night, headache and cramps on the head. Really tired. But hungry at the same time. Went out for fried noodle. spicy and delicious. Satified, went home. About 1 in the morning. Called my wife. She was like "u idiot... it is one in the morning... u wanna get killed?!". Sheepishly, i just said "sorry, i miss you". "go to sleep lar... u want my mom to kill you issit?" she said in a low voice....
After the call, well played solitaire for a while... then sleep. Not bad for a Friday night.
the sky is not the limit...

Bulk or Batch Transfer in MS SQL Server 2000

Bulk or batch transfer can be done in SQL Server 2000. This is an advantage that user can applied in that application to fast bulk transfer. Millions of data can be process and transfer in seconds (or minutes). Bulk or batch transfer commands are installed into your system upon installing your Microsoft SQL Server 2000. However, SQL Server 7.0 also provide this command.
Syntax: -
Ways of implementing BULK: -
1. You can put your BULK statement in a .bat (batch) file for processing. An application triggers the batch file.
2. You can put your BULK statement in your SQL string and execute by ADO .NET
3. You can put your BULK statement in the DOS prompt.
Implementations such as data manipulation or data analysis application will be great using BULK statement. Moreover, for programmers who are developing CRM's website or application - this statement will be an advantage for them.
the sky is not the limit...