Special allowance

hi
I have a issue like this
if my monthly CTC is 10000 after all calculations, the balance figure should be get added automatically in the special allowance wagetype, when we create basicpay infotype.
is it possible?

Hi,<br>
Try any one of the indirect valuation module in T511:(only name says country specific but it should work for any country))<br>
1.SAPAC (for Spain only)<br>
******************************<br>
Processing agreed salary:<br>
MODULE = 'SAPAC'<br>
MOLGA = Country indicator in T001P<br>
BWLGA = indirectly evaluated wage type<br>
Module variant 'D'<br>
A basic remuneration is derived from the GWCHT weighted sum of all the basic wage types from the entries in the "Basic Wage Type Evaluation" step in the IMG.<br>
The value of the indirectly evaluated wage type is the difference between the basic remuneration and the monthly salary run through payroll.<br>
Module variant 'I'<br>
A basic remuneration is derived from the GWCHT weighted sum of all the basic wage types from the entries in the "Basic Wage Type Evaluation" step in the IMG. All these basic wage types are indirectly evaluated.<br>
The value of the indirectly evaluated wage type is the difference between the basic remuneration and the monthly salary run through payroll.<br>
Module variant 'J'<br>
Corresponds to module variant 'I', but the basic wage types are not reduced.<br>
Module variant 'O'<br>
Corresponds to module variant 'I'. In addition, basic wage types are returned unweighted in payroll.<br>
<br>
******************************<br>
2.DIFFR (only for public service employees in Germany)<br>
******************************<br>
Module variants 'A', 'B', 'C'<br>
The difference is derived from the valuation with module VERGL and the valuation with module TARIF.<br>
******************************<br>
3.FCOEF (France)<br>
******************************<br>
Calculate monthly wage based on collective agreement coefficients.<br>
Module variant "1", "2", "3"<br>
Coefficients are wage types and must be entered in infotype 0008 Basic pay. The value of the coefficients is transferred to field "Number". The wage type with "FCOEF" indirect valuation is transferred to infotype 0008, adds these coefficients (in T539J) and calculates the monthly wage in the field Amount as follows:<br>
Amount = coefb/CFCST + (Number - coefc ) * coefa/CFCST<br>
coefa corresponds to COE1A of table T511K in variant 1,  COE2A in variant 2 and COE3A in variant 3.
coefb corresponds to COE1B, COE2B or COE3B.<br>
coefc corresponds to COE1C, COE2C or COE3C.<br>
coefa and coefb are divided by the CFCST constant of table T511K so that the accuracy can be checked.<br>
Module variant " "<br>
No coefficient is entered in infotype 0008; only one wage type with "FCOEF" indirect valuation is available. The coefficient value is read from T510 and transferred to the field "Number". The field "Amount" is calculated in the same way as in variants "1", "2"  and "3" but with the constants COE0A, COE0B, COE0C of table T511K.<br>
Best suited is option 3 and 1. you need to explore it.<br>
Good luck<br><br>
Thanks,
Amosha
<br><br>"Known is a drop & unknown is an OCEAN!"

Similar Messages

  • PCR for Special Allowance

    Hello Experts,
    Could someone help me in writing a PCR for Special Allowance. Our company requirement is to provide special allowance to employees pertaining to a particular personal area. The percentage allowance will be different from employee subgroup to employee subgroup. ie: 2% for Full time and 3% for Part time.
    Personnel area - TAHY
    Employee subgroup - PT(PART TIME) - 3%
    Employee subgroup -FT(Full Time)     - 2%
    I understand in using the operations OUTWPPLAMT for Personnel area and OUTWPPERSB for employee subgroup.
    Kindly help me to write a PCR and also what is the subschema I have to insert the PCR.
    Thanks and Regards,
    Y.M.Asha Kiran

    Thank you for the detailed calculation. However, could you please let me know the Subschema i have to insert the schema.
    As Its a Indian Payroll I use INOO and what would be the subschema .
    Thanks and regards,
    Y.M.Asha Kiran

  • Special allowance- india payroll

    Hi Gurus,
    Can you tell me from which model wagetype i should copy special allowance?
    Regards
    58017

    Hi,
    For creating Special Allowance wage type I generally prefer Basic Pay wage type copy it and give the name, and in the table V_512w_d I change according to my requirement.
    Regards
    Pavani
    Remainder: Points to be given on Answers

  • Holiday allowance IT15

    Hi All ,
    i have a below requiremnt
    HOLIDAY ALLOWNCE
    Applicable to the employees ((Basic + HRA + Conveyance + CCA + Special Allowance)/30 x Number of days not applicable for HO employees )
    should be maitained in 0015 [ADDITIONAL PAYMENTS]
    The wage Type will be in No of Days, it will increae the IT 0008 components by no of days specified.
    For this I am writing a PCR u2013 ZABC and created two wage types  w.t.1500 for creating IT15 record with a number of days (let us say one day)and W.T. 1501  to populate in RT with the above said desired amount.
    ZABC * **** ADDWT  *
              2 1500
      AMT?0  * ADDWT *
    = AMT = 1000  BASIC PAY
    AMT/GKSOLL
    MULTI ANA
    ADDWT 1501
    But 1500 wage type passes through the condition of * **** ADDWT * and not reading from ESG for PCR 2
    Thanks
    Divnr

    You could create an other PCR to process Basic Pay WT 1000, and generate a temporary variable holding the value of Basic Pay/GKSOLL, such as:
             D  WGTYP?
           ADDWT *
    1000     ADDWT *  AMT/GKSOLL ADDWT&1000
    and insert it in your schema before PCR ZABC.
    Then, in your PCR ZABC
    ESG *     WT ****
                   ADDWT *
    ESG *     W1500   
              D  AMT?0
                ADDWT *
    =            AMT=& 1000 MULTI NAA  ADDWT 1501
    ESG 2     W1500
              D  AMT?0
                ADDWT *
    =            AMT=& 1000 MULTI NAA  ADDWT 1501

  • Report for monthly pay components for the employees

    Hai Group
    I want a report for all the employees monthly  total wage and each individual components like basic, hra, medical, special allow etc, and also for deductions like pf, esi, pt, tax, etc.
    Is standard report available or we need to go for a development for this?
    Plz let me know incase the standard report available, where and is it possible to download to an excel file?
    thank you

    Hi Friend
    In Wage type reporter screen, you can find a place called OTHER SECTIONS, next to that you can see the wage type column and down below you can find a place for object selection.  Click on object section, you have find the personnel number in u2018Available objectsu201D move that to u2018Objects Selectedu2019  and try executing the report.  Save this as a variant so that every time you donu2019t need to select the personnel number.
    Hope this will solve your problem.
    Regards
    Santhosh.S

  • Is it possible to have two (2) apps open at the same time???

    How can I have one app open,like FStream listening to a radio station, keep it open and then open a game to play at the same time I am listening??? can this be done some how????
    please let me know.

    Sorry to disappoint but the iPod touch as much as the Iphone 3Gs, cannot peform several task at once( something call background proceessing or multitasking). Somehow apple tends to stay a bit behind in things like allowing the iPod touch to do multitasking specially allowing apps to run on the background. Even though other mobile devices like the palm pre, google android, and other phones do that without any difficulty in peforming those tasks. But let's hope that apple fixes these lacking feature in future software updates... Cause it's time apple to allow for the iPod touch to run applications on the background, if they want to stay in top of technology.

  • Error while processing Payroll

    Hi Experts,
    Please help...
    While processing Payroll getting an error.
    Please lower the loan repayment in IT0045.
    His gross pay is 13974 and there is a deduction of Rs.8120/- (including PF ESI and other loans deduction with interest amount) and Nett payable to the employee is 5854/-.  Though there is amount payable, the pay roll is not running successfully and the following error occurs.
    The same error occured during last month pay roll (May'10) and we have given salary advance and recovered the same in the same payroll and then we were able to process the salary.
    Amount deducted per month is 1333.33 even after rounding off getting the same error.
    Regards,
    SRAJ.

    1BAS Basic Salary                 5,670.00  INR          0.00                0.00
      1CON Conveyance Allowanc            800.00  INR          0.00                0.00
      1HRA House Rent Allowanc          2,835.00  INR          0.00                0.00
      1SPL Special Allowance            1,669.00  INR          0.00                0.00
      1PRI Prodcution Incentiv          3,000.00  INR          0.00                0.00
    Total                       13,974.00  INR          0.00                0.00
    0015 Additional Payments                 1EDU                         30.04.2009-30.04.2009
      1EDU Education Allowance          3,000.00  INR          0.00                0.00
    0015 Additional Payments                 1EDU                         29.04.2010-29.04.2010
      1EDU Education Allowance          3,000.00  INR          0.00                0.00
    0015 Additional Payments                 1EMR                         28.02.2010-28.02.2010
      1EMR Emergency Advance          120,000.00  INR          0.00                0.00
    0015 Additional Payments                 1LTA                         30.11.2009-30.11.2009
      1LTA Leave Travel Allowa          3,900.00  INR          0.00                0.00
    0015 Additional Payments                 1ONT                         31.03.2010-31.03.2010
      1ONT Other Payments(Not             855.00  INR          0.00                0.00
    0015 Additional Payments                 1OPM                         30.09.2009-30.09.2009
      1OPM Other Payments (Tax            810.00  INR          0.00                0.00

  • A FUNCTION MODULE FOR THE HR MODULE FOR PAYROLL OF EMPLOYEES

    hi,
    i want some a function module or code where i need to get the payroll details like the basic pay ,hra,special allowance,medical allowance,other allowance of an employee on the monthly basis.
    the data that i have on ot os not on the basis of months it contains datd of more than one month.like the baisc pay of an employee is given on a radom day basis of more than one month.
    but i need to bifercatethe data on monthly basis.
    waiting for the reply.
    thanks and regards

    Hi,
    Use the fun module
    RP_FILL_WAGE_TYPE_TABLE_EXT
    which willget PA0008 results.
    but to get the real payroll results you have to import data from clusters by writing the program. Data will be fetch from RT and CRT internal tables based on the Wage Types
    see the sample code:
    report zporgr0100
           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

  • Regarding incentives text in the pay  slip

    hi experts,
               one of my friend configured <u><b>incentives</b></u> wage type '6500'  with the help of spro ,no doubt the amount of incentives is calculating in the total  amount on the pay slip but the text of incentives and figure for it is not coming  ,what will be the possible reason for it if u have a idea plz let me know ,,thnx in adnance...
    here its comes like this...
    Basic Salary                    9,200.00
    Special Allowance               5,872.00 
                                   15572.00                   
    but in third line the incentive text and figure  is not coming.....but its calculating in the total i.e incentives amount 500 must be displayed here.
    null

    solved by own

  • InDesign CS5.5 upgrade

    I currently have InDesign CS4 Design Premium. I purchased and downloaded the InDesign CS5.5 upgrade as I only want to update InDesign and not the entire Design Premium package, but when I try to activate I am told I can't. I suspect this is because the serial number I have for my existing Design Premium package is not recognized as being InDesign CS4 only. Can someone please assist? I can upgrade just a portion of the Design Premium package, right?

    Ok so there is a way. Call Adobe (who were very very helpful) And they will obtain a special allowance for upgrade of a single component of indesign. Over the phone they will cancell your serial number and give you a new one. This apparently is the only way to do this. I have just done this and it worked. It makes sense to be able to just upgrade one (what if you only use indesign and cannot justify the costly entire collection upgrade when photoshop is still cs5 anyway. Try that and be very clear on phone that this is what you require. they should be helpful

  • SAP HR integration with Third Party Software - PAYCARE

    Dear Experts/Gurus,
    I am facing the following problem with my client.
    Here the client is using Third Party Software "Paycare" for their Payroll
    calculation.
    Now the problem is that they are giving Incentive Wages one is based on
    Target & another one is based on Attendance. Overtime Calculation (OT) is
    also given to all the employees.
    Incentive Wages calculation is given below:
    Eg: PU Machine (12 hrs)
    Operator - Rs. 40
    Worker - Rs. 30
    Helper - Rs. 20
    Side Pating - Rs. 20
    All the above on DAILY BASIS
    Clicking:
    Operators - Rs. 300 & Rs. 350
    Helpers - Rs. 200
    Printing & Embossing:
    Workers - Rs. 250
    Packing - Rs. 200
    Ladies - Rs. 150
    All the above on MONTHLY BASIS
    Overtime Calculation (OT): OT is given the double once after exceeds the
    normal working of 8 hours.  Basis for OT Calculation is (Basic Pay +
    Dearness Allowance + Special Allowance).
    Now the major problem is that the client wants Payroll calculation
    whatever happens in Paycare to be captured & calculated in SAP HR & posted
    to their respective SAP FICO accounts. They don't want in report wise but
    actual calculation to be done in SAP HR.
    Is it possible to do this without Payroll implementation in SAP HR because
    whenever money part is involved respective Wagetypes has to be configured
    in the Payroll.
    Please let me know is it possible or not ASAP.
    Warm Regards,
    Vikrant N

    1) Now the major problem is that the client wants Payroll calculation
    whatever happens in Paycare to be captured & calculated in SAP HR & posted
    to their respective SAP FICO accounts. They don't want in report wise but
    actual calculation to be done in SAP HR.
    A) But what about the inputs ?? How are you planning to map employees workin on Machines ??
    What other modules ur client has implemented
    As your client is expecting the calculations in SAP, so they should have Time, PP, MM, etc....
    Then SAP will have base inputs.
    But Calculation of INcentive will again a development.
    2) Is it possible to do this without Payroll implementation in SAP HR because
    whenever money part is involved respective Wagetypes has to be configured
    in the Payroll.
    A) Your second point is contrary to 1st !! without SAP HR - Payroll???
    What exactly u want to say, without SAP HR Payroll, you want to intrate with FICO ???
    Please let me know is it possible or not ASAP.
    Warm Regards,
    Vikrant N

  • Wage type report problem

    Hello to all
    I am getting a problem.
    In 190(Development)..
    In PA30 and infotype 8 some wage types are included for employees.
    But these wagetypes are not refelecting in PA0008 table.
    When i went into change mode of PA30 and then save ... then these values are
    reflecting in PA0008.
    But in 300 when i am doing this it is not coming..
    Plz guide me..
    I am using these wage types...
    BASIC  LIKE PC207-BETRG,                              "1000 Baisc
          HRA    LIKE PC207-BETRG,     "1002 House Rent Allowance- Del
          PERPAY LIKE PC207-BETRG,     "1001 Personal Pay
          HRA2  LIKE PC207-BETRG,      "1003 House Rent Allowance -Oth
          SPL_ALL LIKE PC207-BETRG,    "1004 Special Allowance
          PRS_ALL LIKE PC207-BETRG,    "1005 Personal Allowance
          CANTEEN LIKE PC207-BETRG,    "1007 Canteen Allowance
          WASHING LIKE PC207-BETRG,    "1008 Washing Allowance
          SPL_PMT LIKE PC207-BETRG,    "1009 Special Payment
          TRANS_ALL LIKE PC207-BETRG,  "1010 Transport Allowance
          STIPEND LIKE PC207-BETRG,    "1011 Stipend
          HRA3    LIKE PC207-BETRG,    "1012 House Rent Allowance -Trn
          SPRT_ALL LIKE PC207-BETRG,   "1014 Supporting Allowance
          OVRS_ALL LIKE PC207-BETRG,   "1015 Overseas Allowance
          VAR_DA  LIKE  PC207-BETRG,   "1016 Variable Dearness Allow.
          CLA     LIKE  PC207-BETRG,   "1017  company leased accom
          COA     LIKE  PC207-BETRG,   "1018 Company owned accom
          FS      LIKE  PC207-BETRG,   "1019 Furniture Scheme
          WAT_DED LIKE PC207-BETRG,    "2000 Water charges deduction
          TRN_DED LIKE PC207-BETRG,    "2001 Transport deduction
          SCH_DED LIKE PC207-BETRG,    "2002 School fees
          SH_REM LIKE PC207-BETRG,     "1023 SHOE REIMBURSEMENT "SOC BY ANUBHAV
          OFF_ALL LIKE PC207-BETRG,    "1064 OFFICIATING ALLOWANCE
          CHLD_ALL LIKE PC207-BETRG,   "1065 CHILD EDUCATION ALLOWANCE
         TWRNTMM_ALL LIKE PC207-BETRG, "1066 TOWNSHIP ALL MM
         TWRNTNM_ALL LIKE PC207-BETRG, "1067 TOWNSHIP ALL NM "EOC BY
          LIC     LIKE PC207-BETRG,                             "2008 LIC
          ADV_ADJ LIKE PC207-BETRG,    "2009 Advance/Adjustment
    and then fetching this values using....
    do 31 times varying lga from p0008-lga01 next p0008-lga02
                 varying bet from p0008-bet01 next p0008-bet02.
        CASE lga.
    *-- Read the value and stored in internal table
          WHEN '1000'.
            ITAB-BASIC = ITAB-BASIC + BET.
          WHEN '1002'.
            ITAB-HRA = ITAB-HRA + BET.
          WHEN '1001'.
            ITAB-PERPAY = ITAB-PERPAY + BET.
          WHEN '1003'.
            ITAB-HRA2 =  ITAB-HRA2 + BET.
          WHEN '1004'.
            ITAB-SPL_ALL = ITAB-SPL_ALL + BET.
          WHEN '1005'.
            ITAB-PRS_ALL = ITAB-PRS_ALL + BET.
          WHEN '1007'.
            ITAB-CANTEEN = ITAB-CANTEEN + BET.
          WHEN   '1008'.
            ITAB-WASHING = ITAB-WASHING + BET.
          WHEN '1009'.
            ITAB-SPL_PMT = ITAB-SPL_PMT + BET.
          WHEN '1010'.
            ITAB-TRANS_ALL = ITAB-TRANS_ALL + BET.
          WHEN '1011'.
            ITAB-STIPEND = ITAB-STIPEND + BET.
          WHEN '1012'.
            ITAB-HRA3    = ITAB-HRA3 + BET.
          WHEN '1016'.
            ITAB-VAR_DA = ITAB-VAR_DA + BET.
          WHEN '1017'.
            ITAB-CLA = ITAB-CLA + BET.
          WHEN '1018'.
            ITAB-COA = ITAB-COA + BET.
          WHEN '1019'.
            ITAB-FS = ITAB-FS + BET.
          WHEN '1023'.                                 "SOC BY ANUBHAV
          ITAB-SH_REM = ITAB-SH_REM + BET.
          WHEN '1064'.
          ITAB-OFF_ALL = ITAB-OFF_ALL + BET.
          WHEN '1065'.
          ITAB-CHLD_ALL = ITAB-CHLD_ALL + BET.
          WHEN '1066'.
          ITAB-TWRNTMM_ALL = ITAB-TWRNTMM_ALL + BET.
          WHEN '1067'.
          ITAB-TWRNTNM_ALL = ITAB-TWRNTNM_ALL + BET.    "EOC BY ANUBHAV
           WHEN '1014'.                               "added for support allowance and overseas allowance
            ITAB-SPRT_ALL = ITAB-SPRT_ALL + BET.
          WHEN '1015'.
            ITAB-OVRS_ALL = ITAB-OVRS_ALL + BET.
        ENDCASE.
      enddo.
      rp-read-infotype pernr-pernr 0014 p0014 p_begda p_endda.
      loop at p0014.
        CASE P0014-subty.
          WHEN '2000'.
            ITAB-WAT_DED = ITAB-WAT_DED + p0014-BETRG.
          WHEN '2001'.
            ITAB-TRN_DED = ITAB-TRN_DED + p0014-BETRG.
          WHEN '2002'.
            ITAB-SCH_DED = ITAB-SCH_DED + p0014-BETRG.
          WHEN '2008'.
            ITAB-LIC = ITAB-LIC + p0014-BETRG.
        ENDCASE.
      ENDLOOP.
    Plz guide me....
    Thanks
    Anubhav

    I suppose Error in HRA info type is because i have not maintained the basic pay info type so far.Once i get able to save the basic pay info type i think i would also be able to save the 581 info type.
    i am still not qable to resolve the issue of basic pay info type.whenever i try to save the basic pay info type system  gives the message "wage type model changed".detail message is as follows
    Wage type model changed on 01.07.2007
    Message no. RP129
    Diagnosis
    You must use the new wage type model as of 01.07.2007 when copying a 'Basic Pay' record (0008). This model depends on the feature 'LGMST'.
    You can display the old record with the overview function.
    System Response
    The new wage type model is displayed.
    Regards

  • SAP HR to SAP FICO (Interface)

    Require your advise..
    In our company we are using for both payroll and accounting SAP.
    Once we are through with payroll we are posting the accounting entries through Interface, however if we see in FICO for few GL accounts payroll amount and GL balance is not matching for this again we are manually passing the manual entries.
    With your experience can you please help me how to match the payroll data to FICO data.  Have check our internal SAP team they are saying due to retro we need to pass the difference amount through manually.  But I am sure process will not be like this.
    Require your expertise advise.
    Eg :  As per Payroll data (Payregister) Special allowance amount is Rs.10,00,000, after positng the entries into GL special allowance GL showing Rs. 9,00000/- there is difference of 100000 for this we are passing the manual entry.

    Hi,
    Posting takes into considerations the Retro ( Previous months) Amounts also.
    The Payregister will give you idear about the Current month.
    This can happen in case of many wagetypes that might not have Arrears Wagetype.
    (It is also possbile that the Wagetype might not have been included in the Payregister).
    Talk to the HR person to reconsile the Posted results with the Payregister  - Employee wise.
    (By double clicking The G/L in T-Code - PCP0).
    Hope  this  Helps.
    Thanks & Regards,
    Param

  • How to default the wage tyes

    hi gurus,
    I have wage components like
    Basic : 19000
    H r a : 8000
    Con : 800
    Speciall allowance : 2638
    Bonus : 1000 (regular bonusu2026.this has to display in the pay slip every month)
    Education allowances : 0
    Shift allowance : 0
    Other allowance : 0
    this wage types has to defaulted in the payslip, Can you explain clearly & let me know how to configure.
    thanks
    padmasree

    Basic : 19000 - copy from MB40
    H r a : 8000 - copy from M230
    Con : 800 - copy from M220
    Speciall allowance : 2638  copy from M500
    Bonus : 1000 (regular bonusu2026.this has to display in the pay slip every month)
    Education allowances : 0 - copy from M260
    Shift allowance : 0
    Other allowance : 0
    Copy the wage types from standards, be clear onething, in which infotype you want to be store these all are wage types?
    Configure the wage types and maintain the groupings, maintain the customer wage types in your form.
    Good luck
    Devi

  • Payslip in PDF through email

    Dear All
    i have written the program for send payslip through email and its working fine
    But problem is that i am not getting the correct format in PDF
    Regards
    Arun

    Hi All
    Plz find my code here which i am using to send Payslip through email, its working fine
    But when i received the email with attachment, PDF is not coming in correct format
    You can see the output of PDF given below after my code
    REPORT  zsendmail.
    TABLES:pa0001.
    DATA : BEGIN OF rgdir OCCURS 0.
            INCLUDE STRUCTURE pc261.
    DATA END OF rgdir.
    DATA : country LIKE t001p-molga VALUE 'IN',
    v_pabrj LIKE t549q-pabrj,
    v_pabrp LIKE t549q-pabrp,
    v_vabrj LIKE t549q-vabrj,
    v_vabrp LIKE t549q-vabrp,
    v_fpper1 LIKE rgdir-fpper,
    v_fpper2 LIKE rgdir-fpper,
    return LIKE bapireturn1,
    *payslip LIKE bapi7004_payslip OCCURS 0 WITH HEADER LINE,
    payslip TYPE xstring,
    *slip LIKE pc408,
    bin_file TYPE xstring,
    pdf_fsize TYPE i,
    x TYPE i,
    x1 TYPE i,
    v_srno LIKE pa0000-pernr.
    DATA BEGIN OF slip OCCURS 0.
            INCLUDE STRUCTURE pc408.
    DATA END OF slip.
    DATA BEGIN OF slip1 OCCURS 0.
            INCLUDE STRUCTURE pc407.
    DATA END OF slip1.
    DATA: BEGIN OF i_pernr OCCURS 0,
      pernr LIKE pa0000-pernr,
    seqnr LIKE hrpy_rgdir-seqnr,
    abkrs LIKE hrpy_rgdir-abkrs,
    fpper LIKE hrpy_rgdir-fpper,
    inper LIKE hrpy_rgdir-inper,
    ipend LIKE hrpy_rgdir-ipend,
    usrid_long LIKE pa0105-usrid_long,
    nachn LIKE pa0002-nachn,
    vorna LIKE pa0002-vorna,
    anred LIKE pa0002-anred,
    ename LIKE pa0001-ename,
    END OF i_pernr.
    DATA result TYPE pay99_result.
    DATA lv_buffer TYPE xstring. " added later
    DATA ihrpy LIKE hrpy_rgdir OCCURS 0.
    DATA whpr TYPE hrpy_rgdir.
    DATA : bt_header TYPE LINE OF hrpay99_bt,
    rt_header TYPE LINE OF hrpay99_rt.
    DATA : objhex LIKE solix OCCURS 0 WITH HEADER LINE,
    objhex1 TYPE solix.
    *************************Added Later
    DATA : objbin LIKE solix OCCURS 0 WITH HEADER LINE,
    objbin1 TYPE solix.
    DATA: y TYPE i ,
    z TYPE i,
    mname TYPE string.
    DATA: mail_attachment_lines TYPE i,
    lv_tablines LIKE sy-tabix.
    DATA: objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
    DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
    DATA: i_reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE,
    wa_reclist TYPE somlreci1 .
    DATA: doc_chng LIKE sodocchgi1,
    l_date(10) TYPE c,
    l_time(8) TYPE c.
    DATA: objhead TYPE soli_tab.
    DATA : w_repid LIKE sy-repid,
    w_dynpro LIKE sy-dynnr.
    SELECTION-SCREEN BEGIN OF BLOCK b1 .
    PARAMETERS : p_bukrs LIKE pa0001-bukrs OBLIGATORY,
                 p_permo LIKE t549q-permo.
    SELECT-OPTIONS:s_date FOR pa0001-begda NO-EXTENSION OBLIGATORY,
                    s_abkrs FOR pa0001-abkrs OBLIGATORY,
                    s_persg FOR pa0001-persg,
                     s_pernr FOR pa0001-pernr.
    SELECTION-SCREEN END OF BLOCK b1.
    LOAD-OF-PROGRAM.
      MOVE sy-repid TO w_repid. MOVE sy-dynnr TO w_dynpro.
      WRITE: sy-datum TO l_date, sy-uzeit TO l_time.
    START-OF-SELECTION.
      PERFORM select_data.
    *& Form SELECT_DATA
    FORM select_data .
      SELECT SINGLE pabrj pabrp vabrj vabrp FROM t549q INTO (v_pabrj,v_pabrp,v_vabrj,v_vabrp) WHERE permo = p_permo AND begda >= s_date-low AND endda <= s_date-high.
      CONCATENATE v_pabrj v_pabrp INTO v_fpper1.
      CONCATENATE v_vabrj v_vabrp INTO v_fpper2.
      CASE v_pabrp.
        WHEN '01'. CONCATENATE 'APRIL' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '02'. CONCATENATE 'MAY' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '03'. CONCATENATE 'JUNE' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '04'. CONCATENATE 'JULY' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '05'. CONCATENATE 'AUGUST' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '06'. CONCATENATE 'SEPTEMBER' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '07'. CONCATENATE 'OCTOBER' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '08'. CONCATENATE 'NOVEMEBR' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '09'. CONCATENATE 'DECEMBER' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '10'. CONCATENATE 'JANUARY' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '11'. CONCATENATE 'FEBRUARY' s_date-high+0(4) INTO mname SEPARATED BY space.
        WHEN '12'. CONCATENATE 'MARCH' s_date-high+0(4) INTO mname SEPARATED BY space.
      ENDCASE.
    hrpy_rgdir table is getting filled once the payroll is run.
      SELECT hrpy_rgdirpernr hrpy_rgdirseqnr hrpy_rgdirabkrs hrpy_rgdirfpper hrpy_rgdirinper hrpy_rgdiripend pa0105usrid_long pa0002nachn pa0002vorna pa0002anred pa0001~ename
      FROM hrpy_rgdir
      JOIN pa0105 ON hrpy_rgdirpernr = pa0105pernr AND subty = '0010'
      JOIN pa0002 ON hrpy_rgdirpernr = pa0002pernr
      JOIN pa0001 ON hrpy_rgdirpernr = pa0001pernr
      INTO CORRESPONDING FIELDS OF TABLE i_pernr
      WHERE inper > v_fpper2
      AND inper <= v_fpper1
      AND fpper > v_fpper2
      AND fpper <= v_fpper1
      AND hrpy_rgdir~pernr IN s_pernr
      AND srtza = 'A'
      AND pa0105~endda >= s_date-high
      AND pa0002~endda >= s_date-high
      AND pa0001~endda >= s_date-high
      AND pa0001~bukrs = p_bukrs
      AND pa0001~abkrs IN s_abkrs
      AND pa0001~persg IN s_persg.
      LOOP AT i_pernr.
        REFRESH : objhex , objpack , objtxt ,i_reclist.
        CLEAR : objhex1, y,z,x1,x, mail_attachment_lines, wa_reclist, doc_chng , objhead.
        CALL FUNCTION 'BAPI_GET_PAYSLIP_PDF'
        EXPORTING
        employeenumber = i_pernr-pernr
        sequencenumber = i_pernr-seqnr
        payslipvariant = 'ZOFF'
        IMPORTING
    RETURN =
        payslip = payslip
        pdf_fsize = pdf_fsize.
        x = pdf_fsize / 255.
        z = pdf_fsize - 255.
        DO x TIMES.
          IF x1 > z .
            EXIT.
          ENDIF.
          objhex1-line = payslip+x1(255).
          APPEND objhex1 TO objhex.
          objbin1-line = payslip+x1(255).
          APPEND objbin1 TO objbin.
         x1 = x1 + 255.
        ENDDO.
        y = pdf_fsize - x1 .
        objhex1-line = payslip+x1(y) .
        APPEND objhex1 TO objhex.
        DESCRIBE TABLE objhex LINES mail_attachment_lines.
        doc_chng-obj_name = 'PAYSLIP'.
        CONCATENATE 'PAYSLIP FOR' mname INTO doc_chng-obj_descr SEPARATED BY space .
        CASE i_pernr-anred.
          WHEN 1.
            CONCATENATE 'Dear' 'Mr.' i_pernr-vorna i_pernr-nachn INTO objtxt-line SEPARATED BY ' '.
          WHEN 2. CONCATENATE 'Dear' 'Ms.' i_pernr-vorna i_pernr-nachn INTO objtxt-line SEPARATED BY ' '.
          WHEN 3. CONCATENATE 'Dear' 'Dr.' i_pernr-vorna i_pernr-nachn INTO objtxt-line SEPARATED BY ' '.
          WHEN OTHERS. CONCATENATE 'Dear' i_pernr-vorna i_pernr-nachn INTO objtxt-line SEPARATED BY ' '.
        ENDCASE.
        CLEAR objtxt.
        APPEND objtxt.
        CONCATENATE 'Please find attached payslip for' mname INTO objtxt-line SEPARATED BY space.
        APPEND objtxt.
        CLEAR objtxt.
        WRITE: sy-datum TO l_date,
        sy-uzeit TO l_time.
        CONCATENATE 'SAP System generated statement (on' l_date 'At' l_time 'IST) enclosed which does not REQUIRE SIGNATURE.' INTO objtxt-line SEPARATED BY space.
        APPEND objtxt.
        CLEAR objtxt.
    *--FOR EMPTY LINE APPEND objtxt.
        objtxt-line = 'Regards,'.
        APPEND objtxt.
        CLEAR objtxt.
        objtxt-line = 'TEAM HR.'.
        APPEND objtxt.
        CLEAR objtxt.
        CASE i_pernr-abkrs.
          WHEN 'ZO'.
            objtxt-line = 'ENGLISH LTD'.
          WHEN 'Z2'. objtxt-line = 'ENGLISH LTD'.
          WHEN 'Z8'. objtxt-line = 'ENGLISH LTD'.
          WHEN 'Z5'. objtxt-line = 'ENGLISH LTD'.
          WHEN OTHERS. objtxt-line = ''.
        ENDCASE.
        APPEND objtxt.
        CLEAR objtxt.
        APPEND objtxt.
        DESCRIBE TABLE objtxt LINES lv_tablines.
        READ TABLE objtxt INDEX lv_tablines TRANSPORTING ALL FIELDS.
        doc_chng-doc_size = ( lv_tablines - 1 ) * 255 + STRLEN( objtxt ).
        CLEAR objpack-transf_bin.
        objpack-head_start = 1.
        objpack-head_num = 0.
        objpack-body_start = 1.
        objpack-body_num = lv_tablines.
        objpack-doc_type = 'RAW'.
        APPEND objpack.
    Pack to PDF.
        objpack-transf_bin = 'X'.
        objpack-head_start = 1.
        objpack-head_num = 1.
        objpack-body_start = 1.
        objpack-body_num = mail_attachment_lines.
        objpack-doc_type = 'PDF'.
        objpack-obj_name = 'Noti'.
       objpack-doc_size = pdf_fsize.
        objpack-doc_size = mail_attachment_lines * 255.
        objpack-obj_descr = 'payslip.pdf'.
        APPEND objpack.
        CLEAR: wa_reclist.
        REFRESH i_reclist[].
        CLEAR wa_reclist.
        wa_reclist-receiver = i_pernr-usrid_long.
        wa_reclist-rec_type = 'U'.
        APPEND wa_reclist TO i_reclist.
        CLEAR wa_reclist.
        CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
          EXPORTING
            document_data              = doc_chng
            put_in_outbox              = 'X'
            commit_work                = 'X'
          TABLES
            packing_list               = objpack
           object_header              =
            contents_bin               = objbin
            contents_txt               = objtxt
            contents_hex               = objhex
           contents_hex               = slip
            receivers                  = i_reclist
          EXCEPTIONS
            too_many_receivers         = 1
            document_not_sent          = 2
            document_type_not_exist    = 3
            operation_no_authorization = 4
            parameter_error            = 5
            x_error                    = 6
            enqueue_error              = 7
            OTHERS                     = 8.
        IF sy-subrc = 0.
            * message i000 with 'Error When Sending the File'.
        ELSE.
          WAIT UP TO 5 SECONDS.
          SUBMIT rsconn01 WITH mode = 'INT' AND RETURN.
        ENDIF.
    ENDIF.
      ENDLOOP.
      IF sy-subrc = 0.
        WRITE : / 'Sucess','Emp No',
                 i_pernr-pernr.
      ELSE.
        WRITE : 'Not Sucess','Emp No',
                i_pernr-pernr.
      ENDIF.
    ENDFORM. " SELECT_DATA
    PDF Output
    Bank Name Account No. Amount = Earnings - Deductions +
    Adjustment
    UTI002 12112112 24,287.00 = 27,950.00 - 3,663.00
    + 0.00
    |----
    |Earnings |Deductions
    Perks/Other income/Exemptptions/Rebates
    -||--
    |
    Basic Salary
    18,000.00
    Income Tax
    3,663.00 ||Agg of Chapter VI | 122,000.00 |
    Children Education Allow
    1,200.00
    Special Allowance
    5,000.00
    Conveyance Allowance
    3,500.00
    Medical Allowance - T
    250.00
    Total
    27,950.00
    Total
    3,663.00 || | |
    Net Pay
    24,287.00 Recovery 0.00
    Form 16 summary |
    Gross Salary 335,400.00 |
    Balance 335,400.00 |
    Incm under Hd Salary 335,400.00 |
    Gross Tot Income 335,400.00 |
    Agg of Chapter VI 122,000.00 |
    Total Income 213,400.00 |
    Tax on total Income 42,680.00 |
    Tax payable and surcharg 43,960.00 |
    Tax deducted so far 3,663.00 |
    Income Tax 3,663.00 |
    |
    |
    |
    |
    |
    This is a computer generated statement and signature is not required.

Maybe you are looking for

  • What format do I use to upload a 5 min. movie to a website?

    What 'format' in the drop down options do I use if I want the video to be flash on the website? ie: wave, FLC..... Any other settings that I should have as presets? - fps? - Quality? - Size? Thanks in advance!

  • How do I uninstall Snow Leopard Server, so that I can revert back to Snow Leopard?

    I was experimenting with the Snow Leopard Server DVD on my MacBook Pro running Snow Leopard.  I started the installation process, expecting that it would not install on the Startup Disk, as I had not booted from the DVD.  To my surprise it installed!

  • FPGA Compile Error: Timing Violation

    All, I've got an issue here I've been struggling with for a couple days now. I'm trying to implement a very watered down Kalman filter in the FPGA (I wanted it to run faster than I had it running in the RT.) After quite a bit of optimization, I'm sti

  • ConcurrentHashMap VS. HashTable

    Hi all, I need to use a thread-safe map and am not sure if I can safely use java.util.concurrent.ConcurrentHashMap instead of HashTable w/o external synchronization. The Java docs says: "A hash table supporting full concurrency of retrievals and adju

  • Why bdb-ha is not working normal?

    in out company project,we used the bdb-ha to replication master bdb data to slave bdb. but we find that datareplication is not working well,and we will lose some important data, which will bring up serious problem for us. i want to know what will the