Infotype 2 enhancement for displaying Employee age based on the date of birth
First of all my glad wishes to SAP SDN for providing this platform for ABAPers mainly as this is the basic step to get into sap community for discussing.
THANKS TO MR.SRINIVAS K for giving this idea to present it on our platform.
In this cool sezn I want to write about a small introduction about infotype enhancement with a tiny example.
OBJECTIVE: Enhancement of Infotype 0002 for displaying age of Employee based on the date of birth entered in Single screen.
1. Open Tcode ‘ PM01 ‘ then select ‘SINGLE SCREEN’.
2. Enter Infotype 0002 then click on ”GENERATE OBJECTS’.
3. Popup will display with message that ‘CI_P0002’ doesn’t exist. Do you want it create it? Click CREATE button.
4. Then Add a new field with name AGE and give the new custom data element which was created with datatype NUMC and lenght ‘2‘ .
After that activate and Press F3 for to come back.
5. press enter for the transport requests shown. You will be redirected to BADI implementation screen then click F3 to return to Infotype Enhancement.
6. Open new Session and open TCODE ‘SE80‘ (OBJECT BROWSER) for editing the Infotype custom include field details i.e. values.
Open program ‘ ZP000200 ‘ as below.
7. Double click on Screen ‘ 0200 ‘ & go to change mode then (CTRL+F1) then Click on ‘LAYOUT’ (CTRL+F7) to enter into screen Painter.
Double Click the properties of AGE input/output field and change the field attributes to ‘OUTPUT ONLY‘ for display only purpose. Please refer the below screenshot.
8. Activate the screen and exit to FLOWLOGIC . Then open PBO module ‘ MODULE_PBO_0002 ‘ write the below function module code to calculate and populate age on the screen as below.
** Function module to calculate the age based on the date of birth entered in screen.
CALL FUNCTION ‘HRCM_TIME_PERIOD_CALCULATE’
BEGDA = P0002-GBDAT
ENDDA = SY-DATUM
NOYRS = P0002-AGE ” AGE is the custom field name created at PM01
* NOMNS =
* NODYS =
INVALID_DATES = 1
OVERFLOW = 2
OTHERS = 3.
9. Similarly add the above code in PAI module ‘MODULE_PAI_0002‘ also and then activate the whole program by right-clicking on the program name in the left hand side window.
10. Then EXIT from the SE80 & PM01 (Infotype enhancement) .
11. Open Tcode PA30 then open Infotype 0002 to check the implemented enhancement.
The AGE field will get populated at both the PBO & PAI levels.
This was the end of the story.