Actionable Ideas for Time Management

Starting today and every other Thursday we'll share tips from experts to help you gain an edge in running your business. Today we will focus on better managing your time.
As the sayings go, "time is fleeting" and "time is money." No one knows these concepts better than you, the small business owner. Here are seven suggestions to help you manage your most limited resource: time.

HI,
This may help...
http://homepage.mac.com/cjrtools/ebooks/howtos/safari-browser-bookmarks.html
Carolyn

Similar Messages

  • 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

  • Configuration Guide for Time Management

    Can anyone send me the configuration guide for Time Management

    The following is the config. document of TM. check the threads u will get some more good responses and close the thread if u find the response is good enough
    I think its helpful to u.
    IMG  Personnel Time Management  Work Schedules  Define Public Holiday Classes
    IMG  Personnel Time Management  Work Schedules  Personnel Subarea Groupings  Group Personnel Subareas for the Work Schedule
    IMG  Personnel Time Management  Work Schedules  Personnel Subarea Groupings  Group Personnel Subareas for theDaily Work Schedule
    IMG  Personnel Time Management  Work Schedules  Daily Work Schedules  Define Daily Work Schedules
    IMG  Personnel Time Management  Work Schedules  Period Work Schedules  Define Period Work Schedules.
    IMG  Personnel Time Management  Work Schedules  Day Types  Define Day Types.
    IMG  Personnel Time Management  Work Schedules  Day Types  Define Day Types.
    IMG  Personnel Time Management  Work Schedules  Day Types  Define Special Days.
    IMG  Personnel Time Management  Work Schedules  Work Schedule Rules and Work Schedules  Define Employee Subgroup Groupings
    IMG  Personnel Time Management  Work Schedules  Work Schedule Rules and Work Schedules  Define Groupings for the Public Holiday Calendar.
    IMG  Personnel Time Management  Work Schedules  Work Schedule Rules and Work Schedules  Set Work Schedule Rules and Work Schedules.
    IMG  Personnel Time Management  Work Schedules  Work Schedule Rules and Work Schedules  Generate Work Schedules Manually
    IMG  Personnel Time Management  Work Schedules  Planned Working Time  Set Default Value for the Work Schedule.
    IMG  Personnel Time Management  Work Schedules  Planned Working Time  Set Default Value for Time Management Status.
    IMG  Personnel Time Management  Time Data Recording and Administration  Substitutions  Define Personnel Subareas for Substitution Types.
    IMG  Personnel Time Management  Time Data Recording and Administration  Substitutions  Set Defaults for Substitution Types.
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Group Personnel Subareas for Attendances and Absences.
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Define Absence Types.
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Absence Counting  Define Counting Classes for the Period Work Schedule.
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Absence Counting  Rules for Absence Counting (New)  Group Employee Subgroups for Time Quotas.
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Absence Counting  Rules for Absence Counting (New)  Group Personnel Subareas for Time Quotas
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Absence Counting  Rules for Absence Counting (New)  Define Rules for Rounding Counted Absences
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Absence Counting  Rules for Absence Counting (New)  Define Counting Rules
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Absence Counting  Rules for Absence Counting (New)  Define Counting Rules  Deduction rules for Absence quotas
    IMG  Personnel Time Management  Time Data Recording and Administration  Absences  Absence Catalog  Absence Counting  Assign Counting Rules to Absence Types.
    IMG  Personnel Time Management  Time Data Recording and Administration  Attendances/Actual Working Times  Define Attendance Types.
    IMG  Personnel Time Management  Time Data Recording and Administration  Attendances/Actual Working Times  Attendance counting  Rules for Attendance counting (New)  Assign Counting Rules to Attendance Types.
    IMG  Personnel Time Management  Time Data Recording and Administration  Managing Time Accounts Using Attendance/Absence Quotas  Time Quota Types  Define Absence Quota Types.
    IMG  Personnel Time Management  Time Data Recording and Administration  Managing Time Accounts Using Attendance/Absence Quotas  Calculating Absence Entitlements  Automatic Accrual of Absence Quotas  Permit Quota Generation Without Time Evaluation.
    IMG  Personnel Time Management  Time Evaluation  Time Evaluation Settings  Set Personnel Subarea Groupings for Time Recording.
    IMG  Personnel Time Management  Time Data Recording and Administration  Managing Time Accounts Using Attendance/Absence Quotas  Calculating Absence Entitlements  Rules for Generating Absence Quotas  Set Base Entitlements  Base Entitlement for Absence Quota Generation.
    IMG  Personnel Time Management  Time Data Recording and Administration  Managing Time Accounts Using Attendance/Absence Quotas  Calculating Absence Entitlements  Rules for Generating Absence Quotas  Determine Validity and Deduction Periods.
    IMG  Personnel Time Management  Time Data Recording and Administration  Managing Time Accounts Using Attendance/Absence Quotas  Calculating Absence Entitlements  Rules for Generating Absence Quotas  Set Base Entitlements  Define Generation Rules for Quota Selection.
    Edited by: Sikindar on Feb 11, 2008 6:05 PM

  • Postings in SAP HR for creating delta records for Time Management

    Hi Experts,
                      I am trying to test delta load for SAP HR Time Management Datasources. I am fairly new to SAP HR and need some help.
    Where do we create postings in  SAP HR for creating delta records which can be imported to BW. This is for the data sources 0HR_PT_1 and 0HR_PT_2.
                   Any help is appreciated. Will assign full points
    Regards
    Sunil Kumar.

    Hi,
    In order to test the above data sources you need to have some employee enter his time details or change the entered time details.  That will create some delta records for the planned or actual times.  CAT2 transaction should help entering the time details in SAP. 
    Hope it helps.

  • Solution architecture for Time Management US

    Hi All,
    I am looking out for approach for capturing a time data & also to capture expenses.
    Also looking out for a solution approach & documents pertaining to Time management ( US scenario )
    Client : Want to capture a time data and pay salaries based on the No of hour they have worked for the week & they are also looking out for capturing a expenses as well.
    Currently : Tey are planning to go for US roll out & also looking out for above requirement & this requirement is main criteria for the roll out.
    Solution & documents for the above is greatly appriciated.
    Looking forward for the earliest replay from the fellow member of SDN Community.
    With Regards,
    Abhishek

    Dear Expert,
    My client has specific rule that on every 3rd Late coming half CL should get deduct from quota.
    I wrote PCR and have value in daily balance for deduction from cl quota. now what to do to deduct from quota. the deduction should revert if the data is regularise through 2001/2002/2011 .
    I tried to use through function UPDTQA.. but this is deduction every time if i force run the employee.
    Any valuable input will be helpful.
    Regards
    Ajay Kumar
    Edited by: Ajay Kumar on Feb 8, 2011 2:36 PM

  • Important /standard Schemas & PCRs for Time Management

    Dear Gurus,
    I just completed my course and would like to explore more about Time Management.
    I would be glad if any one of you could share the important and most used schemas/ PCR's  of TIME MANAGEMENT in real time..
    Looking forward to hear from you soon to put myself in to SAP soon
    Sathya

    Hi sathya,
    For Time  Mgt mainly you have to focus on Schemas TM00, TM04
    and check the differences of those two,
    go to PE02 & read  document and concentrate on the below Pcrs.
    TO20            Calculate overtime with quota 2007 01
    TO10             Evaluate overtime approval in I0050
    TO15             Evaluate overtime approval in daily WS
    TO16              Determine overtime without approval
    TW15              Overtime after x hours/day
    Regards,
    Sri
    Edited by: Srini vas on Jul 14, 2009 3:33 PM

  • User Manual for Time Management

    Can anyone share with me user manual of Time Management.

    Hi
    As per the SDN moderator now its not allowed to share the e-mail ID's. So update your email in your porfilethat i will take from their and send you some user manuals.
    Thanks
    Sheeal

  • Disabling Action Button for only manager in Manager Self Service

         Hi people,
    I have a requirement in SSHR. I created one SIT for training assessment and added this function to Manager Self Service. So, if a manager logs into the system and clicks this function, he will be able to see the subordinates reporting to him. He can choose Action button against any of them to fill the assessment form. But the Action button is also visible against the manager name. My client Wants the Action button to be hided for Manager (as manager should not be allowed to fill his own form) and only wants action button to visible for subordinates reporting to him. Is there any way to achieve this through any profile option or personalisation
    Thanks

    Hi,
    I am not sure if it is possible through personalization please, give a try.. If this doesnt work I think you can go for user hook and put validation like if selected person is same as initiator then throw an error.
    Thanks,
    Avinash

  • Statutory Reports for Time Management

    Dear Expert,
    Our client based in West Begal, India has asked these staturory reports. Please tell us whether SAP provides these reports or not.
    *Register under The Factories Act 1948     *
    SrNo     Report Name     Form.No.
    1     Register of Adult Worker     Form.No.15
    2     Register of Leave with Wages     Form.No.18
    3     Muster Roll     Form.No.28
    4     Register of Comp.Holidays     Form.No.12
    5     Overtime Register     Form No.13
    Register  under The Minimum Wages Act ,1948     
    SrNo     Report Name     Form.No.
    1     Register of Fines     Form.No.I
    2     Register of Ded./Absence     Form.No.II
    3     O.T.Register for Worker     Form.No.IV
    4     Muster Roll     Form No.V
    Any valuable input will be helpful.
    Regards
    Ajay Kumar

    Dear Expert,
    My client has specific rule that on every 3rd Late coming half CL should get deduct from quota.
    I wrote PCR and have value in daily balance for deduction from cl quota. now what to do to deduct from quota. the deduction should revert if the data is regularise through 2001/2002/2011 .
    I tried to use through function UPDTQA.. but this is deduction every time if i force run the employee.
    Any valuable input will be helpful.
    Regards
    Ajay Kumar
    Edited by: Ajay Kumar on Feb 8, 2011 2:36 PM

  • BAPI for time management

    I have an external system for recording time.
    I then want to pass the data in a synchronose mode to
    HR module.
    Which BAPI can i use? Is it BAPI PTManagerExtPEvent ?
    thank in advance

    Hi Udi,
    For transferring time recorded in an ext system to SAP , you can use BAPI_CC1_UPLOAD_TIMEEVENT.
    Regards,
    Suresh Datti

  • Problem in actions triggering for Case Management

    Dear all,
    I am strugling to define an action for case creation.
    I am using smartform as processing type.
    but when I execute and save the transaction (Case), E-mail action is not getting generated.
    Processing status is showing as 'Incorrect' in the Case transaction.
    In actions monitor transaction system showing the problem is in 'Processing class' and Processing method as shown below.
    "Dynamic calling of method COPY_1_OF_EXEC_SMART_FORM in class CL_SAMPLE_PROCESSING_CLASS_PPF contained errors"
    I am not aware of what processing class and processing method to use.
    Kindly help me to resolve the issue.
    Your suggestions will be highly appreciated.
    Best wishes,
    Raghu ram

    Hi Sudheer,
    I think I am using the same method. the follwing seeting have been maintained for that action.
    Form name - SCMG_SMART_FORM_CASE
    Processing Class - CL_SAMPLE_PROCESSING_CLASS_PPF
    Processing Method - COPY_1_OF_EXEC_SMART_FORM
    Archive Mode - 1 Mail Only.
    Still the problem exist.
    Please help me resolve this issue.
    Best regards,
    Raghu ram

  • User exit for time management in abap-hr

    hi all,
    i have the requirement like this.
    based on the company codes,
    some leave types cannot be clubbed.
    like for example casual leave cannot be clubbed.
    if any body takes a casual leave then he is not allowed to take any other leave immediate after that.
    how can this be done .
    is it through user exit?

    Hi,
    V_T559L has been configured properly... If it would not been then I would not be able to generate quota. My issue is to transfer leave balances from previous year to next year.
    Thanks,

  • PCR for years of service calculation in time management

    Hi all,
    i need to write a PCR for calculating the years of service from a date type in time management.
    HRS=FYAD01 gives me the full years but i need the exact fraction.
    suppose years of service is 5 years 6 months i should get 5.5 years in HRS?
    can anyone please help me?

    Hi semvladigo,
    I have problem..I am very new to writing PCRs for time management.
    Could you refer some articles or to some pages where the PCR s have been explained.
    I  am in need to write a PCR for calculating the Leave Quotas.
    Conditions:
    The employee should have spent 1825 days in the organization, from his DOJ.For the excess day that he has worked,He would be recieving a leave quota of 2.3 days per a time evaluation period.(Monthly)
    Would you please guide me in writing a PCR for this & where do this PCr to be inserted in the Schema Exactly.
    Have a nice day !
    Best Regards,
    UV SAP

  • 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

  • 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

Maybe you are looking for