0% found this document useful (0 votes)
152 views

Sal Proj Statement r3

Ratan asks if there is a standard salary projection report available in SAP. Ramana provides some SAP note numbers but clarifies they are related to ESS. Ratan is looking for something standard outside of ESS. Manikanth then provides sample ABAP code for a custom salary projection report that was developed for a previous project. He shares the code with Vijay upon request.

Uploaded by

rcuddapah
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
152 views

Sal Proj Statement r3

Ratan asks if there is a standard salary projection report available in SAP. Ramana provides some SAP note numbers but clarifies they are related to ESS. Ratan is looking for something standard outside of ESS. Manikanth then provides sample ABAP code for a custom salary projection report that was developed for a previous project. He shares the code with Vijay upon request.

Uploaded by

rcuddapah
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 86

Salary Projection Report

ratan kumar 203 posts since May 20, 2010 Salary Projection Report Sep 11, 2012 7:18 AM

Dear Experts,

Is there any salary projection standard report available in system?

Regards Ratan

Jayanti Venkata Ramana 871 posts since Oct 7, 2006 Re: Salary Projection Report Sep 11, 2012 8:01 AM

Hello Ratan

Please check these SAP note which contain the information:1571064 1629322 1699389

Thanks and Kind Regards Ramana

ratan kumar 203 posts since May 20, 2010 Re: Salary Projection Report Sep 11, 2012 10:49 AM

Generated by Jive on 2012-12-19+01:00 1

Salary Projection Report

Hi Ramana,

Thank you for your reply,

But all these are related to ESS.

Regards Ratan

Jayanti Venkata Ramana 871 posts since Oct 7, 2006 Re: Salary Projection Report Sep 11, 2012 10:59 AM

Hello Ratan

yes the same is available in ESS only....Nothing in the standard R/3.

Thanks and Kind Regards Ramana

Jaguar Wild 6 posts since Sep 10, 2012 Re: Salary Projection Report Sep 11, 2012 8:03 AM

It is only available in ESS (Tax simplifier statement) http://help.sap.com/erp2005_ehp_06/helpdata/en/ac/c58c55d9754c97867a0b852becf979/ content.htm

ratan kumar 203 posts since May 20, 2010

Generated by Jive on 2012-12-19+01:00 2

Salary Projection Report

Re: Salary Projection Report Sep 11, 2012 10:52 AM

HI,

Thanks for the reply, is there any possibilities from standard.

Regards Ratan

Venkata Manikanth 1,360 posts since Jun 26, 2012 Re: Salary Projection Report Sep 11, 2012 12:20 PM

Hi Ratan

You can develop in R/3 and enclosing one sample report which was delivered in my previous project, The logic you need to take care is when the report is selected period * remaining months for the tax year against period or till date RT and remaining months of regular WT is your projected.

i.e CRT data + Project wage components ( to determine projected wage type you need to lookinto V_512w_d and check the wage type is regular or not)

Also some wage type entered at IT0015 for the current month but not processed then you need to define the logic and project values.

Regarding exemption also you can read Ee tax tables and can develop the logic accordingly.

Check with your abaper

Generated by Jive on 2012-12-19+01:00 3

Salary Projection Report

Best Regards Venkata Manikanth

ratan kumar 203 posts since May 20, 2010 Re: Salary Projection Report Sep 11, 2012 12:45 PM

Dear Manikath,

Generated by Jive on 2012-12-19+01:00 4

Salary Projection Report

Thank you

Reagards Ratan

VIJAY M P 225 posts since Dec 1, 2005 Re: Salary Projection Report Sep 12, 2012 7:32 AM

Dear Mr Venkata

The same requirement in our orgnisation also so can you send abap coding details of report so we can use the same so our work will reduce.

Pl send the same.

Regards Vijay

Venkata Manikanth 1,360 posts since Jun 26, 2012 Re: Salary Projection Report Sep 12, 2012 9:15 AM

Hi

Below is the code , Hope this will be helpful to other HR Frens Kindly check the LGART of your Customer and change them accordingly,

Generated by Jive on 2012-12-19+01:00 5

Salary Projection Report

*----------------------------------------------------------------------* * TABLE *

*----------------------------------------------------------------------* TABLES : PERNR, PCL1, PCL2.

*----------------------------------------------------------------------* * INFOTYPES *

*----------------------------------------------------------------------* INFOTYPES: 0584, 0585, 0586.

*----------------------------------------------------------------------* * INTERNAL TABLES *

*----------------------------------------------------------------------*

Generated by Jive on 2012-12-19+01:00 6

Salary Projection Report

*Internal table for Exemptions data DATA : IT_EXEMP TYPE ZHR_EXEMP OCCURS 0 WITH HEADER LINE, *Internal table for perks IT_PERKS TYPE ZHR_EXEMP OCCURS 0 WITH HEADER LINE, *Internal table for other income data IT_EARN_OT TYPE ZHR_EXEMP OCCURS 0 WITH HEADER LINE, *Internal table for section 80, 80c and 80d data IT_DEDU_80 TYPE ZHR_EXEMP OCCURS 0 WITH HEADER LINE, IT_DEDU_80C TYPE ZHR_EXEMP OCCURS 0 WITH HEADER LINE.

*Internal table to store data of infotype 0585 DATA : BEGIN OF IT_0585 OCCURS 0, PERNR TYPE PA0585-PERNR, SBSEC TYPE PA0585-SBS01, SBDIV TYPE PA0585-SBD01, PCNTR TYPE PA0585-PCN01, ACNTR TYPE PA0585-ACN01, END OF IT_0585. "Personnel No "Sub section code "Sub section division number "Proposed contribution "Actual contribution amount

Generated by Jive on 2012-12-19+01:00 7

Salary Projection Report

*Internal table to store data of infotype 0586 DATA : BEGIN OF IT_0586 OCCURS 0, PERNR TYPE PA0586-PERNR, ICODE TYPE PA0586-ITC01, PINVT TYPE PA0586-PIN01, AINVT TYPE PA0586-AIN01, END OF IT_0586. "Personnel No "Investment code "Proposed investment "Actual investment amount

*Internal table for Wagetype details DATA : IT_T511 TYPE T511 OCCURS 0 WITH HEADER LINE, *Interna1 table to store Paycomponents IT_FINAL TYPE ZHR_PAYSLIP_40 OCCURS 0 WITH HEADER LINE, *Internal tables used for data processing IT_FINAL_RT TYPE ZHR_PAYSLIP_40 OCCURS 0 WITH HEADER LINE, IT_FINAL_RT_SUM TYPE ZHR_PAYSLIP_40 OCCURS 0 WITH HEADER LINE, *Internal table to store wagetype texts IT_T512T TYPE T512T OCCURS 0 WITH HEADER LINE, *Internal table to get texts of section 80, 80C and 80D exemptions IT_T7INI8 TYPE T7INI8 OCCURS 0 WITH HEADER LINE, IT_T7INI3 TYPE T7INI3 OCCURS 0 WITH HEADER LINE,

Generated by Jive on 2012-12-19+01:00 8

Salary Projection Report

*Internal table for storing Income tax details IT_ZHR_INCCOMP TYPE ZHR_INCCOMP OCCURS 0 WITH HEADER LINE, *Internal table for employee data IT_ZHR_PERNR TYPE ZHR_PERNR OCCURS 0 WITH HEADER LINE.

*Internla tables used for converting the smartform output to PDF format DATA : PDF_TAB LIKE PC408 OCCURS 0 WITH HEADER LINE, TAB_OTF_FINAL TYPE ITCOO OCCURS 0 WITH HEADER LINE.

*Internal table to download data in excel format. DATA : BEGIN OF IT_DOWNLOAD OCCURS 0, PERNR TYPE CHAR08, ENAME TYPE PA0001-ENAME, COL1 TYPE CHAR40, COL2 TYPE CHAR25, COL3 TYPE CHAR18, COL4 TYPE CHAR18, END OF IT_DOWNLOAD.

Generated by Jive on 2012-12-19+01:00 9

Salary Projection Report

*----------------------------------------------------------------------* * VARIABLES *

*----------------------------------------------------------------------* DATA : V_BETPE TYPE BETPE, C_FMNAME TYPE RS38L_FNAM, V_BEGDA TYPE PA0000-BEGDA, V_ENDDA TYPE PA0000-ENDDA, V_ABRJ_CAL TYPE T549Q-PABRJ. "Projection Factor "Smartform Name "Begin date "End date "Year

*For income form other sources DATA : V_LETVL_0584 TYPE MAXBT, V_BSPFT_0584 TYPE MAXBT, V_CPGLN_0584 TYPE MAXBT, V_CPGLS_0584 TYPE MAXBT, V_CPGNS_0584 TYPE MAXBT, V_DVDND_0584 TYPE MAXBT, V_INTRS_0584 TYPE MAXBT, V_UNSPI_0584 TYPE MAXBT, *Medical Exemption amount V_MDA_AMOUNT TYPE MAXBT, V_EXMP_TOTAL TYPE MAXBT. "Exemption total "House Property "Business profits "Long Term Capital Gains "Long Term Capital Gains "Short Term Capital Gains "Income from Dividend "Income from Interest "Other Income (Unspecified)

Generated by Jive on 2012-12-19+01:00 10

Salary Projection Report

DATA : V_SBSEC TYPE PIN_SBSEC, V_SBSDV TYPE PIN_SBDIV, V_PCNTR TYPE PIN_PCNTR, V_ACNTR TYPE PIN_ACNTR, V_ICODE TYPE PIN_ICODE, V_PINVT TYPE PIN_PINVT, V_AINVT TYPE PIN_AINVT, V_EEPF TYPE MAXBT.

"Sub section code "Sub section division number "Proposed contribution "Actual contribution "Investment code "Proposed investment "Actual investment amount "Employee PF

*Used for converting Smartform output to PDF DATA : CPARAM TYPE SSFCTRLOP, OUTOP TYPE SSFCOMPOP, FILE_SIZE TYPE I, MY_TABIX TYPE SY-TABIX, BIN_FILESIZE TYPE I, TAB_OTF_DATA TYPE SSFCRESCL.

Generated by Jive on 2012-12-19+01:00 11

Salary Projection Report

*For path where the fiel should be stored DATA : V_STRING TYPE STRING, *To reject the employee no's who data does not exists. V_FLAG TYPE C, V_TEMP TYPE C.

*Employee details DATA : V_LOC TYPE ZZLOC, V_PLSTX TYPE PLSTX, V_ORGTX TYPE ORGTX, V_ICNUM TYPE IDNUM. "Loaction "Position text "Organiztion unit text "Pan Number

*For excel download DATA : V_EARN_SUM TYPE MAXBT, V_DEDU_SUM TYPE MAXBT, V_TOTAL TYPE MAXBT, V_PERKS TYPE MAXBT, V_PERIOD TYPE FAPER, V_FILE TYPE RLGRAP-FILENAME.

Generated by Jive on 2012-12-19+01:00 12

Salary Projection Report

*----------------------------------------------------------------------* * INCLUDES *

*----------------------------------------------------------------------* *INTERNATIONAL INCLUDE INCLUDE RPC2CD09. "Cluster CD data definition INCLUDE RPC2CA00. "Cluster CA Data-Definition INCLUDE RPPPXD00. "Data Definition buffer PCL1/PCL2 Buffer INCLUDE RPPPXD10. "Common part buffer PCL1/PCL2 INCLUDE RPPPXM00. "Buffer Handling routine *COUNTRY SPECIFIC INCLUDE INCLUDE PC2RXIN0. "Cluster IN data definition INCLUDE RPC2RX09. *INCLUDE RPC2R1X9.

*----------------------------------------------------------------------* * SELECTION SCREEN *

*----------------------------------------------------------------------*

Generated by Jive on 2012-12-19+01:00 13

Salary Projection Report

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. PARAMETERS: ABKR_CAL LIKE T569V-ABKRS OBLIGATORY. PARAMETERS: PCURPERC TYPE TIMRA9 AS LISTBOX VISIBLE LENGTH 23.

SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(28) TEXT-002 FOR FIELD ABRP_CAL. SELECTION-SCREEN POSITION POS_LOW. PARAMETERS: ABRP_CAL LIKE T549Q-PABRP MODIF ID PE1, ABRJ_CAL LIKE T549Q-PABRJ MODIF ID PE1. SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(28) TEXT-003 FOR FIELD BEGCALSH MODIF ID PA4. SELECTION-SCREEN POSITION POS_LOW. PARAMETERS: BEGCALSH LIKE T549Q-BEGDA MODIF ID PE4. SELECTION-SCREEN COMMENT (1) TEXT-199 FOR FIELD ENDCALSH MODIF ID PE4.

Generated by Jive on 2012-12-19+01:00 14

Salary Projection Report

PARAMETERS: ENDCALSH LIKE T549Q-ENDDA MODIF ID PE4. SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B1.

PARAMETERS: P_DOWN TYPE CHAR01 AS CHECKBOX DEFAULT SPACE.

*----------------------------------------------------------------------* * AT SELECTION SCREEN OUTPUT *

*----------------------------------------------------------------------* AT SELECTION-SCREEN OUTPUT. *To make the selection screen fields in display mode only LOOP AT SCREEN. IF SCREEN-GROUP1 = 'PE4'. SCREEN-INPUT = '0'. MODIFY SCREEN. ENDIF.

Generated by Jive on 2012-12-19+01:00 15

Salary Projection Report

IF SCREEN-NAME = '%F003232_1000'. SCREEN-ACTIVE = '0'. MODIFY SCREEN. ENDIF. ENDLOOP.

*----------------------------------------------------------------------* * AT SELECTION SCREEN *

*----------------------------------------------------------------------* AT SELECTION-SCREEN.

*To get the current payroll period IF PCURPERC IS INITIAL. IF ABRP_CAL IS INITIAL OR ABRJ_CAL IS INITIAL. MESSAGE E000 WITH 'Enter Period'(004). ELSE. CALL FUNCTION 'PA03_PERIODDATES_GET' EXPORTING F_ABKRS IMPORTING = ABKR_CAL

Generated by Jive on 2012-12-19+01:00 16

Salary Projection Report

F_CURRENT_BEGDA F_CURRENT_ENDDA CHANGING F_CURRENT_PERIOD F_CURRENT_YEAR EXCEPTIONS PCR_DOES_NOT_EXIST

= BEGCALSH = ENDCALSH

= ABRP_CAL = ABRJ_CAL

=1

ABKRS_DOES_NOT_EXIST = 2 PERIOD_DOES_NOT_EXIST = 3 OTHERS IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. = 4.

ENDIF. ENDIF.

IF PCURPERC = 'X'. CLEAR : ABRP_CAL,

Generated by Jive on 2012-12-19+01:00 17

Salary Projection Report

ABRJ_CAL. CALL FUNCTION 'PA03_PERIODDATES_GET' EXPORTING F_ABKRS IMPORTING F_CURRENT_BEGDA F_CURRENT_ENDDA CHANGING F_CURRENT_PERIOD F_CURRENT_YEAR EXCEPTIONS PCR_DOES_NOT_EXIST =1 = ABRP_CAL = ABRJ_CAL = BEGCALSH = ENDCALSH = ABKR_CAL

ABKRS_DOES_NOT_EXIST = 2 PERIOD_DOES_NOT_EXIST = 3 OTHERS IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF. = 4.

Generated by Jive on 2012-12-19+01:00 18

Salary Projection Report

IF ABRP_CAL > '12'. MESSAGE E000 WITH 'Enter a valid Period'(005). ENDIF.

*----------------------------------------------------------------------* * START OF SELECTION *

*----------------------------------------------------------------------* START-OF-SELECTION.

*Get data PERFORM GET_DATA.

*Macro to set date interval RP-SET-DATA-INTERVAL 'ALL' V_BEGDA V_ENDDA.

*To get the PERNR details and teh infotype declared

Generated by Jive on 2012-12-19+01:00 19

Salary Projection Report

GET PERNR.

*To get the payroll results PERFORM GET_PAYRESULT.

IF V_FLAG <> 'X'. *To get exemptions amount PERFORM GET_EXEMPTIONS.

*To process data PERFORM PROCESS_DATA. ENDIF.

*----------------------------------------------------------------------* * END OF SELECTION *

*----------------------------------------------------------------------* END-OF-SELECTION.

Generated by Jive on 2012-12-19+01:00 20

Salary Projection Report

IF P_DOWN = 'X'. *Prepare download details LOOP AT IT_ZHR_PERNR.

CLEAR : V_EARN_SUM, V_DEDU_SUM, V_TOTAL, V_PERKS.

*Earning details LOOP AT IT_FINAL WHERE PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = IT_FINAL-LGTXT. IT_DOWNLOAD-COL2 = IT_FINAL-EARN. IT_DOWNLOAD-COL3 = IT_FINAL-DEDU. IT_DOWNLOAD-COL4 = IT_FINAL-EARN + IT_FINAL-DEDU. V_EARN_SUM = V_EARN_SUM + IT_FINAL-EARN. V_DEDU_SUM = V_DEDU_SUM + IT_FINAL-DEDU.

Generated by Jive on 2012-12-19+01:00 21

Salary Projection Report

APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD. ENDLOOP.

IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total Income1'(026). IT_DOWNLOAD-COL2 = V_EARN_SUM. IT_DOWNLOAD-COL3 = V_DEDU_SUM. IT_DOWNLOAD-COL4 = V_EARN_SUM + V_DEDU_SUM. V_TOTAL = V_EARN_SUM + V_DEDU_SUM. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

*Exemptions IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Exemptions under section 10'(027). APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

Generated by Jive on 2012-12-19+01:00 22

Salary Projection Report

LOOP AT IT_EXEMP WHERE PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = IT_EXEMP-STEXT. IT_DOWNLOAD-COL4 = IT_EXEMP-AMTEX. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD. ENDLOOP.

*Exemptions total CLEAR IT_ZHR_INCCOMP. READ TABLE IT_ZHR_INCCOMP WITH KEY PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total1'(028). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_EXEMP_10. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

Generated by Jive on 2012-12-19+01:00 23

Salary Projection Report

*Income after deducting exemptions IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total Income2'(029). IT_DOWNLOAD-COL4 = V_TOTAL - IT_ZHR_INCCOMP-V_EXEMP_10. V_TOTAL = V_TOTAL - IT_ZHR_INCCOMP-V_EXEMP_10. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

*Perks IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Perks'(030). APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

LOOP AT IT_PERKS WHERE PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME.

Generated by Jive on 2012-12-19+01:00 24

Salary Projection Report

IT_DOWNLOAD-COL1 = IT_PERKS-STEXT. IT_DOWNLOAD-COL4 = IT_PERKS-AMTEX. V_PERKS = V_PERKS + IT_PERKS-AMTEX. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD. ENDLOOP.

*Perks total IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total2'(031). IT_DOWNLOAD-COL4 = V_PERKS. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

*Income after adding perks IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total Income3'(032). IT_DOWNLOAD-COL4 = V_TOTAL + V_PERKS.

Generated by Jive on 2012-12-19+01:00 25

Salary Projection Report

V_TOTAL = V_TOTAL + V_PERKS. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

*Professional Tax IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Professional Tax'(033). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_PROF_TAX. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

*Income after deducting Professional Tax IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total Income4'(034). IT_DOWNLOAD-COL4 = V_TOTAL - IT_ZHR_INCCOMP-V_PROF_TAX. V_TOTAL = V_TOTAL - IT_ZHR_INCCOMP-V_PROF_TAX. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

Generated by Jive on 2012-12-19+01:00 26

Salary Projection Report

*Income form other sources IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Income from other sources'(035). APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

LOOP AT IT_EARN_OT WHERE PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = IT_EARN_OT-STEXT. IT_DOWNLOAD-COL4 = IT_EARN_OT-AMTEX. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD. ENDLOOP.

*Income from other sources total IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR.

Generated by Jive on 2012-12-19+01:00 27

Salary Projection Report

IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total3'(036). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_INCO_OTH. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

*Income after adding Income form other sources IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total Income5'(037). IT_DOWNLOAD-COL4 = V_TOTAL + IT_ZHR_INCCOMP-V_INCO_OTH. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

*Deductions under section 80 IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Deductions under section 80 & 80C'(038). APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

Generated by Jive on 2012-12-19+01:00 28

Salary Projection Report

LOOP AT IT_DEDU_80 WHERE PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = IT_DEDU_80-STEXT. IT_DOWNLOAD-COL4 = IT_DEDU_80-AMTEX. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD. ENDLOOP.

LOOP AT IT_DEDU_80C WHERE PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = IT_DEDU_80C-STEXT. IT_DOWNLOAD-COL4 = IT_DEDU_80C-AMTEX. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD. ENDLOOP.

Generated by Jive on 2012-12-19+01:00 29

Salary Projection Report

*Aggregate chapter 6 IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Total4'(039). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_AGGR_CH6. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

*Taxable income IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Taxable Income'(040). IT_DOWNLOAD-COL4 = V_TOTAL - IT_ZHR_INCCOMP-V_AGGR_CH6. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Tax on total Income'(041). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_TAX_INCO.

Generated by Jive on 2012-12-19+01:00 30

Salary Projection Report

APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Surcharge payable'(042). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_SURG_INC. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Education Cess'(043). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_EDU_CESS. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME.

Generated by Jive on 2012-12-19+01:00 31

Salary Projection Report

IT_DOWNLOAD-COL1 = 'Net tax payable'(044). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_NET_TAX. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD.

IT_DOWNLOAD-PERNR = IT_ZHR_PERNR-PERNR. IT_DOWNLOAD-ENAME = IT_ZHR_PERNR-SNAME. IT_DOWNLOAD-COL1 = 'Tax deducted so far'(045). IT_DOWNLOAD-COL4 = IT_ZHR_INCCOMP-V_TAX_DEDU. APPEND IT_DOWNLOAD. CLEAR IT_DOWNLOAD. ENDLOOP.

CONCATENATE 'C:\' 'Incometax_XLS' SY-DATUM SY-UZEIT INTO V_FILE. CALL FUNCTION 'SAP_CONVERT_TO_XLS_FORMAT' EXPORTING I_FILENAME TABLES = V_FILE

Generated by Jive on 2012-12-19+01:00 32

Salary Projection Report

I_TAB_SAP_DATA EXCEPTIONS

= IT_DOWNLOAD[]

CONVERSION_FAILED = 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.

*To print the output. Here the Smartform output is converted into PDF *and is downloaded

*For output determination CPARAM-NO_DIALOG = 'X'. CPARAM-PREVIEW = SPACE. CPARAM-GETOTF = 'X'.

*To get the smartform FM

Generated by Jive on 2012-12-19+01:00 33

Salary Projection Report

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME IMPORTING FM_NAME EXCEPTIONS NO_FORM =1 = C_FMNAME = 'ZHR_INCOMETAX_COMP'

NO_FUNCTION_MODULE = 2 OTHERS IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. = 3.

CALL FUNCTION C_FMNAME "'/1BCDWB/SF00000042' EXPORTING CONTROL_PARAMETERS = CPARAM OUTPUT_OPTIONS USER_SETTINGS V_ABRJ_CAL V_ABRP_CAL = OUTOP = SPACE = ABRJ_CAL = ABRP_CAL

Generated by Jive on 2012-12-19+01:00 34

Salary Projection Report

V_BETPE IMPORTING

= V_BETPE

JOB_OUTPUT_INFO TABLES IT_FINAL IT_EXEMP IT_EARN_OT IT_DEDU_80 IT_DEDU_80C IT_ZHR_INCCOMP IT_ZHR_PERNR IT_PERKS EXCEPTIONS FORMATTING_ERROR INTERNAL_ERROR SEND_ERROR USER_CANCELED OTHERS . IF SY-SUBRC <> 0. =5

= TAB_OTF_DATA

= IT_FINAL = IT_EXEMP = IT_EARN_OT = IT_DEDU_80 = IT_DEDU_80C = IT_ZHR_INCCOMP = IT_ZHR_PERNR = IT_PERKS

=1 =2 =3 =4

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

Generated by Jive on 2012-12-19+01:00 35

Salary Projection Report

ENDIF.

*To conevrt the output into PDF format TAB_OTF_FINAL[] = TAB_OTF_DATA-OTFDATA[].

DELETE TAB_OTF_DATA-OTFDATA WHERE TDPRINTCOM = '//'.

set country 'IN'. CALL FUNCTION 'CONVERT_OTF' EXPORTING FORMAT MAX_LINEWIDTH IMPORTING BIN_FILESIZE TABLES OTF LINES EXCEPTIONS ERR_MAX_LINEWIDTH =1 = TAB_OTF_FINAL = PDF_TAB = BIN_FILESIZE = 'PDF' = 132

Generated by Jive on 2012-12-19+01:00 36

Salary Projection Report

ERR_FORMAT

=2

ERR_CONV_NOT_POSSIBLE = 3 ERR_BAD_OTF OTHERS IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. = 5. =4

*To download the output in PDF format CONCATENATE 'C:\' 'INCOMETAX_COMP'(006) SY-DATUM SY-UZEIT '.PDF' INTO V_STRING. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING BIN_FILESIZE FILENAME FILETYPE IMPORTING FILELENGTH TABLES DATA_TAB EXCEPTIONS = PDF_TAB = FILE_SIZE = BIN_FILESIZE = V_STRING = 'BIN'

Generated by Jive on 2012-12-19+01:00 37

Salary Projection Report

FILE_WRITE_ERROR NO_BATCH =2

=1

GUI_REFUSE_FILETRANSFER = 3 INVALID_TYPE NO_AUTHORITY UNKNOWN_ERROR HEADER_NOT_ALLOWED =4 =5 =6 =7

SEPARATOR_NOT_ALLOWED = 8 FILESIZE_NOT_ALLOWED HEADER_TOO_LONG DP_ERROR_CREATE DP_ERROR_SEND DP_ERROR_WRITE UNKNOWN_DP_ERROR ACCESS_DENIED DP_OUT_OF_MEMORY DISK_FULL DP_TIMEOUT FILE_NOT_FOUND = 17 = 18 = 19 = 15 = 16 =9 = 10 = 11 = 12 = 13 = 14

DATAPROVIDER_EXCEPTION = 20 CONTROL_FLUSH_ERROR OTHERS = 22. = 21

Generated by Jive on 2012-12-19+01:00 38

Salary Projection Report

IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF.

CLEAR : IT_FINAL[], IT_FINAL.

*&---------------------------------------------------------------------* *& Form GET_DATA

*&---------------------------------------------------------------------* * Get Data

*----------------------------------------------------------------------* FORM GET_DATA .

*To get Wagetype details SELECT * FROM T511

Generated by Jive on 2012-12-19+01:00 39

Salary Projection Report

INTO TABLE IT_T511 WHERE MOLGA = '40'.

IF SY-SUBRC = 0. SORT IT_T511. ENDIF.

*To get Wagetype text SELECT * FROM T512T INTO TABLE IT_T512T WHERE SPRSL = 'EN' AND MOLGA = '40'.

IF SY-SUBRC = 0. SORT IT_T512T. ENDIF.

Generated by Jive on 2012-12-19+01:00 40

Salary Projection Report

*To get text used in infotype 0585 SELECT * FROM T7INI8 INTO TABLE IT_T7INI8 WHERE SPRSL = 'EN'.

*To get text used in infotype 0586 SELECT * FROM T7INI3 INTO TABLE IT_T7INI3 WHERE SPRSL = 'EN'.

*To initilaise the dates CONCATENATE ABRJ_CAL '04' '01' INTO V_BEGDA.

V_ABRJ_CAL = ABRJ_CAL + 1. CONCATENATE V_ABRJ_CAL '03' '31' INTO V_ENDDA.

Generated by Jive on 2012-12-19+01:00 41

Salary Projection Report

CONCATENATE ABRJ_CAL ABRP_CAL INTO V_PERIOD.

ENDFORM.

" GET_DATA

*&---------------------------------------------------------------------* *& Form GET_PAYRESULT

*&---------------------------------------------------------------------* * Get Pay Results

*----------------------------------------------------------------------* FORM GET_PAYRESULT . *Here the payroll result are fetched and moved to corresponding fields

CLEAR : RT[], V_FLAG.

*Macro to get RGDIR table for an employee CD-KEY-PERNR = PERNR-PERNR. RP-IMP-C2-CU.

Generated by Jive on 2012-12-19+01:00 42

Salary Projection Report

CHECK RP-IMP-CD-SUBRC EQ 0. LOOP AT RGDIR WHERE FPPER = V_PERIOD AND INPER = V_PERIOD AND FPBEG GE BEGCALSH AND FPEND LE ENDCALSH. *Macro to get payroll results RX-KEY-PERNR = PERNR-PERNR. RX-KEY-SEQNO = RGDIR-SEQNR. RP-IMP-C2-IN. IF RP-IMP-IN-SUBRC NE 0. V_FLAG = 'X'. REJECT. ENDIF. ENDLOOP.

*If data does not exist than there shoul dnot be no output IF RT[] IS INITIAL. V_FLAG = 'X'. WRITE: / 'No data to compute Income tax for'(007), PERNR-PERNR. EXIT. ENDIF.

Generated by Jive on 2012-12-19+01:00 43

Salary Projection Report

SORT CRT BY LGART. SORT RT BY LGART.

*To get Projection Factor this is used to get the projected amounts READ TABLE RT WITH KEY LGART = '/401'. IF SY-SUBRC = 0. MOVE RT-BETPE TO V_BETPE. ENDIF.

*To get the Cumulative figures of the employee Paycomponents LOOP AT CRT WHERE LGART GE '5000' AND CUMTY = 'Y' AND BETRG <> '0.00'.

CLEAR IT_T512T. READ TABLE IT_T512T WITH KEY LGART = CRT-LGART. IF SY-SUBRC = 0. IT_FINAL-LGTXT = IT_T512T-LGTXT. ENDIF.

Generated by Jive on 2012-12-19+01:00 44

Salary Projection Report

IF CRT-LGART = '9800' OR CRT-LGART = '9810' OR CRT-LGART = '9820' OR CRT-LGART = '9830' OR CRT-LGART = '9840' OR CRT-LGART = '6542'. IT_PERKS-AMTEX = CRT-BETRG. IT_PERKS-PERNR = PERNR-PERNR. IT_PERKS-STEXT = IT_T512T-LGTXT. APPEND IT_PERKS. CLEAR IT_PERKS. CLEAR IT_FINAL. CONTINUE. ENDIF. CLEAR IT_T511. READ TABLE IT_T511 WITH KEY LGART = CRT-LGART. IF SY-SUBRC = 0. IF IT_T511-OPKEN <> 'A'. IF IT_T511-ADSUM = 'X'. IT_FINAL-EARN = CRT-BETRG.

Generated by Jive on 2012-12-19+01:00 45

Salary Projection Report

IT_FINAL-PERNR = PERNR-PERNR. IT_FINAL-LGART = CRT-LGART. APPEND IT_FINAL. ENDIF. ENDIF. ENDIF. CLEAR IT_FINAL. ENDLOOP.

*To get the projected amounts the data is fetched form RT and is multupied by *projection factor CLEAR : IT_FINAL_RT[], IT_FINAL_RT. LOOP AT RT WHERE LGART GE '5000' AND BETRG <> '0.00'. CLEAR IT_T512T. READ TABLE IT_T512T WITH KEY LGART = RT-LGART. IF SY-SUBRC = 0. IT_FINAL_RT-LGTXT = IT_T512T-LGTXT. ENDIF.

Generated by Jive on 2012-12-19+01:00 46

Salary Projection Report

CLEAR IT_T511. READ TABLE IT_T511 WITH KEY LGART = RT-LGART. IF SY-SUBRC = 0. IF IT_T511-OPKEN <> 'A'. IF IT_T511-ADSUM = 'X'. IT_FINAL_RT-DEDU = RT-BETRG. IT_FINAL_RT-PERNR = PERNR-PERNR. IT_FINAL_RT-LGART = RT-LGART. APPEND IT_FINAL_RT. ENDIF. ENDIF. ENDIF. CLEAR IT_FINAL_RT. ENDLOOP.

*Sum if there is any split in the wagetype amounts CLEAR : IT_FINAL_RT_SUM[], IT_FINAL_RT_SUM.

Generated by Jive on 2012-12-19+01:00 47

Salary Projection Report

LOOP AT IT_FINAL_RT. COLLECT IT_FINAL_RT INTO IT_FINAL_RT_SUM. ENDLOOP.

*To move the projected data into final table LOOP AT IT_FINAL_RT_SUM.

*To get whether the income is Regular or Irregular income *Irregular incom eis not projected TABLES : T512W, V_512W_D, T512T.

DATA : BEGIN OF CUMM OCCURS 3, NUMBER(2) TYPE N, TEXT(30) X , ,

"Cummulations

END OF CUMM.

Generated by Jive on 2012-12-19+01:00 48

Salary Projection Report

DATA : LOOPVAR(2) TYPE N, LGA(4) TYPE C.

CLEAR : LGA, LOOPVAR, V_512W_D, CUMM[].

*Logic to get whether the amount is regular or irregulat income SELECT SINGLE * FROM T512W INTO V_512W_D WHERE MOLGA = '40' AND LGART = IT_FINAL_RT_SUM-LGART.

DO 96 TIMES. LOOPVAR = LOOPVAR + 1.

Generated by Jive on 2012-12-19+01:00 49

Salary Projection Report

LGA(2) = '/1'. LGA+2(2) = LOOPVAR. SELECT * FROM T512W WHERE MOLGA = '40' AND LGART = LGA. CUMM-NUMBER = LOOPVAR. PERFORM GET_BIT USING V_512W_D-KUMUL CUMM-NUMBER CUMM-X. PERFORM GET_LGA_TEXT USING '/1' CUMM-NUMBER CUMM-TEXT. COLLECT CUMM. EXIT. ENDSELECT. ENDDO.

*To move the projected data into final table READ TABLE CUMM WITH KEY NUMBER = '25'. READ TABLE IT_FINAL WITH KEY PERNR = PERNR-PERNR LGART = IT_FINAL_RT_SUM-LGART. IF SY-SUBRC = 0. IF CUMM-X <> 'X'. IT_FINAL-DEDU = IT_FINAL_RT_SUM-DEDU * V_BETPE.

Generated by Jive on 2012-12-19+01:00 50

Salary Projection Report

MODIFY IT_FINAL INDEX SY-TABIX. CLEAR IT_FINAL. ENDIF. ENDIF. ENDLOOP.

LOOP AT IT_FINAL.

CLEAR : LGA, LOOPVAR, V_512W_D, CUMM[].

*Logic to get whether the amount is regular or irregulat income SELECT SINGLE * FROM T512W INTO V_512W_D WHERE MOLGA = '40'

Generated by Jive on 2012-12-19+01:00 51

Salary Projection Report

AND

LGART = IT_FINAL-LGART.

DO 96 TIMES. LOOPVAR = LOOPVAR + 1. LGA(2) = '/1'. LGA+2(2) = LOOPVAR. SELECT * FROM T512W WHERE MOLGA = '40' AND LGART = LGA. CUMM-NUMBER = LOOPVAR. PERFORM GET_BIT USING V_512W_D-KUMUL CUMM-NUMBER CUMM-X. PERFORM GET_LGA_TEXT USING '/1' CUMM-NUMBER CUMM-TEXT. COLLECT CUMM. EXIT. ENDSELECT. ENDDO.

*To move the projected data into final table READ TABLE CUMM WITH KEY NUMBER = '24'.

Generated by Jive on 2012-12-19+01:00 52

Salary Projection Report

V_TEMP = CUMM-X. READ TABLE CUMM WITH KEY NUMBER = '25'. READ TABLE IT_FINAL WITH KEY PERNR = PERNR-PERNR LGART = IT_FINAL-LGART. IF SY-SUBRC = 0. IF V_TEMP <> 'X'. IF CUMM-X <> 'X'. DELETE IT_FINAL INDEX SY-TABIX. ENDIF. ENDIF. ENDIF. ENDLOOP.

*Exemptions and income tax projections are from RT table no need *for calculation, directly we can the dat

*To get the medical exemption amount CLEAR V_MDA_AMOUNT. READ TABLE RT WITH KEY LGART = '/414'. IF SY-SUBRC = 0.

Generated by Jive on 2012-12-19+01:00 53

Salary Projection Report

V_MDA_AMOUNT = RT-BETRG. ENDIF.

*To get the amount of Exemption U/S 10 READ TABLE RT WITH KEY LGART = '/130'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_EXEMP_10 = RT-BETRG + V_MDA_AMOUNT. ENDIF.

**To get the amount of Exemption U/S 10 * READ TABLE RT WITH KEY LGART = '/133'. * IF SY-SUBRC = 0. * * * * * if it_zhr_inccomp-v_exemp_10 is initial. IT_ZHR_INCCOMP-V_EXEMP_10 = RT-BETRG + V_MDA_AMOUNT. ELSE. IT_ZHR_INCCOMP-V_EXEMP_10 = RT-BETRG + IT_ZHR_INCCOMP-V_EXEMP_10. ENDIF.

* ENDIF.

Generated by Jive on 2012-12-19+01:00 54

Salary Projection Report

*To get the Professinal Tax amount READ TABLE RT WITH KEY LGART = '/424'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_PROF_TAX = RT-BETRG. ENDIF.

*To get Any other Income READ TABLE RT WITH KEY LGART = '/131'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_INCO_OTH = RT-BETRG. ENDIF.

*To get Agg of Chapter VI READ TABLE RT WITH KEY LGART = '/432'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_AGGR_CH6 = RT-BETRG. ENDIF.

*To get Tax on total Income

Generated by Jive on 2012-12-19+01:00 55

Salary Projection Report

READ TABLE RT WITH KEY LGART = '/436'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_TAX_INCO = RT-BETRG. ENDIF.

*To get Surcharge payable READ TABLE RT WITH KEY LGART = '/448'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_SURG_INC = RT-BETRG. ENDIF.

*To get Education Cess READ TABLE RT WITH KEY LGART = '/449'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_EDU_CESS = RT-BETRG. * Added by DEV02 READ TABLE RT WITH KEY LGART = '/447'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_EDU_CESS = RT-BETRG + IT_ZHR_INCCOMP-V_EDU_CESS. ENDIF.

Generated by Jive on 2012-12-19+01:00 56

Salary Projection Report

* Added by DEV02 ENDIF.

*To get Tax deducted so far READ TABLE RT WITH KEY LGART = '/456'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_TAX_DEDU = RT-BETRG. ENDIF.

*Net tax payable READ TABLE RT WITH KEY LGART = '/458'. IF SY-SUBRC = 0. if rt-betrg > 0. IT_ZHR_INCCOMP-V_NET_TAX = RT-BETRG. else. IT_ZHR_INCCOMP-V_NET_TAX = 0. endif. ENDIF.

Generated by Jive on 2012-12-19+01:00 57

Salary Projection Report

*Income tax for present month READ TABLE RT WITH KEY LGART = '/460'. IF SY-SUBRC = 0. IT_ZHR_INCCOMP-V_TAX_DEDU = IT_ZHR_INCCOMP-V_TAX_DEDU + RT-BETRG. IT_ZHR_INCCOMP-V_NET_TAX = IT_ZHR_INCCOMP-V_NET_TAX - RT-BETRG. ENDIF.

IT_ZHR_INCCOMP-PERNR = PERNR-PERNR. APPEND IT_ZHR_INCCOMP. CLEAR IT_ZHR_INCCOMP.

**Medical allowance to be added to Paycomponets of the employee * READ TABLE CRT WITH KEY LGART = '5160' * CUMTY = 'Y'.

* IF SY-SUBRC = 0. * IT_FINAL-EARN = CRT-BETRG.

Generated by Jive on 2012-12-19+01:00 58

Salary Projection Report

* * * *

IT_FINAL-LGTXT = 'Medical Allow'(008). IT_FINAL-PERNR = PERNR-PERNR. APPEND IT_FINAL. CLEAR IT_FINAL.

* ENDIF.

ENDFORM.

" GET_PAYRESULT

*&---------------------------------------------------------------------* *& Form GET_EXEMPTIONS

*&---------------------------------------------------------------------* * To get exemptions data

*----------------------------------------------------------------------* FORM GET_EXEMPTIONS . CLEAR : V_LETVL_0584, V_BSPFT_0584, V_CPGLN_0584, V_CPGLS_0584, V_CPGNS_0584, V_DVDND_0584,

Generated by Jive on 2012-12-19+01:00 59

Salary Projection Report

V_INTRS_0584, V_UNSPI_0584, IT_0585[], IT_0586[].

*To process data of infotype 0584 IF P0584[] IS NOT INITIAL. PERFORM GET_DETAILS_584. ENDIF.

*To process data of infotype 0585 IF P0585[] IS NOT INITIAL. PERFORM GET_DETAILS_585. ENDIF.

*To process data of infotype 0586 IF P0586[] IS NOT INITIAL. PERFORM GET_DETAILS_586. ENDIF.

Generated by Jive on 2012-12-19+01:00 60

Salary Projection Report

ENDFORM.

" GET_EXEMPTIONS

*&---------------------------------------------------------------------* *& Form GET_DETAILS_584

*&---------------------------------------------------------------------* * Process data of infotype 0584

*----------------------------------------------------------------------* FORM GET_DETAILS_584 .

LOOP AT P0584. *House property IF P0584-SUBTY = '0001'. IF P0584-RENTO = '1'. V_LETVL_0584 = V_LETVL_0584 - P0584-INT24. ELSE. V_LETVL_0584 = V_LETVL_0584 + P0584-LETVL P0584-INT24 - P0584-REP24 - P0584-OTH24 . ENDIF.

Generated by Jive on 2012-12-19+01:00 61

Salary Projection Report

*Income form other sources ELSEIF P0584-SUBTY = '0002'. V_BSPFT_0584 = P0584-BSPFT. V_CPGLN_0584 = P0584-CPGLN. V_CPGLS_0584 = P0584-CPGLS. V_CPGNS_0584 = P0584-CPGNS. V_DVDND_0584 = P0584-DVDND. V_INTRS_0584 = P0584-INTRS. V_UNSPI_0584 = P0584-UNSPI. ENDIF.

ENDLOOP. ENDFORM. " GET_DETAILS_584

*&---------------------------------------------------------------------* *& Form GET_DETAILS_585

*&---------------------------------------------------------------------* * Process data of infotype 0585

*----------------------------------------------------------------------* FORM GET_DETAILS_585 .

Generated by Jive on 2012-12-19+01:00 62

Salary Projection Report

DO 20 TIMES VARYING V_SBSEC FROM P0585-SBS01 NEXT P0585-SBS02 VARYING V_SBSDV FROM P0585-SBD01 NEXT P0585-SBD02 VARYING V_PCNTR FROM P0585-PCN01 NEXT P0585-PCN02 VARYING V_ACNTR FROM P0585-ACN01 NEXT P0585-ACN02.

IF V_PCNTR = '0.00' AND V_ACNTR = '0.00'. ELSE. IT_0585-SBSEC = V_SBSEC. IT_0585-SBDIV = V_SBSDV. IF P0585-ACOPC = 'P'. IT_0585-PCNTR = V_PCNTR. ENDIF. IF P0585-ACOPC = 'A'. IT_0585-ACNTR = V_ACNTR. ENDIF. APPEND IT_0585. CLEAR IT_0585. ENDIF.

ENDDO.

Generated by Jive on 2012-12-19+01:00 63

Salary Projection Report

ENDFORM.

" GET_DETAILS_585

*&---------------------------------------------------------------------* *& Form GET_DETAILS_586

*&---------------------------------------------------------------------* * Process data of infotype 0586

*----------------------------------------------------------------------* FORM GET_DETAILS_586.

DO 30 TIMES VARYING V_ICODE FROM P0586-ITC01 NEXT P0586-ITC02 VARYING V_PINVT FROM P0586-PIN01 NEXT P0586-PIN02 VARYING V_AINVT FROM P0586-AIN01 NEXT P0586-AIN02.

IF V_PINVT = '0.00' AND V_AINVT = '0.00'. ELSE. IT_0586-ICODE = V_ICODE. IF P0586-ACOPC = 'P'. IT_0586-PINVT = V_PINVT. ENDIF. IF P0586-ACOPC = 'A'. IT_0586-AINVT = V_AINVT.

Generated by Jive on 2012-12-19+01:00 64

Salary Projection Report

ENDIF. APPEND IT_0586. CLEAR IT_0586. ENDIF.

ENDDO.

ENDFORM.

" GET_DETAILS_586

*&---------------------------------------------------------------------* *& Form PROCESS_DATA

*&---------------------------------------------------------------------* * Process data

*----------------------------------------------------------------------* FORM PROCESS_DATA .

*To get CEA Annual Exemption CLEAR RT.

Generated by Jive on 2012-12-19+01:00 65

Salary Projection Report

READ TABLE RT WITH KEY LGART = '/4E1'. * READ TABLE EXM WITH KEY SUBTY = 'SCEA'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'CEA Annual Exemp'(009). IT_EXEMP-AMTEX = RT-BETRG. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP. ENDIF. "EXM-AMTEX.Changed by DEV02 "Changed by DEV02

*To get Conveyance Annual Exempt CLEAR RT. READ TABLE RT WITH KEY LGART = '/4E3'. * READ TABLE EXM WITH KEY SUBTY = 'SCNV'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'Conveyance Annual Exemp'(010). IT_EXEMP-AMTEX = RT-BETRG. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP. ELSE. "Changed by DEV02 "Changed by DEV02

Generated by Jive on 2012-12-19+01:00 66

Salary Projection Report

* Changed by DEV02 * * * * * * * * READ TABLE RT WITH KEY LGART = '9980'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'Conveyance Annual Exemp'(010). IT_EXEMP-AMTEX = RT-BETRG. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP. ENDIF.

* Changed by DEV02 ENDIF.

*To get Uniform Allow Exmp. READ TABLE RT WITH KEY LGART = '9981'. * READ TABLE EXM WITH KEY SUBTY = 'SEXM'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'Uniform Annual Exemp'(011). IT_EXEMP-AMTEX = RT-BETRG. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP. " EXM-AMTEX.Changed by DEV02 "Changed by DEV02

Generated by Jive on 2012-12-19+01:00 67

Salary Projection Report

ENDIF.

*To get HRA Annual Exemption READ TABLE RT WITH KEY LGART = '/4E4'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'HRA Annual Exemp'(012). IT_EXEMP-AMTEX = RT-BETRG. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP. ENDIF.

*To get LTA Annual Exemption READ TABLE RT WITH KEY LGART = '/4E5'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'LTA Annual Exemp'(013). IT_EXEMP-AMTEX = RT-BETRG. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP.

Generated by Jive on 2012-12-19+01:00 68

Salary Projection Report

ENDIF.

*To get medical exemption READ TABLE RT WITH KEY LGART = '/414'. * READ TABLE EXM WITH KEY SUBTY = 'MDA'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'Medical Exemp - Prorated '. IT_EXEMP-AMTEX = RT-BETRG. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP. ENDIF. "EXM-AMTEX. Changed by DEV02 "Changed by DEV02

*To get Stitching Charges (New added by DEV02) READ TABLE RT WITH KEY LGART = '9986'. * READ TABLE EXM WITH KEY SUBTY = 'SSTC'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'Stitching Charges'. IT_EXEMP-AMTEX = RT-BETRG. "EXM-AMTEX.

Generated by Jive on 2012-12-19+01:00 69

Salary Projection Report

IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP. ENDIF.

***To get Child hostel allows (New added by DEV02) ** READ TABLE EXM WITH KEY SUBTY = 'SCHA'. ** IF SY-SUBRC = 0. ** ** ** ** ** IT_EXEMP-STEXT = 'Child hostel allows'. IT_EXEMP-AMTEX = EXM-AMTEX. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP.

** ENDIF.

**To get Leave Encashment (New added by DEV02) ** READ TABLE EXM WITH KEY SUBTY = 'SLEA'. ** IF SY-SUBRC = 0. ** ** IT_EXEMP-STEXT = 'Leave Encashment'. IT_EXEMP-AMTEX = EXM-AMTEX.

Generated by Jive on 2012-12-19+01:00 70

Salary Projection Report

** ** **

IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP.

** ENDIF.

*To get Prev exemp u/s10 READ TABLE RT WITH KEY LGART = '/4V2'. IF SY-SUBRC = 0. IT_EXEMP-STEXT = 'Prev exemp u/s 10'(015). IT_EXEMP-AMTEX = RT-BETRG. IT_EXEMP-PERNR = PERNR-PERNR. APPEND IT_EXEMP. CLEAR IT_EXEMP. ENDIF.

*Other Earning data READ TABLE RT WITH KEY LGART = '/4V1'. IF SY-SUBRC = 0. IT_FINAL-LGTXT = 'Prev Emp Earnings'(016). IT_FINAL-EARN = RT-BETRG.

Generated by Jive on 2012-12-19+01:00 71

Salary Projection Report

IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_FINAL. CLEAR IT_FINAL. ENDIF.

*To move other income to final table IF V_BSPFT_0584 IS NOT INITIAL. IT_EARN_OT-STEXT = 'Business profits'(017). IT_EARN_OT-AMTEX = V_BSPFT_0584. IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_EARN_OT. CLEAR IT_EARN_OT. ENDIF.

IF V_CPGLN_0584 IS NOT INITIAL. IT_EARN_OT-STEXT = 'Long Term Capital Gains'(018). IT_EARN_OT-AMTEX = V_CPGLN_0584. IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_EARN_OT. CLEAR IT_EARN_OT.

Generated by Jive on 2012-12-19+01:00 72

Salary Projection Report

ENDIF.

IF V_CPGLS_0584 IS NOT INITIAL. IT_EARN_OT-STEXT = 'Long Term Capital Gains'(019). IT_EARN_OT-AMTEX = V_CPGLS_0584. IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_EARN_OT. CLEAR IT_EARN_OT. ENDIF.

IF V_CPGNS_0584 IS NOT INITIAL. IT_EARN_OT-STEXT = 'Short Term Capital Gains'(020). IT_EARN_OT-AMTEX = V_CPGNS_0584. IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_EARN_OT. CLEAR IT_EARN_OT. ENDIF.

IF V_DVDND_0584 IS NOT INITIAL.

Generated by Jive on 2012-12-19+01:00 73

Salary Projection Report

IT_EARN_OT-STEXT = 'Income from Dividend'(021). IT_EARN_OT-AMTEX = V_DVDND_0584. IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_EARN_OT. CLEAR IT_EARN_OT. ENDIF.

IF V_INTRS_0584 IS NOT INITIAL. IT_EARN_OT-STEXT = 'Income from Interest'(022). IT_EARN_OT-AMTEX = V_INTRS_0584. IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_EARN_OT. CLEAR IT_EARN_OT. ENDIF.

IF V_UNSPI_0584 IS NOT INITIAL. IT_EARN_OT-STEXT = 'Other Income (Unspecified)'(023). IT_EARN_OT-AMTEX = V_UNSPI_0584. IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_EARN_OT.

Generated by Jive on 2012-12-19+01:00 74

Salary Projection Report

CLEAR IT_EARN_OT. ENDIF.

IF V_LETVL_0584 IS NOT INITIAL. IT_EARN_OT-STEXT = 'Income from House property'(024). IT_EARN_OT-AMTEX = V_LETVL_0584. IT_EARN_OT-PERNR = PERNR-PERNR. APPEND IT_EARN_OT. CLEAR IT_EARN_OT. ENDIF.

*Section 80 deductions LOOP AT IT_0585.

IT_DEDU_80-AMTEX = IT_0585-PCNTR + IT_0585-ACNTR. * added by dev02 if IT_0585-SBSEC = '07' and IT_0585-SBDIV ='01'. it_dedu_80-amtex = it_dedu_80-amtex / 2. endif.

Generated by Jive on 2012-12-19+01:00 75

Salary Projection Report

* added by dev02 IF IT_DEDU_80-AMTEX IS NOT INITIAL. READ TABLE IT_T7INI8 WITH KEY SBSEC = IT_0585-SBSEC SBDIV = IT_0585-SBDIV. IF SY-SUBRC = 0. IT_DEDU_80-STEXT = IT_T7INI8-SBDDS. ENDIF. IT_DEDU_80-PERNR = PERNR-PERNR. APPEND IT_DEDU_80. ENDIF. CLEAR IT_DEDU_80. ENDLOOP.

LOOP AT IT_0586.

IT_DEDU_80C-AMTEX = IT_0586-PINVT + IT_0586-AINVT.

Generated by Jive on 2012-12-19+01:00 76

Salary Projection Report

IF IT_DEDU_80C-AMTEX IS NOT INITIAL. READ TABLE IT_T7INI3 WITH KEY ICODE = IT_0586-ICODE. IF SY-SUBRC = 0. IT_DEDU_80C-STEXT = IT_T7INI3-ITEXT. ENDIF. IT_DEDU_80C-PERNR = PERNR-PERNR. APPEND IT_DEDU_80C. ENDIF. CLEAR IT_DEDU_80C. ENDLOOP.

*To get PF contribution CLEAR : CRT, V_EEPF. READ TABLE CRT WITH KEY LGART = '/3F1' CUMTY = 'Y'.. IF SY-SUBRC = 0. IT_DEDU_80C-STEXT = 'Ee PF contribution(cum upto the Month)'. IT_DEDU_80C-AMTEX = CRT-BETRG. V_EEPF = CRT-BETRG.

IT_DEDU_80C-PERNR = PERNR-PERNR. APPEND IT_DEDU_80C.

Generated by Jive on 2012-12-19+01:00 77

Salary Projection Report

CLEAR IT_DEDU_80C. ENDIF.

CLEAR RT. READ TABLE RT WITH KEY LGART = '/3F2'. IF SY-SUBRC = 0. IT_DEDU_80C-STEXT = 'Ee VPF contribution'(046). IT_DEDU_80C-AMTEX = RT-BETRG. IT_DEDU_80C-PERNR = PERNR-PERNR. IF IT_DEDU_80C-AMTEX <> '0.00'. APPEND IT_DEDU_80C. ENDIF. CLEAR IT_DEDU_80C. ENDIF. " - V_EEPF.changed by Dev02 "'/3F6'.changed by Dev02

*To get LIC Exemption * READ TABLE RT WITH KEY LGART = '6692'. * IF SY-SUBRC = 0. * * IT_DEDU_80C-STEXT = 'LIC Exemp (Monthly)'. IT_DEDU_80C-AMTEX = RT-BETRG * ( -1 ).

Generated by Jive on 2012-12-19+01:00 78

Salary Projection Report

* * *

IT_DEDU_80C-PERNR = PERNR-PERNR. APPEND IT_DEDU_80C. CLEAR IT_DEDU_80C.

* ENDIF. * READ TABLE RT WITH KEY LGART = '6691'. * IF SY-SUBRC = 0. * * * * * IT_DEDU_80C-STEXT = 'LIC Exemp (Monthly)'. IT_DEDU_80C-AMTEX = RT-BETRG." * ( -1 ). IT_DEDU_80C-PERNR = PERNR-PERNR. APPEND IT_DEDU_80C. CLEAR IT_DEDU_80C.

* ENDIF.

* To get GSLIS READ TABLE RT WITH KEY LGART = '5320'. IF SY-SUBRC = 0. IT_DEDU_80C-STEXT = 'Contribution to notified annuity plan of LIC/GSL(Monthly)'. IT_DEDU_80C-AMTEX = RT-BETRG * ( -1 ). IT_DEDU_80C-PERNR = PERNR-PERNR. APPEND IT_DEDU_80C. CLEAR IT_DEDU_80C.

Generated by Jive on 2012-12-19+01:00 79

Salary Projection Report

ENDIF.

*To get Tution Fee(Akshara) READ TABLE RT WITH KEY LGART = '6520'. IF SY-SUBRC = 0. IT_DEDU_80C-STEXT = 'Tution Fee(Akshara) (Monthly)'. IT_DEDU_80C-AMTEX = RT-BETRG * ( -1 ). IT_DEDU_80C-PERNR = PERNR-PERNR. APPEND IT_DEDU_80C. CLEAR IT_DEDU_80C. ENDIF.

*To get postion text CLEAR V_PLSTX. SELECT SINGLE PLSTX FROM T528T INTO V_PLSTX WHERE SPRSL = 'EN' AND OTYPE = 'S' AND PLANS = PERNR-PLANS.

Generated by Jive on 2012-12-19+01:00 80

Salary Projection Report

*To get organization text CLEAR V_ORGTX. SELECT SINGLE ORGTX FROM T527X INTO V_ORGTX WHERE SPRSL = 'EN' AND ORGEH = PERNR-ORGEH.

*To get Pan Number CLEAR V_ICNUM. SELECT SINGLE ICNUM FROM PA0185 INTO V_ICNUM WHERE PERNR = PERNR-PERNR AND SUBTY = '02'.

*To get location CLEAR V_LOC.

Generated by Jive on 2012-12-19+01:00 81

Salary Projection Report

SELECT SINGLE ZZLOC FROM PA0001 INTO V_LOC WHERE PERNR = PERNR-PERNR AND ENDDA GE BEGCALSH AND BEGDA LE ENDCALSH.

IT_ZHR_PERNR-PERNR = PERNR-PERNR. IT_ZHR_PERNR-SNAME = PERNR-ENAME. IT_ZHR_PERNR-PLSTX = V_PLSTX. IT_ZHR_PERNR-ORGTX = V_ORGTX. IT_ZHR_PERNR-ICNUM = V_ICNUM. IT_ZHR_PERNR-ZZLOC = V_LOC. APPEND IT_ZHR_PERNR. CLEAR IT_ZHR_PERNR.

ENDFORM.

" PROCESS_DATA

*&---------------------------------------------------------------------*

Generated by Jive on 2012-12-19+01:00 82

Salary Projection Report

*&

Form GET_BIT

*&---------------------------------------------------------------------* * text

*----------------------------------------------------------------------* FORM GET_BIT USING BIT_STRING NUMBER VALUE. *Logic to get whether the Income is Regular or irregular income DATA BITS(8) TYPE X VALUE '8040201008040201'. DATA BYTE_NO TYPE I. BYTE_NO = ( NUMBER - 1 ) DIV 8. DATA BIT_NO TYPE I. BIT_NO = ( NUMBER - 1 ) MOD 8. DATA BYTE TYPE X.

SHIFT BIT_STRING BY BYTE_NO PLACES CIRCULAR LEFT IN BYTE MODE. SHIFT BITS BY BIT_NO PLACES CIRCULAR LEFT IN BYTE MODE.

BYTE = BIT_STRING. IF BYTE O BITS(1). VALUE = 'X'. ELSE. VALUE = ' '. ENDIF. SHIFT BIT_STRING BY BYTE_NO PLACES CIRCULAR RIGHT IN BYTE MODE. SHIFT BITS BY BIT_NO PLACES CIRCULAR RIGHT IN BYTE MODE.

Generated by Jive on 2012-12-19+01:00 83

Salary Projection Report

ENDFORM.

" GET_BIT

*&---------------------------------------------------------------------* *& Form GET_LGA_TEXT

*&---------------------------------------------------------------------* * text

*----------------------------------------------------------------------* FORM GET_LGA_TEXT USING PREFIX NUMBER TEXT. DATA: LGA(4). LGA(2) = PREFIX. LGA+2(2) = NUMBER. SELECT SINGLE * FROM T512T WHERE SPRSL = SY-LANGU AND MOLGA = '40' AND LGART = LGA. IF SY-SUBRC = 0. TEXT = T512T-LGTXT. ELSE. TEXT = SPACE. ENDIF. ENDFORM. " GET_LGA_TEXT

Generated by Jive on 2012-12-19+01:00 84

Salary Projection Report

Best Regards Venkata Manikanth

VIJAY M P 225 posts since Dec 1, 2005 Re: Salary Projection Report Sep 12, 2012 10:35 AM

Dear Mr Venkata

Thanks for sharing the coding of report, I have updated the same in our system while saving the prog system are given error about ztable like.. ZHR_Payslip_40,ZHR_Exemp etc.

So if possible pl provide the sturcture of used enternal table in the said report so we can develop in our system also.

regards Vijay

Venkata Manikanth 1,360 posts since Jun 26, 2012 Re: Salary Projection Report Sep 12, 2012 11:05 AM

Hi Vijay

I could not find the internal table structures defined for these two types, check with your Abaper and find out the IT values and fields used in the program and try to develop them locally.

Best Regards

Generated by Jive on 2012-12-19+01:00 85

Salary Projection Report

Venkata Manikanth

Generated by Jive on 2012-12-19+01:00 86

You might also like