Skip to Content

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.

PROCEDURE STEPS:-

1. Open Tcode ‘ PM01 ‘  then select ‘SINGLE SCREEN’.

2. Enter Infotype 0002 then click on ”GENERATE OBJECTS’.

STEP2.JPG

3. Popup will display with message that ‘CI_P0002’ doesn’t exist. Do you want it create it? Click CREATE button.

STEP3.JPG

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.

step4.JPG

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.

Step 6.JPG

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.

Step 7.JPG

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’

    EXPORTING

      BEGDA         = P0002-GBDAT

      ENDDA         = SY-DATUM

    IMPORTING

      NOYRS         = P0002-AGE      ” AGE is the custom field name created at PM01

*    NOMNS         =

*    NODYS         =

    EXCEPTIONS

      INVALID_DATES = 1

      OVERFLOW      = 2

      OTHERS        = 3.

Step 8.JPG

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.

Step 9.JPG

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.

Step 11.JPG

This was the end of the story.

Keep Blogging…….

Regards,

Mayure.

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Aleksandar Miladinovic

    Just two pieces of advice

    – display only fields should not be included in the database structure since they will be stored in the database – use a separate screen structure as recomeded by SAP ie. a structure Z0002.

    – in this particular case a suitable field already exists in the structure P0002_AF which can be populated using function module RPAQ_GET_AF_0002

    (0) 

Leave a Reply