<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: bonus in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bonus/m-p/1962376#M395542</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;This is also similar to the Pay Roll report. Sampl report is here;&lt;/P&gt;&lt;P&gt;Modify the Wage type for BONUS  by looking into table T511 and process accordingly.&lt;/P&gt;&lt;P&gt;report zhrrept_payroll_report&lt;/P&gt;&lt;P&gt;       no standard page heading&lt;/P&gt;&lt;P&gt;       line-size 130 line-count 65&lt;/P&gt;&lt;P&gt;       message-id zhr_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************&lt;STRONG&gt;Report Name  : Payroll GOSI Report&lt;/STRONG&gt;*********************&lt;/P&gt;&lt;P&gt;***************Description  : This Report is to display the HR       *&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           Payroll GOSI Details for the selected   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;tables : pa0001,  " HR Master Record: Infotype 0001 (Org. Assignment)&lt;/P&gt;&lt;P&gt;         pa0002,  " HR Master Record: Infotype 0002 (Personal Data)&lt;/P&gt;&lt;P&gt;         pa0078,  " HR Master Record: Infotype 0078 (Loan Payments)&lt;/P&gt;&lt;P&gt;         pa0003,  " HR Master Record: Infotype 0003 (Payroll Status)&lt;/P&gt;&lt;P&gt;         pcl1,    " HR Cluster I&lt;/P&gt;&lt;P&gt;         pcl2,    " HR Cluster II&lt;/P&gt;&lt;P&gt;         t500p,   " Personnel Areas&lt;/P&gt;&lt;P&gt;         t001,    " Company Codes&lt;/P&gt;&lt;P&gt;         t001p.   " Personnel Area/Subarea&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Standard Includes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;include : rpc2cd00,        " Cluster CD data definition&lt;/P&gt;&lt;P&gt;          rpc2rxx0,        " Cluster RX data definition&lt;/P&gt;&lt;P&gt;          rpc2rx00,        " Cluster RX data definition internat. part&lt;/P&gt;&lt;P&gt;          rpppxd00,        " Data definition buffer PCL1/PCL2&lt;/P&gt;&lt;P&gt;          rpppxd10,        " Common part buffer PCL1/PCL2&lt;/P&gt;&lt;P&gt;          rpppxm00.        " Buffer handling routine&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             Declaration of Data and Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Employee code,Name and Cost Center data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of itab_pernr occurs 0,&lt;/P&gt;&lt;P&gt;         pernr like pernr-pernr,&lt;/P&gt;&lt;P&gt;         werks like pa0001-werks,&lt;/P&gt;&lt;P&gt;         btrtl like pa0001-btrtl,&lt;/P&gt;&lt;P&gt;         kostl like pa0001-kostl,&lt;/P&gt;&lt;P&gt;       end of itab_pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Tables for Payments and Deductions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of it_data1 occurs 0,&lt;/P&gt;&lt;P&gt;         pernr like pernr-pernr,     " Personnel Number&lt;/P&gt;&lt;P&gt;         name(40) type c,            " Employee Name&lt;/P&gt;&lt;P&gt;         kostl like pa0001-kostl,    " Cost Center&lt;/P&gt;&lt;P&gt;         basic like pa0078-betrg,    " Basic&lt;/P&gt;&lt;P&gt;         hra   like pa0078-betrg,    " GOSI HRA&lt;/P&gt;&lt;P&gt;         gtotl like pa0078-betrg,    " GOSI Total salary&lt;/P&gt;&lt;P&gt;         empcg like pa0078-betrg,    " Employee Contribution&lt;/P&gt;&lt;P&gt;         emplr like pa0078-betrg,    " Employer Contribution&lt;/P&gt;&lt;P&gt;         totnt like pa0078-betrg,    " Total GOSI&lt;/P&gt;&lt;P&gt;       end of it_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variables for Cluster processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : get_pernr_flag     type i,&lt;/P&gt;&lt;P&gt;       calcmolga          like t500l-molga value '99',&lt;/P&gt;&lt;P&gt;       calc_currency      like t001-waers value 'DEM',&lt;/P&gt;&lt;P&gt;       save_calc_currency like t001-waers,&lt;/P&gt;&lt;P&gt;       count_top          type i,&lt;/P&gt;&lt;P&gt;       stand              like pc260-srtza.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : v_name(50)       type c,&lt;/P&gt;&lt;P&gt;       v_sno            type i,&lt;/P&gt;&lt;P&gt;       v_month(9)       type c,&lt;/P&gt;&lt;P&gt;       v_text1(14) type c,&lt;/P&gt;&lt;P&gt;       v_month_t(3)     type c,&lt;/P&gt;&lt;P&gt;       v_count type i value 1,&lt;/P&gt;&lt;P&gt;       ws_temp_month(2) type n,&lt;/P&gt;&lt;P&gt;       ws_fbeg        like sy-datum,&lt;/P&gt;&lt;P&gt;       ws_fend        like sy-datum,&lt;/P&gt;&lt;P&gt;       ws_temp        like pa0078-betrg,&lt;/P&gt;&lt;P&gt;       ws_fend1       like sy-datum,&lt;/P&gt;&lt;P&gt;       ws_fbeg1       like sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants for Payments and Deductions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;constants : cn_1000(4) type c value '1000', " Reference Basic&lt;/P&gt;&lt;P&gt;            cn_3000(4) type c value '3000', " GOSI HRA&lt;/P&gt;&lt;P&gt;            cn_3001(4) type c value '3001', " GOSI Salary&lt;/P&gt;&lt;P&gt;            cn_3010(4) type c value '3010', " Employee Contribution&lt;/P&gt;&lt;P&gt;            cn_3011(4) type c value '3011', " Employer Contribution&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Other Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            cn_01(2)   type n value '01',&lt;/P&gt;&lt;P&gt;            cn_31(2)   type n value '31',&lt;/P&gt;&lt;P&gt;            cn_100(3)  type n value '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Select-Options&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;selection-screen : skip,&lt;/P&gt;&lt;P&gt;                   begin of block 2 with frame title text-a02.&lt;/P&gt;&lt;P&gt;select-options: s_pernr for pa0001-pernr.&lt;/P&gt;&lt;P&gt;selection-screen skip.&lt;/P&gt;&lt;P&gt;parameters : p_month(2) type n obligatory,&lt;/P&gt;&lt;P&gt;             p_year(4)  type n obligatory,&lt;/P&gt;&lt;P&gt;             p_werks    like t500p-persa  obligatory default 'AM02',&lt;/P&gt;&lt;P&gt;             p_bukrs    like pa0001-bukrs obligatory default '1100'.&lt;/P&gt;&lt;P&gt;selection-screen end of block 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;Initialization&lt;/STRONG&gt;*********************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Previous month and current year for default input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  p_month = sy-datum+4(2).&lt;/P&gt;&lt;P&gt;  add -1 to p_month.&lt;/P&gt;&lt;P&gt;  p_year  = sy-datum(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;At Selection Screen&lt;/STRONG&gt;******************************************&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for the input values of selection screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform screen_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********&lt;STRONG&gt;Top of Page&lt;/STRONG&gt;***********************************************&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing Headings of the Report.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;Start of Selection&lt;/STRONG&gt;******************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selecting Data from Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;End of Selection&lt;/STRONG&gt;*********************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing data to output of the Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform write_data_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SCREEN_CHECK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Checking for the input values of selection screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form screen_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Personnel Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear pa0003.&lt;/P&gt;&lt;P&gt;  select pernr from pa0003 up to 1 rows&lt;/P&gt;&lt;P&gt;         into pa0003-pernr&lt;/P&gt;&lt;P&gt;         where pernr in s_pernr.&lt;/P&gt;&lt;P&gt;  endselect.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i001.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001.&lt;/P&gt;&lt;P&gt;  select bukrs from t001 up to 1 rows&lt;/P&gt;&lt;P&gt;         into t001-bukrs&lt;/P&gt;&lt;P&gt;         where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;  endselect.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i002.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of personnel Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t500p.&lt;/P&gt;&lt;P&gt;  select persa from t500p up to 1 rows&lt;/P&gt;&lt;P&gt;         into t500p-persa&lt;/P&gt;&lt;P&gt;         where persa = p_werks.&lt;/P&gt;&lt;P&gt;  endselect.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i003.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.           "SCREEN_CHECK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HEADER&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Writing Headings of the Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form header.&lt;/P&gt;&lt;P&gt;  perform convert_month using p_month(2) v_month.&lt;/P&gt;&lt;P&gt;  v_text1 = v_month.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate v_text1  p_year into v_text1 separated by space.&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;    write: /40 'PAYROLL GOSI REPORT FOR THE MONTH'(001),v_text1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    skip.&lt;/P&gt;&lt;P&gt;    write:/1(127) sy-uline.&lt;/P&gt;&lt;P&gt;    format color col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/1(127) sy-uline.&lt;/P&gt;&lt;P&gt;    write:/ sy-vline,   2(3)  'SNo'(002),&lt;/P&gt;&lt;P&gt;         5  sy-vline,   6(8)  'Emp.No'(003) centered,&lt;/P&gt;&lt;P&gt;        14  sy-vline,  15(10) 'CostCenter'(004),&lt;/P&gt;&lt;P&gt;        25  sy-vline,  26(40) 'Name of the Employee'(005) centered,&lt;/P&gt;&lt;P&gt;        66  sy-vline,  67(9)  'Ref.Basic'(006) centered,&lt;/P&gt;&lt;P&gt;        76  sy-vline,  77(9)  'GOSI HRA'(007),&lt;/P&gt;&lt;P&gt;        86  sy-vline,  87(9)  'GOSI Sal.'(008) centered,&lt;/P&gt;&lt;P&gt;        96  sy-vline,  97(9)  'Emp.Contr'(009),&lt;/P&gt;&lt;P&gt;       106  sy-vline, 107(9)  'EmplrCntr'(010) centered,&lt;/P&gt;&lt;P&gt;       116  sy-vline, 117(10) 'Total'(011),&lt;/P&gt;&lt;P&gt;       127  sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    write:/1(127) sy-uline.&lt;/P&gt;&lt;P&gt;endform.                    " HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selecting Data from Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data.&lt;/P&gt;&lt;P&gt;  set margin 5.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hardcode for cluster processing purpose&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  save_calc_currency = calc_currency.    "XUJP30K062848&lt;/P&gt;&lt;P&gt;  get_pernr_flag = 0.&lt;/P&gt;&lt;P&gt;  count_top = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection based on Company Code, Department and Division.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select pernr werks btrtl kostl&lt;/P&gt;&lt;P&gt;       into table itab_pernr from pa0001&lt;/P&gt;&lt;P&gt;                           where pernr in s_pernr&lt;/P&gt;&lt;P&gt;                           and   bukrs eq p_bukrs&lt;/P&gt;&lt;P&gt;                           and   werks eq p_werks.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Once only input for Division text select purpose&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; READ TABLE ITAB_PERNR INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WS_BTRTL = ITAB_PERNR-BTRTL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Process input month and year into period start and period end&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform process_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Start of coding for Import Cluster Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  call function 'RP_GET_CURRENCY'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            molga = calcmolga&lt;/P&gt;&lt;P&gt;       importing&lt;/P&gt;&lt;P&gt;            waers = calc_currency&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            others.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    calc_currency = save_calc_currency.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Coding to obtain cluster CD and cluster BT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at itab_pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire employee name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform get_emp_name.&lt;/P&gt;&lt;P&gt;    cd-key-pernr = itab_pernr-pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire cluster CD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform import_cluster.&lt;/P&gt;&lt;P&gt;    get_pernr_flag = 1.&lt;/P&gt;&lt;P&gt;    check : ocd-version-molga eq calcmolga.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at rgdir.&lt;/P&gt;&lt;P&gt;      rx-key-pernr = itab_pernr-pernr.&lt;/P&gt;&lt;P&gt;      unpack rgdir-seqnr to rx-key-seqno.&lt;/P&gt;&lt;P&gt;      check : rgdir-srtza eq stand or stand eq space.&lt;/P&gt;&lt;P&gt;      check : ws_fbeg le rgdir-fpend or ws_fbeg1 le rgdir-fpend.&lt;/P&gt;&lt;P&gt;      check : ws_fend ge rgdir-fpbeg or ws_fend1 ge rgdir-fpbeg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform import_bt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filter cluster to grab required wagetypes for amounts and quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform filter_data.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESS_PERIOD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Obtain start of month and end of month for cluster selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form process_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ws_fbeg(4)   = p_year.&lt;/P&gt;&lt;P&gt;  ws_fbeg+4(2) = p_month.&lt;/P&gt;&lt;P&gt;  ws_fbeg+6(2) = cn_01.&lt;/P&gt;&lt;P&gt;  ws_fend      = ws_fbeg.&lt;/P&gt;&lt;P&gt;  ws_fend+6(2) = cn_31.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire Prev period start and end&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ws_temp_month = p_month.&lt;/P&gt;&lt;P&gt;  add -1 to ws_temp_month.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ws_fend1      = ws_fend.&lt;/P&gt;&lt;P&gt;  ws_fend1+4(2) = ws_temp_month.&lt;/P&gt;&lt;P&gt;  ws_fbeg1      = ws_fbeg.&lt;/P&gt;&lt;P&gt;  ws_fbeg1+4(2) = ws_temp_month.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;form import_cluster.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rp-imp-c2-cd.&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    if cd-version-number ne ocd-version-number.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / 'Personalnummer:'(E00), RX-KEY-PERNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / TEXT-E01, 'CD', TEXT-E02.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / TEXT-E03,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               OCD-VERSION-NUMMER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / TEXT-E04,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              CD-VERSION-NUMMER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SY-SUBRC = 8.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE: / TEXT-E00, RX-KEY-PERNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE: / 'Cluster CD nicht gefunden'(E05).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.                               " SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;form get_emp_name.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Obtain first and last name and concatenate into v_name.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select single * from pa0002 where pernr eq itab_pernr-pernr.&lt;/P&gt;&lt;P&gt;  concatenate pa0002-vorna pa0002-nachn into v_name separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  it_data1-name = v_name.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;form filter_data.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filtering codes for WageTypes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filtered value is added to it_data1, it_data2 and it_data3 per&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;each required value. Select for BETRG(curr), BETPE(unit) via&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LGART(wagetype).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at rt.&lt;/P&gt;&lt;P&gt;    clear ws_temp.&lt;/P&gt;&lt;P&gt;    case rt-lgart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GOSI Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      when cn_1000.&lt;/P&gt;&lt;P&gt;        it_data1-basic = rt-betrg.&lt;/P&gt;&lt;P&gt;      when cn_3000.&lt;/P&gt;&lt;P&gt;        it_data1-hra = rt-betrg.&lt;/P&gt;&lt;P&gt;      when cn_3001.&lt;/P&gt;&lt;P&gt;        it_data1-gtotl = rt-betrg.&lt;/P&gt;&lt;P&gt;      when cn_3010.&lt;/P&gt;&lt;P&gt;        it_data1-empcg = rt-betrg.&lt;/P&gt;&lt;P&gt;      when cn_3011.&lt;/P&gt;&lt;P&gt;        it_data1-emplr = rt-betrg.&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  it_data1-pernr =  itab_pernr-pernr.&lt;/P&gt;&lt;P&gt;  it_data1-kostl =  itab_pernr-kostl.&lt;/P&gt;&lt;P&gt;  append: it_data1.&lt;/P&gt;&lt;P&gt;  clear:  it_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;form import_bt.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  rp-init-buffer.&lt;/P&gt;&lt;P&gt;  rp-imp-c2-rx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rp-imp-rx-subrc eq 0.&lt;/P&gt;&lt;P&gt;    if rx-version-number ne orx-version-number.&lt;/P&gt;&lt;P&gt;      stop.&lt;/P&gt;&lt;P&gt;      sy-subrc = 4.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    sy-subrc = 8.&lt;/P&gt;&lt;P&gt;    write : /  'Inconsistencies between cluster directory '(021),&lt;/P&gt;&lt;P&gt;             'and directory for PAYROLL RESULTS'(022).&lt;/P&gt;&lt;P&gt; write: / 'No payroll results found for data in cluster directory'(035).&lt;/P&gt;&lt;P&gt;   write : / 'Please contact hotline to solve the current problem'(036).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  write_data_out&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Writing data to output of the Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form write_data_out.&lt;/P&gt;&lt;P&gt;  sort it_data1 by pernr.&lt;/P&gt;&lt;P&gt;  loop at it_data1.&lt;/P&gt;&lt;P&gt;    v_sno = v_sno + 1.&lt;/P&gt;&lt;P&gt;    format color col_normal.&lt;/P&gt;&lt;P&gt;    write:/ sy-vline,   2(3)  v_sno,&lt;/P&gt;&lt;P&gt;         5  sy-vline,   6(8)  it_data1-pernr,&lt;/P&gt;&lt;P&gt;        14  sy-vline,  15(10) it_data1-kostl,&lt;/P&gt;&lt;P&gt;        25  sy-vline,  26(40) it_data1-name,&lt;/P&gt;&lt;P&gt;        66  sy-vline,  67(9)  it_data1-basic,&lt;/P&gt;&lt;P&gt;        76  sy-vline,  77(9)  it_data1-hra,&lt;/P&gt;&lt;P&gt;        86  sy-vline,  87(9)  it_data1-gtotl,&lt;/P&gt;&lt;P&gt;        96  sy-vline,  97(9)  it_data1-empcg,&lt;/P&gt;&lt;P&gt;       106  sy-vline, 107(9)  it_data1-emplr.&lt;/P&gt;&lt;P&gt;       it_data1-totnt = it_data1-empcg + it_data1-emplr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   write:116  sy-vline, 117(10) it_data1-totnt,&lt;/P&gt;&lt;P&gt;         127  sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  clear v_sno.&lt;/P&gt;&lt;P&gt;  write:/1(127) sy-uline.&lt;/P&gt;&lt;P&gt;endform.            "WRITE_DATA_OUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CONVERT_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Fetching Month Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form convert_month  using v_mth v_month_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case v_mth.&lt;/P&gt;&lt;P&gt;    when '01'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'January'(023).&lt;/P&gt;&lt;P&gt;    when '02'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'February'(024).&lt;/P&gt;&lt;P&gt;    when '03'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'March'(025).&lt;/P&gt;&lt;P&gt;    when '04'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'April'(026).&lt;/P&gt;&lt;P&gt;    when '05'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'May'(027).&lt;/P&gt;&lt;P&gt;    when '06'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'June'(028).&lt;/P&gt;&lt;P&gt;    when '07'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'July'(029).&lt;/P&gt;&lt;P&gt;    when '08'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'August'(030).&lt;/P&gt;&lt;P&gt;    when '09'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'September'(031).&lt;/P&gt;&lt;P&gt;    when '10'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'October'(032).&lt;/P&gt;&lt;P&gt;    when '11'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'November'(033).&lt;/P&gt;&lt;P&gt;    when '12'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'December'(034).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endform.                              " CONVERT_MONTH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 21 Feb 2007 09:13:03 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-02-21T09:13:03Z</dc:date>
    <item>
      <title>bonus</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bonus/m-p/1962375#M395541</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How to displays employee bonus details with formatted output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please provide the step by step procedure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vamsi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Feb 2007 08:39:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bonus/m-p/1962375#M395541</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-21T08:39:15Z</dc:date>
    </item>
    <item>
      <title>Re: bonus</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bonus/m-p/1962376#M395542</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;This is also similar to the Pay Roll report. Sampl report is here;&lt;/P&gt;&lt;P&gt;Modify the Wage type for BONUS  by looking into table T511 and process accordingly.&lt;/P&gt;&lt;P&gt;report zhrrept_payroll_report&lt;/P&gt;&lt;P&gt;       no standard page heading&lt;/P&gt;&lt;P&gt;       line-size 130 line-count 65&lt;/P&gt;&lt;P&gt;       message-id zhr_msg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************&lt;STRONG&gt;Report Name  : Payroll GOSI Report&lt;/STRONG&gt;*********************&lt;/P&gt;&lt;P&gt;***************Description  : This Report is to display the HR       *&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           Payroll GOSI Details for the selected   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table Declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;tables : pa0001,  " HR Master Record: Infotype 0001 (Org. Assignment)&lt;/P&gt;&lt;P&gt;         pa0002,  " HR Master Record: Infotype 0002 (Personal Data)&lt;/P&gt;&lt;P&gt;         pa0078,  " HR Master Record: Infotype 0078 (Loan Payments)&lt;/P&gt;&lt;P&gt;         pa0003,  " HR Master Record: Infotype 0003 (Payroll Status)&lt;/P&gt;&lt;P&gt;         pcl1,    " HR Cluster I&lt;/P&gt;&lt;P&gt;         pcl2,    " HR Cluster II&lt;/P&gt;&lt;P&gt;         t500p,   " Personnel Areas&lt;/P&gt;&lt;P&gt;         t001,    " Company Codes&lt;/P&gt;&lt;P&gt;         t001p.   " Personnel Area/Subarea&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Standard Includes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;include : rpc2cd00,        " Cluster CD data definition&lt;/P&gt;&lt;P&gt;          rpc2rxx0,        " Cluster RX data definition&lt;/P&gt;&lt;P&gt;          rpc2rx00,        " Cluster RX data definition internat. part&lt;/P&gt;&lt;P&gt;          rpppxd00,        " Data definition buffer PCL1/PCL2&lt;/P&gt;&lt;P&gt;          rpppxd10,        " Common part buffer PCL1/PCL2&lt;/P&gt;&lt;P&gt;          rpppxm00.        " Buffer handling routine&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             Declaration of Data and Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Employee code,Name and Cost Center data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of itab_pernr occurs 0,&lt;/P&gt;&lt;P&gt;         pernr like pernr-pernr,&lt;/P&gt;&lt;P&gt;         werks like pa0001-werks,&lt;/P&gt;&lt;P&gt;         btrtl like pa0001-btrtl,&lt;/P&gt;&lt;P&gt;         kostl like pa0001-kostl,&lt;/P&gt;&lt;P&gt;       end of itab_pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Tables for Payments and Deductions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of it_data1 occurs 0,&lt;/P&gt;&lt;P&gt;         pernr like pernr-pernr,     " Personnel Number&lt;/P&gt;&lt;P&gt;         name(40) type c,            " Employee Name&lt;/P&gt;&lt;P&gt;         kostl like pa0001-kostl,    " Cost Center&lt;/P&gt;&lt;P&gt;         basic like pa0078-betrg,    " Basic&lt;/P&gt;&lt;P&gt;         hra   like pa0078-betrg,    " GOSI HRA&lt;/P&gt;&lt;P&gt;         gtotl like pa0078-betrg,    " GOSI Total salary&lt;/P&gt;&lt;P&gt;         empcg like pa0078-betrg,    " Employee Contribution&lt;/P&gt;&lt;P&gt;         emplr like pa0078-betrg,    " Employer Contribution&lt;/P&gt;&lt;P&gt;         totnt like pa0078-betrg,    " Total GOSI&lt;/P&gt;&lt;P&gt;       end of it_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variables for Cluster processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : get_pernr_flag     type i,&lt;/P&gt;&lt;P&gt;       calcmolga          like t500l-molga value '99',&lt;/P&gt;&lt;P&gt;       calc_currency      like t001-waers value 'DEM',&lt;/P&gt;&lt;P&gt;       save_calc_currency like t001-waers,&lt;/P&gt;&lt;P&gt;       count_top          type i,&lt;/P&gt;&lt;P&gt;       stand              like pc260-srtza.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : v_name(50)       type c,&lt;/P&gt;&lt;P&gt;       v_sno            type i,&lt;/P&gt;&lt;P&gt;       v_month(9)       type c,&lt;/P&gt;&lt;P&gt;       v_text1(14) type c,&lt;/P&gt;&lt;P&gt;       v_month_t(3)     type c,&lt;/P&gt;&lt;P&gt;       v_count type i value 1,&lt;/P&gt;&lt;P&gt;       ws_temp_month(2) type n,&lt;/P&gt;&lt;P&gt;       ws_fbeg        like sy-datum,&lt;/P&gt;&lt;P&gt;       ws_fend        like sy-datum,&lt;/P&gt;&lt;P&gt;       ws_temp        like pa0078-betrg,&lt;/P&gt;&lt;P&gt;       ws_fend1       like sy-datum,&lt;/P&gt;&lt;P&gt;       ws_fbeg1       like sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants for Payments and Deductions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;constants : cn_1000(4) type c value '1000', " Reference Basic&lt;/P&gt;&lt;P&gt;            cn_3000(4) type c value '3000', " GOSI HRA&lt;/P&gt;&lt;P&gt;            cn_3001(4) type c value '3001', " GOSI Salary&lt;/P&gt;&lt;P&gt;            cn_3010(4) type c value '3010', " Employee Contribution&lt;/P&gt;&lt;P&gt;            cn_3011(4) type c value '3011', " Employer Contribution&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Other Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            cn_01(2)   type n value '01',&lt;/P&gt;&lt;P&gt;            cn_31(2)   type n value '31',&lt;/P&gt;&lt;P&gt;            cn_100(3)  type n value '100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Select-Options&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;selection-screen : skip,&lt;/P&gt;&lt;P&gt;                   begin of block 2 with frame title text-a02.&lt;/P&gt;&lt;P&gt;select-options: s_pernr for pa0001-pernr.&lt;/P&gt;&lt;P&gt;selection-screen skip.&lt;/P&gt;&lt;P&gt;parameters : p_month(2) type n obligatory,&lt;/P&gt;&lt;P&gt;             p_year(4)  type n obligatory,&lt;/P&gt;&lt;P&gt;             p_werks    like t500p-persa  obligatory default 'AM02',&lt;/P&gt;&lt;P&gt;             p_bukrs    like pa0001-bukrs obligatory default '1100'.&lt;/P&gt;&lt;P&gt;selection-screen end of block 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;Initialization&lt;/STRONG&gt;*********************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Previous month and current year for default input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  p_month = sy-datum+4(2).&lt;/P&gt;&lt;P&gt;  add -1 to p_month.&lt;/P&gt;&lt;P&gt;  p_year  = sy-datum(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;At Selection Screen&lt;/STRONG&gt;******************************************&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for the input values of selection screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform screen_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********&lt;STRONG&gt;Top of Page&lt;/STRONG&gt;***********************************************&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing Headings of the Report.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;Start of Selection&lt;/STRONG&gt;******************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selecting Data from Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;End of Selection&lt;/STRONG&gt;*********************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing data to output of the Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform write_data_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SCREEN_CHECK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Checking for the input values of selection screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form screen_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Personnel Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear pa0003.&lt;/P&gt;&lt;P&gt;  select pernr from pa0003 up to 1 rows&lt;/P&gt;&lt;P&gt;         into pa0003-pernr&lt;/P&gt;&lt;P&gt;         where pernr in s_pernr.&lt;/P&gt;&lt;P&gt;  endselect.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i001.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001.&lt;/P&gt;&lt;P&gt;  select bukrs from t001 up to 1 rows&lt;/P&gt;&lt;P&gt;         into t001-bukrs&lt;/P&gt;&lt;P&gt;         where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;  endselect.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i002.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of personnel Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t500p.&lt;/P&gt;&lt;P&gt;  select persa from t500p up to 1 rows&lt;/P&gt;&lt;P&gt;         into t500p-persa&lt;/P&gt;&lt;P&gt;         where persa = p_werks.&lt;/P&gt;&lt;P&gt;  endselect.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message i003.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.           "SCREEN_CHECK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HEADER&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Writing Headings of the Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form header.&lt;/P&gt;&lt;P&gt;  perform convert_month using p_month(2) v_month.&lt;/P&gt;&lt;P&gt;  v_text1 = v_month.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  concatenate v_text1  p_year into v_text1 separated by space.&lt;/P&gt;&lt;P&gt;  skip 2.&lt;/P&gt;&lt;P&gt;    write: /40 'PAYROLL GOSI REPORT FOR THE MONTH'(001),v_text1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    skip.&lt;/P&gt;&lt;P&gt;    write:/1(127) sy-uline.&lt;/P&gt;&lt;P&gt;    format color col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:/1(127) sy-uline.&lt;/P&gt;&lt;P&gt;    write:/ sy-vline,   2(3)  'SNo'(002),&lt;/P&gt;&lt;P&gt;         5  sy-vline,   6(8)  'Emp.No'(003) centered,&lt;/P&gt;&lt;P&gt;        14  sy-vline,  15(10) 'CostCenter'(004),&lt;/P&gt;&lt;P&gt;        25  sy-vline,  26(40) 'Name of the Employee'(005) centered,&lt;/P&gt;&lt;P&gt;        66  sy-vline,  67(9)  'Ref.Basic'(006) centered,&lt;/P&gt;&lt;P&gt;        76  sy-vline,  77(9)  'GOSI HRA'(007),&lt;/P&gt;&lt;P&gt;        86  sy-vline,  87(9)  'GOSI Sal.'(008) centered,&lt;/P&gt;&lt;P&gt;        96  sy-vline,  97(9)  'Emp.Contr'(009),&lt;/P&gt;&lt;P&gt;       106  sy-vline, 107(9)  'EmplrCntr'(010) centered,&lt;/P&gt;&lt;P&gt;       116  sy-vline, 117(10) 'Total'(011),&lt;/P&gt;&lt;P&gt;       127  sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    write:/1(127) sy-uline.&lt;/P&gt;&lt;P&gt;endform.                    " HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selecting Data from Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data.&lt;/P&gt;&lt;P&gt;  set margin 5.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hardcode for cluster processing purpose&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  save_calc_currency = calc_currency.    "XUJP30K062848&lt;/P&gt;&lt;P&gt;  get_pernr_flag = 0.&lt;/P&gt;&lt;P&gt;  count_top = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection based on Company Code, Department and Division.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select pernr werks btrtl kostl&lt;/P&gt;&lt;P&gt;       into table itab_pernr from pa0001&lt;/P&gt;&lt;P&gt;                           where pernr in s_pernr&lt;/P&gt;&lt;P&gt;                           and   bukrs eq p_bukrs&lt;/P&gt;&lt;P&gt;                           and   werks eq p_werks.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Once only input for Division text select purpose&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; READ TABLE ITAB_PERNR INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WS_BTRTL = ITAB_PERNR-BTRTL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Process input month and year into period start and period end&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform process_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Start of coding for Import Cluster Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  call function 'RP_GET_CURRENCY'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            molga = calcmolga&lt;/P&gt;&lt;P&gt;       importing&lt;/P&gt;&lt;P&gt;            waers = calc_currency&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            others.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    calc_currency = save_calc_currency.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Coding to obtain cluster CD and cluster BT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at itab_pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire employee name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform get_emp_name.&lt;/P&gt;&lt;P&gt;    cd-key-pernr = itab_pernr-pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire cluster CD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform import_cluster.&lt;/P&gt;&lt;P&gt;    get_pernr_flag = 1.&lt;/P&gt;&lt;P&gt;    check : ocd-version-molga eq calcmolga.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at rgdir.&lt;/P&gt;&lt;P&gt;      rx-key-pernr = itab_pernr-pernr.&lt;/P&gt;&lt;P&gt;      unpack rgdir-seqnr to rx-key-seqno.&lt;/P&gt;&lt;P&gt;      check : rgdir-srtza eq stand or stand eq space.&lt;/P&gt;&lt;P&gt;      check : ws_fbeg le rgdir-fpend or ws_fbeg1 le rgdir-fpend.&lt;/P&gt;&lt;P&gt;      check : ws_fend ge rgdir-fpbeg or ws_fend1 ge rgdir-fpbeg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform import_bt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filter cluster to grab required wagetypes for amounts and quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      perform filter_data.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESS_PERIOD&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Obtain start of month and end of month for cluster selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form process_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ws_fbeg(4)   = p_year.&lt;/P&gt;&lt;P&gt;  ws_fbeg+4(2) = p_month.&lt;/P&gt;&lt;P&gt;  ws_fbeg+6(2) = cn_01.&lt;/P&gt;&lt;P&gt;  ws_fend      = ws_fbeg.&lt;/P&gt;&lt;P&gt;  ws_fend+6(2) = cn_31.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire Prev period start and end&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ws_temp_month = p_month.&lt;/P&gt;&lt;P&gt;  add -1 to ws_temp_month.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ws_fend1      = ws_fend.&lt;/P&gt;&lt;P&gt;  ws_fend1+4(2) = ws_temp_month.&lt;/P&gt;&lt;P&gt;  ws_fbeg1      = ws_fbeg.&lt;/P&gt;&lt;P&gt;  ws_fbeg1+4(2) = ws_temp_month.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;form import_cluster.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rp-imp-c2-cd.&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    if cd-version-number ne ocd-version-number.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / 'Personalnummer:'(E00), RX-KEY-PERNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / TEXT-E01, 'CD', TEXT-E02.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / TEXT-E03,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               OCD-VERSION-NUMMER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WRITE: / TEXT-E04,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              CD-VERSION-NUMMER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SY-SUBRC = 8.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE: / TEXT-E00, RX-KEY-PERNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE: / 'Cluster CD nicht gefunden'(E05).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.                               " SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;form get_emp_name.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Obtain first and last name and concatenate into v_name.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select single * from pa0002 where pernr eq itab_pernr-pernr.&lt;/P&gt;&lt;P&gt;  concatenate pa0002-vorna pa0002-nachn into v_name separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  it_data1-name = v_name.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;form filter_data.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filtering codes for WageTypes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filtered value is added to it_data1, it_data2 and it_data3 per&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;each required value. Select for BETRG(curr), BETPE(unit) via&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LGART(wagetype).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at rt.&lt;/P&gt;&lt;P&gt;    clear ws_temp.&lt;/P&gt;&lt;P&gt;    case rt-lgart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GOSI Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      when cn_1000.&lt;/P&gt;&lt;P&gt;        it_data1-basic = rt-betrg.&lt;/P&gt;&lt;P&gt;      when cn_3000.&lt;/P&gt;&lt;P&gt;        it_data1-hra = rt-betrg.&lt;/P&gt;&lt;P&gt;      when cn_3001.&lt;/P&gt;&lt;P&gt;        it_data1-gtotl = rt-betrg.&lt;/P&gt;&lt;P&gt;      when cn_3010.&lt;/P&gt;&lt;P&gt;        it_data1-empcg = rt-betrg.&lt;/P&gt;&lt;P&gt;      when cn_3011.&lt;/P&gt;&lt;P&gt;        it_data1-emplr = rt-betrg.&lt;/P&gt;&lt;P&gt;      endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  it_data1-pernr =  itab_pernr-pernr.&lt;/P&gt;&lt;P&gt;  it_data1-kostl =  itab_pernr-kostl.&lt;/P&gt;&lt;P&gt;  append: it_data1.&lt;/P&gt;&lt;P&gt;  clear:  it_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;form import_bt.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  rp-init-buffer.&lt;/P&gt;&lt;P&gt;  rp-imp-c2-rx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if rp-imp-rx-subrc eq 0.&lt;/P&gt;&lt;P&gt;    if rx-version-number ne orx-version-number.&lt;/P&gt;&lt;P&gt;      stop.&lt;/P&gt;&lt;P&gt;      sy-subrc = 4.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    sy-subrc = 8.&lt;/P&gt;&lt;P&gt;    write : /  'Inconsistencies between cluster directory '(021),&lt;/P&gt;&lt;P&gt;             'and directory for PAYROLL RESULTS'(022).&lt;/P&gt;&lt;P&gt; write: / 'No payroll results found for data in cluster directory'(035).&lt;/P&gt;&lt;P&gt;   write : / 'Please contact hotline to solve the current problem'(036).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  write_data_out&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Writing data to output of the Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form write_data_out.&lt;/P&gt;&lt;P&gt;  sort it_data1 by pernr.&lt;/P&gt;&lt;P&gt;  loop at it_data1.&lt;/P&gt;&lt;P&gt;    v_sno = v_sno + 1.&lt;/P&gt;&lt;P&gt;    format color col_normal.&lt;/P&gt;&lt;P&gt;    write:/ sy-vline,   2(3)  v_sno,&lt;/P&gt;&lt;P&gt;         5  sy-vline,   6(8)  it_data1-pernr,&lt;/P&gt;&lt;P&gt;        14  sy-vline,  15(10) it_data1-kostl,&lt;/P&gt;&lt;P&gt;        25  sy-vline,  26(40) it_data1-name,&lt;/P&gt;&lt;P&gt;        66  sy-vline,  67(9)  it_data1-basic,&lt;/P&gt;&lt;P&gt;        76  sy-vline,  77(9)  it_data1-hra,&lt;/P&gt;&lt;P&gt;        86  sy-vline,  87(9)  it_data1-gtotl,&lt;/P&gt;&lt;P&gt;        96  sy-vline,  97(9)  it_data1-empcg,&lt;/P&gt;&lt;P&gt;       106  sy-vline, 107(9)  it_data1-emplr.&lt;/P&gt;&lt;P&gt;       it_data1-totnt = it_data1-empcg + it_data1-emplr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   write:116  sy-vline, 117(10) it_data1-totnt,&lt;/P&gt;&lt;P&gt;         127  sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  clear v_sno.&lt;/P&gt;&lt;P&gt;  write:/1(127) sy-uline.&lt;/P&gt;&lt;P&gt;endform.            "WRITE_DATA_OUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CONVERT_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Fetching Month Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form convert_month  using v_mth v_month_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case v_mth.&lt;/P&gt;&lt;P&gt;    when '01'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'January'(023).&lt;/P&gt;&lt;P&gt;    when '02'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'February'(024).&lt;/P&gt;&lt;P&gt;    when '03'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'March'(025).&lt;/P&gt;&lt;P&gt;    when '04'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'April'(026).&lt;/P&gt;&lt;P&gt;    when '05'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'May'(027).&lt;/P&gt;&lt;P&gt;    when '06'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'June'(028).&lt;/P&gt;&lt;P&gt;    when '07'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'July'(029).&lt;/P&gt;&lt;P&gt;    when '08'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'August'(030).&lt;/P&gt;&lt;P&gt;    when '09'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'September'(031).&lt;/P&gt;&lt;P&gt;    when '10'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'October'(032).&lt;/P&gt;&lt;P&gt;    when '11'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'November'(033).&lt;/P&gt;&lt;P&gt;    when '12'.&lt;/P&gt;&lt;P&gt;      v_month_text = 'December'(034).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endform.                              " CONVERT_MONTH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Feb 2007 09:13:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bonus/m-p/1962376#M395542</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-02-21T09:13:03Z</dc:date>
    </item>
  </channel>
</rss>

