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.

  • Delete the Payroll Result

    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.Balakrishnan

    Hi
    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

  • Dear All, thanks in advance i have one doubt please clarify this  what it is can we delete the payroll result in production client .yes we can delete the payroll result by PU01 Tcode .But my question is

    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
    Saurabh

    Hi 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,
    WF

    I 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.Raj

    Check 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
    bose

    Hi 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 Employee’s first pay date for that plan year.
      If u know plz help me in this.
    with regards,
    Suresh

    Hi 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,
    Kumar

    Santosh,
    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

  • How to use compilations trick

    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