What is PA40 in HR

What is transaction PA40 in Human Resource module of SAP?

hi Aruna,
PA40 is the screen where you can enter all the onboarding (hire) employee data and also you can change the actions like...............
Hire
Hire Applicant
Country reassignment
ESS New Hire
Family Status Change
Employee Status Change
Performance Appraisal
Change of Position
Change of Pay
Transfer/Relocation
Create New Assignment
Tuition Reimbursement
There are the some examples, we can define accordin to the requirements. before maintaing all these actions we should keep in mind about the date, means on which date these actions are perfromed which refelct in PA30 actions overview screen.
i think this more than wahat you asked.
reward me if this helps.
Thanks,
Vasu.

Similar Messages

  • Short Dump while executing New Hire (action type) in PA40

    Hi All,
    i am getting short dump while executing PA40 for new hire action type can anyone look into this and guide as i am new to HCM.
    Category               ABAP Programming Error                                                      
    Runtime Errors         SYNTAX_ERROR                                                                
    ABAP Program           /1PAPAXX/HDR_21000A                                                         
    Application Component  Not Assigned                                                                
    Date and Time          21.08.2014 14:07:03                                                         
    Short text                                                                                       
        Syntax error in program "/1PAPAXX/HDR_21000A ".                                              
    What happened?                                                                                   
        Error in the ABAP Application Program                                                        
        The current ABAP program "SAPFP50M" had to be terminated because it has                      
        come across a statement that unfortunately cannot be executed.                               
        The following syntax error occurred in program "/1PAPAXX/HDR_21000A " in                     
        include "/1PAPAXX/HDR_21000AO01 " in                                                        
        line 52:                                                                                     
        ""LV_LENGTH" has already been declared"                                                      
        The include has been created and last changed by:                                            
        Created by: "HCM04 "                                                                         
        Last changed by: "HCM03 "                                                                    
        Error in the ABAP Application Program                                                        
        The current ABAP program "SAPFP50M" had to be terminated because it has                      
        come across a statement that unfortunately cannot be executed.                               
    What can you do?                                                                                 
        Please eliminate the error by performing a syntax check                                      
        (or an extended program check) on the program "/1PAPAXX/HDR_21000A ".                        
        You can also perform the syntax check from the ABAP Editor.                                  
        If the problem persists, proceed as follows:                                                 
        Note down which actions and inputs caused the error.                                         
        To process the problem further, contact you SAP system                                       
        administrator.                                                                               
        Using Transaction ST22 for ABAP Dump Analysis, you can look                                  
        at and manage termination messages, and you can also                                         
        keep them for a long time.                                                                   
    Error analysis                                                                                   
        The following syntax error was found in the program /1PAPAXX/HDR_21000A :                    
        ""LV_LENGTH" has already been declared"                                                      
    How to correct the error                                                                         
        Probably the only way to eliminate the error is to correct the program.                      
        If you cannot solve the problem yourself and want to send an error                           
        notification to SAP, include the following information:                                      
        1. The description of the current problem (short dump)                                       
           To save the description, choose "System->List->Save->Local File                           
        (Unconverted)".                                                                              
        2. Corresponding system log                                                                  
           Display the system log by calling transaction SM21.                                       
           Restrict the time interval to 10 minutes before and five minutes                          
        after the short dump. Then choose "System->List->Save->Local File                            
        (Unconverted)".                                                                              
        3. If the problem occurs in a problem of your own or a modified SAP                          
        program: The source code of the program                                                      
           In the editor, choose "Utilities->More                                                    
        Utilities->Upload/Download->Download".                                                       
        4. Details about the conditions under which the error occurred or which                      
        actions and input led to the error.                                                          
    System environment                                                                               
        SAP Release..... 731                                                                         
        SAP Basis Level. 0007                                                                        
        Application server... "dc-ds-erp"                                                            
        Network address...... "172.16.23.111"                                                        
        Operating system..... "Linux"                                                                
        Release.............. "3.0.13-0.27-default"                                                  
        Hardware type........ "x86_64"                                                               
        Character length.... 16 Bits                                                                 
        Pointer length....... 64 Bits                                                                
        Work process number.. 1                                                                      
        Shortdump setting.... "full"                                                                 
        Database server... "dc-ds-erp"                                                               
        Database type..... "ORACLE"                                                                  
        Database name..... "ECD"                                                                     
        Database user ID.. "SAPSR3"                                                                  
        Terminal.......... "NLC-HP"                                                                  
        Char.set.... "C"                                                                             
        SAP kernel....... 720                                                                        
        created (date)... "Sep 14 2013 06:16:24"                                                     
        create on........ "Linux GNU SLES-11 x86_64 cc4.3.4 use-pr130820"                            
        Database version. "OCI_112, 11.2.0.3.0, V1, default"                                         
        Patch level. 500                                                                             
        Patch text.. " "                                                                             
        Database............. "ORACLE 10.1.0.*.*, ORACLE 10.2.0.*.*, ORACLE 11.2.*.*.*"              
        SAP database version. 720                                                                    
        Operating system..... "Linux 2.6, Linux 3"                                                   
        Memory consumption                                                                           
        Roll.... 0                                                                                   
        EM...... 37708200                                                                            
        Heap.... 0                                                                                   
        Page.... 106496                                                                              
        MM Used. 4666776                                                                             
        MM Free. 3709976                                                                             
    User and Transaction                                                                             
        Client.............. 210                                                                     
        User................ "HCM03"                                                                 
        Language key........ "E"                                                                     
        Transaction......... "PA40 "                                                                 
        Transaction ID...... "53EF470299AB5D67E1000000AC10176F"                                      
        EPP Whole Context ID.... "005056A301D11EE48A9D08B337F884E3"                                  
        EPP Connection ID....... 00000000000000000000000000000000                                    
        EPP Caller Counter...... 0                                                                   
        Program............. "SAPFP50M"                                                              
        Screen.............. "MP000000 1000"                                                         
        Screen Line......... 3                                                                       
        Debugger Active..... "none"                                                                  
    Information on where terminated                                                                  
        Termination occurred in the ABAP program "SAPFP50M" - in                                     
        "GET_HEADER_WITH_TCLAS".                                                                    
        The main program was "MP000000 ".                                                            
        In the source code you have the termination point in line 146                                
        of the (Include) program "FP50MDHD".                                                         
    Source Code Extract                                                                              
    Line
    SourceCde                                                                                  
      116
      CALL FUNCTION 'HR_HEADER_GET'                                                            
      117
          EXPORTING                                                                            
      118
               DHDID                    = FHD_HID                                              
      119
               BEGDA                    = BEGDA                                                
      120
               TCLAS                    = TCLAS                                                
      121
    * Es wird nur einer der folgenden 3 Parameter benutzt.                                     
      122
    * Ausgewertet wird zunaechst MOLGA, dann P0001 dann PERNR.                                 
      123
    * Der erste der nicht initial ist wird ausgewertet.                                        
      124
    *           MOLGA                   =                                                      
      125
               P0001                    = P0001                                                
      126
               PERNR                    = PSPAR-PERNR                                          
      127
          IMPORTING                                                                            
      128
               PROG                     = HEADER_PROG                                          
      129
               DNUM                     = HEADER_DYNNR                                         
      130
           EXCEPTIONS                                                                          
      131
                HEADER_DEACTIVATED          = 1                                                
      132
                HEADER_UNKNOWN              = 2                                                
      133
                HEADER_GENERATE_DEACTIVATED = 3                                                
      134
                HEADER_GENERATE_FAILED      = 4                                                
      135
                INTERNAL_ERROR              = 5                                                
      136
                OTHERS                      = 6.                                               
      137
      138
      IF NOT SY-SUBRC IS INITIAL.                                                              
      139
    * Bei Problemen gibt's eben ein leeres Dynpro.                                             
      140
        HEADER_PROG = 'SAPMP50A'.                                                              
      141
        HEADER_DYNNR = '0090'.                                                                 
      142
      ELSE.  " NOT sy-subrc IS INITIAL.                                   "                    
      143
    * Dann setzen wir jetzt auch noch das Datum fest.                                          
      144
        PERFORM HEADER_BEGDA_SET IN PROGRAM (HEADER_PROG) USING BEGDA.                         
      145
    * Und schalten auf Uebergabe der PERNR mit globalen Variablen.                             
    >>>>>
        PERFORM HEADER_LAZY_ON IN PROGRAM (HEADER_PROG).                                       
      147
      ENDIF.  " (ELSE) NOT sy-subrc IS INITIAL.                           "                    
      148
    * Merken wie der Header heisst. Damit MPPERS00 sich erinnern kann.                         

    Hi,
    Error Log: Syntax error
    ""LV_LENGTH" has already been declared"
    please check LV_LENGTH variable declaration.
    It may be declared more once!

  • How to retrieve the action type of a PA40 action?

    Hi there,
    I am trying to find out the way to identify what was the action type for the personnel action that is just being executed. I will try to explain myself with a concrete example.
    Let's take the hiring action.
    A user goes to PA40 and initiates the action to hire a new employee. The program will then start guiding the user through the different infotypes defined within the infogroup.
    Let's say that the order is IT0001, IT0002, IT0006, ...
    I have setup table T779X to call a Function Module of my own after inserting IT0006. At that point in time I can know that the IT has been modified through transaction PA40 (sy-tcode) but, how can I know what action is being executed?
    Thanks

    Jim,
    Actions can always be found afterwards in IT000 indeed
    My problem is that I need to know what action type was initiated in REAL TIME. When I am debugging the batch for IT0006, after the user initiated an action through PA40
    Thanks for the answer anyway

  • Runtime error while executing New Hire action in PA40

    Hi All,i am getting short dump while executing PA40 for new hire action typecan anyone look into this and guide as i am new to HCMNote: getting dump only for one user id for rest all other user id i am not getting dump.
    Category               ABAP Programming Error                                                      
    Runtime Errors         SYNTAX_ERROR                                                                
    ABAP Program           /1PAPAXX/HDR_21000A                                                         
    Application Component  Not Assigned                                                                
    Date and Time          21.08.2014 14:07:03                                                         
    Short text                                                                                       
        Syntax error in program "/1PAPAXX/HDR_21000A ".                                              
    What happened?                                                                                   
        Error in the ABAP Application Program                                                        
        The current ABAP program "SAPFP50M" had to be terminated because it has                      
        come across a statement that unfortunately cannot be executed.                               
        The following syntax error occurred in program "/1PAPAXX/HDR_21000A " in                     
        include "/1PAPAXX/HDR_21000AO01 " in                                                        
        line 52:                                                                                     
        ""LV_LENGTH" has already been declared"                                                      
        The include has been created and last changed by:                                            
        Created by: "HCM04 "                                                                         
        Last changed by: "HCM03 "                                                                    
        Error in the ABAP Application Program                                                        
        The current ABAP program "SAPFP50M" had to be terminated because it has                      
        come across a statement that unfortunately cannot be executed.                               
    What can you do?                                                                                 
        Please eliminate the error by performing a syntax check                                      
        (or an extended program check) on the program "/1PAPAXX/HDR_21000A ".                        
        You can also perform the syntax check from the ABAP Editor.                                  
        If the problem persists, proceed as follows:                                                 
        Note down which actions and inputs caused the error.                                         
        To process the problem further, contact you SAP system                                       
        administrator.                                                                               
        Using Transaction ST22 for ABAP Dump Analysis, you can look                                  
        at and manage termination messages, and you can also                                         
        keep them for a long time.                                                                   
    Error analysis                                                                                   
        The following syntax error was found in the program /1PAPAXX/HDR_21000A :                    
        ""LV_LENGTH" has already been declared"                                                      
    How to correct the error                                                                         
        Probably the only way to eliminate the error is to correct the program.                      
        If you cannot solve the problem yourself and want to send an error                           
        notification to SAP, include the following information:                                      
        1. The description of the current problem (short dump)                                       
           To save the description, choose "System->List->Save->Local File                           
        (Unconverted)".                                                                              
        2. Corresponding system log                                                                  
           Display the system log by calling transaction SM21.                                       
           Restrict the time interval to 10 minutes before and five minutes                          
        after the short dump. Then choose "System->List->Save->Local File                            
        (Unconverted)".                                                                              
        3. If the problem occurs in a problem of your own or a modified SAP                          
        program: The source code of the program                                                      
           In the editor, choose "Utilities->More                                                    
        Utilities->Upload/Download->Download".                                                       
        4. Details about the conditions under which the error occurred or which                      
        actions and input led to the error.                                                          
    System environment                                                                               
        SAP Release..... 731                                                                         
        SAP Basis Level. 0007                                                                        
        Application server... "dc-ds-erp"                                                            
        Network address...... "172.16.23.111"                                                        
        Operating system..... "Linux"                                                                
        Release.............. "3.0.13-0.27-default"                                                  
        Hardware type........ "x86_64"                                                               
        Character length.... 16 Bits                                                                 
        Pointer length....... 64 Bits                                                                
        Work process number.. 1                                                                      
        Shortdump setting.... "full"                                                                 
        Database server... "dc-ds-erp"                                                               
        Database type..... "ORACLE"                                                                  
        Database name..... "ECD"                                                                     
        Database user ID.. "SAPSR3"                                                                  
        Terminal.......... "NLC-HP"                                                                  
        Char.set.... "C"                                                                             
        SAP kernel....... 720                                                                        
        created (date)... "Sep 14 2013 06:16:24"                                                     
        create on........ "Linux GNU SLES-11 x86_64 cc4.3.4 use-pr130820"                            
        Database version. "OCI_112, 11.2.0.3.0, V1, default"                                         
        Patch level. 500                                                                             
        Patch text.. " "                                                                             
        Database............. "ORACLE 10.1.0.*.*, ORACLE 10.2.0.*.*, ORACLE 11.2.*.*.*"              
        SAP database version. 720                                                                    
        Operating system..... "Linux 2.6, Linux 3"                                                   
        Memory consumption                                                                           
        Roll.... 0                                                                                   
        EM...... 37708200                                                                            
        Heap.... 0                                                                                   
        Page.... 106496                                                                              
        MM Used. 4666776                                                                             
        MM Free. 3709976                                                                             
    User and Transaction                                                                             
        Client.............. 210                                                                     
        User................ "HCM03"                                                                 
        Language key........ "E"                                                                     
        Transaction......... "PA40 "                                                                 
        Transaction ID...... "53EF470299AB5D67E1000000AC10176F"                                      
        EPP Whole Context ID.... "005056A301D11EE48A9D08B337F884E3"                                  
        EPP Connection ID....... 00000000000000000000000000000000                                    
        EPP Caller Counter...... 0                                                                   
        Program............. "SAPFP50M"                                                              
        Screen.............. "MP000000 1000"                                                         
        Screen Line......... 3                                                                       
        Debugger Active..... "none"                                                                  
    Information on where terminated                                                                  
        Termination occurred in the ABAP program "SAPFP50M" - in                                     
        "GET_HEADER_WITH_TCLAS".                                                                    
        The main program was "MP000000 ".                                                            
        In the source code you have the termination point in line 146                                
        of the (Include) program "FP50MDHD".                                                         
    Source Code Extract                                                                              
    Line
    SourceCde                                                                                  
      116
      CALL FUNCTION 'HR_HEADER_GET'                                                            
      117
          EXPORTING                                                                            
      118
               DHDID                    = FHD_HID                                              
      119
               BEGDA                    = BEGDA                                                
      120
               TCLAS                    = TCLAS                                                
      121
    * Es wird nur einer der folgenden 3 Parameter benutzt.                                     
      122
    * Ausgewertet wird zunaechst MOLGA, dann P0001 dann PERNR.                                 
      123
    * Der erste der nicht initial ist wird ausgewertet.                                        
      124
    *           MOLGA                   =                                                      
      125
               P0001                    = P0001                                                
      126
               PERNR                    = PSPAR-PERNR                                          
      127
          IMPORTING                                                                            
      128
               PROG                     = HEADER_PROG                                          
      129
               DNUM                     = HEADER_DYNNR                                         
      130
           EXCEPTIONS                                                                          
      131
                HEADER_DEACTIVATED          = 1                                                
      132
                HEADER_UNKNOWN              = 2                                                
      133
                HEADER_GENERATE_DEACTIVATED = 3                                                
      134
                HEADER_GENERATE_FAILED      = 4                                                
      135
                INTERNAL_ERROR              = 5                                                
      136
                OTHERS                      = 6.                                               
      137
      138
      IF NOT SY-SUBRC IS INITIAL.                                                              
      139
    * Bei Problemen gibt's eben ein leeres Dynpro.                                             
      140
        HEADER_PROG = 'SAPMP50A'.                                                              
      141
        HEADER_DYNNR = '0090'.                                                                 
      142
      ELSE.  " NOT sy-subrc IS INITIAL.                                   "                    
      143
    * Dann setzen wir jetzt auch noch das Datum fest.                                          
      144
        PERFORM HEADER_BEGDA_SET IN PROGRAM (HEADER_PROG) USING BEGDA.                         
      145
    * Und schalten auf Uebergabe der PERNR mit globalen Variablen.                             
    >>>>>
        PERFORM HEADER_LAZY_ON IN PROGRAM (HEADER_PROG).                                       
      147
      ENDIF.  " (ELSE) NOT sy-subrc IS INITIAL.                           "                    
      148
    * Merken wie der Header heisst. Damit MPPERS00 sich erinnern kann.                         
      149
    * Wird mit Einfuehrung des Headerobjekts obsolet.                                          
      150
      PERFORM REMEMBER_HEADER  "                             "XYVPH4K015649                    
      151
        USING HEADER_PROG HEADER_DYNNR 'S'.  "               "XYVPH4K015649                    
      152
    ENDFORM.                                                                                   
      153
      154
    *       FORM RE588I                                                   *                    
      155
      156
      157
      158
    *  -->  T588I_DHDID                                                   *                    
      159
    *  -->  T588I_MOLGA                                                   *                    
      160
    *  -->  T588I_TCLAS                         

    Implement SAP Note 1004280.. your issue if fixed
    If your issue is resolved request you to close the thread or else free feel to touch base
    BR
    Anil

  • Error while hiring an employee in pa40

    HI
    This occurs while hiring an employee in PA40.
    Runtime Errors         GETWA_NOT_ASSIGNED
    Short text
         Field symbol has not yet been assigned.
         Error in the ABAP Application Program
         The current ABAP program "SAPLHRWF" had to be terminated because it has
         come across a statement that unfortunately cannot be executed.
        You attempted to access an unassigned field symbol
        (data segment 32770).
        Thanks in advance

    Hi,
    first tell me exactly where the error is coming?
    is it coming as soon as you entered in PA40? or
    is it coming in a particular infotype? if so what is that infotype and what value you are inputing in that screen?
    please make sure the value you are giving in the screen is properly configured. also check the T588D & T529A with respect to UGR and IGMOD.
    Gayathri N

  • Error with creating a new employee - PA40

    When creating a new employee record using PA40, the PERNR gets generated as soon as Infotype 0000 is updated. How do we capture the new PERNR, if a BDC recording of PA40 fails midway during the process
    I would appreciate and reward any valuable ideas!

    create a session for error messages....and u can go to sm35 and check what has ahppened.....if not use format_message and display what has happened as report output....in case of BDC fail......!!!!!
    it will be like....
    call transaction 'PA40' using it_bdctab
    mode 'N'
    update 'S'
    messages into it_bdcmsgcoll.
    if sy-subrc <> 0.
    *--store the pernr for which bdc failed......here!!!
    call function 'bdc_open_group'
    call function 'bdc_insert'
    call function format_message
    call function 'bdc_close_group'
    *---check error and try to rectify it.....
    Regards
    Vasu

  • What is the tcode for bdc recording and how to do in hr-abap for pa and om

    hi,
         I need to do the bdc recording for pa and om. So, can any of you tell me how to do and what are the tcodes we have to use.
    thanks & regards,
        Sekhar.

    Hi ,
    Here is the link from you will get all the transaction code
    http://www.sap-basis-abap.com/saphr004.htm
    As far PA specfic some tcodes are given below
    PA20  Display HR Master Data
    PA30  Maintain HR Master Data
    PA40  Personnel Actions
    PA41  Correct Actions
    PA42  Fast Entry for Actions
    PA46  Import from Resumix
    PA47  Export to Resumix
    PA48  Hiring from non-SAP system
    PA51  Display Time Data
    PA53  Display Time Data
    PA61  Maintain Time Data
    PA62  List Entry of Additional Data
    PA63  Maintain Time Data
    PA64  Calendar Entry
    PA70  Fast Entry
    PA71  Fast Entry of Time Data
    PA88  Benefits
    For OM specific
    PP01  Maintain Plan Data (menu-guided)

  • Call Transaction 'PA40'  ALWAYS returns with error code

    Hi,
    I'm having issues with updating personnel actions using CALL TRANSACTION 'PA40'. The call always ends with an error code.
    I checked the message table and there are no error messages, only warnings and status messages. Warning and information messages are usually skipped in the BDC...I've coded an 'ENTER' to past the warning but this does not work either as the subsequent infotype screen fields are then not filled correctly.
    The following values for addition OPTIONS are used:
    data: opt like ctu_params.
      opt-dismode = 'N'.
      opt-updmode = 'A'. ('S' makes no difference)
      opt-defsize = 'X'.
      opt-nobinpt = 'X'. ( ' ' makes no difference)
    I've tried using 'PA30' for the same actions but I get the same problem. I've used call transaction 'PA30' in many programs and I've never come across this problem.
    Is there perhaps a config setting somewhere to fix this? I've tried hiring employees using HR_MAINTAIN_MASTERDATA with the employee existance check off but there's a couple of problems there as well - sample code for hiring an employee would be very helpful...
    I need your help urgently and would appreciate your assitance immensely. (I'm working on 4.6C.)
    Thank you.
    LM

    The easiest way to resolve this is to set
    opt-dismode = 'E'.
    this way it will run in background and jump out when it hits an error, and it's much easier to see what the real issue is.
    I'm assuming you used SHDB first to get the recording?

  • Error while using pa40 for hiring an applicant

    Hi
    I am trying to hire an applicant using pa40 transaction code
    But it gives me an error "NO ACTIVITIES FOUND". ( The applicant has overall status as "to be hired" and action type as "cleared interview" which is created)
    However, when I go to Transaction code PB30  and change the applicant action type ( with  overall status as" to be hired"), it works
    Can someone explain to me why this is so?
    Is there some connection between applicant action type  and overall  status and pa40?
    Regards
    Jean

    Hi Jean,
    Try the same thing through t code PBA7 and check what the exact error you are geting, but make sure that b4 running this tcode your applicant action status shud be 2 (to be hired).
    If your are trying to do the same through tcode PA40 then make sure that in table T529A go through sm30 for the same action Function character should be 7.
    Hope this helps you.
    Regards,
    Prashantkumar Tata

  • User exit for save data in T.code PA40 ABAP-HR

    Hi Expart,
    what is the user exit which is trigger when we save the data through pa40 transaction which check the latest update in the database.
    Kindly give me exit name .

    Hi Vikash ,
    Please refer to below Exits :
    HRPBAS01            User Exit for HR Master Data
    HRPC0001            HR: PC download authorization
    HRRPAI01            User exit for FB HR_ENTRY_DATE and HR_LEAVING_DATE
    PARA0001            Enhancement for Determining the Number of Periods
    PARA0002            Enhancement for Calculating Annual Salary; IT0008,14,15
    PBAS0001            PA: Pers.Admin./Recruitment: Default values and checks
    PBAS0002            PA: Enhancements for Personnel Administration - Menu
    PBASRP01            PA: User exit distributed reporting
    Hope this will help you.
    Regards,
    Nikhil

  • What is HR ABAP?

    Dear All,
    I have some doubts on HR ABAP. Could you pls give me your best replay on those.
    1. What is HR ABAP?
    2. What is the main use of HR ABAP?
    3. What is the Architecture of HR ABAP and how it will work on ERP.
    4. HR ABAP will comes under Netweaver or ERP only?
    I will be for your replay...
    Regards,
    Chandra.

    &#61550;The HR module is a true demonstration of the strength of the SAP product in Enterprise Resource Planning. 
    The Human Resource module is comprised of major areas of functionality known as submodules.The HR system has very strong integration points (where data is passed back and forth without human data entry) with just about all of the other SAP modules.  In addition, there is very tight integration amongst the HR submodules.
    INFOTYPES:
    To begin with , let me give you  a small overview on the HR Infotypes .
    Infotypes are the units of information in the Human Resource Management System .
    Infotypes are used to group related data fields together. They provide information with a structure, facilitate data entry, and enable you to store data for specific periods.
    USE :
    Recording employee data for administrative, time recording, and payroll purposes is of primary importance for master data administration in HR. In the SAP System, the information units used to enter master data are called infotypes.
    Structure
    Infotypes are characterized by the following:
    •     Infotype Structure
    •     Data Entry
    •     Time-Dependent Storage of Infotype Data
    Infotype Structure
    To the user, infotypes appear as data entry screens. They contain whole series of information (for example, last name, first name, date of birth) that you enter in data fields. Data fields concerning the same or similar subject matter are combined into data groups or information units.
    In database terms, infotypes represent a data structure or set of related data records. When you update an infotype, old data is not lost but is instead stored in the system for historical evaluation purposes.
    Time-Dependent Storage of Infotype Data
    When you update an infotype, the old data may not be lost. Instead, it must be retained so that past data can be evaluated. When you update an employee´s personal data, the old data is automatically time-delimited. The system creates a validity period for each infotype record. As a result, each employee infotype has several data records that differ from each other by their validity periods.
    Time Constraints in HR Master Data 
    The concept of Time Constraints is very important in HR ABAP . This is due to the fact that all the infotype records are Time Delimited which is to say that  all the records are valid only for a particular time frame .
    When you update an infotype, old data is not lost but archived for historical evaluation. The system records a specific period of validity for each infotype, This enables the system to store more than one infotype record at the same time, even if their validity periods overlap. This means that the time relationships between infotype records must be defined. The concept of time constraints enables you to do this.
    HR master data uses the following three time constraints:
    •     Time Constraint 1
    For the entire time that the employee works at the enterprise, exactly one valid infotype record must exist. The validity periods of the individual records must not overlap. If a new record is created, the system automatically uses the start date of the new record as the delimitation date of the old record. Gaps are only allowed between the employee’s entry date and the start date of the first record.
    Time constraint 1 must be used for all of the infotypes containing information that must be available at all times. This is particularly true of personal and organizational assignment data.
    If a record is delimited because of time constraint 1, the system displays an appropriate message.
    •     Time Constraint 2
    No more than one valid record can exist at any one time. Records with constraint 2 must not overlap. Their existence is not obligatory. If a new record is created, the system automatically delimits the previous record, if one exists.
    If a record is delimited because of time constraint 2, the system displays an appropriate message.
    •     Time Constraint 3
    Any number of valid records can exist at any one time. The individual records do not conflict with each other.
    BASIC FORM :
    INFOTYPES nnnn.
    Each info type has a formal description in the ABAP Dictionary as structure Pnnnn
    nnnn between 0000 and 0999: HR master data info types
    nnnn between 1000 and 1999: HR planning data info types
    nnnn between 2000 and 2999: HR time data info types
    nnnn between 3000 and 8999: Not yet used
    nnnn between 9000 and 9999: Customer-specific info types
    Effect
    Declares the HR info type nnnn . Creates an internal table as follows:
    DATA BEGIN OF Pnnnn OCCURS 10.
      INCLUDE STRUCTURE Pnnnn.
    DATA END OF Pnnnn VALID BETWEEN BEGDA AND ENDDA.
    Example
    INFOTYPES: 0000, 0001, 0002.
    Addition 1
    ... NAME c
    Effect
    c is a name up to 20 characters long. Creates an internal table as follows:
    DATA BEGIN OF c OCCURS 10.
    INCLUDE STRUCTURE Pnnnn.
    DATA END OF c VALID BETWEEN BEGDA AND ENDDA.
    Example
    INFOTYPES: 0005 NAME VACATION, 0006 NAME ADDRESS.
    Addition 2
    ... OCCURS occ
    Effect
    occ is a number for the OCCURS value. Creates an internal table as follows:
    DATA BEGIN OF c OCCURS m.
    INCLUDE STRUCTURE Pnnnn.
    DATA END OF c VALID BETWEEN BEGDA AND ENDDA.
    Example
    INFOTYPES 0003 OCCURS 1.
    All the Repository objects required for the infotype have been created. The relevant infotype specific table entries in tables T777T (Infotype texts) and T778T (Infotypes) have been maintained by the infotype copier. The user has maintained the relevant entry in T777I (Infotypes per object type).
    Infotype Groups
    Definition
    An infotype group, or info group, is a sequence of related infotypes that are displayed one after the other for maintenance purposes when a personnel action is performed.
    Use
    The infogroup guarantees that during the personnel action, all information needed for the business processes is stored.
    Structure
    An infogroup exists in the standard system for every personnel action type in the Personnel Actions section.
    In Customizing for Personnel Administration, you can modify the relationship between individual infogroups and define the infogroups as user-dependent.
    In the standard system, different types of employee data are stored in individual infotypes. Rather than accessing each infotype individually and entering data into them, the system can group together the most important infotypes into personnel actions and lead you through processing the employee data.
    Personnel actions
    Personnel procedures, such as hiring an employee, organizational reassignment, or an employee leaving the enterprise are represented by individual personnel actions in Personnel Administration. Each personnel action contains the infotypes that you must maintain to record the personnel action at hand. The infotypes are retrieved in succession so that you can maintain them. For example, all the fields in which you need to make entries to hire an employee will be offered to you for maintenance automatically by the system in the personnel action Hiring.
    This ensures that all the core data is entered into the system. This function also facilitates entering data as you do not need to access each infotype within the personnel action individually .
    Example : ORGANISATION INFOTYPE(0001)
    The Organisational Assignment (0001) deals with the incorporation of the employee into the organizational structure .
    We can display the infotypes from the transaction PA30(Maintain HR Master Data) .
    Goto PA30 .
    Enter the Personnel No . and the infotype no . in the places shown and then
    Create/Change/Display .
    On pressing the Display button the following screen appears .
    For the particular person (120) the organization structure can be displayed on pressing the “Org Structure” button .
    The Above screen gives us the Organisational Assignment for the particular person . For Example 120 belongs to the Org unit “Direction Market Switzerland”
    Holds the position of  “ Secretary Head Office CH”  and the position is described by the Job “ Secretary” .
                        LOGICAL DATABASES:
    After this brief discussion on INFOTYPES let us now concentrate on the HR PROGRAMMING BASICS and in General and Logical Databases in Particular .
    Hierarchy of a Logical Database
    Logical databases are programs that read data from database tables and pass it to other programs for processing. The order of reading the database tables is determined by a hierarchy.
    Many tables in the R/3 System are linked using foreign key relationships. Parts of these relationships form tree-like hierarchical structures. Logical databases allow you to read data easily from database tables that form parts of these structures. The logical database F1S has the following hierarchy:
    Transaction SE36 .
    When reading the tables, the system first reads one element of table SPFLI. Then, it reads the first element of the subordinate table SFLIGHT that, according to the foreign key relationship, belongs to the first element of table SPFLI. Then, it reads all elements of table SBOOK that belong to the first element read from table SFLIGHT. Next, it reads the second element of table SFLIGHT and all corresponding elements of table SBOOK. This step is repeated until the system has read all elements of table SFLIGHT that belong to the first element of table SPFLI. Then the system reads the second element of table SPFLI and the entire procedure starts again. This procedure is repeated until the entire hierarchy has been processed.
    Logical databases contain Open SQL statements that read data from the database. You do not therefore need to use SQL in your own programs. The logical database reads the program, stores them in the program if necessary, and then passes them line by line to the application program or the function module LDB_PROCESS using an interface work area.
    Structure of Logical Databases
    A logical database is made up of three components .They are:
    •     Structure
    The structure defines the data view of the logical database. It determines the structure of the other components and the behavior of the logical database at runtime. The order in which data is made available to the user depends on the hierarchical structure of the logical database concerned.
    •     Selections
    The selections define a selection screen, which forms the user interface of the executable programs that use the logical database. Its layout is usually determined by the structure. You can adapt the selections to your own requirements and also add new ones. When you link a logical database to an executable program, the selections of the logical database become part of the standard selection screen of the program (screen number 1000).
    The database program contains the ABAP statements used to read the data and pass it to the user of the logical database. The structure of the database program is a collection of special subroutines. It is determined by the structure and the selections. You can adapt the database program to your own requirements and also extend it.
    Other components such as documentation, language-specific texts, and user-defined selection screens extend the functions further.
    Structure
    The structure of a logical database is usually based on the foreign key relationships between hierarchical tables in the R/3 System. Logical databases have a tree-like structure, which can be defined as follows:
    • There is a single node at the highest level. This is known as the root node.
    • Each node can have one or several branches.
    • Each node is derived from one other node.
    The nodes must be structures defined in the ABAP Dictionary or data types from a type group. Normally, these are the structures of database tables which the logical database reads and passes to the user for further evaluation. However, it is also possible, and sometimes useful, to use ABAP Dictionary structures without an underlying database. For technical reasons, the maximum number of nodes allowed in the structure of a logical database is 300.
    Any executable ABAP program that has a logical database linked to it can contain a GET statement for each node of the structure. When you run the program, the corresponding event blocks are processed in the sequence prescribed by the hierarchical structure of the logical database. If a program does not contain a GET statement for every node of a logical database, the processing passes through all the nodes that lie in the path from the root to the nodes specified by GET statements.
    Logical Databases - Views of Data
    A logical database provides a particular view of database tables in the R/3 System. It is always worth using logical databases if the structure of the data that you want to read corresponds to a view available through a logical database.
    The data structure in a logical database is hierarchical. Many tables in the R/3 System are linked to each other using foreign key relationships. Some of these dependencies form tree-like hierarchical structures. Logical databases read data from database tables that are part of these structures.
    Retrieving Data Using a Logical Database
    After you have specified the logical database in the report attributes, you can access the database in the program. In the declaration part of your program, declare the tables you want to access in the program using the TABLES statement, as described in the SELECT Statement section. This provides the work areas for passing the data from the logical database to the program. The system also configures the selection screen to include fields from the tables you specified.
    The program of the logical database places the data from the database tables into the work areas created by the TABLES statement. The logical database then triggers an event. In your program, you catch this event using the keyword GET with the corresponding table name. If, for example, the logical database just filled the work area of table SBOOK, it triggers the event GET SBOOK in your program. The system then executes the statement block belonging to this event.
    A statement block starts directly after the event keyword and ends at the next event keyword or at the end of the program.
    GET EVENT
    This is the most important event for executable programs that use a logical database. It occurs when the logical database has read a line from the node  in the hierarchy. You should therefore not use these fields in your program or call subroutines that work with them .
    The following program is connected to the logical database F1S.
    REPORT EVENT_DEMO.
    NODES: SPFLI, SFLIGHT, SBOOK.
    START-OF-SELECTION.
      WRITE 'Test Program for GET'.
    GET SPFLI.
      SKIP.
      WRITE: / 'From:', SPFLI-CITYFROM,
               'TO  :', SPFLI-CITYTO.
    GET SFLIGHT.
      SKIP.
      WRITE: / 'Carrid:', SFLIGHT-CARRID,
               'Connid:', SFLIGHT-CONNID.
      ULINE.
    GET SBOOK.
      WRITE: / 'Fldate:',    SFLIGHT-FLDATE,
               'Bookid:',    SBOOK-BOOKID,
               'Luggweight', SBOOK-LUGGWEIGHT.
      ULINE.
    The table work area SFLIGHT is also used in the event block for GET SBOOK. Depending on what you enter on the selection screen, the beginning of the list display might look like this:
    In the logical database F1S, the nodes SFLIGHT and SBOOK are designated for field selection. This means that you can specify a field list in their GET event blocks:
    REPORT EVENT_DEMO.
    NODES: SFLIGHT, SBOOK.
    GET SFLIGHT FIELDS CARRID CONNID.
    GET SBOOK FIELDS BOOKID.
    GET SFLIGHT LATE FIELDS PLANETYPE.
    In this case, the logical database reads the following fields:
    •     MANDT, CARRID, CONNID, FLDATE, and PLANETYPE from SFLIGHT
    •     MANDT, CARRID, CONNID, FLDATE, and BOOKID from SBOOK
    The system reads the fields MANDT and FLDATE from SFLIGHT, even though they are not specified in the field list, since they belong to the table key.
    Only the key fields of SBOOK are read.
    PROVIDE
    PROVIDE Syntax Diagram
    Basic form
    PROVIDE f1 f2 ... FROM itab1
    g1 g2 ... FROM itab2
    FROM itabn
    BETWEEN f AND g.
    See PROVIDE - ENDPROVIDE not allowed .
    Effect
    Retrieves the contents of the specified fields from the internal tables (itab1, itab2 , ...) and places them in the table header lines within the required range. Also executes the processing block enclosed by the PROVIDE and ENDPROVIDE statements for each range.
    Note
    For itab1, itab2 ... only tables with header lines are allowed.
    Effect
    Basic principle:
    The diagram below illustrates the functionality of the PROVIDE statement for the most simple case where just two tables A and B are to be processed:
    IA1 IA2
    |----
    | |----
    | table A
    : IB1 : IB2 : :
    : |----
    | |----
    | : table B
    : : PROVIDE area : : :
    ...|----
    |...
    :TI1: TI2 :TI3: : TI4 : TI5 : TI6 :
    ...|-|---|-| |-----|-|---|...
    result ranges
    The data structures which form the basis for the table lines must each contain two components which can be interpreted as a range (e.g. start date and end date). In the diagram, the ranges belonging to the entries in table A are marked with IA1 or IA2 , and those in table B with IB1 or IB2. If you split the ranges of both tables into overlapping and non-overlapping ranges and then form the intersection with the PROVIDE area, this results in 6 sub-ranges TI1 to TI6. In these sub-ranges, the values of the tables A and B are constant. The PROVIDE statement makes the contents of the tables A and B available for the 6 sub-ranges, one after the other. It thus acts as a kind of loop where the data of the tables involved can be processed with reference to each range.
    Effect
    General principle
    Each of the specified internal tables has two fields which contain the line-related validity range. You can determine these in the
    DATA statement with the addition "VALID BETWEEN ... AND ...". If this addition is not used, the first two sub-fields of the table determine these range fields (corresponds to VALID BETWEEN first field AND second field). These fields can be date fields, time fields or number fields. Both these two fields and also f and g should be the same type.
    PROVIDE splits the range f to g into sub-ranges so that each of the fields (f1, f2, ...) specified for each table is constant in this range and so that each sub-range is as large as possible (range limits are considered part of the range).
    Each time the processing passes through the loop, the current range limits and the specified sub-fields are placed in the header lines of the internal tables. If you want to make all sub-fields available, enter '*' instead of the field list. The unspecified sub-fields are set to their initial value (
    •     CLEAR).
    It is a requirement that the ranges within a table are in ascending order and not overlapping. However, there can be gaps between one upper range limit and the next lower range limit.
    For each table itab1, itab2 ... , the automatically generated fields itab1_VALID, itab2_VALID , ... indicate (with 'X' or blank ' ') whether a suitable entry was found for the current sub-range.
    Example
    The entries in the table SE, PR and SH contain time ranges and are filled as follows:
    DATA: BEGIN OF SE OCCURS 3,
    FROM TYPE D,
    TO TYPE D,
    NAME(15) TYPE C,
    AGE TYPE I,
    END OF SE,
    BEGIN OF PR OCCURS 4,
    START TYPE D,
    END TYPE D,
    PRICE TYPE I,
    NAME(10) TYPE C,
    END OF PR,
    BEGIN OF SH OCCURS 2,
    CLOSED TYPE D,
    STR(20) TYPE C,
    OPENED TYPE D,
    END OF SH VALID BETWEEN OPENED AND CLOSED,
    BEGIN TYPE D VALUE '19910701',
    END TYPE D VALUE '19921001'.
    SE-FROM = '19910801'. SE-TO = '19910930'.
    SE-NAME = 'Shorty'. SE-AGE = 19. APPEND SE.
    SE-FROM = '19911005'. SE-TO = '19920315'.
    SE-NAME = 'Snowman'. SE-AGE = 35. APPEND SE.
    SE-FROM = '19920318'. SE-TO = '19921231'.
    SE-NAME = 'Tom'. SE-AGE = 25. APPEND SE.
    PR-START = '19910901'. PR-END = '19911130'.
    PR-NAME = 'Car'. PR-PRICE = 30000. APPEND PR.
    PR-START = '19911201'. PR-END = '19920315'.
    PR-NAME = 'Wood'. PR-PRICE = 10. APPEND PR.
    PR-START = '19920318'. PR-END = '19920801'.
    PR-NAME = 'TV'. PR-PRICE = 1000. APPEND PR.
    PR-START = '19920802'. PR-END = '19921031'.
    PR-NAME = 'Medal'. PR-PRICE = 5000. APPEND PR.
    SH-CLOSED = '19920315'. SH-STR = 'Gold Avenue'.
    SH-OPENED = '19910801'. APPEND SH.
    SH-CLOSED = '19921031'. SH-STR = 'Wall Street'.
    SH-OPENED = '19920318'. APPEND SH.
    PROVIDE NAME AGE FROM SE
    NAME FROM PR
    FROM SH
    BETWEEN BEGIN AND END.
    ENDPROVIDE.
    The three tables are processed according to the following schema:
    ISE1 ISE2 ISE3
    |-----| |--
    | |----
    |
    : :IPR1 IPR2 : : IPR3 IPR4 :
    : |----
    |----| |--
    |------| :
    : : ISH1 : : : ISH2 : : :
    |----
    | |----
    | :
    : : : : PROVIDE area : : :
    |----
    |...
    ...|--||||--| |--
    |------|...
    result ranges
    This PROVIDE loop is executed 7 times and produces the following sub-ranges:
    o     01.08.1991 - 31.08.1991
    o     01.09.1991 - 30.09.1991
    o     01.10.1991 - 04.10.1991
    o     05.10.1991 - 30.11.1991
    o     01.12.1991 - 15.03.1992
    o     18.03.1992 - 01.08.1992
    o     02.08.1992 - 01.10.1992
    •     In most of the loop passes, the fields SE_VALID, PR_VALID and SH_VALID contain 'X' . The exceptions to this are the 1st loop pass, where PR_VALID contains ' ', and the 3rd loop pass, where SE_VALID contains ' '.
    Field contents (header lines) during the third loop pass:
    SE-FROM = '01101991'
    SE-TO = '04101991'
    SE-NAME = ' '
    SE-AGE = 0
    PR-START = '01101991'
    PR-END = '04101991'
    PR-PRICE = 0
    PR-NAME = 'Car'
    SH-CLOSED = '04101991'
    SH-STR = 'Gold Avenue'
    SH-OPENED = '01101991'
    o     Notes
    •     Strictly speaking, if you imagine each range as a short way of writing a set of single values, this is an "outer join" of the tables.
    o     After ENDPROVIDE, the contents of the system fields SY-INDEX, SY-TABIX and SY-SUBRC are undefined.
    o     Neither the header lines nor the actual table lines of the table specified with PROVIDE should be changed between PROVIDE and ENDPROVIDE. Otherwise, the PROVIDE results are undefined.
    Provide the Last Entry in the Period
    Use
    Use the following programming utility to place the last entry in a required period (this can be a for a subtype) in the table header entry from an internal infotype table.
    Macro: RP_PROVIDE_FROM_LAST
    You define the macro using the keyword INFOTYPES.
    You use macro RP_PROVIDE_FROM_LAST in programs for the logical databases PNP and PAP where the last data record for a period (can be a subtype) is read from an infotype table. The infotype table has been filled earlier (for example, with GET PERNR or RP_READ_INFOTYPE). This macro is only helpful if the infotype (or subtype) has time constraint 1 or 2.
    Prerequisites
    •     The validity begin date of the time period must be before or the same as the validity end date.
    •     Validity start and end dates are correct (preferably of the type DATE).
    •     The infotype table is sorted in ascending order. Otherwise, you would receive the last fitting table entry that might not necessarily correspond to the last time entry.
    Features
    The macro RP_PROVIDE_FROM_LAST makes sure that the last entry for a specified period is placed in the table header entry of the report output list.
    Parameters
    RP_PROVIDE_FROM_LAST inftytab subty beg end
    IN :     1) Name of the internal table
         2) Subtype required or SPACE if no subtype is being specified
         3) Validity begin date of the time interval
         4) Validity end date of the time interval
    OUT:     1) PNP-SW-FOUND: has the value 0 if there is no matching entry in the infotype table in the given time period. Otherwise it has the value 1.
         2) The matching table header entry if PNP-SW-FOUND = 1 or
    the cleared table header entry if PNP-SW-FOUND = 0
    Check
    None
    Example
    (RP_PROVIDE_FROM_LAST inftytab subty beg end)
    RP_PROVIDE_FROM_LAST P0021 '1' PN-BEGDA PN-ENDDA.
    IF PNP-SW-FOUND EQ '1'.
    or
    RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
    IF PNP-SW-FOUND EQ '0'.
    WRITE: / 'Error: Org. assignment is missing'. REJECT.
    ENDIF.
    The module PROVIDE-FROM-FINAL, which is not implemented, is a special case of PROVIDE-FROM-LAST:
    PROVIDE-FROM-FINAL inftytab subty beg end =
          RP_PROVIDE_FROM_LAST inftytab subty end end
    Leaving Event Blocks Using CHECK
    If you use the CHECK .
              PROVIDE * FROM P0002
                  if ... then ...endif.
              ENDPROVIDE.
    •     Changing Infotypes - by using RMAC (macro) RP-READ-INFOTYPE. 
    • Three steps are involved in changing infotypes:
    1. Select the infotype records to be changed;
    2. Make the required changes and store the records in an alternative table;
    3. Save this table to the database;
    The RP-UPDATE macro updates the database. The parameters of this macro are the OLD internal table containing the unchanged records and the NEW internal table containing the changed records. You cannot create or delete data. Only modification is possible.
    INFOTYPES: Pnnnn NAME OLD,
    Pnnnn NAME NEW.
    GET PERNR.
        PROVIDE * FROM OLD
               WHERE .... = ... "Change old record
               *Save old record in alternate table
               NEW = OLD.
        ENDPROVIDE.
        RP-UPDATE OLD NEW. "Update changed record
    Function Modules in HR
    Function modules are program modules which have a defined interface and allow type testing of parameters.
    They are managed with transaction SE37 and combined to function groups according to relevant criteria. You can access this transaction under Tools &#61614; ABAP Workbench &#61614; Function Builder.
    The HR function groups use the naming convention RPxx or HRxx where xx is an identifier of your choice.
    You can use the SHOW FUNCTION * editor command to branch from report processing to function module display.
    Human Resources Glossary
    ABAP/4: Advanced Business Application programming. SAP’s fourth generation programming language to develop online applications and evaluate databases.
    Absence Quota: An employee’s entitlement to certain absence. The quota has a limited validity period, and is reduced by each recorded absence.
    Administrative Personnel Structure: Allows for the ability to group employees by their relationship within the company, their status, and their payroll processing. Consists of three indicators- employee group, employee subgroup and payroll accounting area.
    Applicant Group: Is used in recruitment to classify applicants according to the type of employment contract for which they are applying (e.g. permanent, temporary, freelance, etc.).
    Applicant Range: Is used in recruitment to classify applicants according to their hierarchical or functional criteria. (Functional- administration, factory, engineering.
         Hierarchical- executives, line management, staff.)
    Attendee Type: A grouping together of attendees with the same characteristics. These attendees can be either individual attendees or group attendees (for example, customer, or person).
    Attributes: In PD, they are the inherent characteristics that describe an object. Infotypes are used to hold this information.
    Authorization: The access privileges for performing an action in the R/3 system based on a set of authorized values for each of the fields in an authorization object.
    Authorization object: An element of the authorization system which groups up to ten authorization fields for combined authorization checking. To pass an authorization test for an object, the user must satisfy the authorization check for each field in the object. The authorization objects are listed in the table TOBJ.
    Balance: Used to store a goal amount for a deduction wage type. This is entered in infotype 0015 (Additional Payments).
    Benefit Plan: The benefit plan is the core of benefit administration module; it encompasses a single benefit offered by the employer.
    Business Navigator: The R/3 business navigator is the graphical browser and navigation tool that is used to display the R/3 Reference Model. With this tool you can view graphical process chains, directly access the applications and trigger transactions, call R/3 online documentation, and look at other repository information such as business objects and input/output.
    Client: legally and organizationally independent unit on the highest level of the SAP R/3 system (do not make any changes to clients 000 or 001)
    Cluster: Clusters are ways of organizing data in a database that consists of a number of tables. Types of clusters; B2, R*.
    Command Field: Located on every SAP screen next to the Enter icon (green check mark). Used to type in direct commands that will allow the user to initiate shortcuts. Valid commands are:
    Input          Results
    /n          to end the current transaction
    /I          to end the current session
    /o          to create a new session     
    /nend          to log off from the system
    /nxxx          to jump to a new transaction
    /oxxx          to create a new session and jump to a new transaction (xxxx = transaction code)
    Company Code: A legally independent unit within a client and is the smallest organizational unit for which complete self-contained set of books can be maintained for external reporting (i.e., balance sheet and profit and loss statement).
    Company Structure: Consists of following: Client, Company Code, Personnel area, Personnel subarea, and organizational key.
    Constraint: A constraint describes dependencies between one or more objects and their characteristics in variant configuration.
    Cost Center: An organizational unit within a controlling area that represents a separate location of cost incurred. Cost centers (departments) can be set up based on functional requirements, allocation criteria, activities or services provided, location or area responsibility (object type “K”).
    Country Code: One of the geographical elements within the Differential Reference Code (DRC). The DRC Region field may be used to create pricing conditions.
    Cumulations: “Buckets of wage types stored on technical wage types /101 through /196. Examples include /101 gross wages, /102 RRSP wages and /110 employee deductions.
    Data Dictionary: Central catalog that contains the descriptions of an organization’s data and provides information about the relationship between the data and its use in programs and screens.
    Date Modifier: Used if you want to have different pay dates with same period parameter (i.e., two bi-weekly payrolls by different pay dates.)
    Dialog Wage Types: Wage types that can be entered on infotypes or calculated in payroll.
    Daily Work Schedule: Represents a timetable for working on a specific day. The daily work schedule and work break schedule describes the exact working times for a particular day. One daily work schedule can represent a number of different time models.
    Daily Work Schedule Variant: A daily work schedule that varies slightly from one that is normally valid. For example, some companies have a policy that employees work a half day proceeding a holiday. This half working day is an exception to normal schedule and can be defined as a variant.
    Detail Maintenance (see also Simple Maintenance): One of the three methods you can use to create and maintain organizational plans in the Organization and Planning module of PD. With Detail Maintenance you work with objects one-at-a-time, at a detailed level. Complete PD functionality is available, which means you can work with all types of infotypes and record statuses, etc.
    Dialog (Program): ABAP/4 program that allows the user to perform a certain task (transaction). A dialog program consists of screens, a module pool (i.e., type “M” ABAP/4 program) and a transaction code (call). In general, there is also a user interface that allows the user easy access to a number of functions. (In contrast to reports, a dialog program is normally started with a transaction code or is often incorporated into an area menu.)
    Dynamic Action: Combines related infotypes into groups. Depending on the data entered, the system will generate subsequent infotypes.
    Earliest Recalculation Date: This is set for each employee and also at the payroll control level. The higher of the two dates is used.
    Employee Group: The employee group allows for the division of employees into groups that define their relationship within the company. In personnel administration, the main employee groups are active work force, temporary employees, and retirees
    Employee Subgroup: Employee subgroups are subdivisions of the employee group, which allow for further definitions of the employee according to their status. Such  as, within the active work force, a distinction can be made between union , non-union, salaried, hourly, trainees and executives.
    Employee Subgroup Grouping for Collective Agreement Provisions (CAP): Allows selective assignment to the various pay scale groups. You can combine employee group/subgroups under this grouping customizing in the following categories:
    (1)     Industrial workers /hourly wage;
    (2)     Industrial workers /monthly wage;
    (3)     Salaried employees;
    (4)     Non-pay scale employee.
    Within these groupings, pay scale groups and levels can be defined per scale type and pay scale area. Can be used for indirect valuation on an hourly or monthly basis.
    Employee Subgroup Grouping for Personnel Calculation Rule (PCR): Allows selective assignments to various pay scale groups. You can combine employee groups/subgroups under this grouping using customizing in the following categories:
    1.     Hourly Wage Earners.
    2.     Monthly Wage Earners.
    3.     Salaried Employees
    The meaning of these groups are fixed and may not be changed. The PCR is required for Payroll Accounting and is used for indirect valuation of wage types and infotype 0008, Basic pay.
    Employee Subgroup Grouping for Primary Wage Type: Combines employee subgroups for eligibility for Primary wage type usage. Allows you to restrict specific wage types to certain employees group and subgroup.
    Enterprise IMG: The Enterprise IMG is the top-level filter for the SAP Reference IMG. It is generated by selecting the business application components and countries to be implemented (all projects).
    Evaluation Class: Similar to a processing class. Evaluation classes are used for post payroll processing. (i.e., assigning a G/L account number to a wage type)
    Factoring: Proration process for salaries.
    Features:  Features are decision trees that perform operation on existing fields. Features can be used to set default values. Some examples of features are: ABKRS- default values for payroll area; PINCH- default for Administrator groups on infotype 0001.
    Function: Used to process, collect and display data in schemas.
    Human Resource Master Data: Employee-related data, which remain relatively constant during the course of time. Example includes personnel number, name, address, bank data and social insurance number.
    Hiring: A personnel action in which all the data relevant to the entry of a new employee is recorded, such as name, address, personnel number, activity, cost center etc.
    IMG: Implementation Guide. List of all the actions required for the SAP system and helps control and document the process. The IMG is used to do the actual parameter settings. It provides a GUI-supported, menu-led approach, and offers recommendations and explanations for what the system expects at each stage. Default settings are provided to facilitate configuration.
    Infotype:  A system information unit within the HR module. Infotypes represent a group of related data fields, provide information structure, facilitate data entry, and allow time-dependent storage of data. For example, information on a person’s city of residence, street and house number combines to form the employee’s address, and is therefore stored (along with other data fields) in the infotype “Address.”
    Infotype Groups: An infotype group is a set of infotypes processed for a particular personnel action. An infotype group can be dependent on a user group so that only certain infotypes are processed for a particular group of users.
    Information Subtype: In information type (infotype) can be divided into subtypes. Foe example, family data can be broken down further to represent spouse and children. Each subdivision group is known as a subtype.
    Jobs: Jobs are general classification of positions that exist within a company.
    Modifiers: Used in rule KMOD to set value ranges for tables. The following tables use modifiers:
         MODIF1 = T510S Wage Types constant
         MODIF2 = T510J Constant Valuation
         MODIF3 = T030 Fixed Accounts
         MODIFA = T554C Absence Valuation
         MODIFB = T51D1 Limits for Deductions
         MODIFC = Valuation Basis for month-end accrual
         MODIFD = Wage Type Processing with regard to month-end accrual
         MODIFW = T510S Wage Type Generation
    The modifiers allow you to set a specific range of table entries for different groups of employees.
    Operation: Operations are building blocks for rules. They are used to process wage types.
    Organizational Structure: Organizational Structures reflect organizational hierarchies and interrelationships for employees. They are composed of the following substructures: company structure, personnel structure, pay scale structure, wage type structure.
    Organizational Unit: Organizational Units define the different employee groups (business areas) within a company (e.g. departments). Must be linked to one another to produce a hierarchical structure for the company.
    PA (Personnel Administration and Payroll Accounting): The SAP Human Resources Management system is divided into two main areas of configuration: PA and PD. In PA, the organizational hierarchies and  their control functions are defined using a system of control tables (which means that company structure and personnel structures can be set up independently of one another). The subsets of the implementation guide for PA consists of:
    •     Personnel Administration;
    •     Benefits;
    •     Recruitment;
    •     Time Management;
    •     Payroll.
    Pay Increase (Simple versus Extended):
    Simple: Uses report RPU51000 to increase wage types in customizing.
    Extended: Can define variant to use for increasing standard pay which add or delete wage types or replace existing ones. The variants include:
    •     A – increase a wage type to an absolute amount;
    •     C – delimit an existing wage type;
    •     D – increase by a difference;
    •     E – valuate according to another pay scale group;
    •     G – increase total pay by an absolute amount;
    •     R – replace one wage type by another;
    •     T – add a new wage type.
    Pay Scale Area: Geographical area in which a pay scale or a collective agreement is valid. Two-digit code, setup in customizing and stored in PA country grouping. Used as default values for pay types and groups lined to the personnel subarea (see infotype 0008). Within a pay scale area, pay scale groups and levels can be defined per pay scale type and indicator.
    Pay Scale Group: Provides a classification criteria for work and indirect valuations. Defined per PA country grouping, pay scale type, pay scale area and employee subgroup grouping for the collective agreement provision.  The most important control features of pay scale groups and levels is checking the validity of entries in infotype Basic Pay (0008) and infotype Wage Maintenance (0052) and assigning payments for indirect valuation of wage types.
    Pay Scale Types: Area in which pay scale or collective agreement is valid. This pay scale or agreement may be determined at company or trade union level. Two-digit code maintained in customizing and stored by PA country grouping. Pay scale groups and levels can be defined within a pay scale type per pay scale area and employee subgroup grouping for collective agreement provision.
    Payroll Accounting Area (a.k.a. Payroll Area): The payroll area is a grouping for payroll runs. It is assigned to employees using feature ABKRS, which is based on the organizational assignment (infotype 0001). The payroll area identifies which payroll run (weekly, bi-weekly, monthly, etc.) will process an employee.
    Payroll Driver: The payroll program RPCALCK0 is used to perform complete payroll runs on a period-by period basis and store results.
    Payroll Status: Infotype 0003. It is used to keep track of last payroll run for an employee; retroactive activity and error indication.
    PD (Personnel Planning and Development): The SAP Human Resources Management system is divided into two main areas for configuration: PA and PD. In PD an organizational plan is developed to depict a company’s structure. It will include information about the individual positions, the reporting structure (or chain of command) and positions. Position information will include the types of job performed, the work centers, (physical locations) where jobs and positions are carried out and the different types of tasks performed. The subsets of the implementation guide for PD consists of:
    •     Personnel planning and development global settings;
    •     Organizational plan;
    •     Seminar and convention management;
    •     Personnel development;
    •     Shift planning;
    •     Room reservation planning.
    Period Parameter: Determines payroll area frequency.
    Personnel Actions: The personnel action function groups together all infotypes necessary to input a particular personnel procedure, such as hiring a new employee. Each action includes the infotypes for which it is essential that you enter data, and allows you to process them sequentially. This ensures that all data relevant to particular personnel procedure is recorded in the system.
    Personnel Area: Personnel areas are used solely in Personnel Administration and are defined with a client. Each personnel area must be assigned to a company code. The personnel area allows you to generate default values for data entry, for example, for the payroll accounting area. The personnel area is a selection criterion for reporting. Personnel areas form a unit in authorization checks.
    Personnel Subarea: Personnel Subareas are the last element in the company structure. Respective country-specific control features are stored here Specified grouping for Time management; which allows, for example, work schedules as well as substitution, absence and leave types to be setup on a personnel subarea specific basis. Default values are generated for pay scale types and area for an employee’s basic pay. A holiday calendar is specified. Personnel subarea-specific wage types per personnel area are defined.
    Personnel File: The personnel file gives user the ability to access all infotypes for a particular personnel number. The infotypes are displayed in infotype sequence.
    Position: Jobs are further described by position. Positions are specific roles performed by individual in the company.
    Processing Class: Processing Classes are stored in the table T512W and is used in rules to determine which version of the rule should be selected for a particular wage type.
    Rte, Num, Amt: The elements of a wage type.
    Rule: Controls how wage types are processed during payroll processing. Rules consists of operations.
    Schema: Series of sequential processing steps for payroll and time evaluation. Main schemas include;
    •     K000 Canadian accounting payroll schema for RPCALCK0;
    •     TM00 Main schema for Time Management;
    •     TM01 Time evaluation schema for exceptions to the work schedule;
    •     TM04 Time evaluation schema without clock time.
    Split Indicator: Derived from WPBP. Splits will ensure accuracy during payroll processing. Splits occur when there is a change in one or more of the infotype in the WPBP table.
    Subschema:  Contains processing steps needed by payroll. Subschemas are called from main schema using function “copy”.
    Symbolic Account: Interface between a wage type and general ledger account number. Symbolic accounts are assigned to wage type in T512W.
    Technical Wage Types:  Wage types that are calculated or used by payroll. Technical wage types start with a “/”.
    Time Constraints: Time constraints are configured for each infotype. They serve as guidelines for when and how many records of an infotype you can maintain. Class 1information must exist, and only once for the life span of the object; Class 2 – information is optional, but it can exist only once in any time period (non-continuous or continuous); Class –3 information is optional and many record can exist during any time period.
    Time Types: Used in time evaluation to store balances formed from employee attendance and absence times.
    Time Wage Type: Time Wage Types are the wage types that need to be evaluated because they carry only a unit (i.e. hours, days, etc.).
    Total:  Stores the total amount of a deduction with a balance. The total amount is calculated in payroll.
    User Group: A user group defines a set of employee. User group are used when customizing the SAP HR system. The system can be customized so that the user group can determine the screen, infotypes and fields accessible.
    Validity Dates: The validity period of an object and any infotype must be defined. Each infotype uses beginning and end dates to identify the infotypes validity period.
    Valuation Basis: Technical wage types /00 (i.e. /001). The total amount is calculated in payroll.
    Valuation Class Rule: Assigned to absence to determine how they will be processed in payroll.
    Wage Type: Wage type refers to a four digit identifier for values (amount, number or amount per unit) which are necessary for calculating an employee’s wage/salary. Wage type represent deduction, earning or tax codes.
    Wage Type Classes: Wage type classes are used for deduction limit processing.
    WPBP: Table that contains data from infotypes;
    •     0000 – Actions;
    •     0001 – Organizational Assignment;
    •     0007 – Work Schedule;
    •     0008 – Basic Pay;
    •     0027 – Cost distribution.
    SAP HR, FI, CO, MM, PP, SD, PM, PS, QM, SM, BW, APO, Basis,  ABAP/4, Certification, Books
    SAP HR Transaction Codes
    Code     Description
    P1B1      Transfer hiring data for applicant
    P1B2      Transfer hiring data for applicant
    P1B3      Transfer hiring data for applicant
    P1B4      Transfer table T588Z, infotype 4000
    P1B5      Transfer opt. archive for applicant
    P1B6      Transfer hiring data for applicant
    P1B7      Conversion T750B
    P1OA      Transfer Settings for Opt.Archiving
    P201      Transfer T514D/V from Client 000
    P2W1      Transfer Incentive Wage Accounting
    P2W2      Copy Incentive Wage Forms
    P4SW      Release notes BWP
    P5P1      Addition of IT0122 to T588B
    P5P2      Delete entries in T588B
    PA00      Initial PA Master Data Menu
    PA03      Maintain Personnel Control Record
    PA04      Maintain HR Number Ranges
    PA05      Number Range Maintenance: RP_COIFT
    PA06      Number Range Maintenance: PD_SEQ_NR
    PA07      Maintain Number Range: RP_GARNEM
    PA08      Maintain Number Range: RP_GARNSUB
    PA09      
    PA10      Personnel File
    PA20      Display HR Master Data
    PA30      Maintain HR Master Data
    PA40      Personnel Actions
    PA41      Correct Actions
    PA42      Fast Entry for Actions
    PA46      Import from Resumix
    PA47      Export to Resumix
    PA48      Hiring from non-SAP system
    PA51      Display Time Data
    PA53      Display Time Data
    PA61      Maintain Time Data
    PA62      List Entry of Additional Data
    PA63      Maintain Time Data
    PA64      Calendar Entry
    PA70      Fast Entry
    PA71      Fast Entry of Time Data
    PA88      Benefits
    PA97      Matrix Maintenance
    PA98      Compensation Administration
    PA99      Compensation Admin. - Release Report
    PAAH      Call Ad-Hoc Query
    PACA      HR-CH: PF administration
    PACB      HR-CH: PF account maintenance
    PACC      HR-CH: PF calculator
    PACE      HR-CH: Pension fund : Postings
    PACK      HR-CH: Pension fund
    PACN      Number range maint: HRCHPKONTO
    PACP      HR-CH: Pension fund, interface
    PACT      PC parameter maintenance
    PAJP      Call reporting tree - Japan
    PAL1      Create Sales Representative
    PAL2      Display Sales Representative
    PAL3      Maintain Sales Representative
    PAL4      Create Buyer
    PAL5      Maintain Buyer
    PAL6      Display Buyer
    PAR1      Flexible employee data
    PAR2      Employee list
    PAT1      Personnel Administration infosystem
    PAW1      Who is who
    PB00      Recruitment
    PB04      Number Range Maintenance: RP_PAPL
    PB10      Init.entry of applicant master data
    PB20      Display applicant master data
    PB30      Maintain applicant master data
    PB40      Applicant actions
    PB50      Display Applicant Activities
    PB60      Maintain Applicant Activities
    PB80     Evaluate vacancies
    PBA0      Evaluate advertisements
    PBA1      Applicant index
    PBA2      List of applications
    PBA3      Applicant vacancy assignment list
    PBA4      Receipt of application
    PBA5      Recurring tasks: Print letters
    PBA6      Recurring tasks: Print letters
    PBA7      Recurring tasks: Data transfer
    PBA8      Recurring tasks: Transfer data
    PBA9      List of planned actions
    PBAA      Evaluate recruitment instrument
    PBAB      Maintain vacancy assignments
    PBAC      Applicant statistics
    PBAD      Recurring tasks: Print letters
    PBAE      Applicant pool
    PBAF      Vacancy assignment list
    PBAG      Screening
    PBAH      Decision
    PBAI      All applicants via qualifications
    PBAJ      Recruitment info system
    PBAK      Recurring Tasks: Print Labels
    PBAL      Bulk processing
    PBAM      Variable Applicant List
    PBAN      Ad Hoc Query
    PBAO      ABAP Query
    PBAP      Internal Applicants Via Quals
    PBAQ      External Applicants Via Quals
    PBAT      Choose SAPscript or WinWord
    PBAU      Maintain T750C
    PBAV      Display T750C
    PBAW      Maintain T750B
    PBAX      Display T750B
    PBAY      Maintain T750X
    PBAZ      Display T750X
    PBCX      Cust. Account Assign. Reference (MM)

  • Authorization error in PA40 (HR)

    Dear Experts,
    Some of our HR users start complaining that they have authorization problem in PA40 (Hiring Activity).
    When I looked into SU53 details, I found that authorization check failed at object P_ORGIN.
    I cross checked the authorization in users profile, but all authorizations are set properly for P_ORGIN.
    I have tried even providing "Full Authorization" for all field of P_ORGIN. but no luck..
    User are still getting "No authorization for the specified organizational assignment exists" message on his screen.
    Please note we are not using "Structural Authorization" yet.
    What could be the problem and reason ?
    While searching for the solution, I found one reference to the SAPDBPNP report.
    Is there any risk of executing this report ?
    Any help would be higly appreciable !...
    Regards.
    Rajesh Narkhede

    Hi,
    Kindly check the following OSS notes :
    565456 Maximum and minimum PA authorization ch
    555154 Authorization check for infotype 'Actions (0000)'
    66056 Authorization trace with Transaction ST01
    23342 No authorization ... --> analysis
    18529 Which authorization objects are checked
    The note 66056 is quite handy as it provides the guidelines for tracing the authorization in the system. Then you can update where needed your authorization role in tcode PFCG.
    Regards,
    Fuad

  • Holder-Position relationship not created during hiring in PA40

    Hi,
    I have an issue right now where the holder-position relationship was not created when I hired a new employee thru PA40. We could correct this via RHINTE00. However, we would like to know first before we run the program on what could be the probable cause why the relationship was not created. All infotype records of the employee were added successfully in the system, it is only the SP relationship in HRP1001 that was not created during hiring. I'm  still trying to replicate it to find the probable cause but still no luck. It only occurred once (quite rare). Since we can't replicate it, may we know when or how the relationship will not be created?
    Your response will be greatly appreciated. Thank you very much.
    Regards,
    Angelo

    Hi Venkatesh, thanks for the reply.
    Yes, the PLOGI - ORGA switch is set to X

  • LSMW (PA40) successful but unable to update records in PA30

    Hi,
    I have tried running LSMW ( with external no range) in Fore ground mode. I can see that the data is getting properly picked from Excel sheet and in foreground mode, I am able to see this data getting into screens when i run LSMW last step.
    But actually when i go and check in tables and in PA30 if these employees are hired, there is no data.
    Can you please check the below --->
    My guess is while recording when we save 0,1,2 there should be some code written for "SAVE". In my recording BDC Code i ddint find any specific code. Can you check in your recordings if there is any special code for "SAVE" like BDC_OKCODE = "SAVE".
    Since there is no code written in my recording, i think this is the reason data is not getting saved.
    Can you let me know what needs to be done? If the above doubt is right, how to insert that in my BDC code.
    For your information-> U can find my BDC code pasted here.
    Recording REC7 M7
    PA40 Personnel Actions
    SAPMP50A 2000
    BDC_CURSOR T529T-MNTXT(01)
    BDC_OKCODE =PICK
    RP50G-PERNR PERNR Personnel Number
    RP50G-EINDA EINDA Entry Date
    RP50G-SELEC(01) X SELEC_01 Indicator for list sc
    BDC_SUBSCR /1PAPAXX/HDR_30060A
    MP000000 2000
    BDC_CURSOR PSPAR-PERSK
    BDC_OKCODE =UPD
    P0000-MASSN MASSN Action Type
    PSPAR-WERKS WERKS Personnel Area
    PSPAR-PERSG PERSG Employee Group
    PSPAR-PERSK PERSK Employee Subgroup
    MP000200 2010
    BDC_CURSOR Q0002-GESC1
    BDC_OKCODE =UPD
    Q0002-ANREX ANREX Form of address text
    P0002-NACHN NACHN Last Name
    P0002-VORNA VORNA First Name
    Q0002-PERID PERID Personnel ID Number
    P0002-GBDAT GBDAT Date of Birth
    Q0002-GESC1 GESC1 Gender key
    Q0002-GESC3 GESC3 Gender key
    BDC_SUBSCR SAPMP50A
    Thanks & Regards,
    Mamta
    Edited by: Mamta on Oct 28, 2008 7:58 PM
    Edited by: Mamta on Oct 28, 2008 7:59 PM

    Dear All,
    First of all I would like to answer all your questions.
    1. Yes, I tried LSMW by including PSPAR-PERNR PERNR Personnel Number in BDC code under MP000000 2000 too. Also, I did add the Perner again in the upload file too. In Read data mode I can see that Perner appeared twice as per our recording. In convert data Perner appeared only one. When I run last step of LSMW in foreground mode everything was perfect. But again when I go and check in PA30 there is no data.
    2. Yes, I did use PA40 for recording.
    3.  The sequence is 0000->0002->0001 while recording , in uploading file and in foreground mode too.
    4. When I run in foreground it appears like the regular Manual PA40 transaction.
    I donu2019t what might be causing this error. I would be glad to know your answers for the above issue.

  • HCP tcode PA40 Upload program failing to move to next record.

    Dear All
    I have written and upload program for HCM tcode PA40 and the program is fine but only inserting one record and is failing to pick the next records in a loop. I dont know whats the problem i know the process have many screens, please help me, i have tried to research not yet found the answer yet.
    Thank you for your assistance
    Here is my Upload program
    *& Report  ZUPLOADEMPHIRING
    REPORT  ZUPLOADEMPHIRING.
    include bdcrecx1.
    PARAMETERS: p_file TYPE  rlgrap-filename.
               x_endrow TYPE i .
    DATA:  xdate(10).
    DATA: Fullname type string.
    DATA:        x_begrow  TYPE i  VALUE 2,
                x_begcol  TYPE i VALUE 1,
                x_endcol  TYPE i VALUE 17,
                 x_endrow TYPE i VALUE 3.
    TYPES: BEGIN OF t_datatab  ,
            FromDate(10),
            Reasonforaction(2),
            Position(8),
            PersonalArea(4),
            EmployeeGroup(1),
            EmployeeSubGroup(2),
            SubArea(4),
            PayrolArea(2),
            Title(5),
            Lastname(40),
            Firstname(40),
            BirtDate(10),
            Nationality(3),
            Group(1),
            Level(1),
            BankKey(15),
            BankAccount(18),
           END OF t_datatab.
    DATA: BEGIN OF t_datatabfinal OCCURS 0,
            FromDate(10),
            Reasonforaction(2),
            Position(8),
            PersonalArea(4),
            EmployeeGroup(1),
            EmployeeSubGroup(2),
            SubArea(4),
            PayrolArea(2),
            Title(5),
            Lastname(40),
            Firstname(40),
            BirtDate(10),
            Nationality(3),
            Group(1),
            Level(1),
            BankKey(15),
            BankAccount(18),
          END OF t_datatabfinal.
    DATA: BEGIN OF it_record OCCURS 0,
            FromDate(10),
            Reasonforaction(2),
            Position(8),
            PersonalArea(4),
            EmployeeGroup(1),
            EmployeeSubGroup(2),
            SubArea(4),
            PayrolArea(2),
            Title(5),
            Lastname(40),
            Firstname(40),
            BirtDate(10),
            Nationality(3),
            Group(1),
            Level(1),
            BankKey(15),
            BankAccount(18),
            END OF it_record.
    DATA: itab LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE,
    gd_currentrow TYPE i,
    it_datatab TYPE STANDARD TABLE OF t_datatab,
    wa_datatab TYPE t_datatab.
    AT SELECTION-SCREEN on VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'  "
       EXPORTING
         FIELD_NAME          = 'P_FILE '
       IMPORTING
         FILE_NAME           = p_file.
    CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
      EXPORTING
        PROGRAM_NAME        = SYST-REPID
        DYNPRO_NUMBER       = SYST-DYNNR
        FIELD_NAME          = ' '
        STATIC              = ' '
        MASK                = ' '
       CHANGING
         FILE_NAME           =
      EXCEPTIONS
        MASK_TOO_LONG       = 1
        OTHERS              = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    START-OF-SELECTION.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename    = p_file
          i_begin_col = x_begcol
          i_begin_row = x_begrow   "Column header not required
          i_end_col   = x_endcol
          i_end_row   = x_endrow
        TABLES
          intern      = itab.
    Sort table by rows and colums
      SORT itab BY row col.
    Get first row retrieved
      READ TABLE itab INDEX 1.
    Set first row retrieved to current row
      gd_currentrow = itab-row.
      clear: t_datatabfinal.
      refresh t_datatabfinal.
      LOOP AT itab.
      Reset values for next row
        IF itab-row NE gd_currentrow.
          APPEND wa_datatab TO t_datatabfinal.
          CLEAR wa_datatab.
          gd_currentrow = itab-row.
        ENDIF.
        concatenate sy-datum6(2)'.' sy-datum4(2)'.' sy-datum+2(4) into xdate .
        CASE itab-col.
          WHEN '0001'.
            wa_datatab-FromDate  = itab-value.
           concatenate wa_datatab-DocumentDate6(2)'.' wa_datatab-DocumentDate4(2)'.' wa_datatab-DocumentDate+2(4) into wa_datatab-DocumentDate.
          WHEN '0002'.
            wa_datatab-Reasonforaction     = itab-value.
          WHEN '0003'.
            wa_datatab-Position = itab-value.
          WHEN '0004'.
            wa_datatab-PersonalArea    = itab-value.
          WHEN '0005'.
            wa_datatab-EmployeeGroup    = itab-value.
          WHEN '0006'.
            wa_datatab-EmployeeSubGroup   = itab-value.
          WHEN '0007'.
            wa_datatab-SubArea         = itab-value.
          WHEN '0008'.
            wa_datatab-PayrolArea         = itab-value.
          WHEN '0009'.
            wa_datatab-Title         = itab-value.
          WHEN '0010'.
            wa_datatab-Lastname         = itab-value.
          WHEN '0011'.
            wa_datatab-Firstname         = itab-value.
          WHEN '0012'.
            wa_datatab-BirtDate         = itab-value.
          WHEN '0013'.
            wa_datatab-Nationality         = itab-value.
          WHEN '0014'.
            wa_datatab-Group         = itab-value.
          WHEN '0015'.
            wa_datatab-Level         = itab-value.
          WHEN '0016'.
            wa_datatab-BankKey         = itab-value.
          WHEN '0017'.
            wa_datatab-BankAccount         = itab-value.
          WHEN OTHERS.
        ENDCASE.
       APPEND    wa_datatab to t_datatabfinal.
      ENDLOOP.
      clear: it_record.
      refresh it_record.
      loop at t_datatabfinal into it_record.
        append it_record.
      endloop.
      perform open_group.
      loop at it_record.
        concatenate it_record-Firstname it_record-Lastname into Fullname separated by space.
        perform bdc_dynpro      using 'SAPMP50A' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'T529T-MNTXT(02)'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=PICK'.
        perform bdc_field       using 'RP50G-EINDA'
                                      it_record-FromDate. "" '01012012'.
        perform bdc_field       using 'RP50G-SELEC(02)'
                                      'X'.
        perform bdc_dynpro      using 'MP000000' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'PSPAR-PERSG'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0000-BEGDA'
                                      it_record-FromDate. "" '01.01.2012'.
        perform bdc_field       using 'P0000-ENDDA'
                                      '31.12.9999'.
        perform bdc_field       using 'P0000-MASSN'
                                      'ZB'.
        perform bdc_field       using 'P0000-MASSG'
                                      it_record-Reasonforaction. "" '01'.
        perform bdc_field       using 'PSPAR-PLANS'
                                      it_record-Position. "" '99999999'.
        perform bdc_field       using 'PSPAR-WERKS'
                                      it_record-PersonalArea.   " 'm003'.
        perform bdc_field       using 'PSPAR-PERSG'
                                      it_record-EmployeeGroup. "" 'a'.
        perform bdc_field       using 'PSPAR-PERSK'
                                      it_record-EmployeeSubGroup. "" '02'.
        perform bdc_dynpro      using 'MP000100' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0001-BTRTL'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0001-BEGDA'
                                      it_record-FromDate. ""'01.01.2012'.
        perform bdc_field       using 'P0001-ENDDA'
                                      '31.12.9999'.
        perform bdc_field       using 'P0001-BTRTL'
                                      it_record-SubArea.        "" 'mm01'.
        perform bdc_field       using 'P0001-ABKRS'
                                       it_record-PayrolArea.    "" 'Z2'.
        perform bdc_field       using 'P0001-PLANS'
                                      it_record-Position. ""'99999999'.
        perform bdc_dynpro      using 'MP000200' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0002-NATIO'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0002-BEGDA'
                                      it_record-FromDate. ""'01.01.2012'.
        perform bdc_field       using 'P0002-ENDDA'
                                      '31.12.9999'.
        perform bdc_field       using 'Q0002-ANREX'
                                      it_record-Title. "" 'Mr'.
        perform bdc_field       using 'P0002-NACHN'
                                      it_record-Lastname. " 'maxwel'.
        perform bdc_field       using 'P0002-VORNA'
                                      it_record-Firstname. "" 'razaro'.
        perform bdc_field       using 'P0002-GBDAT'
                                      it_record-BirtDate. "" '01011970'.
        perform bdc_field       using 'P0002-SPRSL'
                                      'EN'.
        perform bdc_field       using 'P0002-NATIO'
                                       it_record-Nationality. "" 'ZW'.
        perform bdc_dynpro      using 'MP000700' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0007-BEGDA'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'P0007-BEGDA'
                                      it_record-FromDate."" '01.01.2012'.
        perform bdc_field       using 'P0007-ENDDA'
                                      '31.12.9999'.
        perform bdc_field       using 'P0007-SCHKZ'
                                      'MANORM'.
        perform bdc_field       using 'P0007-ZTERF'
                                      '9'.
        perform bdc_field       using 'P0007-EMPCT'
                                      '  100,00'.
        perform bdc_dynpro      using 'MP000700' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0007-BEGDA'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0007-BEGDA'
                                      it_record-FromDate.""'01.01.2012'.
        perform bdc_field       using 'P0007-ENDDA'
                                      '31.12.9999'.
        perform bdc_field       using 'P0007-SCHKZ'
                                      'MANORM'.
        perform bdc_field       using 'P0007-ZTERF'
                                      '9'.
        perform bdc_field       using 'P0007-EMPCT'
                                      '  100,00'.
        perform bdc_field       using 'P0007-ARBST'
                                      '    8,00'.
        perform bdc_field       using 'P0007-WKWDY'
                                      '    5,00'.
        perform bdc_dynpro      using 'MP000800' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0008-TRFST'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0008-BEGDA'
                                      it_record-FromDate. "" '01.01.2012'.
        perform bdc_field       using 'P0008-ENDDA'
                                      '31.12.9999'.
        perform bdc_field       using 'P0008-TRFAR'
                                      '01'.
        perform bdc_field       using 'P0008-BSGRD'
                                      '100,00'.
        perform bdc_field       using 'P0008-TRFGB'
                                      '01'.
        perform bdc_field       using 'P0008-TRFGR'
                                       it_record-Group. ""'a'.
        perform bdc_field       using 'P0008-TRFST'
                                       it_record-Level.         "" '1'.
       perform bdc_field       using 'P0008-DIVGV'
                                     '173,00'.
        perform bdc_field       using 'P0008-ANCUR'
                                      'USD'.
        perform bdc_field       using 'Q0008-IBBEG'
                                      xdate.""'12.01.2012'.
        perform bdc_field       using 'P0008-WAERS'
                                      'USD'.
        perform bdc_dynpro      using 'MP000900' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0009-ZLSCH'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0009-BEGDA'
                                      it_record-FromDate. ""'01.01.2012'.
        perform bdc_field       using 'P0009-ENDDA'
                                      '31.12.9999'.
        perform bdc_field       using 'P0009-BNKSA'
                                      '0'.
        perform bdc_field       using 'Q0009-EMFTX'
                                      Fullname. "" 'maxwel razaro'.
        perform bdc_field       using 'P0009-BANKS'
                                      'ZW'.
        perform bdc_field       using 'P0009-BANKL'
                                       it_record-BankKey.       ""'10351'.
        perform bdc_field       using 'P0009-BANKN'
                                       it_record-BankAccount. "" '543234667778'.
        perform bdc_field       using 'P0009-ZLSCH'
                                      'b'.
        perform bdc_field       using 'P0009-WAERS'
                                      'USD'.
        perform bdc_dynpro      using 'SAPMP50A' '2000'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/EBCK'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RP50G-PERNR'.
        perform bdc_transaction using 'PA40'.
      endloop.
      perform close_group.
    Regards
    William

    Hi,
    It seems like you are uploading data to a screen that contains table control.just check the link below for your reference
    [http://wiki.sdn.sap.com/wiki/display/ABAP/bdcontable+control]
    Regards,
    Vamshi
    Edited by: vamshi reddy . ch on Jan 13, 2012 7:38 AM
    Edited by: vamshi reddy . ch on Jan 13, 2012 7:39 AM

Maybe you are looking for

  • Lightroom 5.7 Not Showing Camera Profiles from DNG File

    Hello, I just installed Adobe DNG Converter 9.0 and converted some Nikon D7200 fles to DNG for import into Lightroom 5.7. This works fine except for the Camera Specific profiles not showing up. Only Adobe Standard shows up. When I open the same DNG f

  • FlexConnect Access Point - Wired 802.1X or MAB Authentication

    Hi all, We are piloting wired 802.1X but have hit a snag - FlexConnect AP switchport configuration requires the port be configured as trunk, with the native VLAN for management and access VLAN(s) for client data. I know 802.1X cannot be configured on

  • Sqribe Reporting Tool

    Has anyone used or looked at the Sqribe Enterprise report tool from Sqribe Technologies? We are evaluating which reporting tool to use in conjunction with our Forte application, and Sqribe is a suggestion that has been put forward. Any experiences/co

  • Column Headings Display

    Hi Experts, I am developing a Classical Report. So, for displaying the Column Headings in the output list, Is there any other alternative apart from the mentioning of the Column headings with the WRITE statement? ThanQ. Message was edited by:        

  • Performance of detail_datastore

    Hi everybody, I am planning to set up an article archive. The articles consist of different parts (title,headline,synopsis,bodytext...). I think about two different methods to solve the problem. 1. Use a Master Detail Realtion for the Article (Master