Wednesday, October 22, 2008

OO ABAP

When I started glancing thru ABAP WD, what i realized was that we need to know the concepts of OO ABAP before we understand the WD concepts...

I would like to pen down some of the Object Oriented Concepts which are not too clear at first (and also some brain teasers in interviews)...

Difference between Abstract Class and Interface:

The main difference is that no implementation of method is possible in Interface(That is actually the characteristic of interface; only when you don know the method's functionality do you go for interfaces, also when you want the class to compulsorily implement few methods ).

Abstract methods, on the other hand, may have methods implemented. But, even if one method is abstract, the class containing it will be labelled abstract. Abstract classes are destined to be inherited. They cannot be instantiated as such (Objects cannot be created of Abstract Classes).

What I was perplexed about was the narrow cast and wide cast. If some one can tel me bout the real time scenarios where you can use these concepts, I will be really grateful.

Bye for now...........



Monday, May 5, 2008

Catchin up..

Its been quite some time since my last post.. and lot of things have taken place since then. I finished my ABAP training in Dec 2007. Now, I am a full fledged abap developer. I am not as busy as I was before..so thought of penning down few of my thoughts.
Now, I am trying to acquire new skillsets like WebDynPro, BDT, BTE etc etc..
I jus started learning abap-webdynpro...did 1 or 2 simple applications. I wont say its tough..but u need to understand the architecture, which takes time.
As and when I come across any new things ,I will let you know.
Till then , chao........

Monday, November 12, 2007

How to put drop down and radio buttons in MS WORD

This is my blog after a very very long time. Of late I am also involved in Documentation, which i have realized is as important as coding or any domain knowledge. You realize the significance of documentation if you see your higher ups. Their work mostly involves Documentation. Many people ignore this part only to learn it in the later part of their career. Here, I am giving two tips as to prepare a more flexible document using MS Word. It would be a plus if u know Visual Basic.

To put a drop down and fill the options:
  1. In the word document, fetch the control tool box.
  2. Drag a combo box(say name is ComboBox1); it ll be in design mode.
  3. Double click on that; it ll go visual basic editor.
  4. In the left pull down menu, choose document; in the right pull down menu, choose open.
  5. U ll get a method like:
Private Sub Document_New()

End Sub

6. Fill the contents of the method as follows( delete other methods):

Private Sub Document_open()
ComboBox1.AddItem "Select one"
ComboBox1.AddItem "ABAP"

ComboBox1.AddItem "BASIS"

ComboBox1.AddItem "BI/BW"

ComboBox1.AddItem "CO"

ComboBox1.AddItem "CRM"
ComboBox1.AddItem "FI"

ComboBox1.AddItem "HR/HCM/CATS"

ComboBox1.AddItem "MM"

ComboBox1.AddItem "PM"

ComboB
ox1.AddItem "PP"
ComboBox1.AddItem "PS"

ComboBox1.AddItem "SD"

ComboBox1.AddItem "XI"


End Sub

7. Now save it and run. 8. Go to the document and try the combo box, the contents would have got filled.

To put radio buttons:

  1. In the word document, fetch the control tool box.
  2. Drag a radio button; it ll be in design mode.
  3. Click on Properties on the control tool box.
  4. A pop up appears.
  5. In that, change the 'Caption' to watever option name u want.
  6. If u want that option to be selected, change 'Value' to true.
  7. Add how many ever radio buttons u want.

To use all these options, u have to enable macros.


Thursday, September 27, 2007

Hold Data in Module Pool Programmin

This is my second post of the day. I am working on Module Pool and came across Hold Data option to retrieve back the values entered on screen when you come back to the same screen(this is screen specific).


How to do it..

Go to scr attributes and check the hold data option.

Now in the menu ,Go to System-->User Profile-->Hold Data.

You will get a message saying 'No field was held'. Jus ignore tat msg.


Now when u run the transaction, enter the values, process it. When u cum back to d same screen, the values u jus entered comes as default values.


But there is a catch....this method retrieves only those field values whose fields have dictionary reference.

BW session

Recently I came across BW..wanted to learn more..
So watever i learn i ll present before you in parts starting from Thursday..

BW does not need abap knowledge..even though it helps if u know it.

I am also interested in SEM- Strategic Enterprise Management....But prerequisite is BW for it.

I am not able to find much info on SEM(scope,job oppurtunities, etc)...so any of u ve come across it, kindly throw some light on it. Thnx in advance.

Thursday, August 30, 2007

Synchronous v/s Asynchronous mode

Now that I am undergoin trainin on BDC-Batch Data Communication...I came across the three update modes that are available in Call Transaction Method- Synchronous processing,
Asynchronous update and Local update.The Difference btw Synchronous and Asynchronous is often misinterpreted. So I thought I ll give a clearer picture by explainin with examples.

If the update mode is Synchronous: Till the previous record is not updated in the database, next record is not implemented.
Scenario:Lets say we do a bdc recording to create a customer and a sale order.First, a customer is created and then a Sales Order is created for him.
#1 If we give the update mode as Asynchronous update, the process of creating a customer starts and irrespective of whether the customer is created, the Sales Order creation for the particular customer starts. Therefore, there may arise a situation where a customer is not yet created, but a sales order is bein created for him.
#2 To avoid the situation cited above, we have to use Synchronous processing mode. Here, what happens is that a sales order is not created for a customer 'A' unless the customer 'A' is created. i.e., transaction creating the sales order waits for the transaction creating the particular customer to be completed first.

So when do we have to use Asynchronous mode?
Use this mode when there is no dependency between two transactions.For example, you are creatin a customer. Here, there is no harm even if the customers are not created in the
order that is given in the flat file, since each customer is a different entity.
As far as possible, try to use Asynchronous mode because it is faster.If you dont mention any mode, Asynchronous is the default mode.
The third mode is the Local update. Since I did not understand this mode, I request the visitors to throw some light on the working of this mode...through their comments. Thanks in advance..

Wednesday, August 22, 2007

Two radio buttons on the same line

I was trying to incorporate radio buttons in my program selection screen..
The radio buttons were comin in 2 different lines..but i wanted them on the same line..
So here is my code to do it..

.....................................................
.....................................................

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: PLANT FOR WERKS OBLIGATORY,
COMPANY FOR BUKRS NO INTERVALS,
SO_CDAT FOR ERDAT OBLIGATORY,
PO_TYPE FOR BSART OBLIGATORY.
SELECTION-SCREEN:SKIP.
SELECTION-SCREEN:BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:CLAIMED RADIOBUTTON GROUP GRP1 USER-COMMAND FCODE1.
SELECTION-SCREEN COMMENT (25) TEXT2.
SELECTION-SCREEN POSITION 30.
PARAMETERS: DISP_ALL RADIOBUTTON GROUP GRP1 DEFAULT 'X' .
SELECTION-SCREEN COMMENT (20) TEXT3.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN:END OF BLOCK B2.
SELECTION-SCREEN: END OF BLOCK B1.

INITIALIZATION.
TEXT2 = 'Claim not equal to zero'.
TEXT3 = 'Display all'.

START-OF-SELECTION.
..............................................
..............................................