Sunday, March 20, 2011

User exit and customer exit......... and BADIs

I can remember the day , i was sitting in the office in SAP-LABS around 7:30 pm and was busying in doing some development . Suddenly my phone was shouting and the voice said , rahul is it good time for interview....his one of the question was "do have knowledge about user exit or customer exit??"....and i think i replied convincingly but later i realized i need to work on it...so here is little about user and customer exit......

User Exit : We can call it FORM exit also because whatever modification we are gonna do will be in subroutine. Below is the example : 

FORM USEREXIT_XXXX....
 INCLUDE ZZUSEREXIT.......
  ENDFORM.  

User exit is basically provided to SD module so we may find for many other module user exits are not available.

Customer exit : SAP creates customer exits for specific programs, screens, and menus within standard applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
Customer exits are nothing but a include in customer name space will be provided in the function module which starts with CALL CUSTOMER. You can fill them with your own source code. Technically this is an enhancement. User exits generally refer to SD module while customer exits refer to all modules like MM, SD, PP, FICO etc. Advantage:
- They do not affect standard SAP source code
- They do not affect software updates

Disadvantage:
- Customer exits are not available for all programs and screens found in the SAP System. You can only use customer exits if they already exist in the SAP System.
Types of Customer Exits
1.     Function Module exits
2.     Screen exits
3.     Menu exits
 1.     Function Module exits
Function module exits are exits developed by SAP. The exit is implemented as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
           Format:  CALL CUSTOMER-FUNCTION '910'
 The naming standard of function modules for function module exits is: 
          EXIT__<3 digit suffix>

2.     Screen Exits:
Allow customer to add fields to a screen via a sub screen in an SAP program. The sub screen is called within the standard screen's flow logic.
         Format:  CALL CUSTOMER-SUBSCREEN CUSTSCR1
 3.     Menu exits:
Menu exits allow you to add your own functionality to menus. Menu exits are implemented by SAP and are reserved menu entries in the GUI interface. The developer can add his/her own text and logic for the menu.
Function codes for menu exits all start with "+".
   Format:  +CUS (additional item in GUI status) 


To know more about SAP Enhancement Frame , please click on the below URL ...please do watch..its good :)

http://www.sdn.sap.com/irj/scn/events?rid=/library/uuid/c0365021-ffd5-2b10-9085-d7de23b1aa58&overridelayout=true


Saturday, March 19, 2011

:( :(

Today its birthday of one of my best friend to whom i used to know........but i can not wish.........anyways happy birth day dear......do well in your part......... :)

Difference between classic and new badi



















As we can see from above picture , there is a big variation in calling of two BADIs. New BADI improves the performance of our code because now a days BADIs are being integrated on kernel level so in a way we can introduce one more term call Kernel level BADIs.

BADIs is new concept in enhancements framework introduced by SAP and based on OOPs. We can also migrate classic BADIs into somewhat new BADI (not exactly).




















Wednesday, March 9, 2011

STYLE in ALV .........

In many requirements we are asked to make a particular cell editable based on some condition or make a particular cell as push button....So all this stuff can be done by ALV style segment .....
1. Add one field say STYLE type lvc_t_styl into the output table structure.
2.The field whose cell you want to make editable based on some condition , make its field catalog editable
  say ls_field_cat-edit = 'X'.
3.Now in layout pass style field name like ls_layout-stylfname = 'STYLE'.
4  w_style-fieldname = 'COMMODITY' .
w_style-style = cl_gui_alv_grid=>mc_style_enabled .
  APPEND w_style TO wa-cellstyles.
  MODIFY itab FROM wa INDEX 1 TRANSPORTING cellstyles.
Now if you see the italic and bold line ....the row inwhich we want to enable or diable
we can insert the style stuff in the same line. 









Friday, March 4, 2011

Standing By and just watching.........

With in 3 months i had to say 3 very emotional goodbyes ( almost final )...First one was very very emotional and heart breaking.......she was my one of the best friend but somehow things got messed up and now i don't have even right to miss her..may be i was on faulty side but i had to say goodbye and may god bless her lots of happiness ......second bye was to my friend , with whom i worked in the same company and in the same team for more than 1 year......he always had a wish to go back his home .......and that day came and he went. Again i had to say "good bye"..........today is again a very emotional day when i have said goodbye to my room mate or can say my big brother........he is also going back to kolkata ........and again i am alone...without good friends......i am feeling like people are coming and going passing through my life and i am just standing by and watching..............i want to stop them but can not because its their destiny..........hope one day i will all of these guys before the termination...............May god bless them all.......:)

Monday, February 21, 2011

Calling a selection-screen and Screen with in a function group ......

Creating selection screen and calling a dialog screen from report program SE38 is very easy job to do. But you are asked to do same thing with in the function group/function pool then it'll be different ball game all to gether. Below are the screen shot for understanding....this whole thing starts from executing the function module MY_TEST_FUNC1234. 







Friday, February 18, 2011

Table pop-in in webdynpro .....



 
Run time class for Table pop in is CL_WD_TABLE_POPIN








Thursday, February 17, 2011

Song from Rohan Rathore IIT-Gawahati

Ho Love of mine,
With a song and a whine,
You're harsh and divine,
like truths and a lie,
But the tale end is not here,
I have nothing to fear,
For my love is yell of giving and hold on,
In the bright emptiness,
In a room full of it,
Is the cruel mistress ho ho ho,
I feel the sunrise,
The nest all hollowness,
For i've the way to go not home,
And i feel so lonely yeaaahh,
There's a better placefrom this emptiness,
And i feel so lonely yeaaahh,
There's a better placefrom this emptiness,

Aaa aaa ....,

Tune mere jaana , Kabhi nhi jaana,
Ishque mera,Dard mera,
Tune mere jaana , Kabhi nhi jaana,
Ishque ...mera,Dard mera,
aashque tera , bheed me khoya rahta hai
jaane jahaaaaaaan,
poocho to itna kahta hai ,
"that i am sooo lonely yeahhhh".....

Rohan Rathore.....from youtube.com










Tuesday, February 15, 2011

Interactive ALV.....with HOT spot click


Some important class name for ALV
  CL_ALV_EVENT_TOOLBAR_SET
  CL_ALV_GRID_TOOLBAR_MANAGER
  CL_GUI_ALV_GRID

Better appoach is to create a global UI class rather than creating local class as i did.

There are many events are available in class CL_GUI_ALV_GRID







Monday, January 3, 2011

ICM structure....








Internet communication Manager .

Saturday, January 1, 2011

Change the column heading dynamically in table control abap

Very simple : 1st create normal table control in normal process , now double click on the column heading , one pop-up will pop out and you will find its a TEXT type. Delete that TEXT type , Drag and drop input/output type on column heading and bind its name with a variable . And fill that variable value in PBO based on conditions.....thats it.....isn't simple ?? :P :)