Repeted values in HR-Payroll

Hi Friends,
In BEx query we have to show Employee salay like  basic salary, HRA and others and in same report we have to show Empolyee dependent persons lkike wifr and chioldren.  If a employee have three dependents this data is  displayed  three times row wise. However if we remove the dependents it adds  the value of all three rows & shows the respective value , which is wrong.
For example if an employee's basic salary is 6000 & he has three dependenats, it shows his basic as 18000 which is wrog
Kindly guide me how can resolve this.

Dear obaid shaikh,
The scenario is like below..
E1..........D1(Wife)..................6000
E1..........D2(Child 1)...............0000
E1..........D3(Child 2)...............0000
E1..........D1(Wife)..................10000
E1..........D2(Child 1)...............0000
E1..........D3(Child 2)...............0000
The salary should be applicable only for the employee and in my report the probem is that it is showing like below
E1..........D1(Wife)..................6000
E1..........D2(Child 1)...............6000
E1..........D3(Child 2)...............0000
E1..........D1(Wife)..................10000
E1..........D2(Child 1)...............10000
E1..........D3(Child 2)...............10000 whic is the wrong. The salary is showing for the employee dependent also.
Thanks & Regards,
Anand

Similar Messages

  • Very urgent please ----repetting values in the output

    I am getting values for acc seq   access seq number and codndition table  repeting values as in the output of the report, please have a look in my code and please do respond immediatley.
    regards always, below is my code and output
    REPORT zmaster_condition LINE-COUNT 80 LINE-SIZE  225.
         D A T A                                                         *
    INCLUDE zmaster_condition_top.
        S E L E C T I O N S                                              *
    SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
    SELECT-OPTIONS: s_kvewe FOR  t683s-kvewe,
                    s_kappl  FOR  t683s-kappl,
                    s_kalsm  FOR  t683s-kalsm,
                    s_kschl  FOR   t683s-kschl,
                    s_kabnr  FOR  t682i-kotabnr,
                    s_kozgf  FOR  t682i-kozgf.
    SELECTION-SCREEN END OF BLOCK b01.
    *SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s04.
    *PARAMETERS:      p_vari     LIKE   disvariant-variant.
    *SELECTION-SCREEN END OF BLOCK b4.
    **SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
    *SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
    PARAMETERS R1 RADIOBUTTON GROUP RADI1 DEFAULT 'X'.
    *SELECTION-SCREEN END OF BLOCK b02.
         A T   S E L E C T I O N - S C R E E N                           *
         M A I N   P R O G R A M                                         *
    START-OF-SELECTION.
    *Initializing the local tables.
      CLEAR:it_t682i,it_t683s,it_t685.
      REFRESH:it_t682i,it_t683s,it_t685.
      clear it_output_report.
      refresh it_output_report.
    *Selection of data from pricing procedure tables
    SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
                INTO TABLE  it_t682i
                WHERE kvewe = 'B'
                AND  kappl = 'V1'.
      SELECT kvewe kappl kalsm stunr zaehk kschl  FROM t683s
           INTO   TABLE  it_t683s
           WHERE  kvewe = 'B'
           AND    kappl = 'V1'
           and    kschl in s_kschl
           AND    kalsm  IN s_kalsm.
    sort it_t683s by kvewe kappl.
      DELETE   adjacent duplicates  FROM
             it_t683s  .
    SELECT kvewe kappl kschl kozgf FROM t685
        INTO TABLE it_t685
        WHERE kvewe = 'B'
        AND kappl = 'V1'
        AND  kschl IN s_kschl
        AND kozgf IN s_kozgf.
      LOOP AT it_t683s.
        it_output_report-kvewe = it_t683s-kvewe.
        it_output_report-kappl =  it_t683s-kappl.
        it_output_report-kalsm =  it_t683s-kalsm.
        it_output_report-stunr =  it_t683s-stunr.
        it_output_report-zaehk =  it_t683s-zaehk.
        it_output_report-kschl =  it_t683s-kschl.
      SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
                 INTO TABLE  it_t682i
                 WHERE kvewe = it_t683s-kvewe
                 AND  kappl = it_t683s-kappl
                 and  kozgf   in s_kozgf
                 and  kotabnr in s_kabnr.
                 clear it_t682i.
    loop at it_t682i.
    it_output_report-kozgf = it_t682i-kozgf.
    it_output_report-kozgf = it_t682i-kozgf.
      it_output_report-kolnr = it_t682i-kolnr.
      it_output_report-kotabnr = it_t682i-kotabnr.
       APPEND it_output_report.
       CLEAR it_output_report.
    endloop.
    APPEND it_output_report.
      ENDLOOP.
            E N D - O F - S E L E C T I O N
    END-OF-SELECTION.
    *Output to a list
      FORMAT COLOR 2 .
      WRITE:/2 'Usage',09 'App',17 'Proced',24 'Step',
                37 'Counter',50 'CondType',63 'Description',85 'AccSeq',
               97 'AccSeqNum',108 'ConTable'.
      WRITE:/1(225) sy-uline.
      LOOP AT it_output_report.
        WRITE:/ it_output_report-kvewe UNDER 'Usage',
                it_output_report-kappl UNDER 'App',
                it_output_report-kalsm UNDER 'Procedure',
                it_output_report-stunr UNDER  'Step',
                it_output_report-zaehk UNDER  'Counter',
                it_output_report-kschl UNDER 'CondType',
               it_output_report- UNDER  'Description',
                it_output_report-kozgf UNDER 'AccSeq',
                it_output_report-kolnr UNDER 'AccSeqNum',
                it_output_report-kotabnr UNDER  'ConTable'.
                it_output_report- UNDER  'SalesOrg',
                it_output_report- UNDER  'DocType'.
                it_output_report- UNDER  'Customer'.
      ENDLOOP.
    output of the report:
    Usage  App     Proced   Step   Counter CondType   AccSeq AccqNum  ConTable                                                                               
    B      V1        V10000      220   00           ZCR1        Z200         05           511     
    B      V1 V10000      220          01           ZRAS        Z200        05         511     
    B      V1 V10000      225          00           ZTPT         Z200        05         511     
    B      V1 V10000      230          00           ZOP4         Z200        05         511     
    B      V1 V10001      010          01           RD03         Z200        05         511     
    B      V1 V10002      010          00           ZREP         Z200        05         511     
    B      V1 V10000      200          00           ZOP3          z200        05         511     
    B      V1 V10000      130          00           ZOC3           z200        05         511

    i would like to thanks you for your valuable help.
    i am still getting repeated values for access seq , access number and cond table,last three columns in the output, pls see as it it is very urgent...
    here is the code:
    REPORT zmaster_condition LINE-COUNT 80 LINE-SIZE  225.
         D A T A                                                         *
    INCLUDE zmaster_condition_top.
        S E L E C T I O N S                                              *
    SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
    SELECT-OPTIONS: s_kvewe FOR  t683s-kvewe,
                    s_kappl  FOR  t683s-kappl,
                    s_kalsm  FOR  t683s-kalsm,
                    s_kschl  FOR   t683s-kschl,
                    s_kabnr  FOR  t682i-kotabnr.
                   s_kozgf  FOR  t682i-kozgf.
    SELECTION-SCREEN END OF BLOCK b01.
    *SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-s04.
    *PARAMETERS:      p_vari     LIKE   disvariant-variant.
    *SELECTION-SCREEN END OF BLOCK b4.
    **SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
    *SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.
    PARAMETERS R1 RADIOBUTTON GROUP RADI1 DEFAULT 'X'.
    *SELECTION-SCREEN END OF BLOCK b02.
         A T   S E L E C T I O N - S C R E E N                           *
         M A I N   P R O G R A M                                         *
    START-OF-SELECTION.
    *Initializing the local tables.
      CLEAR:it_t682i,it_t683s,it_t685.
      REFRESH:it_t682i,it_t683s,it_t685.
      REFRESH it_output_report.
      SELECT kvewe kappl kalsm stunr zaehk kschl  FROM t683s
           INTO   TABLE  it_t683s
           WHERE  kvewe IN s_kvewe
           AND    kappl IN s_kappl
           AND    kalsm  IN s_kalsm
            AND    kschl IN s_kschl.
    *delete adjacent duplicates from it_t683s comparing
                                    kvewe kappl kschl.
    SELECT kvewe kappl kozgf kolnr kotabnr FROM t682i
                     INTO TABLE  it_t682i
                    FOR ALL ENTRIES IN it_t683s
                     WHERE kvewe = it_t683s-kvewe
                     AND  kappl = it_t683s-kappl
                    AND  kozgf   IN s_kozgf
                     AND  kotabnr IN s_kabnr.
      LOOP AT it_t683s.
       it_output_report-kvewe = it_t683s-kvewe.
       it_output_report-kappl =  it_t683s-kappl.
       it_output_report-kalsm =  it_t683s-kalsm.
       it_output_report-stunr =  it_t683s-stunr.
       it_output_report-zaehk =  it_t683s-zaehk.
       it_output_report-kschl =  it_t683s-kschl.
      move-corresponding it_t683s to it_output_report.
    sort it_t683s.
    sort it_t682i.
    READ TABLE it_T682i with KEY KVEWE = it_T683s-KVEWE
                                kappl = it_t683s-kappl.
    LOOP AT it_T682i  WHERE KVEWE = it_T683s-KVEWE
                           AND  kappl = it_t683s-kappl.
                          AND  kotabnr IN s_kabnr.
    IF SY-SUBRC EQ 0.
       move-corresponding it_T682i to it_output_report.
         it_output_report-kozgf = it_t682i-kozgf.
         it_output_report-kolnr = it_t682i-kolnr.
         it_output_report-kotabnr = it_t682i-kotabnr.
    ENDIF.
    APPEND it_output_report.
      ENDLOOP.
    *DATA TAB(4).
    *DATA VKORG LIKE  TAB-VKORG.
    *CONCATENATE it_t683s-kvewe it_t682i-kotabnr INTO TAB .
    *SELECT SINGLE VKORG INTO VKORG FROM  TAB WHERE
    KSCHL = 'ZRC1'.
            E N D - O F - S E L E C T I O N
    END-OF-SELECTION.
    *Output to a list
      FORMAT COLOR 2 .
      WRITE:/2 'Usage',09 'App',15 'Proced',24 'Step',
                37 'Counter',50 'CondType',63 'Description',85 'AccSeq',
               97 'AccSeqNum',108 'ConTable'.
      WRITE:/1(225) sy-uline.
      LOOP AT it_output_report.
        WRITE:/ it_output_report-kvewe UNDER 'Usage',
                it_output_report-kappl UNDER 'App',
                it_output_report-kalsm UNDER 'Proced',
                it_output_report-stunr UNDER  'Step',
                it_output_report-zaehk UNDER  'Counter',
                it_output_report-kschl UNDER 'CondType',
               it_output_report- UNDER  'Description',
                it_output_report-kozgf UNDER 'AccSeq',
                it_output_report-kolnr UNDER 'AccSeqNum',
                it_output_report-kotabnr UNDER  'ConTable'.
                it_output_report- UNDER  'SalesOrg',
                it_output_report- UNDER  'DocType'.
                it_output_report- UNDER  'Customer'.
    here is the output:
    Report to list out all Condition Records for Output and Pricing.                                                                               
    Usage  App   Proced   Step  Counter CondType  AccSeq  AccSeqNum  ConTable
                                                                                    B      V1     V05000   010        01      AF00             Z001        05         551    
    B      V1    V05000   020          02      MAIL           Z001        05         551    
    B      V1    V05000   030          01      ESYM         Z001        05         551    
    B      V1    V06000   010          01      AN00          Z001        05         551    
    B      V1    V06000   020          02       MAIL          Z001        05         551

  • Is it possible to add more input values for a payroll element?

    Hi All
    I have created an element with 1 default input value 'pay value' and another input value '1xx1'. I have linked this to payroll and attached to many employees. Now due to business requirment, I need to add one more input value '2yy2' and also I need to change the formula. Eventhough its a minor change in formula, without a new input value it will not work. I tried to add a new one by datetracking to the element creation date without sucess.
    Is it possible to add input values after saving an element?
    Regards
    Rahman

    You can Change the Required Input Value to Not-required
    Alter the Sequence of the Input Value to be displayed in the Element Entry Screen
    You can Change the Input Value Validation Rule minimum, Maximum, Lookup and Formula
    Change your specification of which input values create Database Items. Note, however, you cannot remove Database Items if they are used in any formulas or QuickPaint reports.
    You cannot remove existing input values or add new one if you have created any entries for the element
    For more details you can refer http://ramesh-oraclehrms.blogspot.com/2007/08/maintaining-element.html

  • ALV grid can we remove the repetation values in field & display as one .

    Dear Freinds,
                      i have developed a custom development relating to a salarly report based on the orgunit, the output is coming however i have one doubt in alv output.
    right now my internal table data having data as follows  : (iam giving only some fields)
    orgunit         orgdesc                  Empno     Empname     
    70000905        Human Resources      7056     Richard        
    70000905        Human Resources      7057     Reymond Jain       
    70000905        Human Resources      7058     Maria Gulz
    70000905        Human Resources      7061       Jacob
    now in my output i dont want to have the orgunit value 70000905 and orgdesc (human resources) shouldnt not be repeated . is there any option in ALV where we  I can use in
    the field cat ( any parameter) where i can set that we can make the orgid as one and remove the repeation.(iam using alv grid function module).
    Please help me in this regard
    Regards
    Syamla

    Hi,
         Before displaying sort ur internal table.
    refer this code.
    *&      Form  sub_display_data
          text
    FORM sub_display_data .
    *--To sort the output through material number
      DATA : lwa_sort TYPE slis_sortinfo_alv.
      DATA : lit_sort TYPE slis_t_sortinfo_alv.
    *--Pass the values to the table
      lwa_sort-fieldname = 'PERNR'.             "Field name in o/p inttable
      lwa_sort-tabname   = 'it_final2'.         "Output Internal table
      lwa_sort-spos      = '1'.                 "Sort  sequence
      lwa_sort-up        = 'X'.                 "Sort in ascending order
      lwa_sort-down      = ' '.                 "Sort in descending order
      lwa_sort-subtot    = 'X'.                 "Subtotal
      APPEND lwa_sort TO lit_sort.
    *--Pass the values to the table
      lwa_sort-fieldname = 'WORKDATE'.          "Field name in o/p inttable
      lwa_sort-tabname   = 'it_final2'.         "Output Internal table
      lwa_sort-spos      = '2'.                 "Sort  sequence
      lwa_sort-up        = 'X'.                 "Sort in ascending order
      lwa_sort-down      = ' '.                 "Sort in descending order
      lwa_sort-subtot    = ' '.                 "Subtotal
      APPEND lwa_sort TO lit_sort.
    *--Pass the values to the table
      lwa_sort-fieldname = 'WEKLY'.             "Field name in o/p inttable
      lwa_sort-tabname   = 'it_final2'.         "Output Internal table
      lwa_sort-spos      = '3'.                 "Sort  sequence
      lwa_sort-up        = 'X'.                 "Sort in ascending order
      lwa_sort-down      = ' '.                 "Sort in descending order
      lwa_sort-subtot    = ' '.                 "Subtotal
      APPEND lwa_sort TO lit_sort.
      wa_layout-colwidth_optimize = 'X'.
      IF NOT it_final2[] IS INITIAL.
    *--Call the function module to display the ALV report
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
            is_layout          = wa_layout
            i_callback_program = v_repid
            it_fieldcat        = it_fieldcat1[]
            i_default          = c_chk
            i_save             = c_save
            it_sort            = lit_sort
          TABLES
            t_outtab           = it_final2
          EXCEPTIONS
            program_error      = 1
            OTHERS             = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ELSE.
    *--Message No data found
        MESSAGE i888 WITH text-017.
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM.                    " sub_display_data
    Regards,
    Prashant

  • Dimension - Repetive values

    If I am viewing a fact table (25 Million+ records) from SE11 is there anyway that I can easily check how often a value for one of the dimensions (columns) repeats itself.
    If there is another method to do the same could you advise. Thanks

    you can do this by writing an ABAP code (in SE38). The actual code may look like :
    REPORT  ZT1.
    PARAMETERS : W_COUNT type i default 100.
    tables : DIMTAB.
    data : dbcur(10) type c.
    data : w_dimtab like dimtab occurs 1 with header line.
    exec sql.
    open dbcur for
    select * from DIMTAB a
    where :w_count <= ( select count(*) from DIMTAB b
    where b.dimid = a.dimid )
    endexec.
    do.
      exec sql.
      fetch next dbcur into structure :DIMTAB.
      endexec.
      if sy-subrc <> 0.
         exit.
      else.
         append DIMTAB to w_DIMTAB.
      endif.
    enddo.
    *exec sql.
    *close dbcur.
    *endexec.
    sort w_dimtab.
    delete adjacent duplicates from w_DIMTAB comparing DIMID.
    loop at w_DIMTAB.
    write :/ w_DIMTAB-DIMID.
    endloop.

  • Function Module to read RT values of simulation payroll results

    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.
    Thanks ,
    Saikumar

    Hi,
      Check the following function modules.
    AISC_CALC_EXPIRED_USEFUL_LIFE.
    Check the following link it might be of some help to you.
    Re: asset useful life
    Regards,
    Ram.

  • How do i avoid repeted values in a report.

    how do i avoid repeated values in a report. for example..
    DEPTID EMPLID NAME
    10          101     aaaaaa
    10          166     bbbbb
    10          176     ggggg
    10          145     iiiiiiiii
    20          234     zzzzzz
    20          285     ddddd
    20          266     uuuuu
    but I want see the report as below.
    DEPTID EMPLID NAME
    10          101     aaaaaa
              166     bbbbb
              176     ggggg
              145     iiiiiiiii
    20          234     zzzzzz
              285     ddddd
              266     uuuuu
    Thanks in advance

    I apologize for jumping in here, but I had this problem in the past and Marc Sewtz had indicated there is a fix slated for APEX 3.0 timeframe.
    Here's a couple of links if you are interested:
    Re: Break Formatting Region and effect on other regions
    report error: ORA-01403: no data found when SUM columns
    The second link contains the workaround I used.
    Again, sorry for interjecting, but I thought it might be a bit helpful,
    Mark

  • Unable to provide input value to InfoObject in SEM-BCS

    Hello BI Experts,
    I have created an infoobject 'ABC' in BI and have flagged 'With Master Data' and 'With Text'.  This infoobject has an navigational attribute 'XYZ'(XYZ also has 'With Master Data' and 'With Text').
    When I go to T.Code UCWB(BCS Workbench), I could able to see the infoobject 'ABC' and when I try to create master data for 'ABC', I do not see the input field for 'XYZ'.  I want to input values in Infoobject 'XYZ' through this screen(SEM-BCS) and not through BI(right-click on infoobject 'Maintain Master Data).  Please let me know, if I am missing anything.

    Hi Shekar
    I find the ICD setup very 'picky'! If you get one thing wrong, it doesn't work. I have detailed below the steps I usually advise people to tek. Check your setup and see if this helps.
    1. Define Plan Type, Compensation Category = Others.
    2. Define Plan. Link to Plan Type. Plan Usage = May not be in program. On Not in program Tab - define sequence, currency, enrollment rate (per pay period?), activity reference period (Monthly). Your settings may need to be different. On Plan details tab, enter plan years.
    3. Plan enrollment requirements. On the general tab, plan sub tab, make sure the method = EXPLICIT. this allows the user to enter an input value for the ICD. THIS MAY WELL BE THE SOURCE OF YOUR PROBLEM!
    Make sure the CERTIFICATION region is UNTICKED. This can also cause ICDs not to work.
    ALLOWS UNRESTRICTED ENROLLMENT must be TICKED. Otherwise there is no eligibility to the ICD.
    On the rates subregion, make sure the run strt date is set to ENTERABLE.
    4. standard Rates form. Make sure the ACTIVITY TYPE and TAX TYPE are entered. Select the ELEMENT and the INPUT VALUE and TICK the ELEMENT AND INPUT VALUE REQUIRED field.
    On the processing Information tab - TICK ASSIGN ON ENROLMENT, DISPLAY ON ENROLLMENT and PROCESS EACH PAY PERIOD. Enter PER PAY PERIOD AMOUNT in VALUE PASSED TO PAYROLL and OTHER in COMPENSATION CATEGORY.
    Let me know if this works!
    Regards
    Tim

  • Unable to enter Input value for an ICD

    Hi All,
    I have created an element XXX which has two input values "Pay Value" and "Class". The class has the values 'A','B','C','D'. I have created a plan and set up the rate In the calculation method I have chosen "No Standard values used".
    Now when I try to assign this ICD plan to the user in the Miscellaneous plan I am not able to enter the car class. Can someone help me with this.
    Thanks
    Shekar.

    Hi Shekar
    I find the ICD setup very 'picky'! If you get one thing wrong, it doesn't work. I have detailed below the steps I usually advise people to tek. Check your setup and see if this helps.
    1. Define Plan Type, Compensation Category = Others.
    2. Define Plan. Link to Plan Type. Plan Usage = May not be in program. On Not in program Tab - define sequence, currency, enrollment rate (per pay period?), activity reference period (Monthly). Your settings may need to be different. On Plan details tab, enter plan years.
    3. Plan enrollment requirements. On the general tab, plan sub tab, make sure the method = EXPLICIT. this allows the user to enter an input value for the ICD. THIS MAY WELL BE THE SOURCE OF YOUR PROBLEM!
    Make sure the CERTIFICATION region is UNTICKED. This can also cause ICDs not to work.
    ALLOWS UNRESTRICTED ENROLLMENT must be TICKED. Otherwise there is no eligibility to the ICD.
    On the rates subregion, make sure the run strt date is set to ENTERABLE.
    4. standard Rates form. Make sure the ACTIVITY TYPE and TAX TYPE are entered. Select the ELEMENT and the INPUT VALUE and TICK the ELEMENT AND INPUT VALUE REQUIRED field.
    On the processing Information tab - TICK ASSIGN ON ENROLMENT, DISPLAY ON ENROLLMENT and PROCESS EACH PAY PERIOD. Enter PER PAY PERIOD AMOUNT in VALUE PASSED TO PAYROLL and OTHER in COMPENSATION CATEGORY.
    Let me know if this works!
    Regards
    Tim

  • What exactly is balance in Oracle Payroll. Can someone give an example pls

    Hi
    I am a newbie to Oracle Payroll. Could some one xplain what exactly is balance in Oracle Payroll. Can someone give an example pls. Is there any link which would be useful to clearly explain this.

    Results of Payroll run get accumulated in the Balances. The accumulation happens according to the dimension like ASGRUN holds the value of current payroll run, ASGYTD holds the cumulative value for the current financial year and gets reset at the beginning of the next financial year, ASGQTD holds the cumulative value for the current quarter and gets reset at the beginning of the next quarter etc.
    You can see the values of the balances for different dimension after running the payroll.
    View -> Assignment Process Results -> Balances.

  • No Payroll available to run Payroll Archiver

    Hi,
    I just ran a Quick Pay for an employee and want to push that to Archiver. I tried to run the concurrent program Payroll Archiver but no value available for Payroll Name or Consolidation Set parameters. Please advise if there is process needed to run or Profile needed to be set?
    Thanks!

    Please ensure you have run pre-payments process before running the Payroll Archiver.
    Otherwise, responsibility like US HRMS Manager / India HRMS manager (depending on legislation) will let you run the Payroll Archiver conc program.
    Regards,
    Raghavendra

  • Issue in Balances in Pension Calculations....

    Hi Everyone,
    I am facing a peculiar issue in the calculation of employee and employer contributions of a Pension Scheme.
    I have a Pension Scheme(lets call it Pension_Scheme1). It is of type Salary Exchange. The employee contributions are negative earnings.
    Element -> Pension_Scheme1-> Classification Earnings
    I have to check in the formula if the Gross_Pay for the Pay period is -ve, and if so the EE and ER contributions should not take place(ie. EE & ER conts = 0). If Gross_Pay is +ve then they should take place.
    Now if I have 4 earnings in the curent Pay period as follows then,
    Salary = 3500
    Commission = -4000
    Car Allowance = 370.83
    Pension_Scheme1 = -175
    Then in the formula the value of Gross_Pay_ASG_PROC_PTD(called in a message) = 3870.83
    But in the Balances window of Quickpay the value is -129.17
    I guess that the GROSS_PAY_ASG_PROC_PTD = 3870.83 is coming because of (3500+370.83 = 3870.83), but i want (3500+370.83-4000 = -129.17)
    I want the value -129.17 to be referenced in the formula so that i can check the condition GROSS_PAY_ASG_PROC_PTD < 0 and then restrict the EE & ER contributions to zero.
    My question is that can we know the value of balances during the Payroll run(Run Level Balance) instead of Balances after the Payroll run.
    Can you please help me on this?
    Cheers!!!
    Sachin Shirke

    Hi,
    Check the processing priority of the element "Commission". It looks like the Commission element is getting processed prior to the pension element, hence the balance is not reflecting the value. The elements get processed in a Payroll run based on the processing priority - lowest to highest.
    In answer to your question about getting the balance values during a payroll run - you can use debug() messages in the fast formula to print the value of the balances during the execution.
    Thanks.
    Anitha

  • Selection-screen using HR report category

    Hi friends,
       I have a developed HR report using PNP ldb in which i have used the HR report category to specify my selection-screen.But still my requirment is not getting fullfiled.I require 1)Company Code
                            2)Payroll Period selection block also.
    But even if i dont enter value in this payroll area it should excecute.As of now it throws an error message saying "No valid payroll area specified"
    I want to generate report for any month given in other period of the payroll Area wrt company code.

    As per your question, remember that, the period will be different for each and every Payroll area.May be same period will behave differenly like weekly, monthly, semi-monthly.. with different payroll area.
    So the parameter payroll area will always be mandatory..

  • Oracle Document Capture Indexing  Macro

    Hi,
    Hi,
    Im trying to populate my Feild Name workflow based on the Type Field and subtype Field that is selected by an end user.
    I've coded this in an ODC macro but it look like ODC the code is only validating the line of if statement and populating that value.
    I looking for the direction i should take to make odc validate each statement and if the crieteria is met then it should populate that value. i've attached a sample of the code.
    You help is greatly appreciated.
    Below is a sample of the Code
    Option Explicit
    ' * Sample Index macro that will allow for Index user to change the patch code on an image within a batch by using a
    ' * hot key.  The user can hit the F10 key to change an image's Patch Code attribute from no patch code to Patch
    ' * type II for example, then change it back to no patch code by marking the same keystroke.  The macro can be
    ' * modified to use different patch codes by changing the PATCH_VALUE constant to one of the patch code constants
    ' * listed (e.g. PATCH_I, PATCH_II, PATCH_III, PATCH_IV, PATCH_VI, PATCH_T).  The string displayed underneath
    ' * the thumbnail image can be modified by changing the value for the constant PATCH_STRING.  The hotkey (F10 by
    ' * default can be changed to another key by changing the HOT_KEY_VALUE constant.
    ' * Modified by VICOOK - 1/21/2011
    ' * Modified by PHAN - 1/31/2011 - Added the Increment by Separator Sheet Macro
    ' Patch code constants.
    Private Const PATCH_I      As Integer = 8 ' "Patch Code I value"
    Private Const PATCH_II      As Integer = 2 ' "Patch Code II value"
    Private Const PATCH_III As Integer = 1 ' "Patch Code III value"
    Private Const PATCH_IV As Integer = 16 ' "Patch Code IV value"
    Private Const PATCH_VI      As Integer = 32 ' "Patch Code VI value"
    Private Const PATCH_T      As Integer = 4 ' "Patch Code T value"
    ' These are the references that can be modified to allow for different patch code values and hotkey
    Private Const PATCH_VALUE As Integer = PATCH_II              ' This is where you tell the macro which patch code to use for separators
    Private Const PATCH_STRING As String = "II"                        ' This constant is the text displayed below the thumbnail when the patch code value has been set
    Private Const HOT_KEY_VALUE     As Integer = 121 ' F10 key.   ' This constant is the numeric representation for the key on the keyboard that will allow for setting the patch code
    ' Global Object references
    Private moBatch     As Object
    Private moctlIndexing As Object
    ' Increment by Separator Sheet Merge
    Private mlDocID As Long
    ' Global Variables
    Private mnCurrentPage     As Integer
    Private Sub SetPatchCodePage(ByVal nPage As Integer)
        Dim oBatchPages     As Object
        Dim oBatchPage     As Object
        Dim bCleared     As Boolean
        Dim bSet          As Boolean
        ' Init the set / cleared vars to false
        bSet = False
        bCleared = False
        ' Grab a reference to the batch pages.
        Set oBatchPages = moBatch.BatchPages
        ' Grab the page.
        Set oBatchPage = oBatchPages(nPage)
        ' Check to see if there is already a matching Patch Code value.
        If oBatchPage.PatchCode = PATCH_VALUE Then
            ' Clear the matching Patch Code value.
            oBatchPage.PatchCode = 0
            bCleared = True
        Else
            ' Apply the patch code value to this page.
            oBatchPage.PatchCode = PATCH_VALUE
            bSet = True
        End If
        ' Persist this page.
        oBatchPage.Persist
        ' If we get this far, inform the user about whether the patch code was applied or cleared.
        If bSet Then
            moctlIndexing.UpdateThumbnailCaptionSuffix(oBatchPage, True, PATCH_STRING)
            MsgBox "Patch Code [" & PATCH_STRING & "] has been applied to page " & CStr(mnCurrentPage) & ".", vbOkOnly + vbInformation, "Patch Code Applied"
        ElseIf bCleared Then
            moctlIndexing.UpdateThumbnailCaptionSuffix(oBatchPage, True, "")
            MsgBox "Patch Code [" & PATCH_STRING & "] has been removed from page " & CStr(mnCurrentPage) & ".", vbOkOnly + vbInformation, "Patch Code Applied"
        End If
        ' Destroy the object references.
        Set oBatchPage = Nothing
        Set oBatchPages = Nothing
    End Sub
    Public Sub ecIndex_BatchClose()
        ' Destroy the reference to the batch object
        Set moBatch = Nothing
        ' Destroy the refereince to the ctlIndexing object
        Set moctlIndexing = Nothing
    End Sub
    Public Sub ecIndex_BatchOpen(Batch As Object, IndexingUI As Object, ctlIndexing As Object)
        ' Store a reference to the Batch object.
        Set moBatch = Batch
        ' Store a reference to the ctlIndexing object
        Set moctlIndexing = ctlIndexing
    End Sub
    Public Sub ecIndex_FieldKeyDown(KeyCode As Integer, Shift As Integer)
        Dim lErrNum          As Long
        Dim sErrDesc     As String
        ' Check to see if the hotkey has been pressed.
        If KeyCode = HOT_KEY_VALUE Then
            On Error Resume Next
            ' Set the Patch Code value on the currently displayed page.
            SetPatchCodePage mnCurrentPage
            If Err.Number Then
                lErrNum = Err.Number
                sErrDesc = Err.Description
                MsgBox "An error was encountered while attempting to apply Patch Code to page " & CStr(mnCurrentPage) & "." & vbCrLf & CStr(lErrNum) & ": " & sErrDesc, vbOkOnly + vbExclamation, "Patch Code Error"
                Err.Clear
            End If
        End If
    End Sub
    Public Sub ecIndex_PageDisplay(PageNumber As Integer)
        ' Keep track of the currently displayed page during Review.
        mnCurrentPage = PageNumber
    End Sub
    Public Sub ecIndex_BatchPrecommit(Cancel As Boolean)
    Dim oPage As Object
    Dim oIndex As Object
    ' Init the DocID value
    mlDocID = 1
    ' Loop through the batch pages
    For Each oPage In moBatch.BatchPages
    If oPage.PatchCode > 0 Then
    mlDocID = mlDocID + 1
    End If
    ' Assign the numeric DocID value to the "DocumentID" field
    oPage.BatchPageIndexes("DocumentID").Value = CStr(mlDocID)
    If oPage.BatchPageIndexes("Type").Value = "HR - Benefits" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Benefits"
    End If
    If oPage.BatchPageIndexes("Type").Value = "HR - Employment" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Employment"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - A/P" And oPage.BatchPageIndexes("SubType").Value = "Vendor Maintenance" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-AP-VendorMaintenance"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - A/P" And oPage.BatchPageIndexes("SubType").Value = "Payment Processing" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-AP-PaymentProcessing"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - A/P" And oPage.BatchPageIndexes("SubType").Value = "A/P Correspondence" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-AP-CorrespondenceReqMgmt"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - A/P" And oPage.BatchPageIndexes("SubType").Value = "T&E Vouchers" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-TE-Vouchers"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - Accounting" And oPage.BatchPageIndexes("SubType").Value = "Accounting Master Data" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-GAFA-AcctgMasterData"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - Accounting" And oPage.BatchPageIndexes("SubType").Value = "Accounting-Payroll Transaction" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Acctg-Payroll"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - Accounting" And oPage.BatchPageIndexes("SubType").Value = "Acctg Correspondance" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-GAFA-AcctgMasterData"
    End If
    If oPage.BatchPageIndexes("Type").Value = "HR - HRIS" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-HRIS"
    End If
    If oPage.BatchPageIndexes("Type").Value = "HR - Training" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Training"
    End If
    If oPage.BatchPageIndexes("Type").Value = "HRIS - Benefits" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Benefits"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Payroll - HRIS" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Payroll-HRIS"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Payroll - Pay Data Maintenance" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Payroll-PayDataMaint"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Payroll - Pay Data Maintenance - Mandatory Deductions" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Payroll-PDM-MandatoryDed"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Payroll - Pay Processing" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Payroll-PayProcessing"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - Accounting" And oPage.BatchPageIndexes("SubType").Value <> "Accounting Master Data" Or oPage.BatchPageIndexes("SubType").Value <> "Accounting-Payroll Transaction" Or oPage.BatchPageIndexes("SubType").Value <> "Acctg Correspondance" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-Acctg-Payroll"
    End If
    If oPage.BatchPageIndexes("Type").Value = "Finance - A/P" And oPage.BatchPageIndexes("SubType").Value <> "Vendor Maintenance" Or oPage.BatchPageIndexes("SubType").Value <> "Payment Processing" Or oPage.BatchPageIndexes("SubType").Value <> "A/P Correspondence" Or oPage.BatchPageIndexes("SubType").Value <> "T&E Vouchers" Then
    oPage.BatchPageIndexes("Workflow").Value = "Trans-AP-PaymentProcessing"
    End If
    ' Persist the values to the page
    oPage.Persist
    Next
    End SubThank you
    CJ

    i've attached a sample of the code.As this is neither SQL nor PLSQL, I'm inclined to say that you're in the wrong forum.

  • PO Version Log report....Urgent

    Hi Experts,
    I have to create a PO version log report, which should display old values and  new values for each version of PO.
    Values we can get using tables CDHDR and CDPOS but it table CDHDR is not saving version number. Version Number we can get from table EREV.
    We can use FM CHANGEDOCUMENT_READ_HEADERS for ObjectID etc which takes values from cdhdr &
    CHANGEDOCUMENT_READ_POSITIONS for old and new values whch takes values from cdpos.
    But the problem is i am not getting how to match these tables to get exact values.
    The code i have written using these FM is giving repeted values. means for each version it is giving same values, which is not right.
    code is like ...
    LOOP AT it_ekko where revno GE '00000001'.
        ebeln1     = it_ekko-ebeln.
        date_from  = p_chadt-low.
        date_until = p_chadt-high.
        REFRESH it_cdhdr.
        CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
          EXPORTING
            ARCHIVE_HANDLE                   = 0
            date_of_change                   = date_from
            objectclass                      = 'EINKBELEG'
            objectid                         = ebeln1
            TIME_OF_CHANGE                   = '000000'
            username                         = ' '
            LOCAL_TIME                       = ' '
            date_until                       = date_until
            TIME_UNTIL                       = '235959'
            NOPLUS_ASWILDCARD_INOBJID        = ' '
          TABLES
            i_cdhdr                          = it_cdhdr
         EXCEPTIONS
            no_position_found                = 1
            wrong_access_to_archive          = 2
            time_zone_conversion_error       = 3
            OTHERS                           = 4.
        IF sy-subrc <> 0.
          CONTINUE.
        ENDIF.
        LOOP AT it_cdhdr WHERE username IN p_chaby."
          REFRESH it_cdred.
          CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
            EXPORTING
              ARCHIVE_HANDLE                = 0
              changenumber                  = it_cdhdr-changenr
            TABLES
              EDITPOS                       =
              editpos_with_header           = it_cdred
            EXCEPTIONS
              no_position_found             = 1
              wrong_access_to_archive       = 2
              OTHERS                        = 3
          IF sy-subrc <> 0.
            MESSAGE i001(319) WITH 'No change!'.
          ENDIF.
          LOOP AT it_cdred.
    *------get vendor name in final table by passing vendor code.
            CALL FUNCTION 'MC_VENDOR_TEXT_SINGLE_READ'
              EXPORTING
                i_lifnr   = it_ekko-lifnr
              IMPORTING
                e_lifname = it_final-lifnr.
            CALL FUNCTION 'ZHZLMM_REASON_TEXT'
              EXPORTING
                i_rscod         = it_ekko-rscod
              IMPORTING
                E_TEXT          = it_final-rstxt
              EXCEPTIONS
                NOT_FOUND       = 1
                OTHERS          = 2
            IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.
    *------pass all values to final table to display in ALV
            MOVE-CORRESPONDING it_cdred TO it_final.
            it_final-revno    =  l_erev-revno.
            it_final-werks    =  it_ekko-ekorg.
            it_final-revok    =  it_ekko-revok.
            it_final-ebeln    =  it_ekko-ebeln.
            it_final-ernam    =  it_ekko-ernam.
            it_final-erdat    =  it_ekko-erdat.
            it_final-eruhr    =  it_ekko-eruhr.
           it_final-rscod    =  it_ekko-rscod.
            it_final-netwr    =  it_ekko-netwr.
            it_final-difwr    =  it_ekko-difwr.
            it_final-waers    =  it_ekko-waers.
            it_final-txz01    =  it_ekko-txz01.
            it_final-crnam    =  it_ekko-crnam.
            it_final-fgnam    =  it_ekko-fgnam.
            it_final-fgdat    =  it_ekko-fgdat.
            it_final-fguhr    =  it_ekko-fguhr.
            APPEND it_final.
            CLEAR it_final.
          ENDLOOP.
          CLEAR ebeln1.
        ENDLOOP.
      ENDLOOP.
    Please help me as it is very urgent.
    Regards,
    Nik

    Hi Nikhil,
    I too need the PO versions information, the old values, new values and which were all the fields changed in every versions.
    I need each and every data changed in all versions.
    Could you please help me by giving the complete logic or what you have done in your case.
    Thanks in Advance.
    Regards,
    Prabhu

Maybe you are looking for