Time management infotype?

Hi all,
I am working on a interface between time recording machine and R/3.
I wanna know the time event infotype and in which table is the data stored .
Regards
Arun

Hi Arun,
The data will be stored in the tables PA2002 & PA2001.
External time data is stored in the interface tables PTEX2000 and PTEXDIR by the data transfer. In addition, the data is read by the report RPTEXTPT (Transfer External Data -> Time Management) from the file PTEX2000 and stored as attendances/absences in the Attendances (2002) or Absences (2001) infotypes.
Hope this helps you.
Cheers,
JS

Similar Messages

  • Infotype 0007:Time management status

    Hi Experts,
    In Infotype 0007 , in the time management status field i have maintained the value as " Time Evaluation of planned times".
    What does this mean ? ....
    Does it mean that absences and attendences are not necessary to create. Kindly help me how the evaluation takes places
    in this scenario.
    Thanks in Advance,
    Balaji

    Hi,
    This is SAP explanation:
    Indicator 0 or BLANK:
    The employee's actual times are not recorded, and his/her time data is not accounted using the time evalulation program.
    Indicator 1:
    The employee's actual times are recorded and he/she participates in time evaluation.
    Example:
    The employee's actual times are recorded at a time recording terminal.
    The employee's actual times are recorded in the Attendances infotype (2002).
    Indicator 2:
    Employees' actual times are recorded and they take part in plant data collection. Their time data is accounted using the time evaluation program.
    Example:
    Employees' actual times are recorded using PDC systems.
    Employees' actual times are recorded in the Attendances infotype (2002).
    Indicator 8:
    This indicator is intended for external employees. The employee's actual times are not recorded, attendances are recorded in the Attendances infotype (2002), and time data is accounted in time evaluation.
    Indicator 9:
    You can use indicator 9 for employees for whom only exceptions to the work schedule are recorded. In this case, the employees' actual times are not recorded, but they do participate in time evaluation.
    Cheers

  • Infotype for time management

    hi friends,
    could u plz tell me how to create infotype for time management?????
    thanks in advance,
    regards,
    priya.s

    Hi,
    Check the step by step procedure to create PA/Time infotype as given in SAP help.
    [http://help.sap.com/saphelp_46c/helpdata/en/4f/d5268a575e11d189270000e8322f96/content.htm]
    Regards,
    Shrinivas

  • In which Infotype ,we link Payroll(India ) with time Management

    Hi Expert,
    Can you explain , in which infotype ,we link Payroll with Time management?
    Can you Expalin the procedure

    It should be through different infotypes
    For Eg   IT0008  taking capacity utilisation  and Work hours/period from infotype 0007 ( capacity utilisation level and Employment percent)
    For absence valuation in payroll the absence types will have to mention (IT2001)
    check this link
    Where is link between 0007 and 0008 infotype

  • Time Management Fratures & Link between Infotypes  0007 & 0008.

    Hi,
    Let me know the what are all the features used in time management.
    also what is the link between 0007 & 0008.
    Regards
    Rajesh

    Time features
    SCHZK
    QUOMO
    TIMMER
    PY
    LGMST
    ABKRS
    and some are there
    Link
    will start from
    0007  DWSR to 0008 Annual working horus
    and in the sub Schema check XT00  there
    Check GENPS  generation of PWS here we link PY and Ti
    Check TC00  DZL  DML tables

  • Query on Time Management Status

    Dear Team,
    Scenario:
    We have some employees wherein the time evaluation will be evaluated for the status of 9 in Planned Working Time Infotype. After a period of time, these employees will be sent for education and no leaves are entitled. In this case, the time management status will be changed to 0. No time evaluation.
    The accrued leaves will still be available for the employee while going to this education for example 20 days.
    We have customized a rule, which will carry forward the last year balance to the current year balance on every 1st of the year.
    In the above case, if an employee completes his education and returns back in the middle of the year other than the 1st day of the year, in this case, the carry forward of leave is not taking place.
    My assumptions:
    I would like to know an operation which would query the Previous Day Time Management Status and Current Day Time Management Status. If I can able to do this, if it is YES, the last old previous balance to be carried forward....
    Please let me know if any other alternative method.
    Thanks and Regards
    Team Member.
    Edited by: Patlolla Mallikarjun on Apr 26, 2010 8:35 PM

    Hello Mallikarjun,
    If you are planning on controlling thru a rule in schema, you can approach this way. Whenever an EE returns from education, change IT0007 time mgmt status to 9 along with additional time indicator say 'ED'. You can query the additional time indicator status in a rule thru the operation 'OUTWPATIND'. Hope this helps your requirement.
    Best Regards,
    Sunny

  • USE OF CATS IN Negative time management scinario

    Hi Friends,
                    I need your guidance on following points
        1)    Is there any relevance of using CATS in negative time management.
        2)  If we have to use CATS in negative time management what should be the time management status o or 7
        3) If we transfer the data to HR management does it updates 2002 IT
    Hope for your reply plz
    Thanks in advance
    Regards
    Rajesh Rai

    Rajesh,
    1. CATS is very much relevant in negative time management for payment of overtime, recording absences and attendances. In CATS, the employee would enter time using activity types which needs to be mapped to the relevant attendance / absence types. After approval, the times charged in the time sheets would be transferred to infotypes 2001 / 2002 / 2010 (can be used for overtime)
    You can use the data transfer reports "RPTEXTPT" for Human Resources components
    Pls. refer to the below link for information
    http://help.sap.com/saphelp_47x200/helpdata/en/dc/f9783b05efdb18e10000000a114084/frameset.htm
    2. You can use TMSTA "9" - Time evaluation - planned times while using CATS
    3. CATS data can be very much transferred to infotype 2002
    http://help.sap.com/saphelp_47x200/helpdata/en/dc/f9783b05efdb18e10000000a114084/frameset.htm
    Hope this information helps
    Regards
    Raj

  • How to read data from clusters ( Time Management )

    Hi All,
       How can we read data from cluster tables related to Time Management in different ways?
       Can somebody help me please..
    Thanks,
    Sankar.

    Hi
    Kindly check the following thread:
    Cluster database
    It has a sample code to read from & to store data in a cluster table
    Hope you are looking for cluster tables in HR
    Some useful HR tables:
    HRP1000 - Infotype 1000 DB Table
    HRP1001 - Infotype 1001 DB Table
    HRP1028 - Infotype 1028 DB Table
    Paxxxx - transparent tables for infotypes
    PCL1 - HR Cluster 1
    PCL2 - HR Cluster 2
    PCL3 - HR Cluster 3
    PCL4 - HR Cluster 4
    PCL5 - HR/RP Cluster 5; HR Planning Usage
    PERNR - Standard Selections for HR Master Data Reporting (Structure)
    kindly check the following link for some useful HR tables:
    http://www.atomhr.com/know_preview/SAP_HR_tables.htm
    Hope this helps!
    best regards,
    Thangesh

  • Create a Time Management Custom Function in PE04

    Hi Experts
                  Pls give the steps to create a custom function in Time Management using PE04,
    whta is purpose of using infotype in PE04 , what are the input parametr and output paramaete . What are the intrnal table available in custom function . How we can test the custom function .
    Thansk and regards
    Renjith MP

    No idea on how to set.
    But in our case, we have a requirement for calculation of GOSI for our Bahrani Employees. Hence did the same using by creating a FUNCTION ZGOSI.
    We have not given any input or output parameters.
    Used a Z program for payroll driver RPCALCX0 -- ZSH_GOSI_CALC and the calculations are taken from this program and output is displayed in the RT table- Wage types.
    For more information, check with functions of infotype like P0014, P0015, you will get some idea on the same.
    Before giving the above, need to mention the parameter list for control.
    Mostly the input parameters are given as Objects like in our Payroll Process, there is WPBP table and output parameters the results to be displayed using object RT.
    Analyze more on the same and you will come to know.
    Good luck.
    Regards
    Team Member.

  • Waht does time management status 0 without payroll integration mean

    In our project, the client does not want to use time evaluation and so, we have set the time management status value as 0 (no time evaluation). Also, the client is not implementing (at least now) SAP-Payroll, as they are processing payroll through a different software. We have configured work schedules ( they need just 4 different work schedules) and assigned appropriate ork schedules to all employees in infotype 0007. We have also configured one absence quota (Earned Leave of 20 days per year).
    My query is how will the system behave now with time management status value as 0? Can we process absence quotas? What is the use of work schedules, in this context, as any way the system does not evaluate employee time in Time Management. Neither the time wage types are evaluted in Payroll, as SAP Payroll is not implemented.
    -Shambhvi

    My thanks to all of you. I would like to summarize the answer for my query:
    Since time management status = 0, there won't be any time evaluation, which means attendance and absence data, even if entered won't be evaluated in Time Management. Since Payroll is not implemented, the question of time data getting evaluated in Payroll does not exist. However, absence quotas can be maintained, irrespective of the value of time managment status.
    Please correct me, if my understanding is wrong
    -Shambhvi

  • Time management status and Payroll

    Experts,
       We are using TMS as 9 (Time evaluation of planned time) in IT0007. What does it mean in TM?
       What is it's impact in Payroll.
    Regards
    Sk
    Edited by: s k on Nov 17, 2008 10:24 AM

    You can assign the following Time Management statuses in the Planned Working Time infotype (0007):
    Time evaluation with planned times (0): Employees with this status are not selected for time evaluation. They cannot therefore be processed in time evaluation. The employeeu2019s time wage types are determined in Payroll time data processing.
    Time Management Status for processing time data in Time Evaluation and passing on time wage types formed there to Payroll
    Time evaluation of actual times (1) and Time Evaluation PDC (2): Employees with these statuses have all their actual times, that is, all attendance and absence data, recorded*. It makes no difference whether attendance times are recorded at time recording terminals or in the Attendances infotype (2002).
    Time evaluation with planned times (9): These employees have only the deviations from their work schedule recorded for them. The employeesu2019 planned working times from their personal work schedule are used as the basis for time evaluation.
    Time Management Status for processing time data in Time Evaluation without passing on time wage types formed there to Payroll
    Time evaluation without integration with Payroll (7): You use this status to run time evaluation to handle special time accounts u2013 to accrue absence quotas, for example. It makes no difference whether all of the employeesu2019 actual times are recorded or only the deviations from the work schedule.
    The system stores the results of this time evaluation run in cluster B2, which enables you to run reports on the data, for example. The results are not passed on to Payroll. The time data processing part of Payroll treats the employees as if they had the time management status No time evaluation (0).
    External services (8): Status for external employees. It makes no difference whether all of the employeesu2019 actual times are recorded or only the deviations from the work schedule. The results of time evaluation are transferred to Materials Management (MM-SRV), and are not passed on to
    and also check the feature TMSTA once  in peo3
    Edited by: Sikindar on Nov 17, 2008 3:01 PM

  • Time Management Status

    Hi Experts,
    Im relatively new to this fourm, and also to Time Management Module.
    We are implementing Negative Time Management for our client.
    Have a clarification with Time Management Status.
    I have suggested '0' to be defaulted as it is going to be Negative time management.
    Just for my understanding would like to know the difference between the time management status 0, 7 & 9.
    Also we have LWOP and Holiday Wages in place.
    your expert answers awaited...
    Cheers,
    Sri...

    Indicator 0 or BLANK:
    The employee's actual times are not recorded, and his/her time data is not accounted using the time evalulation program.
    Indicator 1:
    The employee's actual times are recorded and he/she participates in time evaluation.
    Example:
    The employee's actual times are recorded at a time recording terminal.
    The employee's actual times are recorded in the Attendances infotype (2002).
    Indicator 2:
    Employees' actual times are recorded and they take part in plant data collection. Their time data is accounted using the time evaluation program.
    Example:
    Employees' actual times are recorded using PDC systems.
    Employees' actual times are recorded in the Attendances infotype (2002).
    Indicator 8:
    This indicator is intended for external employees. The employee's actual times are not recorded, attendances are recorded in the Attendances infotype (2002), and time data is accounted in time evaluation.
    Indicator 9:
    You can use indicator 9 for employees for whom only exceptions to the work schedule are recorded. In this case, the employees' actual times are not recorded, but they do participate in time evaluation.
    I hope it helps you!!!
    CheerS!!

  • Time Management Status Default

    Hi All - Prior to employees being onboarded we enter an 'Initial Hire' action that creates a few infotypes for them including IT0007 (Planned Working Time). The business wants the Time Management Status to default on IT0007. However, we can't default it in TMSTA because they are set up with the same PA/PSA/EG/ESG as they are during their 'Completed Hire' action. We are attempting to default this in dynamic actions but have been unsuccessful (see below). Does anyone have any suggestions?
    0000 6 423 P PSPAR-MASSN='ZA'
    0000 6 425 W P0007-ZTERF= '0'

    Hi,
    You need the insert statement too. Try this:
    0000 6 423 P PSPAR-MASSN='ZA'
    0000 6 425 I INS,0007,,,(P0000-BEGDA),(P0000-ENDDA)
    0000 6 427 W P0007-ZTERF= '0'
    Feature TMSTA information:
    It uses structure PME01 and that only contains action reason (MASSG), so you could build your decision tree based on action reason. You may want to have a unique reason code tied only to your ZA action. Iu2019d imagine you would only have one reason code for this initial entry action as it is only for a temporary use.
    Alternatively, you can change the structure of feature TMSTA from PME01 to PME04. You would then have action (MASSN) and action reason (MASSG) available for building the feature.
    Hope this helps.
    Donnie

  • Hierarchy of Time Management Terms

    Hi Gurus,
      I am new to Time Management.
      I was going through the Help for Time Management. But very much confused with the terms Work Shcedule, Daily Work Schedule, Personnel Subarea grouping, Personal Work Schedule, Periodic Work Schedule, Break Schedule, Work Schedule Rule etc. I understood each and everyt term. But was unable to establish a hierarchy among them.
      Can somebody give a clear picture of this hierarchy.
    Thanks,
    Sankar.

    Hello Sankar,
    Ok, here you go:
    The basic unit in time management to form a time schedule is the Daily work schedule (DWS). This is customized in table T550A. In this table you must set all the parameters that form your schedule. So first you have to define if the schedule is flexible or not and whether it has breaks or not. If it has breaks, you have to customize them first in table T550P and then assign them to your DWS.
    After you do this, you have to customize the period work schedules (PWS) in table T551A. These are no other than sequences of DWS. So for example you can have a normal office shift that goes from Mondays to Sundays, with Saturdays and Sundays off, repeated every week. So your PWS will be a sequence of 5 equal DWS plus two DWS with zero working hours for Sat and Sun.
    After you do this, you have to customize your DWS rules in table T508A, that are actually a PWS with a starting point. Think of the PWS as a wheel: your shifts are sequences of steps that repeat themselves periodically, like the normal weekly office shifts. But this is not enough to identify what DWS the employee has to do a specific day, since you have to tell the system when exactly to set the starting point for the sequence. You do this by customizing a DWS rule. This is the "object" that you assign to the employee in infotype 0007.
    Of course, like many concepts in HR, DWS, PWS, breaks and DWS rules are customized by groupings of employees and / or personnel areas and subareas. I suggest that you take a look at the tables I mentioned to have an idea on how to set these groupings.
    Good luck!
    Rodrigo

  • Regarding Time management in HR

    Hi Experts,
                     I am new to HR-Abap, Can any body give brief idea about time management in hr in Techincal point of view .
    Thanks and regards,
    Sravanthi.

    Hi
    In time related infotypes records are multiple  for a single pernr
    say for example LEAVES
    within a time  for PERNR you will find different types of leaves
    go and see the infotypes data practically PA2001 and PA2005, r etc
    see the sample report on time related data
    REPORT zh_absence_quota
           NO STANDARD PAGE HEADING
           MESSAGE-ID zh_msg
           LINE-SIZE 169
           LINE-COUNT 60(1).
                   T A B L E S  D E C L A R A T I O N S
    TABLES:    pernr,    " Logical PNP
               t001p,    " Personnel Subarea
               t529u,    " Employment Status
               t500p,    " Personnel Area
               t501,     " Employee Group
               t503k,    " Employee Subgroup
               t549a,    " Payroll Area
               t554s,    " Absence Type
               t554t,    " Absence Type Texts
               t556a,    " Quota Type
               t527x,    " Orgn. Unit
               t556b,    " Quota Type Text
               pa0003.   " Payroll Status
    INFOTYPES:
               0000,   " Actions
               0001,   " Organizational Assignment
               2006,   " Absence Quota
               2001.   " Absences
                   T Y P E S  D E C L A R A T I O N S
    Employee Absence Structure
    TYPES: BEGIN OF s_2001,
             pernr TYPE persno,       " Personal Number
             awart TYPE awart,        " Absence Type
             subty TYPE subty,        " Sub Type
             endda TYPE endda,        " End date
             begda TYPE begda,        " Begin date
             abrtg TYPE abrtg,        " Absence days
             ename TYPE emnam,        " employee Name
             atext TYPE abwtxt,       " Absence Type Text
           END OF s_2001.
    Employee Absence Quota Structure
    TYPES: BEGIN OF s_2006,
             pernr TYPE persno,       " Personal Number
             ktart TYPE abwko,        " Absence Quota Type
             year(4) TYPE n,          " Year
             subty TYPE subty,        " Sub Type
             endda TYPE endda,        " End date
             begda TYPE begda,        " Begin date
             anzhl TYPE ptm_quonum,   " Absence Entitlement days
             ename TYPE emnam,        " employee Name
             ktext TYPE kotxt,        " Absence Type Text
             kverb TYPE kverb,        " Deduction Quota days
             anzhb TYPE ptm_quonum,   " Balance days
           END OF s_2006.
    Combined Employee Absence and Quota Structure
    TYPES: BEGIN OF s_rep,
             pernr TYPE persno,       " Personal Number
             ktart TYPE abwko,        " Absence Quota Type
             year(4) TYPE n,          " Year
             anzhl TYPE ptm_quonum,   " Absence Entitlement days
             kverb TYPE kverb,        " Deduction Quota days
             anzhb TYPE ptm_quonum,   " Balance days
             ktext TYPE kotxt,        " Quota Type Text
             awart TYPE awart,        " Absence Type
             abrtg TYPE abrtg,        " Absence days
             ename TYPE emnam,        " employee Name
             atext TYPE abwtxt,       " Absence Type Text
             endda TYPE endda,        " End date
             begda TYPE begda,        " Begin date
           END OF s_rep.
    Declaration of Variables
    DATA : gv_atext TYPE abwtxt,              " Absence Type Text
           gv_ktext TYPE kotxt,               " Absence Type Text
           gv_title1   TYPE sylisel,          " Report title
           gv_year(4)  TYPE c,                " Year
           gv_mon(2)   TYPE c,                " Month
           gv_hrs    TYPE abwtg,              " Hours
           gv_date   TYPE sydatum,            " Date
           gv_date1  TYPE sydatum,            " Date
           gv_dial.                           " Color flag
    Declaration of Constants
    CONSTANTS :
      c_x      TYPE c VALUE 'X',               " Sign
      c_1      TYPE persg   VALUE '1',         " Emp Group
      c_pernr(8) TYPE n VALUE '00000000',      " Pernr
      c_moabw  TYPE moabw   VALUE '01',        " Per SA Grouping
      c_mozko  TYPE mozko   VALUE '01',        " Per SA Grouping
      c_mopgk  TYPE mopgk   VALUE '1',         " Emp SGrp Grouping
      c_endda  TYPE sydatum VALUE '99991231',  " End Date
      c_val1(2) TYPE c VALUE '31',             " Date Type
      c_val2(2) TYPE c VALUE '12',             " Date Type
      c_val    LIKE p0041-dar01 VALUE '01',    " Date Type
      c_date1  LIKE sy-datum VALUE '18000101'. " Date
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_2001 TYPE STANDARD TABLE OF s_2001 WITH HEADER LINE,
          i_2006 TYPE STANDARD TABLE OF s_2006 WITH HEADER LINE,
          i_rep1 TYPE STANDARD TABLE OF s_2006 WITH HEADER LINE,
          i_rep  TYPE STANDARD TABLE OF s_rep WITH HEADER LINE.
                     S E L E C T I O N  S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_ktart FOR t556a-ktart,  " Absence Quota Type
                    s_awart FOR t554s-subty.  " Absence Type
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) text-003.   " Quota & Absence
    PARAMETERS: p_qa RADIOBUTTON GROUP rb1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) text-004.   " Quota
    PARAMETERS: p_q RADIOBUTTON GROUP rb1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) text-005.   " Absence
    PARAMETERS: p_a RADIOBUTTON GROUP rb1.
    SELECTION-SCREEN END OF LINE.SELECTION-SCREEN END OF BLOCK b2.
                      I N I T I A L I Z A T I O N                        *
    INITIALIZATION.
                  A T  S E L E C T I O N - S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_screen.
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Selection of Period
      PERFORM get_period.
    Get PERNR from LDB
    GET pernr.
      IF p0000-stat2 <> '0'.
    Get the data from PA0001,PA2001, PA2006
        PERFORM get_pers_data.
      ENDIF.
                   T O P - O F - P A G E                                 *
    TOP-OF-PAGE.
    Header of the List
      PERFORM header.
                   E N D - O F - P A G E                                 *
    Footer
    END-OF-PAGE.
      IF p_qa = c_x.
    Display both Absence and Quota Data
        WRITE /1(188) sy-uline.
      ELSEIF p_q = c_x.
    Display only Quota Data
        WRITE /1(114) sy-uline.
      ELSEIF p_a = c_x.
    Display only Absence Data
        WRITE /1(125) sy-uline.
      ENDIF.
                   E N D - O F - S E L E C T I O N                       *
    END-OF-SELECTION.
    Combine the Absence and Quota Data
      PERFORM append_data.
      IF p_qa = c_x.
    Display both Absence and Quota Data
        PERFORM display_qa_data.
      ELSEIF p_q = c_x.
    Display only Quota Data
        PERFORM display_q_data.
      ELSEIF p_a = c_x.
    Display only Absence Data
        PERFORM display_a_data.
      ENDIF.
    *&      Form  validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Personnel Number
      CLEAR pa0003.
      IF NOT pnppernr[] IS INITIAL.
        SELECT pernr
        FROM pa0003 UP TO 1 ROWS
          INTO pa0003-pernr
          WHERE pernr IN pnppernr.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Personnel Number'(006).
        ENDIF.
      ENDIF.
    Validation of Employee Status
      CLEAR t529u.
      IF NOT pnpstat2[] IS INITIAL.
        SELECT SINGLE statv
          INTO t529u-statv
          FROM t529u
          WHERE statv IN pnpstat2 AND
                statn = '2' AND
                sprsl = sy-langu.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Invalid Employee Status'(007).
        ENDIF.
      ENDIF.
    Validation of Personnel Area
      CLEAR t500p.
      IF NOT pnpwerks[] IS INITIAL.
        SELECT persa
        FROM t500p UP TO 1 ROWS
          INTO t500p-persa
          WHERE persa IN pnpwerks.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Personnel Area'(008).
        ENDIF.
      ENDIF.
    Validation of Personnel Sub Area
      CLEAR t001p.
      IF NOT pnpbtrtl[] IS INITIAL.
        SELECT btrtl
        FROM t001p UP TO 1 ROWS
          INTO t001p-btrtl
          WHERE btrtl IN pnpbtrtl.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Personnel Sub Area'(009).
        ENDIF.
      ENDIF.
    Validation of Employee Group
      CLEAR t501.
      IF NOT pnppersg[] IS INITIAL.
        SELECT persg
        FROM t501 UP TO 1 ROWS
          INTO t501-persg
          WHERE persg IN pnppersg.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Group'(010).
        ENDIF.
      ENDIF.
    Validation of Employee Sub Group
      CLEAR t503k.
      IF NOT pnppersk[] IS INITIAL.
        SELECT persk
        FROM t503k UP TO 1 ROWS
          INTO t503k-persk
          WHERE persk IN pnppersk.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Sub Group'(011).
        ENDIF.
      ENDIF.
    Validation of Payroll Area
      CLEAR t549a.
      IF NOT pnpabkrs[] IS INITIAL.
        SELECT abkrs
        FROM t549a UP TO 1 ROWS
          INTO t549a-abkrs
          WHERE abkrs IN pnpabkrs.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Payroll Area'(026).
        ENDIF.
      ENDIF.
    Validation of Absence Type
      CLEAR t554s.
      IF NOT s_awart[] IS INITIAL.
        SELECT subty
        FROM t554s UP TO 1 ROWS
          INTO t554s-subty
          WHERE subty IN s_awart AND
                moabw EQ c_moabw AND
                endda EQ c_endda.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Absence Type'(012).
        ENDIF.
      ENDIF.
    Validation of Absence Quota Type
      CLEAR t556a.
      IF NOT s_ktart[] IS INITIAL.
        SELECT ktart
        FROM t556a UP TO 1 ROWS
          INTO t556a-ktart
          WHERE ktart IN s_ktart AND
                mopgk EQ c_mopgk AND
                mozko EQ c_mozko AND
                endda EQ c_endda.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e999 WITH 'Incorrect Employee Quota Type'(013).
        ENDIF.
      ENDIF.
    ENDFORM.                  "validate_screen
    *&      Form  get_period
    Get the Correct Period based on Selection screen selection
    FORM get_period.
      CLEAR: gv_year,gv_mon, gv_date, gv_date1.
      gv_year = sy-datum+0(4).
      gv_mon  = sy-datum+4(2).
      IF pnptimr1 = c_x.      " Current Date
        pnpbegda = sy-datum.
        pnpendda = sy-datum.
      ELSEIF pnptimr2 = c_x.  " Current Month
        CONCATENATE gv_year gv_mon c_val INTO gv_date.
        CONCATENATE gv_year gv_mon c_val1 INTO gv_date1.
        pnpbegda = gv_date.
        pnpendda = gv_date1.
      ELSEIF pnptimr3 = c_x.  " Current Year
        CONCATENATE gv_year c_val c_val INTO gv_date.
        CONCATENATE gv_year c_val2 c_val1 INTO gv_date1.
        pnpbegda = gv_date.
        pnpendda = gv_date1.
      ELSEIF pnptimr4 = c_x.  " Upto Today
        pnpbegda = c_date1.
        pnpendda = sy-datum.
      ELSEIF pnptimr5 = c_x.  " From Today
        pnpbegda = sy-datum.
        pnpendda = c_endda.
      ELSE.
        IF ( pnpbegda IS INITIAL AND pnpendda IS INITIAL ).
          pnpbegda = c_date1.
          pnpendda = c_endda.
        ELSEIF pnpbegda IS INITIAL AND NOT pnpendda IS INITIAL.
          pnpbegda = c_date1.
          pnpendda = pnpendda.
        ELSEIF NOT ( pnpbegda IS INITIAL AND pnpendda IS INITIAL ).
          pnpbegda = pnpbegda.
          pnpendda = pnpendda.
        ENDIF.
      ENDIF.
    ENDFORM.              "get_period
    *&      Form  get_pers_data
    Get the Absence and Quota Data from PA0001,PA2001,PA2006
    FORM get_pers_data.
      DATA: lv_year1(4) TYPE n,
            lv_year2(4) TYPE n,
            lv_date1 TYPE sydatum,
            lv_date2 TYPE sydatum,
            lv_anzhb TYPE ptm_quonum.   " Last Year Balance days
    Get data from Respective Infotypes
      rp_provide_from_last p0001 space pnpbegda pnpendda.
    Absence Data
      LOOP AT p2001 WHERE pernr = pernr-pernr AND
                          begda GE pnpbegda   AND
                          endda LE pnpendda.
        IF p2001-awart IN s_awart.
          i_2001-pernr    = pernr-pernr.
          i_2001-subty    = p2001-subty.
          i_2001-awart    = p2001-awart.
          i_2001-abrtg    = p2001-abrtg.
          i_2001-begda    = p2001-begda.
          i_2001-endda    = p2001-endda.
          READ TABLE p0001 WITH KEY pernr = p2001-pernr.
          i_2001-ename    = p0001-ename.
    Get the Absence Type Text
          CLEAR gv_atext.
          SELECT SINGLE atext INTO gv_atext FROM t554t
                  WHERE sprsl = sy-langu AND
                        moabw = c_moabw  AND
                        awart = p2001-awart.
          IF sy-subrc = 0.
            i_2001-atext = gv_atext.
          ENDIF.
          APPEND i_2001.
          CLEAR i_2001.
        ENDIF.
      ENDLOOP.
    Quota Data
      LOOP AT p2006 WHERE pernr = pernr-pernr AND
                          begda GE pnpbegda   AND
                          endda LE pnpendda.
        IF p2006-ktart IN s_ktart.
          i_2006-pernr    = pernr-pernr.
          i_2006-subty    = p2006-subty.
          i_2006-begda    = p2006-begda.
          i_2006-endda    = p2006-endda.
          i_2006-year     = p2006-endda+0(4).
          i_2006-ktart    = p2006-ktart.
          i_2006-anzhl    = p2006-anzhl.
          i_2006-kverb    = p2006-kverb.
          i_2006-anzhb    = p2006-anzhl - p2006-kverb.
          READ TABLE p0001 WITH KEY pernr = p2001-pernr.
          i_2006-ename    = p0001-ename.
    Get the Quota Type Text
          CLEAR gv_ktext.
          SELECT SINGLE ktext INTO gv_ktext FROM t556b
                  WHERE sprsl = sy-langu AND
                        mopgk = c_mopgk  AND
                        mozko = c_mozko  AND
                        ktart = p2006-ktart.
          IF sy-subrc = 0.
            i_2006-ktext = gv_ktext.
          ENDIF.
          APPEND i_2006.
          CLEAR i_2006.
        ENDIF.
      ENDLOOP.
    For Vacation Quota (80) get the Balance of the Last Year and
    add to the Current Year Quota
      LOOP AT i_2006.
        IF i_2006-ktart = '80'.
          lv_year1 = i_2006-endda+0(4).
          lv_year2 = lv_year1 - 1.
          CONCATENATE lv_year2 '01' '01' INTO lv_date1.
          CONCATENATE lv_year2 '12' '31' INTO lv_date2.
          LOOP AT p2006 WHERE pernr = i_2006-pernr AND
                              begda GE lv_date1    AND
                              endda LE lv_date2    AND
                              ktart = '80'.
            lv_anzhb = p2006-anzhl - p2006-kverb.
            i_rep1-pernr = i_2006-pernr.
            i_rep1-ktext = i_2006-ktext.
            i_rep1-anzhl = p2006-anzhl.
            i_rep1-kverb = p2006-kverb.
            i_rep1-ename = i_2006-ename.
            i_rep1-begda = p2006-begda.
            i_rep1-endda = p2006-endda.
            i_rep1-anzhb = lv_anzhb.
            i_rep1-ktart = '80'.
            i_rep1-year = lv_year2.
            APPEND i_rep1.
            CLEAR: i_rep1.
          ENDLOOP.
        ENDIF.
        CLEAR: lv_year1, lv_year2,
               lv_date1, lv_date2,lv_anzhb.
      ENDLOOP.
      SORT i_rep1 BY pernr ktart.
    ENDFORM.          "get_pers_data
    *&      Form  append_data
    Put the Absence and Quota Data into one Report Int Table
    FORM append_data.
      CLEAR:   i_rep.
      REFRESH: i_rep.
      SORT i_2001 BY pernr awart.
      SORT i_2006 BY pernr ktart year.
    Move I_REP1 data into i_2006
      LOOP AT i_rep1.
        MOVE-CORRESPONDING i_rep1 TO i_2006.
        APPEND i_2006.
        CLEAR  i_2006.
      ENDLOOP.
    Move the Absence and Quota Data into a final Int Table
      LOOP AT i_2006.
        i_rep-pernr = i_2006-pernr.
        i_rep-ename = i_2006-ename.
        i_rep-ktart = i_2006-ktart.
        i_rep-anzhl = i_2006-anzhl.
        i_rep-kverb = i_2006-kverb.
        i_rep-ktext = i_2006-ktext.
        i_rep-anzhb = i_2006-anzhb.
        i_rep-year  = i_2006-year.
        CLEAR i_2001.
        CASE i_2006-ktart.
          WHEN '81'.
            PERFORM get_2001 USING i_2006-pernr '1000' i_2006-year.
          WHEN '50'.
            PERFORM get_2001 USING i_2006-pernr '1002' i_2006-year.
          WHEN '80'.
            PERFORM get_2001 USING i_2006-pernr '1001' i_2006-year.
          WHEN '56'.
            PERFORM get_2001 USING i_2006-pernr '1003' i_2006-year.
          WHEN '51'.
            PERFORM get_2001 USING i_2006-pernr '1004' i_2006-year.
          WHEN '52'.
            PERFORM get_2001 USING i_2006-pernr '1005' i_2006-year.
          WHEN '54'.
            PERFORM get_2001 USING i_2006-pernr '1006' i_2006-year.
          WHEN '53'.
            PERFORM get_2001 USING i_2006-pernr '1007' i_2006-year.
          WHEN '55'.
            PERFORM get_2001 USING i_2006-pernr '1008' i_2006-year.
          WHEN '57'.
            PERFORM get_2001 USING i_2006-pernr '1009' i_2006-year.
          WHEN '90'.
            PERFORM get_2001 USING i_2006-pernr '2000' i_2006-year.
          WHEN '58'.
            PERFORM get_2001 USING i_2006-pernr '2001' i_2006-year.
          WHEN '59'.
            PERFORM get_2001 USING i_2006-pernr '2002' i_2006-year.
          WHEN '91'.
            PERFORM get_2001 USING i_2006-pernr '2003' i_2006-year.
        ENDCASE.
        IF sy-subrc <> 0.
          APPEND i_rep.
        ENDIF.
        CLEAR i_rep.
      ENDLOOP.
      SORT i_rep BY pernr ktart year.
      DELETE i_rep WHERE pernr = ' '.
    ENDFORM.              " append_data
    *&      Form  display_qa_data
    Display the Absence and Quota Data
    FORM display_qa_data.
      DATA: lv_flag,                   " New Flag
            lv_tot2 TYPE ptm_quonum.   " Absence Balance days
      IF i_rep[] IS INITIAL.
        MESSAGE i000 WITH 'No Data found'(014).
      ELSE.
        LOOP AT i_rep.
    toggle color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
          AT NEW pernr.
            READ TABLE i_rep INDEX sy-tabix.
            WRITE:/1 sy-vline,2(8) i_rep-pernr,
              10 sy-vline,11(40)   i_rep-ename.
          ENDAT.
          AT NEW ktart.
            READ TABLE i_rep INDEX sy-tabix.
            WRITE: 1 sy-vline, 10 sy-vline,
              51 sy-vline,52(25)   i_rep-ktext.
          ENDAT.
          AT NEW year.
            READ TABLE i_rep INDEX sy-tabix.
            WRITE: 1 sy-vline, 10 sy-vline,
                  51 sy-vline,
                  77 sy-vline, 78(4)  i_rep-year,
                  82 sy-vline, 83(11) i_rep-anzhl,
                  94 sy-vline, 95(25) i_rep-atext,
                 120 sy-vline,133 sy-vline,
                 144 sy-vline,
                 155 sy-vline,156(13)  i_rep-anzhb,
                 169 sy-vline.
          lv_tot2 = lv_tot2 + i_rep-anzhb.
          ENDAT.
          WRITE: 1 sy-vline,  10 sy-vline,
                51 sy-vline,  77 sy-vline,
                82 sy-vline,  94 sy-vline,
               120 sy-vline,121(12)  i_rep-abrtg NO-ZERO,
               133 sy-vline,134(10)  i_rep-begda NO-ZERO,
               144 sy-vline,145(10)  i_rep-endda NO-ZERO,
               155 sy-vline,169 sy-vline.
          NEW-LINE.
          AT END OF pernr.
            WRITE  : /1(169) sy-uline.
            SUM.
            FORMAT COLOR 3.
            WRITE:/1 sy-vline,   10 sy-vline,
                  51 sy-vline,   77 sy-vline,
                  82 sy-vline,   94 sy-vline,
                 120 sy-vline,121(12) i_rep-abrtg,
                 133 sy-vline,144 sy-vline,
                 155 sy-vline, 156(13) lv_tot2,
                 169 sy-vline.
            FORMAT COLOR OFF.
            WRITE  : /1(169) sy-uline.
            CLEAR lv_tot2.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.              " display_qa_data
    *&      Form  display_q_data
    Display only the Quota Data
    FORM display_q_data.
      DATA: lv_flag.               " New Flag
      SORT i_2006 BY pernr ktart year.
      IF i_2006[] IS INITIAL.
        MESSAGE i000 WITH 'No Data found'(014).
      ELSE.
        LOOP AT i_2006.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
          AT NEW pernr.
            READ TABLE i_2006 INDEX sy-tabix.
            WRITE: /1 sy-vline,  2(8)  i_2006-pernr,
                   10 sy-vline,11(40)  i_2006-ename.
          ENDAT.
          AT NEW ktart.
            READ TABLE i_2006 INDEX sy-tabix.
            WRITE: 1 sy-vline,10 sy-vline,
                  51 sy-vline,52(25)  i_2006-ktext.
          ENDAT.
          AT NEW year.
            READ TABLE i_2006 INDEX sy-tabix.
            WRITE: 1 sy-vline,  10 sy-vline,
                  51 sy-vline,
                  77 sy-vline,78(4)  i_2006-year,
                  82 sy-vline,83(11) i_2006-anzhl,
                  94 sy-vline,95(13) i_2006-anzhb,
                 108 sy-vline.
            NEW-LINE.
          ENDAT.
          AT END OF pernr.
            WRITE  : /1(108) sy-uline.
            SUM.
            FORMAT COLOR 3.
            WRITE: /1 sy-vline, 10 sy-vline,
                   51 sy-vline,
                   77 sy-vline, 82 sy-vline,
                   94 sy-vline, 95(13) i_2006-anzhb,
                  108 sy-vline.
            FORMAT COLOR OFF.
            WRITE  : /1(108) sy-uline.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.              " display_q_data
    *&      Form  display_a_data
    Display Only the Absence Quota
    FORM display_a_data.
      DATA: lv_flag.               " New Flag
      SORT i_2001 BY pernr awart.
      IF i_2001[] IS INITIAL.
        MESSAGE i000 WITH 'No Data found'(014).
      ELSE.
        LOOP AT i_2001.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
          AT NEW pernr.
            READ TABLE i_2001 INDEX sy-tabix.
            WRITE: /1 sy-vline, 2(10) i_2001-pernr,
                   10 sy-vline,11(40) i_2001-ename.
          ENDAT.
          WRITE:  1 sy-vline, 10 sy-vline,
                  51 sy-vline,52(25) i_2001-atext,
                  77 sy-vline,78(12) i_2001-abrtg,
                  90 sy-vline,91(10) i_2001-begda,
                 101 sy-vline,102(10) i_2001-endda,
                 112 sy-vline.
          NEW-LINE.
          AT END OF pernr.
            WRITE  : /1(112) sy-uline.
            SUM.
            FORMAT COLOR 3.
            WRITE: /1 sy-vline, 10 sy-vline,
                   51 sy-vline,
                   77 sy-vline,78(12) i_2001-abrtg,
                   90 sy-vline,101 sy-vline,
                  112 sy-vline.
            FORMAT COLOR OFF.
            WRITE  : /1(112) sy-uline.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.              " display_a_data
    *&      Form  header
    Write the Report Header
    FORM header .
      data : lv_pers type pbtxt,
             lv_orgn type orgtx.
      gv_title1 = sy-title.              " Set List Header
      IF p_qa = c_x.
        NEW-PAGE LINE-SIZE 193.
      ELSEIF p_a = c_x.
        NEW-PAGE LINE-SIZE 125.
      ELSEIF p_q = c_x.
        NEW-PAGE LINE-SIZE 119.
      ENDIF.
    Standard header
      FORMAT RESET.
      CALL FUNCTION 'Z_STANDARD_HEADER'
        EXPORTING
          title1 = gv_title1.
    Get the Personal Area and Org.Unit Texts
      clear : lv_pers,lv_orgn.
      select single name1 into lv_pers
        from t500p where persa = pnpwerks-low.
      select single orgtx into lv_orgn
        from t527x where sprsl = sy-langu and
                         orgeh = pnporgeh-low and
                         endda = c_endda.
      if not lv_pers is initial.
        write : /2 'Personal Area:'(017), 17(25) lv_pers color 7.
      endif.
      if not lv_orgn is initial.
        write : /2 'Organization Unit:'(021), 20(25) lv_orgn color 3.
      endif.
      IF p_qa = c_x.
        FORMAT COLOR COL_HEADING.
        WRITE  : /1(169) sy-uline.
        WRITE:/1 sy-vline,2(8)    'Emp.No'(015) CENTERED,
              10 sy-vline,11(40)  'Employee Name'(016) CENTERED,
              51 sy-vline,52(25)  'Quota Description'(018) CENTERED,
              77 sy-vline,78(4)   'Year'(027),
              82 sy-vline,83(11)  'Entitlement'(019),
              94 sy-vline,95(25)  'Absence Description'(022) CENTERED,
             120 sy-vline,121(12) 'Absence days'(023),
             133 sy-vline,134(10) 'From Date'(024),
             144 sy-vline,145(10) 'To Date'(025),
             155 sy-vline,156(13) 'Quota Balance'(020),
             169 sy-vline.
        WRITE  : /1(169) sy-uline.
      ELSEIF p_q = c_x.
        FORMAT COLOR COL_HEADING.
        WRITE  : /1(108) sy-uline.
        WRITE:/1 sy-vline,2(8)   'Emp.No'(015) CENTERED,
              10 sy-vline,11(40) 'Employee Name'(016) CENTERED,
              51 sy-vline,52(25) 'Quota Description'(018) CENTERED,
              77 sy-vline,78(4)  'Year'(027),
              82 sy-vline,83(11) 'Entitlement'(019),
              94 sy-vline,95(13) 'Quota Balance'(020),
             108 sy-vline.
        WRITE  : /1(108) sy-uline.
      ELSEIF p_a = c_x.
        FORMAT COLOR COL_HEADING.
        WRITE  : /1(112) sy-uline.
        WRITE:/1 sy-vline,2(8)    'Emp.No'(015) CENTERED,
              10 sy-vline,11(40)  'Employee Name'(016) CENTERED,
              51 sy-vline,52(25)  'Absence Description'(022) CENTERED,
              77 sy-vline,78(12)  'Absence days'(023),
              90 sy-vline,91(10)  'From Date'(024),
             101 sy-vline,102(10) 'To Date'(025),
             112 sy-vline.
        WRITE  : /1(112) sy-uline.
      ENDIF.
    ENDFORM.                    " header
    *&      Form  toggle_color
    This routine alters the color of the records in the list
    FORM toggle_color.
      IF gv_dial = space.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        gv_dial = c_x.
      ELSE.
        FORMAT COLOR 1 INTENSIFIED OFF.
        CLEAR gv_dial.
      ENDIF.
    ENDFORM.                    " toggle_color
    *&      Form  get_2001
    Get the ABsence type for each Quota type
    FORM get_2001 USING p_pernr TYPE persno
                        p_value TYPE awart
                        p_year.
      LOOP AT i_2001 WHERE pernr = p_pernr AND
                           awart = p_value AND
                           endda+0(4) = p_year.
        i_rep-awart = i_2001-awart.
        i_rep-abrtg = i_2001-abrtg.
        i_rep-atext = i_2001-atext.
        i_rep-begda = i_2001-begda.
        i_rep-endda = i_2001-endda.
        APPEND i_rep.
      ENDLOOP.
    ENDFORM.                                                    " get_2001
    Regards
    anji

Maybe you are looking for

  • How to upload many Files in the table of Project Document (Solution Man)  ?

    I have generate some hundreed  PDF-Files and I want to upload this PDF files in the table of  Project Documentation in the Solution Manager. In the Solution Manager is it only possible to upload this files single. My intention is  to write an abap pr

  • Problem using WRVS4400n with WPA4410n as Repeater

    hi there, we're using a WRVS4400n with V2.0.0.8-ETSI as Router and WLAN Access. - Network Mode: N-Only - Channel: 13 - Secutity: WPA2 - Isolation: disabled - Bandwith: 20/40 - Signal is allowed to be repeated Now we installed a new WAP4410n with 2.0.

  • Will not display after resetting motherboard

    Well, wondering if there may be a display bios update for this motherboard(M2N68-LA).Went to the HP website but Vista will not support their troobleshooter, any ideas wouldbe much appreciated.

  • Printed Phone Book

    Our President still likes to have a printed copy of our customer contacts, addresses and  phone numbers.  Without printing an excel spreadsheet or creating a Crystal Report does anyone have some ideas?  We used to maintain an ACT database that would

  • GX Error - after - Install Web Connector Plugin for iWS

    After custom installation from web connector plugin in iWS, the browser shows GX Error socket result code missing !!! Is seems the plugin can't call the remote web application. I see a establised connection between the web server and die application