HR Report in BI for Headcount Turnover & Retention Report

Hi Gurus,
I need to create HR Report in Bex Analyser. The report is "Headcount Turnover & retention Report".
Report columns are:
Cost Center name || Headcount as of 1/1/09 || Num of New Hires (YTD) || Number of Terms YTD || Num of terms that were active on 1/1/09 (YTD) || Turnover %  || Retention %
Where Turnover % is calculated bydividing total terms over total current headcount.
Where Retention % is dividing the number of those termed YTD who were active on 1/1/09 those were active  on 1/1/09.
Headcound = Active employees(1/1/1900 to 1/1/2009).
New Hires = Newly hired after 1/1/09
Terms = who leaves company after 1/1/09.
I Created four restricted keyfigures
1).Headcount as of 1/1/09 with ( Number of employess, Calander day (1/1/1900 - 1/1/1009), Employee   status [ Active]).
2).Num of New Hires with (Number of Actions, Calander day (1/1/2009 - Current Calander day variable),
Action type [New Hire]).
3).Number of Terms with ( Number of Actions, Calander day (1/1/2009 - Current Calander day variable),
Action Reason [ Leaving]).
4).No.of terms that were active on 1/1/09 with (number of Actions, Calander day (1/1/09), Action Reason (Leaving), Action Type (Active)).
In my result it is displaying all as active employess and i didn't see any terms. For headcount it is displaying multiple times for one employee. One employee should have only 1 in every field. But each employee having like 9, 17, 25.....etc. I checked in BI side there in cube content each employee has '1' in all fields. I don't know why it is taking multiple times.
Please can any one help me on this. Sorry for such a very long mail.
Thanks,
Aparna.
Edited by: Aparna Pyeddu on Feb 10, 2009 2:57 PM

Aparna,
Good to see a HR question after a long time. There could be several things that could go wrong in this report.
First we will start with you did not see any terms:
Reason terms are based on Number of actions and Actions are generally on period end dates. If you 01/01/2009 is not a period end date you wont have any action on it and it will not display any terms. I would suggest to research in Master Data for 0Employee with any person you know for sure is terminated.
Second thing go back to business and ask if their retirement is to see terms on a particular date or Fiscal period end. (Terms are generally seen as in a Period range. eg from Period 01/2007 to 13/2007)
Based on your requirement it seems that you need YTD calculations. YTDs are not that straight forward with a single restricted key figure.YTD for Hires term and Actives are different animals. It would take a long answer to solve your problems.
Try these solutions even if yo do not get them. USE POSTING PERIOD  and Fiscal Year instead of dates.
Headcount avg actives YTD: you want to get actives from 01/01/2009 to the period entered by the user. Say 05/2009
So what you want to is get actives as of 05/2009, 04/2009,03/2009, 02,2009 and 01/2009
and add them up and divide them by 5.
Terms YTD: Give a range: Period 1 to Period entered by user.
Hires YTD: Give a range: Period 1 to Period entered by user.
I know this not a straight forward and easy solution. but this is the way HR is. Let me know if you need further help.
~abhijit

Similar Messages

  • Std Report for headcount

    frnzz,
    Is there a standard report to find out the headcount in an organisation?
    Useful anwers will be rewarded.
    thanx in advance
    Viggy

    Hi,
    There are only following Std reports exist:
    S_AHR_61016497  Existing Jobs
    S_AHR_61016502  Existing Positions
    S_AHR_61016503  Staff assignments.
    See the Manning Level sample report:
    report zporgr0040
           line-size 108
           line-count 60(1)
           no standard page heading
           message-id zndc.
    Database Tables
    tables: hrp1001,     " HR Master Record (Orgn. Assignment)
            pa0002,      " Personal Data
            t528t,       " Position Texts
            t527x,       " Org Unit Text
            t528b,       " Positions
            csks,        " Cost Center
            cskt.        " Cost Center Texts
    Declaration of Internal Tables
    Internal Table for Orgn Object Data  HRP1000
    data: begin of obj_tab occurs 0,
            otype like hrp1000-otype,      " Object Type
            objid like hrp1000-objid,      " Object ID
            plvar like hrp1000-plvar,      " Plan Version
            istat like hrp1000-istat,      " Planning Status
            begda like hrp1000-begda,      " Begin date
            endda like hrp1000-endda,      " End date
          end of obj_tab.
    Internal Table for Active Employees data PA0000
    data: begin of stat_tab occurs 0,
            pernr like pa0000-pernr,       " Object Type
            begda like pa0000-begda,       " Begin date
            endda like pa0000-endda,       " End date
            stat2 like pa0000-stat2,       " Employment Status
          end of stat_tab.
    Internal Table for Actual Orgn Assignment Data PA0001
    data: begin of act_tab occurs 0,
            pernr like pa0001-pernr,       " Object Type
            begda like pa0001-begda,       " Begin date
            endda like pa0001-endda,       " End date
            kostl like pa0001-kostl,       " Cost Center
            orgeh like pa0001-orgeh,       " Org Unit
            plans like pa0001-plans,       " Position
            natio like pa0002-natio,       " Nationality
          end of act_tab.
    Internal Table for Orgn Data HRP1001
    data: begin of org_tab occurs 0,
            otype like hrp1001-otype,      " Object Type
            objid like hrp1001-objid,      " Object ID
            plvar like hrp1001-plvar,      " Plan Version
            istat like hrp1001-istat,      " Planning Status
            begda like hrp1001-begda,      " Begin date
            endda like hrp1001-endda,      " End date
            subty like hrp1001-subty,      " Sub Type
            sclas like hrp1001-sclas,      " Type of Related Object
            sobid like hrp1001-sobid,      " Id of Related Object
            kostl like pa0001-kostl,       " Cost Center
            plstx like t528t-plstx,        " Position Text
            orgtx like t527x-orgtx,        " Org Unit Text
          end of org_tab.
    Internal Table for Position Calculations
    data: begin of org1_tab occurs 0,
            kostl like pa0001-kostl,       " Cost Center
            objid like hrp1001-objid,      " Object ID
          end of org1_tab.
    Internal Table for Position Calculations
    data: begin of org2_tab occurs 0,
            kostl like pa0001-kostl,       " Cost Center
            count type i,                  " No of Positions
          end of org2_tab.
    Internal Table for Actual Manpower Calculations
    data: begin of act1_tab occurs 0,
            kostl like pa0001-kostl,       " Cost Center
            natio like pa0002-natio,       " Nationality
            plans like pa0001-plans,       " Position
          end of act1_tab.
    Internal Table for Actual Manpower Calculations(UAE)
    data: begin of act2_tab occurs 0,
            kostl like pa0001-kostl,       " Cost Center
            natio like pa0002-natio,       " Nationality
          end of act2_tab.
    Internal Table for Actual Manpower Calculations(Others)
    data: begin of act3_tab occurs 0,
            kostl like pa0001-kostl,       " Cost Center
            natio like pa0002-natio,       " Nationality
          end of act3_tab.
    Internal Table for Actual Manpower Calculations(UAE)
    data: begin of act4_tab occurs 0,
            kostl like pa0001-kostl,       " Cost Center
            count1 type i,                 " No of Positions(UAE)
          end of act4_tab.
    Internal Table for Actual Manpower Calculations(OTHERS)
    data: begin of act5_tab occurs 0,
            kostl like pa0001-kostl,       " Cost Center
            count2 type i,                 " No of Positions(Others)
          end of act5_tab.
    Internal Table for Vaccancies Data
    data: begin of vac_tab occurs 0,
            plvar like hrp1007-plvar,      " Plan Version
            otype like hrp1007-otype,      " Object Type
            objid like hrp1007-objid,      " Object ID
            istat like hrp1007-istat,      " Planning Status
            begda like hrp1007-begda,      " Begin date
            endda like hrp1007-endda,      " End date
            vacan like hrp1007-vacan,      " Vacancy Indicator
            status like hrp1007-status,    " Status of Vacancy
          end of vac_tab.
    Internal Table to store the Report Output data
    data : begin of rep_tab occurs 0 ,
             kostl(10) type n,                  " Cost Cente
             plans   like pa0001-plans,         " Position
             vacan   like hrp1007-vacan,        " Vacancy Indicator
             status  like hrp1007-status,       " Status of Vacancy
             plstx   like t528t-plstx,          " Position Text
             orgtx like t527x-orgtx,            " Org Unit Text
           end of rep_tab.
    Internal Table to store the Report Output data
    data : begin of rep1_tab occurs 0 ,
             kostl(10) type n,                  " Cost Cente
             cnt     type i,                    " No of Vacancies
           end of rep1_tab.
    Internal Table to store the Report Output data
    data : begin of rep2_tab occurs 0 ,
             kostl(10) type n,                  " Cost Cente
             app_no    type i,                  " Approved
             nat_no    type i,                  " National
             exp_no    type i,                  " Expatriate
             tot_no    type i,                  " Total
             vac_no    type i,                  " Vacancies
           end of rep2_tab.
    Declaration of Variables
    data: v_sobid  like hrp1001-sobid,   " Object Id
          v_sobid1 like hrp1001-sobid,   " Object Id
          v_sobid2 like hrp1001-sobid,   " Object Id
          v_sclas  like hrp1001-sclas,   " Related Obj Type
          v_subty  like hrp1001-subty,   " Related Object Id
          v_otype  like hrp1007-otype,   " Object Type
         v_str(9)    type c,            " Text
         v_str1(10)  type c,            " Text
          v_cnt    like sy-tabix.        " Table Index
    Declaration of Constants
    constants : c_x         type c value 'X',            " Flag
                c_stat1  like pa0000-stat2  value '3',   " Emp Status
                c_plan   like hrp1001-plvar value '01',  " Plan Version
                c_name   like hrp1000-uname value 'SAP', " Uname
                c_uae    like pa0002-natio  value 'AE',  " Country
                c_type   like hrp1007-otype  value 'O',  " Object Type
                c_otype  like hrp1007-otype  value 'S',  " Object Type
                c_stat   like hrp1007-status value '0',  " Status
                c_pstat  like hrp1007-istat  value '1',  " Plang Status
                c_sclas  like hrp1001-sclas value 'K',    " Rel. Obj Type
                c_subty  like hrp1001-subty value 'A002', " Related ObjId
                c_subty2 like hrp1001-subty value 'A003', " Related ObjId
                c_sclas1 like hrp1001-sclas value 'O',    " Rel.Obj Type
                c_subty1 like hrp1001-subty value 'A011', " Rel.Object Id
                c_kokrs  like coej-kokrs value '1000'. " Controlling Area
    Selection Screen
    selection-screen begin of block b1 with frame title text-001.
    parameters     :
      p_date  like pa0001-begda obligatory default sy-datum. " Date
    select-options :
      s_kostl for csks-kostl,                     " Cost Center
      s_plans for t528b-plans.                    " Position ID
    selection-screen end of block b1.
    At selection-screen
    at selection-screen.
    Validate the Selection Screen fields
      perform validate_screen.
    Start-of-Selection
    start-of-selection.
    Get the Orgn data from database Table HRP1001
      perform get_org_data.
    Get the Actual Manpower from PA0001
      perform get_act_data.
    Get the Vaccancies data from database Table HRP1007
      perform get_vac_data.
    Append the data into final Internal Table
      perform append_data.
    Top-of-page
    top-of-page.
    Write the Report and Column Headings
      perform top_of_page.
    End-of-Page
    end-of-page.
      write /1(108) sy-uline.
    End-of-Selection
    end-of-selection.
    Display the Output Report.
      perform display_report.
    Form-Routines
    *&      Form  validate_screen
    Validation of selection Screen fields
    form validate_screen.
    Validation of Position ID
      clear t528b.
      if not s_plans[] is initial.
        select single plans
          into t528b-plans
          from t528b
          where plans in s_plans.
        if sy-subrc <> 0.
          message e999 with 'Invalid Position ID'(009).
        endif.
      endif.
    Validation of Cost Center
      clear csks.
      if not s_kostl[] is initial.
        select single kostl
          into csks-kostl
          from csks
          where kostl in s_kostl.
        if sy-subrc <> 0.
          message e999 with 'Invalid Cost Center'(008).
        endif.
      endif.
    endform.                  "validate_screen
    *&      Form  get_org_data
    Get the Orgn Data from Database Table HRP1001
    form get_org_data.
    v_str  = 'Developee'(002).
    v_str1 = 'Deployment'(003).
    Select All the Positions from HRP1000
      select otype       " Object Type
             objid       " Object ID
             plvar       " Plan Version
             istat       " Planning Status
             begda       " Begin date
             endda       " End date
         into table obj_tab
         from hrp1000
         where otype = c_otype  and
               plvar = c_plan   and
               istat = c_pstat  and
               begda le p_date  and
               endda ge p_date  and
               objid in s_plans and
               uname ne c_name.
      sort obj_tab by otype objid.
    Get the Orgn and Cost Center for all the above Positions
      if not obj_tab[] is initial.
        select otype       " Object Type
               objid       " Object ID
               plvar       " Plan Version
               istat       " Planning Status
               begda       " Begin date
               endda       " End date
               subty       " Sub Type
               sclas       " Type of Related Object
               sobid       " Id of Related Object
           into table org_tab
           from hrp1001
           for all entries in obj_tab
           where otype = c_otype  and
                 plvar = c_plan   and
                 istat = c_pstat  and
                 begda le p_date  and
                 endda ge p_date  and
                 sclas eq c_sclas1 and
                 subty eq c_subty2 and
                 objid eq obj_tab-objid.
      endif.
      sort org_tab by otype objid.
    Get the Cost Center
      loop at org_tab.
        v_otype = c_otype.       " S
        v_sclas = c_sclas.       " K
        v_subty = c_subty1.                                     " A011
        v_sobid = org_tab-objid.
        perform get_org using v_otype v_sclas v_subty
                        v_sobid.
        if sy-subrc = 0.
          org_tab-kostl = hrp1001-sobid+0(10).
        else.
          v_otype = c_otype.    " S
          v_sclas = c_sclas1.   " O
          v_subty = c_subty2.                                   " A003
          v_sobid = org_tab-objid.
          perform get_org using v_otype v_sclas v_subty
                         v_sobid.
          if sy-subrc = 0.
            v_otype = c_type.     " O
            v_sclas = c_sclas.    " K
            v_subty = c_subty1.                                 " A011
            v_sobid1 = v_sobid.
            perform get_org using v_otype v_sclas v_subty
                                 v_sobid.
            if sy-subrc <> 0.
              v_otype = c_type.    " O
              v_sclas = c_sclas1.  " O
              v_subty = c_subty.                                " A002
              v_sobid = v_sobid1.
              perform get_org using v_otype v_sclas v_subty
                        v_sobid.
              if sy-subrc = 0.
                v_otype = c_type.   " O
                v_sclas = c_sclas.  " K
                v_subty = c_subty1.                             " A011
                v_sobid2 = v_sobid.
                perform get_org using v_otype v_sclas v_subty
                                 v_sobid.
                if sy-subrc <> 0.
                  v_otype = c_type.   " O
                  v_sclas = c_sclas1. " O
                  v_subty = c_subty.                            " A002
                  v_sobid = v_sobid2.
                  perform get_org using v_otype v_sclas v_subty
                          v_sobid.
                else.
                  org_tab-kostl = hrp1001-sobid+0(10).
                endif.
              endif.
            else.
              org_tab-kostl = hrp1001-sobid+0(10).
            endif.
          else.
            v_otype = c_otype.   " S
            v_sclas = c_otype.   " S
            v_subty = c_subty.                                  " A002
            v_sobid = org_tab-objid.
            perform get_org using v_otype v_sclas v_subty
                           v_sobid.
            if sy-subrc = 0.
              v_otype = c_otype.  " S
              v_sclas = c_sclas.  " K
              v_subty = c_subty1.                               " A011
              v_sobid1 = v_sobid.
              perform get_org using v_otype v_sclas v_subty
                                   v_sobid.
              if sy-subrc <> 0.
                v_otype = c_otype.  " S
                v_sclas = c_sclas1. " O
                v_subty = c_subty2.                             " A003
                v_sobid = v_sobid1.
                perform get_org using v_otype v_sclas v_subty
                          v_sobid.
                if sy-subrc = 0.
                  v_otype = c_type.   " O
                  v_sclas = c_sclas.  " K
                  v_subty = c_subty1.                           " A011
                  v_sobid2 = v_sobid.
                  perform get_org using v_otype v_sclas v_subty
                                   v_sobid.
                  if sy-subrc <> 0.
                    v_otype = c_type.    " O
                    v_sclas = c_sclas1.  " O
                    v_subty = c_subty.                          " A002
                    v_sobid = v_sobid2.
                    perform get_org using v_otype v_sclas v_subty
                            v_sobid.
                  else.
                    org_tab-kostl = hrp1001-sobid+0(10).
                  endif.
                endif.
              else.
                org_tab-kostl = hrp1001-sobid+0(10).
              endif.
            endif.
          endif.
        endif.
    Get the Position Text
        clear t528t.
        select single plstx from t528t into t528t-plstx
          where sprsl = sy-langu and
                otype = c_otype  and
                plans = org_tab-objid.
        org_tab-plstx = t528t-plstx.
    Get the Org Unit Text
        clear t527x.
        select single orgtx from t527x into t527x-orgtx
          where sprsl = sy-langu and
                orgeh = org_tab-sobid+0(8).
        org_tab-orgtx = t527x-orgtx.
        modify org_tab index sy-tabix.
        clear v_sobid.
      endloop.
      sort org_tab by otype objid.
    Calculate the Approved No of Positions
      loop at org_tab.
        if org_tab-kostl in s_kostl.
          move-corresponding org_tab to org1_tab.
          append org1_tab.
          clear org1_tab.
        endif.
      endloop.
      sort org1_tab by kostl objid.
      clear v_cnt.
      loop at org1_tab.
        at end of kostl.
          sy-tabix = sy-tabix - v_cnt.
          org2_tab-kostl = org1_tab-kostl.
          org2_tab-count   = sy-tabix.
          v_cnt = v_cnt + sy-tabix.
          append org2_tab.
          clear:org2_tab.
        endat.
      endloop.
      sort org2_tab by kostl.
    endform.              "get_org_data
    *&      Form  get_act_data
    Get the Actual Manpower Data from Database Table PA0001
    form get_act_data.
      clear  : stat_tab, act_tab.
      refresh: stat_tab, act_tab.
    Get all the Active Employees
      select pernr       " Object Type
             begda       " Begin date
             endda       " End date
             stat2       " Emp Status
           into table stat_tab
           from pa0000
           where stat2 eq c_stat1 and
                 begda le p_date  and
                 endda ge p_date.
      sort act_tab by pernr.
      if not stat_tab[] is initial.
        select pernr       " Object Type
               begda       " Begin date
               endda       " End date
               kostl       " Cost Center
               orgeh       " Org Unit
               plans       " Position
           into table act_tab
           from pa0001
           for all entries in stat_tab
           where pernr eq stat_tab-pernr and
                 kostl in s_kostl and
                 plans in s_plans and
                 persg eq '1'     and
                 begda le p_date  and
                 endda ge p_date.
      endif.
      sort act_tab by pernr.
      loop at act_tab.
        move-corresponding act_tab to act1_tab.
        clear pa0002-natio.
        select single natio into pa0002-natio from pa0002
          where pernr = act_tab-pernr.
        if sy-subrc = 0.
          act1_tab-natio = pa0002-natio.
        endif.
        append act1_tab.
        clear act1_tab.
      endloop.
      sort act1_tab by kostl natio.
    Calculate the Local and Expatriate Manpower
      loop at act1_tab.
        if act1_tab-natio = c_uae.
          act2_tab-kostl = act1_tab-kostl.
          act2_tab-natio = act1_tab-natio.
        else.
          act3_tab-kostl = act1_tab-kostl.
          act3_tab-natio = act1_tab-natio.
        endif.
        append: act2_tab, act3_tab.
        clear : act2_tab,act3_tab.
      endloop.
      sort act2_tab by kostl.
      sort act3_tab by kostl.
    Actual UAE Manpower
      clear v_cnt.
      loop at act2_tab.
        at end of kostl.
          sy-tabix = sy-tabix - v_cnt.
          act4_tab-kostl   = act2_tab-kostl.
          act4_tab-count1  = sy-tabix.
          v_cnt = v_cnt + sy-tabix.
          append act4_tab.
          clear:act4_tab.
        endat.
      endloop.
      sort act4_tab by kostl.
    Other Countries
      clear v_cnt.
      loop at act3_tab.
        at end of kostl.
          sy-tabix = sy-tabix - v_cnt.
          act5_tab-kostl   = act3_tab-kostl.
          act5_tab-count2  = sy-tabix.
          v_cnt = v_cnt + sy-tabix.
          append act5_tab.
          clear:act5_tab.
        endat.
      endloop.
      sort act5_tab by kostl.
    endform.              "get_act_data
    *&      Form  get_org
    Get the Cost Center from Parent Org Id
    form get_org using p_v_otype p_v_sclas p_v_subty p_v_sobid.
      clear hrp1001.
      select single * from hrp1001
            where otype = p_v_otype  and
                  plvar = c_plan   and
                  istat = c_pstat  and
                  begda le p_date  and
                  endda ge p_date  and
                  sclas eq p_v_sclas   and
                  subty eq p_v_subty  and
                  objid eq p_v_sobid.
      v_sobid = hrp1001-sobid+0(8).
    endform.                    " get_org
    *&      Form  get_vac_data
    Get the Vaccancies Data from Database Table HRP1007
    form get_vac_data.
      if not org_tab[] is initial.
        select plvar       " Plan Version
               otype       " Object Type
               objid       " Object ID
               istat       " Planning Status
               begda       " Begin date
               endda       " End date
               vacan       " Vacancy Indicator
               status      " Status of Vacancy
           into table vac_tab
           from hrp1007
           for all entries in org_tab
           where plvar = c_plan   and
                 otype = c_otype  and
                 istat eq c_pstat and
                 objid = org_tab-objid and
                 begda le p_date and
                 endda ge p_date and
                 vacan eq c_x  and
                 status eq c_stat.
      endif.
      sort vac_tab by plvar otype objid.
    Get the HR data into the rep_tab Internal Table
      loop at vac_tab.
        rep_tab-plans  = vac_tab-objid.
        rep_tab-vacan  = vac_tab-vacan.
        rep_tab-status = vac_tab-status.
        read table org_tab with key objid = vac_tab-objid.
        if sy-subrc = 0.
          rep_tab-kostl = org_tab-kostl.
          rep_tab-plstx = org_tab-plstx.
          rep_tab-orgtx = org_tab-orgtx.
        endif.
        append rep_tab.
        clear  rep_tab.
      endloop.
      loop at rep_tab.
        if not rep_tab-kostl in s_kostl.
          delete rep_tab index sy-tabix.
        endif.
      endloop.
      sort rep_tab by kostl plans.
    delete rep_tab where plstx cs v_str.
    delete rep_tab where orgtx cs v_str1.
    Calculate the Count of Vacancies in each Division
      clear v_cnt.
      loop at rep_tab.
        at end of kostl.
          sy-tabix = sy-tabix - v_cnt.
          rep1_tab-kostl = rep_tab-kostl.
          rep1_tab-cnt   = sy-tabix.
          v_cnt = v_cnt + sy-tabix.
          append rep1_tab.
          clear:rep1_tab.
        endat.
      endloop.
      sort rep1_tab by kostl.
    endform.                  "get_vac_data
    *&      Form append_data
    Append the data into final Internal Table
    form append_data.
      loop at org2_tab.
        rep2_tab-kostl = org2_tab-kostl.
        rep2_tab-app_no = org2_tab-count.
        read table act4_tab with key kostl = org2_tab-kostl
                                     binary search.
        if sy-subrc = 0.
          rep2_tab-nat_no = act4_tab-count1.
        endif.
        read table act5_tab with key kostl = org2_tab-kostl
                                     binary search.
        if sy-subrc = 0.
          rep2_tab-exp_no = act5_tab-count2.
        endif.
        read table rep1_tab with key kostl = org2_tab-kostl
                                     binary search.
        if sy-subrc = 0.
          rep2_tab-vac_no = rep1_tab-cnt.
        endif.
        rep2_tab-tot_no = rep2_tab-nat_no + rep2_tab-exp_no.
        append rep2_tab.
        clear rep2_tab.
      endloop.
      sort rep2_tab by kostl.
    endform.             "append_data
    *&      Form  top_of_page
    Write the Report and Column Headings
    form top_of_page.
      skip.
      format color col_heading on.
      write: /1(108) 'NATIONAL DRILLING COMPANY'(010) centered,
             /1(108) 'Summary of Manning Level Report'(011) centered.
      format color off.
      skip.
      write: /2 'Key Date        :'(013), p_date,
             75 'Report Run Date:'(041), sy-datum.
      if not s_kostl[] is initial.
        if s_kostl-high is initial.
          write: /2 'Cost Center     :'(023), s_kostl-low,
                 75 'Time           :'(042), sy-uzeit.
        else.
          write: /2 'Cost Center From:'(024), s_kostl-low+7(3),
                                    'To'(022), s_kostl-high,
                 75 'Time           :'(042), sy-uzeit.
        endif.
      else.
        write: /75  'Time           :'(042), sy-uzeit.
      endif.
      if not s_plans[] is initial.
        if s_plans-high is initial.
          write: /2 'Position Id     :'(019), s_plans-low,
                 75 'User           :'(043), sy-uname.
        else.
          write: /2 'Position Id From:'(021), s_plans-low,
                              'To'(022), s_plans-high,
                 75 'User           :'(043), sy-uname.
        endif.
      else.
        write: /75 'User           :'(043), sy-uname.
      endif.
      write: /75 'Page No        :'(044), sy-pagno.
      skip.
      write /1(108) sy-uline.
      format color col_heading.
      write:/1 sy-vline,
            12 sy-vline, 53 sy-vline,
            64 sy-vline, 65(32)  'Actual'(018) centered,
            97 sy-vline,108 sy-vline.
      write:/1 sy-vline,  2(10) 'CostCenter'(014),
            12 sy-vline, 13(40) 'Description'(026) centered,
            53 sy-vline, 54(10) 'Approved'(025) centered,
            64 sy-vline, 65(32)  sy-uline,
            97 sy-vline, 98(10) 'Vacancies'(017),
           108 sy-vline.
      write:/1 sy-vline,
            12 sy-vline, 53 sy-vline,
            64 sy-vline, 65(10) 'National'(015) centered,
            75 sy-vline, 76(10) 'Expatriate'(020) centered,
            86 sy-vline, 87(10) 'Total'(016) centered,
            97 sy-vline,108 sy-vline.
      format color off.
      write /1(108) sy-uline.
    endform.               "top_of_page
    *&      Form  Display_report
    Write the Report Output
    form display_report.
      if rep2_tab[] is initial.
        message i999 with
        'No Data found for the entered Selection'(035).
      else.
        loop at rep2_tab.
    Authorization Check for the Orgn and Cost Centers
          perform auth_check_org.
          if sy-subrc = 0.
            clear cskt.
            select single ltext into cskt-ltext from cskt
                where spras = sy-langu and
                      kokrs = c_kokrs and
                      kostl = rep2_tab-kostl.
            format color col_normal.
            write: /1 sy-vline, 2(10) rep2_tab-kostl+7(3),
                   12 sy-vline, 13(40) cskt-ltext,
                   53 sy-vline, 54(10) rep2_tab-app_no,
                   64 sy-vline, 65(10) rep2_tab-nat_no,
                   75 sy-vline, 76(10) rep2_tab-exp_no,
                   86 sy-vline, 87(10) rep2_tab-tot_no,
                   97 sy-vline, 98(10) rep2_tab-vac_no,
                  108 sy-vline.
            format color off.
            at last.
              sum.
              format color 3.
              write /1(108) sy-uline.
              write: /1 sy-vline, 2(10) 'Total'(027),
                     12 sy-vline,
                     53 sy-vline, 54(10) rep2_tab-app_no,
                     64 sy-vline, 65(10) rep2_tab-nat_no,
                     75 sy-vline, 76(10) rep2_tab-exp_no,
                     86 sy-vline, 87(10) rep2_tab-tot_no,
                     97 sy-vline, 98(10) rep2_tab-vac_no,
                    108 sy-vline.
              format color off.
            endat.
          endif.
        endloop.
      endif.
      write /1(108) sy-uline.
    endform.                    " Display_report
    *&      Form  auth_check_org
    Authorization Check for the Orgn and Cost Center
    form auth_check_org.
      authority-check object 'ZNDCHROM'
            id 'PLVAR' dummy
            id 'OTYPE' dummy
            id 'KOSTL' field rep2_tab-kostl.
    endform.                  "auth_check_org
    reward if useful
    regards,
    ANJI

  • Report generation issue for headcount/workforce

    Hi,
    I have succesfully deployed my capex, workforce, and C/F application. I was wondering if someone could help me with the creation of a head count report based on this data where I could see the Dept Code, Name, Salary in a report. I have gone through the process of creating a report in Dataform with the dimensions but I am unable to see all the dimensions listed. I do have access to both smart view + financial reporting studio.
    Thanks

    Nvm, solved it just had to set up Reporting studio in order to create an accurate report.

  • Is there a change history for the STAT retention setting?

    I've been told that the setting that controls the retention period for the STAT files is maintained by the ST03 transaction.  (Export Mode / Collector and Performance DB / Workload Collector / Control Data.)
    Is there any kind of change history kept on this setting, or any way to look at what this setting was in the past?  We are on SAP Basis version SAPKB62061.
    We had this setting originally configured to 72 hours in order to allow us a longer recovery time for problems with FireFighter activity capture.  Now the setting is at 48 hours.  This has actually caused us to be missing some FF activity.  Had some failures on the FF Log Update job from last Friday night and when I went in to manually run the job to capture the missing FF activity, the STAT data is missing.
    Need to see if I can determine who changed the setting, and when.
    Thanks.

    Welcome to the Apple Community William.
    Unfortunately, there isn't anything like that available to you.

  • Collector Configuration for Sybase - history retention for DB growth

    Hi Experts,
    We need to modify the history retention in the DBA Cockpit for database growth. Could you specify which Data Collector is responsible for this data?
    Thank you!
    Best regards
    Janos

    Hi Experts,
    We need to modify the history retention in the DBA Cockpit for database growth. Could you specify which Data Collector is responsible for this data?
    Thank you!
    Best regards
    Janos

  • Need for Program Update Retention on Hard Drive?

    12/08/07
    To anyone who can advise me,
    I have the following programs on my computer hard drive that are eating up large chunks of memory. Do I need all of them, none of them, or just the latest version? Thank you for your help in advance.
    J2SE Runtime Environment 5.0 Update 4     118MB
    J2SE Runtime Environment 5.0 Update 6     119MB
    J2SE Runtime Environment 5.0 Update 9     119MB
    J2SE Runtime Environment 5.0 Update 10     120MB
    J2SE Runtime Environment 5.0 Update 11     120MB
    Java 2 Runtime Environment, SE v1.4.2_03     136MB
    Java 2 Runtime Environment, SE v1.4.2_05     108MB
    Java 2 Runtime Environment, SE v1.4.2_06     108MB
    Russ Brown
    [email protected]

    Each version is independent and stands alone. You only need to retain those which programs require. Java programs can be written to require a specific version. If after uninstalling a version, a Java program will not run, that is probably the cause.
    Also, please do not post your questions in duplicate!

  • SAP HR Headcount Reporting

    Hi Experts,
    We are consolidating our system and looking for optimal ways to identify the correct headcounts.
    SAP provides standard reports S_PH9_46000219 for headcount. Can someone help me in identifying what is considered as a headcount from SAP standard point of view. I know different organizations may have different criteria for calculating headcount but I'm primarily interested in standard behavior. Accordingly we will decide if we can make use of this standard report.
    Thanks & Regard,
    Ravi

    Hi Ravi,
    I found an interesting read on this report. Sharing link with you. Hope this will help!!!
    http://scn.sap.com/community/erp/hcm/blog/2013/04/04/headcount-reporting-as-easy-as-one-two-three
    Regards,
    Jitendra

  • HR Report to display headcount up to 10 levels of Org Units

    Hi Experts,
    Can you please give steps for the following requirement.Is there any standards available.Please explain the procedure to create report.
    Points will be awarded fot the suitable solutions.
    The report shouldl query SAP for the number of employees based on the personnel area and sub area.  The main reporting is based on the sub area.  If the employee is in the India Pers Area the total number of employees from each sub area will have to be deducted from the headcount for that sub area and added to the India area for headcount totaling.   For each of the areas/subareas we need to gather the total number of Active Employees, Temp Employees and Contractors.  This information can be gathered from the employee group.
    i/p filed                         available table
    Key Date
    Employment Status     PA0000
    Personnel Area                PA0001
    Personnel Sub Area     PA0001
    Employee Group               PA0001
    Employee Subgroup     PA0001
    C stands for column C2 c3 c4 will be filled by users after running report.
             c1       c2     c3 c4             c5     c6     
    SEIM     70                    9     4          Pers Sub  Area - FIN
    NGUYEN     25                    0     1          Pers Sub Area - MKT
    LUHR     120                    3     4          Pers Sub Area - SLS
    DREW     532                    78     2          Pers Sub Area u2013 OPS
    CHOMA     35                    2     6          Pers Sub Area u2013 ODLP
    LIPPS     3                    0     0          Pers Sub Area - GAA
    INDIA     79                    0     0          Pers Area - IND
    TOTAL     864                    92     17     0     
    Thanks and Regards,
    Raj

    If you want to read the org unit hierarchy from the org structure, tables HRP1001 and HRP1000 should
    have all the information you need. HRP1001 hold the relationships between the org structure objects
    and HRP1000 holds information about each object. 
    If you don't want to do the selects yourself, there is a very useful function module called
    RH_STRUC_GET which does the same sort of thing ie reads the relationships between org structure objects
    using whatever evaluation path you pass in in parameter ACT_WEGID..

  • SAP B1 query for turnover in sales sorted by item and supplier.

    Hello experts,
    please, is it possible to create a query SAP B1 for finding turnover in sales by item and supplier? I would need to know exact total quantity of sold items sorted by supplier.
    Is it possible?
    Thank you in advance 
    jonmar7

    Try to include Credit Memo in this way:
    SELECT T4.CardCode,T4.CardName, SUM(T0.Price * T0.Quantity) AS turnover,SUM(T0.Quantity) AS QTY, T2.ItmsGrpNam, T5.GroupName, T1.ItemCode, T1.ItemName
    FROM INV1 T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode INNER JOIN OITB T2 ON T2.ItmsGrpCod = T1.ItmsGrpCod INNER JOIN OINV T3 ON T3.DocEntry = T0.DocEntry INNER JOIN OCRD T4 ON T1.CardCode = T4.CardCode INNER JOIN OCRG T5 ON T4.GroupCode = T5.GroupCode
    WHERE T4.CardName LIKE '[%0]%'AND T3.DocDate Between [%1] AND [%2]
    GROUP BY T4.CardCode, T4.CardName, T2.ItmsGrpNam, T5.GroupName, T1.ItemCode, T1.ItemName
    UNION ALL
    SELECT T4.CardCode,T4.CardName, SUM(-T0.Price * T0.Quantity) AS turnover,SUM(-T0.Quantity) AS QTY, T2.ItmsGrpNam, T5.GroupName, T1.ItemCode, T1.ItemName
    FROM RIN1 T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode INNER JOIN OITB T2 ON T2.ItmsGrpCod = T1.ItmsGrpCod INNER JOIN ORIN T3 ON T3.DocEntry = T0.DocEntry INNER JOIN OCRD T4 ON T1.CardCode = T4.CardCode INNER JOIN OCRG T5 ON T4.GroupCode = T5.GroupCode
    WHERE T4.CardName LIKE '[%0]%'AND T3.DocDate Between [%1] AND [%2]
    GROUP BY T4.CardCode, T4.CardName, T2.ItmsGrpNam, T5.GroupName, T1.ItemCode, T1.ItemName
    Inventory transfer should not affect your sales at all.  As for A/R Correction Invoice, you need to include OCSI and CSI1 tables.  We don't have those data to try.  You have to add them by yourself.

  • RMAN RETENTION POLICY FOR ORACLE8I

    Dear all,
    How to config RETENTION POLICY for oracle8i(CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;), same 9i ?
    Thanks for advance !
    Chara

    In ORACLE 8i, there are NO stored RMAN parameters (I believe, 9i was the first version to add this feature).
    Instead, in ORACLE 8i you had to specify all channel parameters, formats etc in a run block ... So, the good news is, in ORACLE 8i these parameters should be already "hardcoded" in the RMAN scripts ... in other words, nothing to transfer on a database level ...

  • MIRO  posting of import Turnover Tax from the customs agent

    Dear SAP Gurus,
    I need your inputs for the below described issue:
    Customs agent send us invoice for import turnover tax which he pays   at customs in behalf of our company.
    We have purchase prders for the imported materials.
    How can we handle  such import turnover taxes which is a compensation for the VAT to be paid for that materials in the importing country.
    Do we need to create a new tax code and if yes which % , bcs. the paid import turnover tax is different depending on imported goods. How can we post in miro directly on the  import turnover tax account? The system does not allow it bcs. of base amount problem.
    I am not sure if the creation of a new condition record for this tax type can help bcs. we need it to post in Miro from another vendor (customs agent) than the vendor of the Purchase order.
    We should be able to show these taxes in VAT report too.
    Your inputs higly appreciated.
    Thanks and Kind Regards
    Tarik

    post via FB60 onto VAT Acccount (indicator < and flag 'calculate tax base' while posting)
    depending on the VAT reporting requirements, you can need a new VAT code.

  • Age analysis for stock materials

    I needs to have a z report on age analysis of all the stock materials, the hitch being – they do not have batch mgmt active.
    Age analysis is needed from a period to a period, e.g. - current quarter.

    Hi, I think it's difficult to get stock age without batch managment.You need consider many factors,such as FIFO,movement with 'consume indicator' to write your report.
    There are some standard transactions as below to evaluate movement documents:
    MC50 for dead stock
    MC46 for slow movement
    MC44 for stock turnover
    MC42/43 for range coverage
    Try them.
    Also reference to [http://help.sap.com/saphelp_46c/helpdata/en/bd/a140eb44d511d188fe0000e8322f96/frameset.htm]
    section: document evaluations
    Lykin Kan
    Edited by: Lykin on Aug 26, 2010 10:23 AM
    Edited by: Lykin on Aug 26, 2010 10:25 AM

  • APEX Report Formatting in PDF Help

    Hello there,
    I was asked to create a report in APEX that will generate a report in PDF. The report will have the first column that will print Institution names, the subtotal should print the institution sector (eg: research university or state University etc..) in the institution name, it also should be in italic and bold and indented about 5 point and the total should print "Total" in the Institution column indented, bold and italic. All the subtotals and total values must be bold and italic. At least bold if not italic.and the second column will be values for headcount. To demo this, I used Oracle OEHR data where I can print Employee name and will print for subtotal the employee job ittle and the total emploees.
    I want to have the result without rows and columns borders as well as no background color. I want to print the subtotal and total in bold and italic. Can you advise how to solve this problem? To see the actual report please visit https://app.usg.edu/portal/page/portal/USG123_10G/USG_ACA_TAB
    and click on the report to generate the report. Please also advice if this site functionality can be reproduced in APEX and how much will be your efforts?
    select NVL(OEHR_EMPLOYEES.FIRST_NAME, NVL( OEHR_JOBS.job_title, 'Employee Total')) as Employees,
    sum(OEHR_EMPLOYEES.SALARY) as SALARY,
    from OEHR_EMPLOYEES OEHR_EMPLOYEES,  OEHR_JOBS OEHR_JOBS
    where OEHR_EMPLOYEES.job_id = OEHR_JOBS.job_id
    group by rollup(OEHR_JOBS.job_title, OEHR_EMPLOYEES.FIRST_NAME)
    order by OEHR_JOBS.job_title

    You version of WORD defaults to using printer metrics. There are 2 ways to resolve the issue. 1. go to print and select the Adobe PDF printer, back out and fist the document issues in WORD. 2. Deep in the options of WORD, there is a selection for using printer metrics (I assume your version also has this selection). Uncheck that and the problem should go away. You could also change your default printer to the Adobe PDF printer.
    WORD 2007 was changed to have the default set to NOT use printer metrics. All previous versions used the metrics. Thus when you change the printer, WORD reflows the document. The result may be errors in bookmarks, page numbers, and related issues.

  • How Far Back Oracle Keep AWR Reports

    Hello,
    A quick question:
    Does anyone know how far back Oracle retain AWR reports in the database? Is this something that we can customize? If it is, can someone offer some insights?
    Thanks!

    The default settings for 'interval' and 'retention' are (60 min and 7 days respectively),
    Sample modification using,
    execute dbms_workload_repository.modify_snapshot_settings(interval => 120,retention => 20160);
    the parameter value is in minutes.
    Edited by: Anantha on Jan 15, 2009 12:12 PM
    Metalink notes:
    Space Management In Sysaux Tablespace with AWR in Use - 287679.1
    Usage and Storage Management of SYSAUX tablespace occupants SM/AWR, SM/ADVISOR, SM/OPTSTAT and SM/OTHER - 329984.1

  • To Display Currency /Currency Symbol in Report

    Hi All,
    Business Requirement:
    Want to see Actual and Headcount in same column along with currency.
    currently we have separate column for headcount and Actual as below. (Actual and headcount will not come in same row.)
    Company
    Actual
    Headcount
    C1
    $ 1000
    C1
    10
    C2
    $ 1000
    C2
    20
    C3
    $ 2000
    C3
    20
    C4
    $ 3000
    C4
    30
    To display both in same column , I have used NOT function in formula  and displayed the report as Below.
    Company
    Act&HC
    C1
    1000
    C1
    10
    C2
    1000
    C2
    20
    C3
    2000
    C3
    20
    C4
    3000
    C4
    30
    I have calculated the above column using NODIM, so we are not getting $ symbol in report.
    But business want that symbol to appear along with Actual value ($ 1000).
    Please suggest if there is any way to do this.
    Thanks,
    Jaya

    Hello Jay,
    I think Koen Hesters is right. If you use you currency from your unit-dimension you will be able to get currencies in a separate column but not with the figures attached.
    The only thing is that you will get # or not-assigned for the headcount values. If you are using BO tools on top of this BEx report then there is a chance to display currency also in the same column for the Actual values.
    Here check the sample scenario which i tried to develop by looking at your data :
    Kindly click on the screenshot to have a better view.
    Output :
    Regards,
    Ashutosh Singh

Maybe you are looking for