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
-
frnzz,
Is there a standard report to find out the headcount in an organisation?
Useful anwers will be rewarded.
thanx in advance
ViggyHi,
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.
ThanksNvm, 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
JanosHi 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! -
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,
RaviHi 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,
RajIf 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
jonmar7Try 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 !
CharaIn 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
Tarikpost 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_titleYou 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,
JayaHello 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
-
I don't like to have to click and drag to see the drop down history of the back/forward buttons - this requires two fingers or a double tap and hold finger motion. MUCH easier to click and release and take my time to pick the screen I want to go back
-
Allow a document to be viewed in the browser but not downloaded to the local machine
I have SharePoint 2013 deployed and RMS integration enabled. and am willing to install Office Web Apps. I want to enable users to view documents in the browser only but not be able to download them to their desktops. This would mean there is no "save
-
Next row in JTable (skip disabled rows)
When I press the down button on my keyboard how can I move to the next available row. It should skip all disabled rows. My subclass of JTable looks like this: public void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
-
--single very large photo montage TIF from 15 individual TIFs--
This is novice question, sorry if posted in wrong area... Any easy way to take 15 TIF 300ppi horizontal images from (mixed) 6mp, 8mp, & 10mp cameras & place them in 3 columns 5 rows deep with 1" space between all images sized to 8"x12" each to make a
-
I am using pattern gen. single buf. input on a 6533 with Win2k and Borland C++ v5. When the program using the board (via NI-DAQ, the latest version) dies badly, it does not seem to free the DMA channel that the board is using. I get the "No DMA chann