Difference in the FM reading the payroll results
Dear Freinds,
I would like to know what is the difference between retro and offcylce payments how can we find out in the pc_payresult the retro data?, i am able to find out for the offcle when in the pc_payresult if we have offcyle payment date we can find the offcyle results . Which scenarios we have to read the retro and offcyle ?
Because when iam reading the pc_payresult , i have done as below
thorugh the function module cu_rgdir i have fetched the data which having strtza eq A into the internal table i_rgdir then passing the seqnr in to the FM and 'PYXX_READ_PAYROLL_RESULT' ..... then i found iam not able get the O and P data because iam reading only A.
now my first question is when we should be reading the O and P data in which situations
secondly i wanted to know does offcyle and retro has any relationship with O and P ......or we can get the offcycle and retro data with SRTZA eq A only ?
third question for offcyle and retro case do we have any specific function modules to retrive or we can use the same FM and 'PYXX_READ_PAYROLL_RESULT' .
Please if any one can explain me it would be great help.
thanks & regards
divya
hi,
first of all kindly use different heading for different queries ....i just replied one with same heading.
now the answers:
in pc _pay result there are fields inper and forper ie in period and for period .inper stands for period in which payroll was run and fper stands for period for which payroll was run....
suppose you got promoted in september and company wants to give you salery with effect from march ..then they do retro active payroll run...for this the forper is less than inper.
second case: suppose you make your lta claims....they dont come with the salery but it comes seperately every month say on 23rd....then in this case off cycle payroll is run.
now strtza is of 3 type a , p and o...a for current record ,p for previous record and o for old record.
for a particular person suppose the payrol area was monthly ...ie he gets salery each month...now his payoll was run on 25th of month so its strtza will be a ie active....now on 26 his retro payroll is run....then this record will have strtza as a and for record on 25th will change to p.
again the retro payoll is run on 28th then strtz for 28-a for 26p and for 25--o ie old
so if you want to check if the record is retro you have to see that forper is less than inper.
you can use same fm.
hope i am clear
Edited by: pratyush v on Feb 4, 2009 3:59 PM
Similar Messages
-
How to delete the payroll result by batch? have any program to do this?
Hi,
how to delete the payroll result by batch? have any program to do this?With standard payroll deletion (PU01), SAP will not allow payroll results to be deleted if it already reaches certain steps of payroll process (e.g. Pre-DME, DME); instead, you would have to do payroll a void or payroll reversal. This utility doens't check for that, and only delete payroll results based on the criteria given. This therefore could cause inconsistency in production if your payroll process already surpasses certain steps.
Rgds. -
Hi,
When i want to delete the Payroll Through PU01 transaction, it is showing below given message -
Deletion forbidden! Result was posted with posting run 0000004008 (run type PP)
Message no. 3G801
Diagnosis
The payroll result cannot be deleted because it has already been posted with posting run 0000004008 for run type PP.
How can i delete the same
Regards..Goto PCP0 -> Edit -> Filter -> Delete Filter.
After this you will be able to see run 0000003973.
Thanks dear..
After find this number..i reverse this.
After that i run the payroll again and see in form 16. Some changes are there like Notice pay not showing there. Basic salary has been modified. etc..
My Main problem was: - Notice Pay is not deducting it's amount from Gross Emoluments.
But after that Notice pay row is not appearing.. and also some modifications have been made in other values.. -
Error while posting the payroll results to accounts
Dear all,
Im facing a issue while posting the payroll results to the accounts in T.code PC00_M99_CIPE,
The error log says...
Inconsistence in payroll results (tables V0/RT)
Diagnosis:
An inconsistency results has been found during the evaluation of the payroll results. No referenced entry has been found in table V0.
Can anybody suggest me wat i hav to do...
Thanks & regards
Gopinath.BalakrishnanHi
Check whether the user is having the authorisation for the t.code PC_PAYRESULT or PC00_M40-PAYRESULT.
Because some times HR user will run the payroll and FI user will do the postings. If FI user is doing the postings, in general he will not have the authorisation for HR T.codes, then system will give such kind of errors.
If not check the paryoll results and control record.
Thanks & Regards
Bharathi -
what are the scenarios we delete the payroll results ,can we suggest the client to delete the payroll result.
Hi,
I would not recommend that you delete the payroll results. What is your issue? Can you provide more background, there may be other options...
Will -
How to clear UNB table in the payroll result?
Hi,
We are getting the payroll error- The gross wages do not cover the negative offset that has been forwarded. Therefore, no gross up is permitted while running the Grossup.
I see the below table "UNB table" in the last payroll result. "UNB - Unbalance table used for tax retrocalculation" .
I think we are getting the above error because of this UNB table, can anyone help me to how to clear this table?
When we run the regular payroll, no tax is being deducted.
Please help
SaurabhHi Arti,
Thanks for your reply!!..
Seeing your reply, it gives me bit confidence to crack the existing problem, however, I'm still not clear with your answer... let me explain you the problem-
1. Employee was given 350,000 though Taxable Bonus WT with regular pay check
2. Later it came to know- out of the above amount, 75000 was Grossup amount
3. So in next payroll run, they entered -75000/- in regular Taxable bonus WT and +75000 in Grossup WT and also they deleted one IT210 record of GA tax authority which was wrongly created; and ran the payroll
4. Since then, in next payroll period- No tax is being deducted, so we are creating IT221 infotypes with Tax wagetype
5. If we are running the Grossup wage, payroll error- The gross wages do not cover the negative offset that has been forwarded; therefore, no grossup is permitted.
While running the regular payroll, overpayment Wagetype is being generated.
Now, I saw this UNB table is created and the below wagetype are there in the UNB table-
WT /5UT amount 0.00
WT 5430 amount -75000
WT 0200 amount 12500 ( Monthly salary)
WT 4530 amount 350000
Now I am thinking, if we are deducting tax through IT221,if we clear this UNB table, our problem might get resolved
It will be a great help for me if you can tell-
1. how to check, claims process is implemented or not?
2. I have good HCM experiece but this claims process is very new to me- pls guide me how to do that
Waiting for your reply, thanks in advance
Saurabh Garg -
Run payroll simulation in ABAP and get the payroll result in ABAP
Dear Expert,
Is there anyway I can simulate the payroll for a particular payperiod and employee in ABAP and then get the pay result for it in ABAP?
Please help
Best Regards,
WFI doubt it. If you run payroll in simulation mode then no clusters gets created. This means no physical commit on DB takes places once results are generated. On the other hand capturing the results in flow is not probably achieveable too. This would mean interfering in payroll inner calucation or capturing them at the end (once results are dispalyed). You can of course send them to spool but importing its content to ABAP would be meaningless as the output is in tree form.
So in my opinion there is no such way.
Regards
Marcin -
Any Standard Class to Fetch the PayRoll Result
Hi Experts,
There is any standard class or method to fetch the details in the Pay Result(RT CRT Tables) from PC_payresult T-code in HR PayRoll module.
Thanks,
P.s.RajCheck classes CL_HR_PAY_RESULT*
Personally I never used it. Classical FM approach for getting payroll results is a confident and reliable way of extracting clusters, you may use these
CU_READ_RGDIR
PYXX_READ_PAYROLL_RESULT
CD_READ_DATE_RANGE_ACTUAL_NV
CD_EVALUATION_PERIODS
CD_READ_PREVIOUS
CD_READ_PREVIOUS_ORIGINAL
CD_RETROCALC_PERIOD
CD_PAYROLL_UNTIL
CD_HIGHEST_PAYDT
H99_DISPLAY_PAYRESULT
Regards
Marcin -
Outbound interface for transfering the payroll results
Hi everyone,
Can any one provide me with the Outbound interface program for transfering payroll data, to the third party submission.Hi kiran.
Try PU12.
Manoj Shakya.
Technical-Fuctional Consultant
SAP-HR
******(Useful answers should be rewarded) -
Function Module to read simulation payroll results in HCM
Hi experts
Is there any function module where I can pass parameter to run payroll simulation and get RT cluster data or the final amount, before running the actual payroll.Hi Nick,
Thankyou very much for the response.
The Function Module /SAPDMC/LSM_F4_SERVER_FILE is interactive wherein we can select only one file.
But my requirement is I need to collect (probably in an internal table) all the files exixting in the given UNIX directory.
Can you please find in that direction. I would be very grateful.
Thanks.
Sunil -
Delete every payroll results in the system
Hi experts,
There is a special Test system where External useres can login to the system, so we'd like to delete every paroll results in the system.
My question is how can I do that * correctly & efficiently*?
I know that there is a report for that: "RPUDEL20" but imagine a company with 14.000 employees. So using the logical databse, and deleteing the paroll results ony-by-one, will took more than a day
My idea is to delete every record in the tables:
HRPY_RGDIR
HRPY_WPBP
HRPY_GROUPING
P01O_ZVB_RR
This is definetelly the fastest way, but is a good solution?
I mean what about the 0003 infotype (payroll status) and other relations to the payroll results? What will happen if I delete the tables?
There is no payroll testing in this system, we're using this system for ESS testing, so the payroll results are not relevant, but all other masterdata (PA and PD infotypes) are relevant.
I'm happy to hear any idea
Bye
N.Hi everyone,
Thank you for the answers, but I don't understand how can the LSMW help me. As I know the LSMW is a data migration tool. I don't want to import anything to the sap system, I just want to delete the existing payroll results. How does the LSMW help me in this?
Thanks
N. -
Finding the latest payroll results and its CRT table.
Hi all,
My requirment is to fetch the value from the CRT table of the latest payroll result,
so that at any point of time it fetches the cumulative value till date from the CRT table.Hi
use the fun module
PYXX_READ_PAYROLL_RESULT
for fetching the payroll results
or see the sample code how to fetch the payroll results using the RT table.
report zovertime
line-size 252
line-count 60(1)
no standard page heading
message-id zndc.
Database Tables & Infotypes
tables: pcl1, " HR Cluster1
pcl2, " HR Cluster1
pa0003, " Master data - Payroll Status
cskt, " Cost Center Texts
t528t, " Positions Texts
t513s, " Job Titles
pernr, " Logical PNP
t001p, " Personnel Subarea
t500p, " Personnel Area
t501, " Employee Group
t503k, " Employee Subgroup
csks. " Cost Center
infotypes:0000,0001.
*include rpclst00.
include rpc2rx00.
include rpc2rxx0.
include rpc2cd00.
*include rpc2ps00.
*include rpc2pt00.
*include rpcfvp00.
*include rpcfdc10.
*include rpcfdc00.
include rpppxd00.
include rpppxd10.
Declaration of Internal Tables
Internal Table for Output Data
data: begin of rep_tab occurs 0,
kostl like pa0001-kostl, " Cost Center
pernr like pa0001-pernr, " Personal Number
ename like pa0001-ename, " Employee Name
ctext like cskt-ltext, " Cost Center Text
ptext like t528t-plstx, " Position Text
ot1 type p decimals 2, " Jan OT Amount
ot2 type p decimals 2, " Feb OT Amount
ot3 type p decimals 2, " Mar OT Amount
ot4 type p decimals 2, " Apr OT Amount
ot5 type p decimals 2, " May OT Amount
ot6 type p decimals 2, " Jun OT Amount
ot7 type p decimals 2, " Jul OT Amount
ot8 type p decimals 2, " Aug OT Amount
ot9 type p decimals 2, " Sep OT Amount
ot10 type p decimals 2, " Oct OT Amount
ot11 type p decimals 2, " Nov OT Amount
ot12 type p decimals 2, " Dec OT Amount
ott type p decimals 2, " Total OT Amount
end of rep_tab.
Declaration of Variables
data: v_mon(2) type n, " Month
v_no type i, " Data Lines
v_year(4) type c, " Year
v_date like sy-datum, " Date
v_date1 like sy-datum, " Date
v_seqnr like pc261-seqnr. " Sequence No.
Declaration of Constants
data: c_type like hrp1001-otype value 'S', " Object Type
c_kokrs like cskt-kokrs value '1000', " Controlling Area
c_date1 like sy-datum value '18000101', " Date
c_date2 like sy-datum value '99991231', " Date
c_x type c value 'X', " Sign
c_mon(2) type c value '01', " Month
c_val1(2) type c value '31', " Date
c_val2(2) type c value '12', " Month Type
c_val like p0041-dar01 value '01', " Date Type
c_lgart1 like p0008-lga01 value '0722', " Wage Type
c_lgart2 like p0008-lga01 value '0723', " Wage Type
c_1(2) type n value '01', " Month1
c_2(2) type n value '02', " Month2
c_3(2) type n value '03', " Month3
c_4(2) type n value '04', " Month4
c_5(2) type n value '05', " Month5
c_6(2) type n value '06', " Month6
c_7(2) type n value '07', " Month7
c_8(2) type n value '08', " Month8
c_9(2) type n value '09', " Month9
c_10(2) type n value '10', " Month10
c_11(2) type n value '11', " Month11
c_12(2) type n value '12'. " Month12
Selection-screen
parameters:
p_year like pc2b0-pabrj obligatory. " Payroll Year
At selection-screen
at selection-screen.
Validate the Selection Screen fields
perform validate_screen.
Start-of-Selection
start-of-selection.
Selection of Period
perform get_period.
Get PERNR from LDB
get pernr.
Get the Master data from infotype 0001
perform get_master_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(252) 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 Cost Center
clear csks.
if not pnpkostl[] is initial.
select single kostl
into csks-kostl
from csks
where kostl in pnpkostl.
if sy-subrc <> 0.
message e999 with 'Invalid Cost Center'(003).
endif.
endif.
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 Personal Number Entered'(002).
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 Entered'(001).
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 Entered'(037).
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 Entered'(038).
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 Entered'(039).
endif.
endif.
endform. "validate_screen
*& Form get_period
Get the Correct Period based on Selection screen selection
form get_period.
clear: v_year,v_mon, v_date, v_date1.
v_year = sy-datum+0(4).
v_mon = sy-datum+4(2).
if pnptimr1 = c_x. " Current Date
pnpbegda = sy-datum.
pnpendda = sy-datum.
elseif pnptimr2 = c_x. " Current Month
concatenate v_year v_mon c_val into v_date.
concatenate v_year v_mon c_val1 into v_date1.
pnpbegda = v_date.
pnpendda = v_date1.
elseif pnptimr3 = c_x. " Current Year
concatenate v_year c_val c_val into v_date.
concatenate v_year c_val2 c_val1 into v_date1.
pnpbegda = v_date.
pnpendda = v_date1.
elseif pnptimr4 = c_x. " Upto Today
pnpbegda = c_date1.
pnpendda = sy-datum.
elseif pnptimr5 = c_x. " From Today
pnpbegda = sy-datum.
pnpendda = c_date2.
else.
if ( pnpbegda is initial and pnpendda is initial ).
pnpbegda = c_date1.
pnpendda = c_date2.
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_master_data
Get the Master Data from Database Tables PA0001,0002,0003
form get_master_data.
Get data from Respective Infotypes
rp_provide_from_last p0001 space pnpbegda pnpendda.
if p0001-kostl in pnpkostl.
rep_tab-kostl = p0001-kostl.
rep_tab-pernr = p0001-pernr.
rep_tab-ename = p0001-ename.
Get the Position Text
clear t528t-plstx.
select single plstx into t528t-plstx from t528t
where plans = p0001-plans and
otype = c_type and
sprsl = sy-langu.
if sy-subrc = 0.
rep_tab-ptext = t528t-plstx.
endif.
Get the Cost Center Text
clear cskt-ltext.
select single ltext into cskt-ltext from cskt
where spras = sy-langu and
kokrs = c_kokrs and
kostl = p0001-kostl.
if sy-subrc = 0.
rep_tab-ctext = cskt-ltext.
endif.
Get the Overtime Payment Data
perform get_ot_data.
rep_tab-ott = rep_tab-ot1 + rep_tab-ot2 + rep_tab-ot3 +
rep_tab-ot4 + rep_tab-ot5 + rep_tab-ot6 +
rep_tab-ot7 + rep_tab-ot8 + rep_tab-ot9 +
rep_tab-ot10 + rep_tab-ot11 + rep_tab-ot12.
append rep_tab.
clear rep_tab.
endif.
sort rep_tab by kostl pernr.
delete rep_tab where kostl = ' '.
delete rep_tab where ott = 0.
endform. "get_master_data
*& Form get_ot_data
Get the Overtime Payment Data
form get_ot_data.
cd-key = pernr-pernr.
rp-imp-c2-cd.
sort rgdir by seqnr.
To get sequence number for the payroll period
loop at rgdir where void is initial
and reversal is initial
and outofseq is initial
and srtza eq 'A'.
if rgdir-fpper+0(4) = p_year.
To consider offcycle run data
if not rgdir-ocrsn is initial.
v_seqnr = rgdir-seqnr.
exit.
endif.
v_seqnr = rgdir-seqnr.
endif.
if not v_seqnr is initial.
perform import_rx.
endif.
perform process_wagetypes.
endloop.
endform. "get_ot_data
include rpppxm00.
*& Form Import_rx
Import the RX data from Clusters
form import_rx.
rx-key-pernr = cd-key-pernr.
rx-key-seqno = v_seqnr.
rp-init-buffer.
rp-imp-c2-rx.
endform. " Import_rx
*& Form Process_wagetypes
Calculate the Overtime Amount based on Wage types
form process_wagetypes.
loop at rt.
if rt-lgart = c_lgart1 or rt-lgart = c_lgart2.
if rgdir-fpper+0(4) = p_year.
v_mon = rgdir-fpper+4(2).
case v_mon .
when c_1.
rep_tab-ot1 = rep_tab-ot1 + rt-betrg.
when c_2.
rep_tab-ot2 = rep_tab-ot2 + rt-betrg.
when c_3.
rep_tab-ot3 = rep_tab-ot3 + rt-betrg.
when c_4.
rep_tab-ot4 = rep_tab-ot4 + rt-betrg.
when c_5.
rep_tab-ot5 = rep_tab-ot5 + rt-betrg.
when c_6.
rep_tab-ot6 = rep_tab-ot6 + rt-betrg.
when c_7.
rep_tab-ot7 = rep_tab-ot7 + rt-betrg.
when c_8.
rep_tab-ot8 = rep_tab-ot8 + rt-betrg.
when c_9.
rep_tab-ot9 = rep_tab-ot9 + rt-betrg.
when c_10.
rep_tab-ot10 = rep_tab-ot10 + rt-betrg.
when c_11.
rep_tab-ot11 = rep_tab-ot11 + rt-betrg.
when c_12.
rep_tab-ot12 = rep_tab-ot12 + rt-betrg.
endcase.
endif.
endif.
endloop.
endform. "process_wagetypes
*& Form top_of_page
Write the Report and Column Headings
form top_of_page.
format color col_heading on.
write: /1(252) 'NATIONAL DRILLING COMPANY'(010) centered,
/1(252) 'Overtime Payments Details'(011) centered.
format color off.
if pnptimr1 = c_x. " Current Date
write: /2 'Period From :'(036), sy-datum, 'To:'(006), sy-datum.
elseif pnptimr2 = c_x. " Current Month
write: /2 'Period From :'(036), v_date, 'To:'(006), v_date1.
elseif pnptimr3 = c_x. " Current Year
write: /2 'Period From :'(036), v_date, 'To:'(006), v_date1.
elseif pnptimr4 = c_x. " Upto Today
write: /2 'Period From :'(036), c_date1, 'To:'(006), sy-datum.
elseif pnptimr5 = c_x. " From Today
write: /2 'Period From :'(036), sy-datum, 'To:'(006), c_date2.
else.
if ( pnpbegda is initial and pnpendda is initial ).
write: /2 'Period From :'(036), c_date1, 'To:'(006), c_date2.
elseif pnpbegda is initial and not pnpendda is initial.
write: /2 'Period From :'(036), c_date1, 'To:'(006), pnpendda.
elseif not ( pnpbegda is initial and pnpendda is initial ).
write: /2 'Period From :'(036), pnpbegda,
'To:'(006), pnpendda.
endif.
endif.
write: 219 'Report Run Date:'(018), sy-datum.
if not pnpkostl[] is initial.
if pnpkostl-high is initial.
write: /2 'Cost Center :'(004), pnpkostl-low,
219 'Time :'(020), sy-uzeit.
else.
write: /2 'Cost Center From:'(005), pnpkostl-low+7(3),
'To:'(006), pnpkostl-high,
219 'Time :'(020), sy-uzeit.
endif.
else.
write: /219 'Time :'(020), sy-uzeit.
endif.
if not pnppernr[] is initial.
if pnppernr-high is initial.
write: /2 'Personal Number :'(007), pnppernr-low,
219 'User :'(021), sy-uname.
else.
write: /2 'Personal No.From:'(008), pnppernr-low,
'To:'(006), pnppernr-high,
219 'User :'(021), sy-uname.
endif.
else.
write: /219 'User :'(021), sy-uname.
endif.
write: /219 'Page No :'(022), sy-pagno.
format color col_heading.
write /1(252) sy-uline.
write:/1 sy-vline, 10 sy-vline,
41 sy-vline,
67 sy-vline, 68(167) 'Overtime Payments(Dirhams)'(013) centered,
235 sy-vline,252 sy-vline.
format color col_heading.
write:/1 sy-vline, 2(8) 'Emp #'(019) centered,
10 sy-vline, 11(30) 'Employee Name'(012) centered,
41 sy-vline, 42(25) 'Position'(014) centered,
67 sy-vline, 68(167) sy-uline,
235 sy-vline,236(16) 'Total'(017) centered,
252 sy-vline.
write:/1 sy-vline, 10 sy-vline,
41 sy-vline,
67 sy-vline, 68(13) 'JANUARY'(024) centered,
81 sy-vline, 82(13) 'FEBRUARY'(025) centered,
95 sy-vline, 96(13) 'MARCH'(026) centered,
109 sy-vline,110(13) 'APRIL'(027) centered,
123 sy-vline,124(13) 'MAY'(028) centered,
137 sy-vline,138(13) 'JUNE'(029) centered,
151 sy-vline,152(13) 'JULY'(030) centered,
165 sy-vline,166(13) 'AUGUST'(031) centered,
179 sy-vline,180(13) 'SEPTEMBER'(032) centered,
193 sy-vline,194(13) 'OCTOBER'(033) centered,
207 sy-vline,208(13) 'NOVEMBER'(034) centered,
221 sy-vline,222(13) 'DECEMBER'(035) centered,
235 sy-vline,252 sy-vline.
format color off.
write /1(252) sy-uline.
endform. "top_of_page
*& Form Display_report
Write the Report Output
form display_report.
clear v_no.
describe table rep_tab lines v_no.
if v_no = 0.
message i999 with
'No Data found for the entered Selection'(015).
endif.
loop at rep_tab.
format color 3.
at new kostl.
read table rep_tab index sy-tabix.
write:/1 sy-vline, 2(12) 'Cost Center:'(009),
14(10) rep_tab-kostl,
25(30) rep_tab-ctext,
252 sy-vline.
format color off.
write /1(252) sy-uline.
endat.
format color col_normal.
write: /1 sy-vline, 2(8) rep_tab-pernr,
10 sy-vline, 11(30) rep_tab-ename,
41 sy-vline, 42(25) rep_tab-ptext,
67 sy-vline, 68(13) rep_tab-ot1 no-zero,
81 sy-vline, 82(13) rep_tab-ot2 no-zero,
95 sy-vline, 96(13) rep_tab-ot3 no-zero,
109 sy-vline,110(13) rep_tab-ot4 no-zero,
123 sy-vline,124(13) rep_tab-ot5 no-zero,
137 sy-vline,138(13) rep_tab-ot6 no-zero,
151 sy-vline,152(13) rep_tab-ot7 no-zero,
165 sy-vline,166(13) rep_tab-ot8 no-zero,
179 sy-vline,180(13) rep_tab-ot9 no-zero,
193 sy-vline,194(13) rep_tab-ot10 no-zero,
207 sy-vline,208(13) rep_tab-ot11 no-zero,
221 sy-vline,222(13) rep_tab-ot12 no-zero,
235 sy-vline,236(16) rep_tab-ott no-zero,
252 sy-vline.
at end of kostl.
write /1(252) sy-uline.
endat.
format color off.
at last.
sum.
format color 1.
write: /1 sy-vline,
10 sy-vline, 11(30) 'Total'(017) centered,
41 sy-vline,
67 sy-vline, 68(13) rep_tab-ot1 no-zero,
81 sy-vline, 82(13) rep_tab-ot2 no-zero,
95 sy-vline, 96(13) rep_tab-ot3 no-zero,
109 sy-vline,110(13) rep_tab-ot4 no-zero,
123 sy-vline,124(13) rep_tab-ot5 no-zero,
137 sy-vline,138(13) rep_tab-ot6 no-zero,
151 sy-vline,152(13) rep_tab-ot7 no-zero,
165 sy-vline,166(13) rep_tab-ot8 no-zero,
179 sy-vline,180(13) rep_tab-ot9 no-zero,
193 sy-vline,194(13) rep_tab-ot10 no-zero,
207 sy-vline,208(13) rep_tab-ot11 no-zero,
221 sy-vline,222(13) rep_tab-ot12 no-zero,
235 sy-vline,236(16) rep_tab-ott no-zero,
252 sy-vline.
write /1(252) sy-uline.
endat.
format color off.
endloop.
endform. "display_report
Reward points if useful
Regards
Anji -
What are the sequence of function modules executed in payroll result
Dear all,
what are the sequence of function modules executed while retrivieng pryroll result.or
functionmodule sequence in payroll programming.
By
boseHi Bose,
The sequence of FM executed in payroll result are
1. cu_read_rgdir ---> from this u will get the country key.
2. cd_read_last -
> from this fm u will identify the seqnr for the latest record and finally for the payroll result
3. pyxx_read_payroll_result. -
Where we can Read first pay date from the Payroll cluster ?
Hi,
I need Employees first pay date for that plan year.
If u know plz help me in this.
with regards,
SureshHi there. Do you mean the first date that the employee was actually paid? If so, you can use this:
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = employee_pernr
TABLES
in_rgdir = rgdir
EXCEPTIONS
no_record_found = 1
OTHERS = 2.
IF sy-subrc EQ 0.
Store only active payroll results.
DELETE rgdir WHERE srtza NE 'A'. "Active
Delete all the payroll results not from the requested year
DELETE rgdir WHERE paydt+0(4) NE pay_year. "Reporting Year
Delete voided payroll data.
DELETE rgdir WHERE voidr NE space. "Voided
Sort so the first record is the last for the requested year.
SORT rgdir BY paydt ASCENDING fpend DESCENDING.
LOOP AT rgdir INTO ws_rgdir
WHERE paydt > pay_year_begda.
first_pay = ws_rgdir-paydt.
EXIT.
ENDLOOP.
ENDIF.
I hope this helps.
- April King -
Short dump while reading Payroll results
we have a Z program to read the payroll results for a quarter(3 months)for a large number of employees.
As the internal allocated memory is 2G. This is exceeding that limit resulting in a short dump.
There are no big internal tables in the program except reading some 8 infotypes using rp-provide and get pernr one at a time.
But, in the FM CU_READ_RGDIR the pcl2 cluster records are being stored in an internal table IMPORT_DATA[] and not refreshed, which I think is the cause for the large memory usage. Any suggestions or directions are welcome.
Any suggestions
Thanks,
KumarSantosh,
Thanks for your inputs,
But my internal table type is of DEC (5,2) , I am getting that... it needs to be of type 'C'. Can you suggest.
Ex :
MOVE wa_temp-infile_string+106(8) TO wa_item-QT_PERCENT
This didnt work
so i tried moving into a seperate variable
MOVE wa_temp-infile_string+106(8) TO v_percent.
and then write to
WRITE v_percent to wa_item-QT_PERCENT.
Maybe you are looking for
-
Authorization restriction for Goods issue . others radio button in migo tcode
Hello All, We have a situation wherein the user is able to issue goods using tcode MIGO by choosing Goods issue --> Others and the movement type 201 the above mentioning details i need to block the others tab only for specific user ids i have checke
-
Transfer iTunes from an older computer to a lap top
I have my iTunes library on an older computer and want to move it to my new lap top. I read about using an iPOD to facilitate the transfer, but I only have an iPOD touch, and it CANNOT be used for this function. Does anyone know how I can do this w
-
Remove files from your startup disk
I'm trying to transfer all of my existing CD's onto my iTunes. I've transfered about 4500 songs so far (18.53 GB) and now when I try to import more, I get an error message that says "the disk I am trying to dowload to is full, please remove some file
-
i´ve already checked my compilation albums as "part of acompilation" but still seeing the one song artist in my artist list, anyone suffering the same?
-
Category ID value display (in pop-up)when creating follow-up Oppt from Lead
System - SAP CRM 7.0 EHP 1 At the time of Lead creation the USER might not know the exact product which the customer will buy. Hence, the user should put the Category of the products in a Lead In out scenario, we are using Category ID (say ABC_12) a