<?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: HR Reports in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-reports/m-p/2784197#M649094</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have some reports but but i dont know to which extent it will useful to you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_______________________________________&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Report 1&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Ztest LINE-COUNT 20 LINE-SIZE 420.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Table Diclarations&lt;/P&gt;&lt;P&gt;TABLES: PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Infotype Diclarations&lt;/P&gt;&lt;P&gt;INFOTYPES: 0000,&lt;/P&gt;&lt;P&gt;           0001,&lt;/P&gt;&lt;P&gt;           0002,&lt;/P&gt;&lt;P&gt;           0006,&lt;/P&gt;&lt;P&gt;           0021.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Diclarations&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;PERNR TYPE P0000-PERNR,&lt;/P&gt;&lt;P&gt;STAT2 TYPE P0000-STAT2,&lt;/P&gt;&lt;P&gt;BUKRS TYPE P0001-BUKRS,&lt;/P&gt;&lt;P&gt;PLANS TYPE P0001-PLANS,&lt;/P&gt;&lt;P&gt;STELL TYPE P0001-STELL,&lt;/P&gt;&lt;P&gt;VORNA TYPE P0002-VORNA,&lt;/P&gt;&lt;P&gt;NACHN TYPE P0002-NACHN,&lt;/P&gt;&lt;P&gt;ANZKD TYPE P0002-ANZKD,&lt;/P&gt;&lt;P&gt;NAME2 TYPE P0006-NAME2,&lt;/P&gt;&lt;P&gt;STRAS TYPE P0006-STRAS,&lt;/P&gt;&lt;P&gt;ORT01 TYPE P0006-ORT01,&lt;/P&gt;&lt;P&gt;PSTLZ TYPE P0006-PSTLZ,&lt;/P&gt;&lt;P&gt;NAME21 TYPE P0006-NAME2,&lt;/P&gt;&lt;P&gt;STRAS1 TYPE P0006-STRAS,&lt;/P&gt;&lt;P&gt;ORT011 TYPE P0006-ORT01,&lt;/P&gt;&lt;P&gt;PSTLZ1 TYPE P0006-PSTLZ,&lt;/P&gt;&lt;P&gt;FAVOR TYPE P0021-FAVOR,&lt;/P&gt;&lt;P&gt;FANAM TYPE P0021-FANAM,&lt;/P&gt;&lt;P&gt;FGBDT TYPE P0021-FGBDT,&lt;/P&gt;&lt;P&gt;*SUBTY TYPE P0006-SUBTY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Start of Selection&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  RP_PROVIDE_FROM_LAST P0006 '2' PN-BEGDA PN-ENDDA.&lt;/P&gt;&lt;P&gt;  IF PNP-SW-FOUND = 1.&lt;/P&gt;&lt;P&gt;    MOVE: P0006-NAME2 TO ITAB-NAME2 ,&lt;/P&gt;&lt;P&gt;          P0006-STRAS TO ITAB-STRAS ,&lt;/P&gt;&lt;P&gt;          P0006-ORT01 TO ITAB-ORT01 ,&lt;/P&gt;&lt;P&gt;          P0006-PSTLZ TO ITAB-PSTLZ.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         P0006-SUBTY TO ITAB-SUBTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  RP_PROVIDE_FROM_FRST P0006 '1' PN-BEGDA PN-ENDDA.&lt;/P&gt;&lt;P&gt;  IF PNP-SW-FOUND = 1.&lt;/P&gt;&lt;P&gt;    MOVE :P0006-NAME2 TO ITAB-NAME21 ,&lt;/P&gt;&lt;P&gt;          P0006-STRAS TO ITAB-STRAS1 ,&lt;/P&gt;&lt;P&gt;          P0006-ORT01 TO ITAB-ORT011 ,&lt;/P&gt;&lt;P&gt;          P0006-PSTLZ TO ITAB-PSTLZ1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         P0006-SUBTY TO ITAB-SUBTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PROVIDE * FROM P0000&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from p0001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from p0002&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from p0021&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BETWEEN PN-BEGDA AND PN-ENDDA&lt;/P&gt;&lt;P&gt;  WHERE P0000-STAT2 = '2' OR&lt;/P&gt;&lt;P&gt;  P0000-STAT2 = '3' AND&lt;/P&gt;&lt;P&gt;  P0021-SUBTY = '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE: P0000-PERNR TO ITAB-PERNR,&lt;/P&gt;&lt;P&gt;          P0000-STAT2 TO ITAB-STAT2,&lt;/P&gt;&lt;P&gt;          P0001-BUKRS TO ITAB-BUKRS,&lt;/P&gt;&lt;P&gt;          P0001-PLANS TO ITAB-PLANS,&lt;/P&gt;&lt;P&gt;          P0001-STELL TO ITAB-STELL,&lt;/P&gt;&lt;P&gt;          P0002-VORNA TO ITAB-VORNA,&lt;/P&gt;&lt;P&gt;          P0002-NACHN TO ITAB-NACHN,&lt;/P&gt;&lt;P&gt;          P0002-ANZKD TO ITAB-ANZKD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move p0006-name2 to itab-name2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move p0006-stras to itab-stras.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move p0006-ort01 to itab-ort01.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move p0006-pstlz to itab-pstlz.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF P0002-ANZKD &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MOVE: P0021-FAVOR TO ITAB-FAVOR,&lt;/P&gt;&lt;P&gt;            P0021-FANAM TO ITAB-FANAM,&lt;/P&gt;&lt;P&gt;            P0021-FGBDT TO ITAB-FGBDT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND ITAB.&lt;/P&gt;&lt;P&gt;    CLEAR ITAB.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/1(420) SY-ULINE.&lt;/P&gt;&lt;P&gt;  WRITE:/1 SY-VLINE, 'pernr',&lt;/P&gt;&lt;P&gt;        20 SY-VLINE, 'stat2',&lt;/P&gt;&lt;P&gt;        40 SY-VLINE, 'bukrs',&lt;/P&gt;&lt;P&gt;        60 SY-VLINE, 'plans',&lt;/P&gt;&lt;P&gt;        80 SY-VLINE, 'stell',&lt;/P&gt;&lt;P&gt;        100 SY-VLINE, 'vorna',&lt;/P&gt;&lt;P&gt;        120 SY-VLINE, 'nachn',&lt;/P&gt;&lt;P&gt;        140 SY-VLINE, 'anzkd',&lt;/P&gt;&lt;P&gt;        160 SY-VLINE, 'name2',&lt;/P&gt;&lt;P&gt;        180 SY-VLINE, 'stras',&lt;/P&gt;&lt;P&gt;        200 SY-VLINE, 'ort01',&lt;/P&gt;&lt;P&gt;        220 SY-VLINE, 'pstlz',&lt;/P&gt;&lt;P&gt;        240 SY-VLINE, 'favor',&lt;/P&gt;&lt;P&gt;        250 SY-VLINE, 'fanam',&lt;/P&gt;&lt;P&gt;        285 SY-VLINE, 'fgbdt',&lt;/P&gt;&lt;P&gt;        310 SY-VLINE, 'name21',&lt;/P&gt;&lt;P&gt;        350 SY-VLINE, 'stras1',&lt;/P&gt;&lt;P&gt;        370 SY-VLINE, 'ort011',&lt;/P&gt;&lt;P&gt;        400 SY-VLINE, 'pstlz1',&lt;/P&gt;&lt;P&gt;        420 SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE:/1(420) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt; WRITE:/1 SY-VLINE, ITAB-PERNR COLOR 1,&lt;/P&gt;&lt;P&gt;       20 SY-VLINE, ITAB-STAT2 COLOR 1,&lt;/P&gt;&lt;P&gt;       40 SY-VLINE, ITAB-BUKRS COLOR 3,&lt;/P&gt;&lt;P&gt;       60 SY-VLINE, ITAB-PLANS COLOR 3,&lt;/P&gt;&lt;P&gt;       80 SY-VLINE, ITAB-STELL COLOR 3,&lt;/P&gt;&lt;P&gt;       100 SY-VLINE, ITAB-VORNA COLOR 4,&lt;/P&gt;&lt;P&gt;       120 SY-VLINE, ITAB-NACHN COLOR 4,&lt;/P&gt;&lt;P&gt;       140 SY-VLINE, ITAB-ANZKD COLOR 4,&lt;/P&gt;&lt;P&gt;       160 SY-VLINE, ITAB-NAME2 COLOR 5,&lt;/P&gt;&lt;P&gt;       180 SY-VLINE, ITAB-STRAS COLOR 5,&lt;/P&gt;&lt;P&gt;       200 SY-VLINE, ITAB-ORT01 COLOR 5,&lt;/P&gt;&lt;P&gt;       220 SY-VLINE, ITAB-PSTLZ COLOR 5,&lt;/P&gt;&lt;P&gt;       240 SY-VLINE, ITAB-FAVOR COLOR 6,&lt;/P&gt;&lt;P&gt;       250 SY-VLINE, ITAB-FANAM COLOR 6,&lt;/P&gt;&lt;P&gt;       285 SY-VLINE, ITAB-FGBDT COLOR 6,&lt;/P&gt;&lt;P&gt;       310 SY-VLINE, ITAB-NAME21 COLOR 7,&lt;/P&gt;&lt;P&gt;       350 SY-VLINE, ITAB-STRAS1 COLOR 7,&lt;/P&gt;&lt;P&gt;       370 SY-VLINE, ITAB-ORT011 COLOR 7,&lt;/P&gt;&lt;P&gt;       400 SY-VLINE, ITAB-PSTLZ1 COLOR 7,&lt;/P&gt;&lt;P&gt;       420 SY-VLINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      421 ITAB-SUBTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  WRITE:/1(420) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;else.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;write:/ 'The employee has no children'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;write:/ itab-pernr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-stat2,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-bukrs,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-plans,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-stell,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-vorna,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-nachn,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-anzkd,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-name2,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-stras,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-ort01,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-pstlz.&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;endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*uline.&lt;/P&gt;&lt;P&gt;____________________________________________________________________&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;3.	Report&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;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; Report  ZHR_003&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  ZHR_003.&lt;/P&gt;&lt;P&gt;*.......................................................................&lt;/P&gt;&lt;P&gt;*: Report:  ZP_POSTCODE                                                :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;:&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*: Date  :  2004                                                       :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*: Description: Displays report of employees by postcode area,         :&lt;/P&gt;&lt;P&gt;*:              includes current travelling allowances (i.e. parking   :&lt;/P&gt;&lt;P&gt;*:              permit or transport card etc..)                        :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*: Use:         Help encourage the use of car sharing and public       :&lt;/P&gt;&lt;P&gt;*:              transport where appropriate.                           :&lt;/P&gt;&lt;P&gt;*:.....................................................................:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.                                      "ALV Declarations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NODES: pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0000, 0001, 0002, 0006, 0008, 0014, 0105, 0121.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK pcode WITH FRAME TITLE text-s01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_pcode FOR p0006-pstlz.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK pcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_output,&lt;/P&gt;&lt;P&gt;  pernr       TYPE p0001-pernr,   "personnel name&lt;/P&gt;&lt;P&gt;  anredtxt    TYPE t522t-atext,   "title (based on p0002-anred)&lt;/P&gt;&lt;P&gt;  fname       TYPE p0002-vorna,   "first name&lt;/P&gt;&lt;P&gt;  lname       TYPE p0002-nachn,   "last name&lt;/P&gt;&lt;P&gt;  orgtx       TYPE t527x-orgtx,   "dept&lt;/P&gt;&lt;P&gt;  fte         TYPE p0008-bsgrd,   "fte&lt;/P&gt;&lt;P&gt;  parking(20) TYPE c,&lt;/P&gt;&lt;P&gt;  payslip     TYPE t526-sachn,        "payslip address&lt;/P&gt;&lt;P&gt;  telno       TYPE p0105-usrid_long,  "tel number(p0105-usrty = 0020)&lt;/P&gt;&lt;P&gt;  email       TYPE p0105-usrid_long,  "email (p0105-usrty = MAIL)&lt;/P&gt;&lt;P&gt;  postcode    type p0006-pstlz,&lt;/P&gt;&lt;P&gt; END OF t_output.&lt;/P&gt;&lt;P&gt;DATA: it_output TYPE STANDARD TABLE OF t_output INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_output TYPE t_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;data: fieldcatalog   type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;      gd_tab_group   type slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;      gd_layout      type slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gd_repid       like sy-repid,&lt;/P&gt;&lt;P&gt;      gt_events      type slis_t_event,&lt;/P&gt;&lt;P&gt;      gd_prntparams  type slis_print_alv,&lt;/P&gt;&lt;P&gt;      gd_count(6)    type n,&lt;/P&gt;&lt;P&gt;      gd_outtext(70) type c,&lt;/P&gt;&lt;P&gt;      gd_lines       type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: gd_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Infotype 0121 is used to store multiple contracts for personnel.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field p0121-hpern contains the personnel number for the main contract.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PROVIDE * from p0121 between pn-begda and pn-endda.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check if main contract&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p0121-pernr ne p0121-hpern.&lt;/P&gt;&lt;P&gt;      reject.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  add 1 to gd_count.&lt;/P&gt;&lt;P&gt;  concatenate 'Processing personnel data'(m10) gd_count into gd_outtext&lt;/P&gt;&lt;P&gt;            separated by ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display indicator for employee count&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform progress_indicator using gd_outtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve datd from infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp_provide_from_last p0000 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0001 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0002 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0006 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0008 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0014 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check post code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK p0006-pstlz IN so_pcode.  "cp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Post code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-postcode = p0006-pstlz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Personnel number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Personnel title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE atext&lt;/P&gt;&lt;P&gt;    FROM t522t&lt;/P&gt;&lt;P&gt;    INTO wa_output-anredtxt&lt;/P&gt;&lt;P&gt;   WHERE sprsl EQ sy-langu AND&lt;/P&gt;&lt;P&gt;         anred EQ p0002-anred.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-fname = p0002-vorna.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Last name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-lname = p0002-nachn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Organizational Unit text (dept)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE orgtx&lt;/P&gt;&lt;P&gt;    FROM t527x&lt;/P&gt;&lt;P&gt;    INTO wa_output-orgtx&lt;/P&gt;&lt;P&gt;   WHERE sprsl EQ sy-langu AND&lt;/P&gt;&lt;P&gt;         orgeh EQ p0001-orgeh AND&lt;/P&gt;&lt;P&gt;         endda GE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FTE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-fte = p0008-bsgrd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parking / travel deducted?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE p0014-lgart.&lt;/P&gt;&lt;P&gt;    WHEN '7180' OR '7181' OR '7182'.&lt;/P&gt;&lt;P&gt;      wa_output-parking = text-002.&lt;/P&gt;&lt;P&gt;    WHEN '7183'.&lt;/P&gt;&lt;P&gt;      wa_output-parking = text-001.&lt;/P&gt;&lt;P&gt;    WHEN '7171' OR '7172' or '7173' or '7174' or&lt;/P&gt;&lt;P&gt;         '7175' or '7176' or '7177' or '7178'.&lt;/P&gt;&lt;P&gt;      wa_output-parking = text-003.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Payslip Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE sachn&lt;/P&gt;&lt;P&gt;    FROM t526&lt;/P&gt;&lt;P&gt;    INTO wa_output-payslip&lt;/P&gt;&lt;P&gt;   WHERE werks EQ p0001-werks AND&lt;/P&gt;&lt;P&gt;         sachx EQ p0001-sacha.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PROVIDE * from p0105 between pn-begda and pn-endda.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Telephone numbers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p0105-usrty = '0020'.&lt;/P&gt;&lt;P&gt;       wa_output-telno = p0105-usrid_long.&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;  Email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p0105-usrty = 'MAIL'.&lt;/P&gt;&lt;P&gt;       wa_output-email = p0105-usrid_long.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append wa_output to it_output.&lt;/P&gt;&lt;P&gt;  clear: wa_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION.&lt;/P&gt;&lt;P&gt; END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;describe table it_output lines gd_lines.&lt;/P&gt;&lt;P&gt;if gd_lines gt 0.&lt;/P&gt;&lt;P&gt;  perform build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform build_layout.&lt;/P&gt;&lt;P&gt;  perform display_alv_report.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;  message i003(zp) with 'No records found'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&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  PROGRESS_INDICATOR&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;      Displays progress indicator on SAP 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 progress_indicator using p_text.&lt;/P&gt;&lt;P&gt;  call function 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PERCENTAGE = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           text       = p_text.&lt;/P&gt;&lt;P&gt;endform.                    " PROGRESS_INDICATOR&lt;/P&gt;&lt;P&gt;&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  BUILD_FIELDCATALOG&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;      Build Fieldcatalog for ALV 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 build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PERNR'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Personnel No.'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 10.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-emphasize   = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-key         = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-do_sum      = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-no_zero     = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'ANREDTXT'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Title'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'FNAME'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'First Name'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 2.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'LNAME'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Last Name'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 3.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'ORGTX'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Department'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 4.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'FTE'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'FTE'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 5.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PARKING'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Parking/Metrocard'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 6.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PAYSLIP'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Payslip Add.'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 7.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'TELNO'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Telephone'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 8.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'EMAIL'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'E-mail'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 9.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'POSTCODE'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Post code'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 10.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&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  BUILD_LAYOUT&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;      Build layout for ALV grid 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 build_layout.&lt;/P&gt;&lt;P&gt;  gd_layout-no_input          = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-totals_text       = 'Totals'(201).&lt;/P&gt;&lt;P&gt;  gd_layout-zebra             = 'X'.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&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  DISPLAY_ALV_REPORT&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;      Display report using ALV grid&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 display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            i_callback_program      = gd_repid&lt;/P&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;P&gt;            i_save                  = 'X'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab                = it_output&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            others                  = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_______________________________________________________________-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;4.	Report&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;Report:  ZSXP_ABSENCE_DATA                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date  :  12.02.2003                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description: Retrieve maternaty/Sickness Absence data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;REPORT  ZHR_004&lt;/P&gt;&lt;P&gt;      LINE-SIZE 100 NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                MESSAGE-ID 5g.&lt;/P&gt;&lt;P&gt;TABLES: t554s, pernr, pcl1, pcl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rpclst00.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2rx09.                      "Payroll results datadefns-Intl.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2rxx0.                      "Payroll results datadefns-Intl.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2rgg0.                      "Payroll results datadefns-GB&lt;/P&gt;&lt;P&gt;INCLUDE rpcfdcg0.                      "Payroll results datadefns-GB&lt;/P&gt;&lt;P&gt;INCLUDE rpcdatg0.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2cd00.                      "Cluster Directory defns.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2ps00.                      "Cluster: Generierte Schematas&lt;/P&gt;&lt;P&gt;INCLUDE rpc2pt00.&lt;/P&gt;&lt;P&gt;INCLUDE rpcfdc10.&lt;/P&gt;&lt;P&gt;INCLUDE rpcfdc00.&lt;/P&gt;&lt;P&gt;INCLUDE rpppxd00.&lt;/P&gt;&lt;P&gt;INCLUDE rpppxd10.&lt;/P&gt;&lt;P&gt;INCLUDE rpcfvp09.&lt;/P&gt;&lt;P&gt;INCLUDE rpcfvpg0.&lt;/P&gt;&lt;P&gt;INCLUDE rpppxm00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0001,                       "Organisational assignment&lt;/P&gt;&lt;P&gt;           0002,                       "Personal Data&lt;/P&gt;&lt;P&gt;           0003,                       "Payroll Status&lt;/P&gt;&lt;P&gt;           0088,                                            "SMP&lt;/P&gt;&lt;P&gt;           2001,                       "Absences&lt;/P&gt;&lt;P&gt;           0086.                       "SSP/SMP Exlclusions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   ssp_weeks TYPE p DECIMALS 2 VALUE 0.&lt;/P&gt;&lt;P&gt;DATA:   ssp_total TYPE p DECIMALS 2 VALUE 0,&lt;/P&gt;&lt;P&gt;        total_val TYPE p DECIMALS 2 VALUE 0,&lt;/P&gt;&lt;P&gt;        smp_weeks TYPE p DECIMALS 2 VALUE 0,&lt;/P&gt;&lt;P&gt;        smp_value TYPE p DECIMALS 2 VALUE 0,&lt;/P&gt;&lt;P&gt;        gross     LIKE pc207-betrg,&lt;/P&gt;&lt;P&gt;        dis_gross TYPE p DECIMALS 2 VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_begda(10) TYPE c,&lt;/P&gt;&lt;P&gt;      gd_endda(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ld_orgtxt LIKE t527x-orgtx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: name(30).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;      pernr LIKE p0002-pernr,&lt;/P&gt;&lt;P&gt;      perid LIKE p0002-perid,&lt;/P&gt;&lt;P&gt;      name  LIKE name,&lt;/P&gt;&lt;P&gt;      END OF itab.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_report,&lt;/P&gt;&lt;P&gt;   pernr   TYPE pernr-pernr,   "8&lt;/P&gt;&lt;P&gt;   name    TYPE name,          "30&lt;/P&gt;&lt;P&gt;   awart   TYPE p2001-awart,   "4&lt;/P&gt;&lt;P&gt;   begda   TYPE p2001-begda,   "10&lt;/P&gt;&lt;P&gt;   endda   TYPE p2001-endda,   "10&lt;/P&gt;&lt;P&gt;   wkspaid TYPE p DECIMALS 2,  "10&lt;/P&gt;&lt;P&gt;   amtpaid TYPE p DECIMALS 2,  "10&lt;/P&gt;&lt;P&gt;  END OF t_report.&lt;/P&gt;&lt;P&gt;DATA: it_report TYPE STANDARD TABLE OF t_report INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_report TYPE t_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: moabw LIKE t001p-moabw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: printheader TYPE i VALUE 1,&lt;/P&gt;&lt;P&gt;      gd_success  TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NCALE declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF pfra0_pcale,&lt;/P&gt;&lt;P&gt;           annee(4) TYPE c.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE pcint.&lt;/P&gt;&lt;P&gt;TYPES : END OF pfra0_pcale.&lt;/P&gt;&lt;P&gt;TYPES : pfra0_tab_pcale  TYPE  pfra0_pcale  OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  it_ncale TYPE STANDARD TABLE OF pcnat INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;       wa_ncale TYPE pcnat,&lt;/P&gt;&lt;P&gt;       it_pcale TYPE  pfra0_tab_pcale,&lt;/P&gt;&lt;P&gt;       pcale  TYPE  pfra0_tab_pcale.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SMP/SSP absence data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data begin of it_msa occurs 0.&lt;/P&gt;&lt;P&gt;        include structure pc27j.&lt;/P&gt;&lt;P&gt;data end of it_msa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_memid type char30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*STAR-OF-SELECTION&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gd_begda = pn-begda.&lt;/P&gt;&lt;P&gt;gd_endda = pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gd_begda+6(2) = '01'.&lt;/P&gt;&lt;P&gt;gd_endda+6(2) = '01'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh: it_msa.&lt;/P&gt;&lt;P&gt;clear:   it_msa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   PERFORM IMPORT_PC USING GD_SUCCESs.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_rgdir.&lt;/P&gt;&lt;P&gt;  while gd_begda le gd_endda.&lt;/P&gt;&lt;P&gt;    PERFORM get_new_rg USING gd_begda.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CALCULATE_DATE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            DAYS        = '0'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             MONTHS      = '1'&lt;/P&gt;&lt;P&gt;             START_DATE  = gd_begda&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;             RESULT_DATE = gd_begda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endwhile.&lt;/P&gt;&lt;P&gt;  msa[] = it_msa[].&lt;/P&gt;&lt;P&gt;  EXPORT msa TO MEMORY ID p_memid.&lt;/P&gt;&lt;P&gt;&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  GET_RGDIR&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;FORM get_rgdir.&lt;/P&gt;&lt;P&gt;  rp-init-buffer.&lt;/P&gt;&lt;P&gt;  CLEAR rgdir.&lt;/P&gt;&lt;P&gt;  REFRESH rgdir.&lt;/P&gt;&lt;P&gt;  MOVE pernr-pernr(8) TO cd-key-pernr.&lt;/P&gt;&lt;P&gt;  rp-imp-c2-cd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF rp-imp-cd-subrc = 0.                                "rgdir success&lt;/P&gt;&lt;P&gt;    SORT rgdir BY seqnr ASCENDING.&lt;/P&gt;&lt;P&gt;    CLEAR rgdir.&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;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM get_new_rg                                               *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  search_date                                                   *&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_new_rg USING search_date.&lt;/P&gt;&lt;P&gt;  DATA: rg_day TYPE d,&lt;/P&gt;&lt;P&gt;        rgbeg  TYPE d,&lt;/P&gt;&lt;P&gt;        rgend  TYPE d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE: search_date TO rg_day.&lt;/P&gt;&lt;P&gt;  CLEAR: msa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT rgdir WHERE void NE 'V'.&lt;/P&gt;&lt;P&gt;    MOVE: rgdir-fpbeg TO rgbeg,&lt;/P&gt;&lt;P&gt;          rgdir-fpend TO rgend.&lt;/P&gt;&lt;P&gt;    IF ( rgbeg &amp;lt;= rg_day ) AND&lt;/P&gt;&lt;P&gt;       ( rgend &amp;gt;= rg_day ) AND&lt;/P&gt;&lt;P&gt;       rgdir-srtza = 'A'.        "Must be periods actual set of results&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  UNPACK rgdir-seqnr TO rx-key-seqno.&lt;/P&gt;&lt;P&gt;  MOVE pernr-pernr(8) TO rx-key-pernr(8).&lt;/P&gt;&lt;P&gt;  rp-imp-c2-rg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append lines of msa to it_msa.&lt;/P&gt;&lt;P&gt;  IF rp-imp-rg-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  rg fail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  rg success&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Text elements&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; 001     Sickness History for SSP 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 002     Employee Name.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 003     National Insurance Number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 004     Payroll Number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 005     Sickness Start Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 006     Sickness End Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 007     Number of weeks paid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 008     system-error:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 009     No SSP / SMP record found&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 010     Absence type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 011     No. weeks paid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 012     Amount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 013     Organisation Unit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; T01     Sickness Absence types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selection texts&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;SO_SAP          SAP Att./absence types&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SO_SMP          SMP Att./absence types&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SO_SPP          SPP Att./absence types&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SO_SSP          SSP Att./absence types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_____________________________________________________________&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;5.	Report&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*.......................................................................&lt;/P&gt;&lt;P&gt;*: Report:  ZDOWNEMPDATA                                               :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;                           :&lt;/P&gt;&lt;P&gt;*: Date  :  2004                                                       :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*: Description: Downloads employee data to TAB delimited flat files    :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*:.....................................................................:&lt;/P&gt;&lt;P&gt;REPORT  ZHR_005                                        .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0000, 0001, 0007, 0008, 0121, 0615.&lt;/P&gt;&lt;P&gt;NODES: pernr.&lt;/P&gt;&lt;P&gt;TABLES: t001p.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_employee,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INCLUDE STRUCTURE hrms_biw_io_occupancy.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  begda	TYPE begda,&lt;/P&gt;&lt;P&gt;  endda	TYPE endda,&lt;/P&gt;&lt;P&gt;  pernr	TYPE pernr_d,&lt;/P&gt;&lt;P&gt;  rfpnr	TYPE rfpnr,&lt;/P&gt;&lt;P&gt;  bukrs	TYPE bukrs,&lt;/P&gt;&lt;P&gt;  werks	TYPE persa,&lt;/P&gt;&lt;P&gt;  btrtl	TYPE btrtl,&lt;/P&gt;&lt;P&gt;  persg	TYPE persg,&lt;/P&gt;&lt;P&gt;  persk	TYPE persk,&lt;/P&gt;&lt;P&gt;  orgeh	TYPE orgeh,&lt;/P&gt;&lt;P&gt;  stell	TYPE stell,&lt;/P&gt;&lt;P&gt;  plans	TYPE plans,&lt;/P&gt;&lt;P&gt;  kokrs	TYPE mast_coar,&lt;/P&gt;&lt;P&gt;  kostl	TYPE mast_cctr,&lt;/P&gt;&lt;P&gt;  abkrs	TYPE abkrs,&lt;/P&gt;&lt;P&gt;  molga	TYPE molga,&lt;/P&gt;&lt;P&gt;  trfar	TYPE trfar,&lt;/P&gt;&lt;P&gt;  trfgb	TYPE trfgb,&lt;/P&gt;&lt;P&gt;  trfkz	TYPE trfkz,&lt;/P&gt;&lt;P&gt;  trfgr	TYPE trfgr,&lt;/P&gt;&lt;P&gt;  trfst	TYPE trfst,&lt;/P&gt;&lt;P&gt;  bsgrd	TYPE bsgrd,&lt;/P&gt;&lt;P&gt;  ansal	TYPE ansal_15,&lt;/P&gt;&lt;P&gt;  ancur	TYPE ancur,&lt;/P&gt;&lt;P&gt;  empct	TYPE empct,&lt;/P&gt;&lt;P&gt;  stat2	TYPE stat2,&lt;/P&gt;&lt;P&gt;  ncsdate     TYPE hiredate,&lt;/P&gt;&lt;P&gt;  sltyp	TYPE p_sltyp,&lt;/P&gt;&lt;P&gt;  slreg	TYPE p_slreg,&lt;/P&gt;&lt;P&gt;  slgrp	TYPE p_slgrp,&lt;/P&gt;&lt;P&gt;  sllev	TYPE p_sllvl,&lt;/P&gt;&lt;P&gt;  ansvh	TYPE ansvh,&lt;/P&gt;&lt;P&gt;  vdsk1	TYPE vdsk1,&lt;/P&gt;&lt;P&gt;  sname	TYPE smnam,&lt;/P&gt;&lt;P&gt; END OF t_employee.&lt;/P&gt;&lt;P&gt;DATA: it_employee TYPE STANDARD TABLE OF t_employee INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_employee TYPE t_employee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_emptexts,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INCLUDE STRUCTURE hrms_bw_txt_employee.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATEFROM	TYPE RSDATEFROM,&lt;/P&gt;&lt;P&gt;  DATETO	TYPE RSDATETO,&lt;/P&gt;&lt;P&gt;  PERNR	TYPE PERSNO,&lt;/P&gt;&lt;P&gt;  TXTMD	TYPE EMNAM,&lt;/P&gt;&lt;P&gt; END OF t_emptexts.&lt;/P&gt;&lt;P&gt;DATA: it_emptexts TYPE STANDARD TABLE OF t_emptexts INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_emptexts TYPE t_emptexts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_contract,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INCLUDE STRUCTURE pa0615.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  pernr TYPE p0615-pernr,&lt;/P&gt;&lt;P&gt;  begda TYPE p0615-begda,&lt;/P&gt;&lt;P&gt;  endda TYPE p0615-endda,&lt;/P&gt;&lt;P&gt;  aedtm TYPE p0615-aedtm,&lt;/P&gt;&lt;P&gt;  ctype TYPE p0615-ctype,&lt;/P&gt;&lt;P&gt;  cbeg  TYPE p0615-cbeg,&lt;/P&gt;&lt;P&gt;  cend  TYPE p0615-cend,&lt;/P&gt;&lt;P&gt; END OF t_contract.&lt;/P&gt;&lt;P&gt;DATA: it_contract TYPE STANDARD TABLE OF t_contract INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_contract TYPE t_contract.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_tabemp TYPE filetable,&lt;/P&gt;&lt;P&gt;      gd_subrcemp TYPE i,&lt;/P&gt;&lt;P&gt;      it_tabempt TYPE filetable,&lt;/P&gt;&lt;P&gt;      gd_subrcempt TYPE i,&lt;/P&gt;&lt;P&gt;      it_tabcont TYPE filetable,&lt;/P&gt;&lt;P&gt;      gd_subrccont TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_downfile TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_emp   LIKE rlgrap-filename default 'c://emp.xls',&lt;/P&gt;&lt;P&gt;            p_empt  LIKE rlgrap-filename default 'c://empt.xls',&lt;/P&gt;&lt;P&gt;            p_cont LIKE rlgrap-filename default 'c://cont.xls'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK block1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*at selection-screen&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_emp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_tabemp.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      window_title      = 'Select File'&lt;/P&gt;&lt;P&gt;      default_filename  = '*.xls'&lt;/P&gt;&lt;P&gt;      initial_directory = 'C:\'&lt;/P&gt;&lt;P&gt;      multiselection    = ' '  "No multiple selection&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table        = it_tabemp&lt;/P&gt;&lt;P&gt;      rc                = gd_subrcemp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_tabemp INTO p_emp.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*at selection-screen&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_empt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_tabemp.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      window_title      = 'Select File'&lt;/P&gt;&lt;P&gt;      default_filename  = '*.xls'&lt;/P&gt;&lt;P&gt;      initial_directory = 'C:\'&lt;/P&gt;&lt;P&gt;      multiselection    = ' '  "No multiple selection&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table        = it_tabempt&lt;/P&gt;&lt;P&gt;      rc                = gd_subrcempt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_tabempt INTO p_empt.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*at selection-screen&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_cont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_tabcont.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      window_title      = 'Select File'&lt;/P&gt;&lt;P&gt;      default_filename  = '*.xls'&lt;/P&gt;&lt;P&gt;      initial_directory = 'C:\'&lt;/P&gt;&lt;P&gt;      multiselection    = ' '  "No multiple selection&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table        = it_tabcont&lt;/P&gt;&lt;P&gt;      rc                = gd_subrccont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_tabcont INTO p_cont.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selecting the latest infotype record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp_provide_from_last p0000 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0001 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0007 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0008 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0121 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0615 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0001 TO wa_employee.&lt;/P&gt;&lt;P&gt;  wa_employee-rfpnr = p0121-rfp01. "?????&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0007 TO wa_employee.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0008 TO wa_employee.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0000 TO wa_employee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE molga&lt;/P&gt;&lt;P&gt;    FROM t001p&lt;/P&gt;&lt;P&gt;    INTO wa_employee-molga&lt;/P&gt;&lt;P&gt;   WHERE werks EQ p0001-werks AND&lt;/P&gt;&lt;P&gt;         btrtl EQ p0001-btrtl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE trfkz&lt;/P&gt;&lt;P&gt;    FROM t503&lt;/P&gt;&lt;P&gt;    INTO wa_employee-trfkz&lt;/P&gt;&lt;P&gt;   WHERE persg EQ p0001-persg AND&lt;/P&gt;&lt;P&gt;         persk EQ p0001-persk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'HR_ENTRY_DATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      persnr                     = pernr-pernr&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RCLAS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BEGDA                      = '18000101'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDDA                      = '99991231'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VARKY                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;      entrydate                  = wa_employee-ncsdate&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENTRY_DATES                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   ENTRY_DATE_NOT_FOUND       = 1&lt;/P&gt;&lt;P&gt;   PERNR_NOT_ASSIGNED         = 2&lt;/P&gt;&lt;P&gt;   OTHERS                     = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;append employee data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_employee TO it_employee.&lt;/P&gt;&lt;P&gt;  CLEAR: wa_employee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_emptexts-datefrom = p0001-begda.&lt;/P&gt;&lt;P&gt;  wa_emptexts-dateto   = p0001-endda.&lt;/P&gt;&lt;P&gt;  wa_emptexts-pernr    = p0001-pernr.&lt;/P&gt;&lt;P&gt;  wa_emptexts-txtmd    = p0001-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append employee texts data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_emptexts TO it_emptexts.&lt;/P&gt;&lt;P&gt;  CLEAR: wa_emptexts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0615 TO wa_contract.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append employee contract data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_contract TO it_contract.&lt;/P&gt;&lt;P&gt;  CLEAR: wa_contract.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;download employee data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_emp IS INITIAL.&lt;/P&gt;&lt;P&gt;    gd_downfile = p_emp.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename              = gd_downfile&lt;/P&gt;&lt;P&gt;        filetype              = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator = 'X'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab              = it_employee.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Employee file downloaded to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'There was an error downloading Employee file to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;download employee texts data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_empt IS INITIAL.&lt;/P&gt;&lt;P&gt;    gd_downfile = p_empt.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename              = gd_downfile&lt;/P&gt;&lt;P&gt;        filetype              = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator = 'X'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab              = it_emptexts.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Employee text file downloaded to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'There was an error downloading Employee text file to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;download contract data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_cont IS INITIAL.&lt;/P&gt;&lt;P&gt;    gd_downfile = p_cont.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename              = gd_downfile&lt;/P&gt;&lt;P&gt;        filetype              = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator = 'X'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab              = it_contract.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Employee contract file downloaded to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'There was an error downloading Employee contract file to'&lt;/P&gt;&lt;P&gt;,&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;________________________________________________________________&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;6.	Report&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;......................................................................&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;: Report  ZIT0019_TXT                                                :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;                   &lt;span class="lia-unicode-emoji" title=":face_blowing_a_kiss:"&gt;😘&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;:.....................................................................&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;: Description :                                                      :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;:.............:                                                      :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;: Retrieves comment text for infotype 0019 form PCL1 cluster table   :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;:                                                                    :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;:....................................................................:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;REPORT  zhr_006.                                               .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NODES: pernr.&lt;/P&gt;&lt;P&gt;INFOTYPES: 0019.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Daten zu Cluster TX (Infotyptexte)                           *&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;INCLUDE RPC1TX00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INCLUDE rpcitx00.&lt;/P&gt;&lt;P&gt;*INCLUDE rpcitd00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_reptab,&lt;/P&gt;&lt;P&gt;  pernr TYPE pernr-pernr,&lt;/P&gt;&lt;P&gt;  subty TYPE p0019-subty,&lt;/P&gt;&lt;P&gt;  termn TYPE p0019-termn,&lt;/P&gt;&lt;P&gt;  text  LIKE ptext-line,&lt;/P&gt;&lt;P&gt; END OF t_reptab.&lt;/P&gt;&lt;P&gt;DATA: it_reptab TYPE STANDARD TABLE OF t_reptab INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_reptab TYPE t_reptab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      gd_tab_group TYPE slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;      gd_layout    TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gd_repid     LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      it_sortcat   TYPE slis_sortinfo_alv OCCURS 1,&lt;/P&gt;&lt;P&gt;      wa_sort LIKE LINE OF it_sortcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK subtyp WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_sub FOR p0019-subty.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK subtyp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*rp_provide_from_last p0019 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  PROVIDE * FROM p0019 BETWEEN pn-begda AND pn-endda.&lt;/P&gt;&lt;P&gt;    CHECK p0019-subty IN so_sub.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING p0019 TO tx-key.&lt;/P&gt;&lt;P&gt;    tx-key-infty = '0019'.&lt;/P&gt;&lt;P&gt;    rp-imp-c1-tx.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT ptext.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING p0019 TO wa_reptab.&lt;/P&gt;&lt;P&gt;        wa_reptab-text = ptext-line.&lt;/P&gt;&lt;P&gt;        APPEND wa_reptab TO it_reptab.&lt;/P&gt;&lt;P&gt;        CLEAR: wa_reptab.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT it_reptab BY pernr subty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  PERFORM build_layout.&lt;/P&gt;&lt;P&gt;  PERFORM build_sortcat.&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  BUILD_FIELDCATALOG&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;      Build Fieldcatalog for ALV 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 build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PERNR'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Personnel Num'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 10.&lt;/P&gt;&lt;P&gt;  fieldcatalog-emphasize   = 'X'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-key         = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-do_sum      = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-no_zero     = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND fieldcatalog TO fieldcatalog.&lt;/P&gt;&lt;P&gt;  CLEAR  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'SUBTY'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Sub Type'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  APPEND fieldcatalog TO fieldcatalog.&lt;/P&gt;&lt;P&gt;  CLEAR  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'TERMN'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Sub Type'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  APPEND fieldcatalog TO fieldcatalog.&lt;/P&gt;&lt;P&gt;  CLEAR  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'TEXT'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Text'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 2.&lt;/P&gt;&lt;P&gt;  APPEND fieldcatalog TO fieldcatalog.&lt;/P&gt;&lt;P&gt;  CLEAR  fieldcatalog.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&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  BUILD_LAYOUT&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;      Build layout for ALV grid 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 build_layout.&lt;/P&gt;&lt;P&gt;  gd_layout-no_input          = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-totals_text       = 'Totals'(201).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-totals_only        = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-f2code            = 'DISP'.  "Sets fcode for when double&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                        "click(press f2)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-zebra             = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-group_change_edit = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-header_text       = 'helllllo'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&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  DISPLAY_ALV_REPORT&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;      Display report using ALV grid&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 display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_callback_program      = gd_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_grid_title           = outtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;P&gt;            it_sort                 = it_sortcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_special_groups       = gd_tabgroup&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IT_EVENTS                = GT_XEVENTS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            i_save                  = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           is_variant              = z_template&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab                = it_reptab&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&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  build_sortcat&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;      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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 build_sortcat .&lt;/P&gt;&lt;P&gt;  wa_sort-spos      = 1.&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'PERNR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_sortcat-tabname&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_sort TO it_sortcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_sort-spos      = 2.&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'SUBTY'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_sortcat-tabname&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_sort TO it_sortcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_sort-spos      = 3.&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'TERMN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_sortcat-tabname&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_sort TO it_sortcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_sortcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_________________________________________________________________&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZHR_007 LINE-SIZE 100.&lt;/P&gt;&lt;P&gt;*-- declaration&lt;/P&gt;&lt;P&gt;TABLES: pernr.&lt;/P&gt;&lt;P&gt;INFOTYPES: 0002,                       "Personal Data&lt;/P&gt;&lt;P&gt;           0006.                       "Address&lt;/P&gt;&lt;P&gt;DATA: name LIKE pernr-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Processing&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;  PROVIDE * FROM p0002&lt;/P&gt;&lt;P&gt;          &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FROM p0006 BETWEEN pn-begda AND pn-endda&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           WHERE p0006-subty = '1'.&lt;/P&gt;&lt;P&gt;    IF p0006_valid EQ 'X'.&lt;/P&gt;&lt;P&gt;      CONCATENATE p0002-nachn p0002-vorna INTO name&lt;/P&gt;&lt;P&gt;      SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM print_data.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PRINT_DATA&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 print_data.&lt;/P&gt;&lt;P&gt;  WRITE: / p0002-pernr NO-ZERO,&lt;/P&gt;&lt;P&gt;           sy-vline,&lt;/P&gt;&lt;P&gt;           p0002-begda,&lt;/P&gt;&lt;P&gt;           sy-vline,&lt;/P&gt;&lt;P&gt;           p0002-endda,&lt;/P&gt;&lt;P&gt;           sy-vline,&lt;/P&gt;&lt;P&gt;           (30) name,&lt;/P&gt;&lt;P&gt;           sy-vline,&lt;/P&gt;&lt;P&gt;           (20) p0006-ort01.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;8.	Report&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; Report  ZHR_008&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZHR_008  LINE-SIZE 80  .&lt;/P&gt;&lt;P&gt;*-- Declaration&lt;/P&gt;&lt;P&gt;TABLES: pernr,&lt;/P&gt;&lt;P&gt;        t555v.                         "Job Titles&lt;/P&gt;&lt;P&gt;INFOTYPES: 0002,                       "Personal Data&lt;/P&gt;&lt;P&gt;           0007.                       "Planned Working Time&lt;/P&gt;&lt;P&gt;DATA: name LIKE pernr-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Processing&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;  PROVIDE nachn vorna FROM p0002&lt;/P&gt;&lt;P&gt;          zterf       FROM p0007 BETWEEN pn-begda AND pn-endda.&lt;/P&gt;&lt;P&gt;    IF p0007_valid EQ 'X'.&lt;/P&gt;&lt;P&gt;      CONCATENATE p0002-nachn p0002-vorna INTO name&lt;/P&gt;&lt;P&gt;      SEPARATED BY space.&lt;/P&gt;&lt;P&gt;      PERFORM re555v USING p0007-zterf.&lt;/P&gt;&lt;P&gt;     FORMAT RESET COLOR 6 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;      WRITE: /1(10) pernr-pernr COLOR 5 ,&lt;/P&gt;&lt;P&gt;              11 SY-VLINE,&lt;/P&gt;&lt;P&gt;              12(20) name COLOR 1,&lt;/P&gt;&lt;P&gt;              32 SY-VLINE,&lt;/P&gt;&lt;P&gt;               33(25) t555v-ztext COLOR 2,&lt;/P&gt;&lt;P&gt;               58 SY-VLINE,&lt;/P&gt;&lt;P&gt;               59(10) p0007-begda COLOR 3,&lt;/P&gt;&lt;P&gt;               69 SY-VLINE,&lt;/P&gt;&lt;P&gt;               70(10) p0007-endda COLOR 4,&lt;/P&gt;&lt;P&gt;               80 SY-VLINE.&lt;/P&gt;&lt;P&gt;     WRITE :/11 SY-VLINE,&lt;/P&gt;&lt;P&gt;             32 SY-VLINE,&lt;/P&gt;&lt;P&gt;             58 SY-VLINE,&lt;/P&gt;&lt;P&gt;             69 SY-VLINE,&lt;/P&gt;&lt;P&gt;             80 SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;ULINE.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM RE555v                                           *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read Time Management Status                           *&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 re555v USING value(tm_status).&lt;/P&gt;&lt;P&gt;  CHECK sy-langu  NE t555v-sprsl OR&lt;/P&gt;&lt;P&gt;        tm_status NE t555v-zterf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t555v WHERE sprsl EQ sy-langu&lt;/P&gt;&lt;P&gt;                             AND   zterf EQ tm_status.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MOVE space TO t555v.&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;9.	Report&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; Report  ZHR_009&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  zhr_009.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Declaration&lt;/P&gt;&lt;P&gt;TABLES: pernr,&lt;/P&gt;&lt;P&gt;        t512t,                         "Wage type text&lt;/P&gt;&lt;P&gt;        t001p.                         "Plant section&lt;/P&gt;&lt;P&gt;INFOTYPES: 0001,                       "Organ. assignment&lt;/P&gt;&lt;P&gt;           0014.                       "Recur.Payments/Deds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  rp_set_data_interval 'P0014' pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Processing&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;  CHECK LINES( p0014 ) GT 0.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0001 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp-read-t001p p0001-werks p0001-btrtl space.&lt;/P&gt;&lt;P&gt;  SKIP 2.&lt;/P&gt;&lt;P&gt;  WRITE: / pernr-pernr,&lt;/P&gt;&lt;P&gt;           (20) pernr-ename,&lt;/P&gt;&lt;P&gt;           p0001-werks,&lt;/P&gt;&lt;P&gt;           t001p-btext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT p0014 WHERE endda GE pn-begda&lt;/P&gt;&lt;P&gt;                AND   begda LE pn-endda.&lt;/P&gt;&lt;P&gt;    CHECK p0014-betrg NE 0.&lt;/P&gt;&lt;P&gt;    PERFORM print USING&lt;/P&gt;&lt;P&gt;                  p0014-lgart&lt;/P&gt;&lt;P&gt;                  p0014-betrg&lt;/P&gt;&lt;P&gt;                  p0014-begda&lt;/P&gt;&lt;P&gt;                  p0014-endda.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PRINT                                            *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Print List                                            *&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 print USING&lt;/P&gt;&lt;P&gt;           value(wtype)&lt;/P&gt;&lt;P&gt;           value(amount)&lt;/P&gt;&lt;P&gt;           value(begda)&lt;/P&gt;&lt;P&gt;           value(endda).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM re512t USING t001p-molga wtype.&lt;/P&gt;&lt;P&gt;  WRITE: / wtype UNDER pernr-ename,&lt;/P&gt;&lt;P&gt;           t512t-lgtxt,&lt;/P&gt;&lt;P&gt;           amount,&lt;/P&gt;&lt;P&gt;           begda,&lt;/P&gt;&lt;P&gt;           endda.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "print&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM RE512T                                           *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read Wagetype Texts                                   *&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 re512t USING value(country_grouping)&lt;/P&gt;&lt;P&gt;                  value(wtype).&lt;/P&gt;&lt;P&gt;  CHECK t512t-sprsl NE sy-langu&lt;/P&gt;&lt;P&gt;     OR t512t-molga NE country_grouping&lt;/P&gt;&lt;P&gt;     OR t512t-lgart NE wtype.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t512t&lt;/P&gt;&lt;P&gt;              WHERE sprsl EQ sy-langu&lt;/P&gt;&lt;P&gt;              AND   molga EQ country_grouping&lt;/P&gt;&lt;P&gt;              AND   lgart EQ wtype.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR t512t.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    "re512t&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10.	Report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zhr_010.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- declaration&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: pernr, t548t.                  "Date Types&lt;/P&gt;&lt;P&gt;INFOTYPES: 0001,                       "Org.Assignment&lt;/P&gt;&lt;P&gt;           0041.                       "Date Specifications&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$- Start of INCLUDE ZPSOL050_DATA_STRUCTURES         --$&lt;STRONG&gt;$&lt;/STRONG&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;  Include           ZPSOL050_DATA_STRUCTURES               *&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;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF dtype ,                  "Work area for IT0041&lt;/P&gt;&lt;P&gt;        dar LIKE p0041-dar01,&lt;/P&gt;&lt;P&gt;        dat LIKE p0041-dat01,&lt;/P&gt;&lt;P&gt;     END OF dtype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF data_struc,            "Data table structure&lt;/P&gt;&lt;P&gt;         pernr LIKE pernr-pernr,&lt;/P&gt;&lt;P&gt;         ename LIKE pernr-ename,&lt;/P&gt;&lt;P&gt;         eindt LIKE p0016-eindt,&lt;/P&gt;&lt;P&gt;         dar   LIKE p0041-dar01,&lt;/P&gt;&lt;P&gt;         dtext LIKE t548t-dtext,&lt;/P&gt;&lt;P&gt;         dat   LIKE p0041-dat01,&lt;/P&gt;&lt;P&gt;       END OF data_struc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: data_tab TYPE TABLE OF data_struc,&lt;/P&gt;&lt;P&gt;      data_tab_wa TYPE data_struc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: alv_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      alv_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: filled_lines LIKE sy-index,&lt;/P&gt;&lt;P&gt;      stru_disvar TYPE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$--- End of INCLUDE ZPSOL050_DATA_STRUCTURES         --$*$*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: datetype FOR p0041-dar01 DEFAULT '01'.&lt;/P&gt;&lt;P&gt;*-- Processing&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;  CHECK lines( p0041 ) GT 0.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0001 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0041 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  IF pnp-sw-found EQ 0.&lt;/P&gt;&lt;P&gt;    REJECT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    DO 12 TIMES VARYING dtype FROM p0041-dar01&lt;/P&gt;&lt;P&gt;                              NEXT p0041-dar02.&lt;/P&gt;&lt;P&gt;      IF dtype-dar IS INITIAL.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF dtype-dar IN datetype.&lt;/P&gt;&lt;P&gt;          CLEAR data_tab_wa.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING pernr TO data_tab_wa.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING dtype TO data_tab_wa.&lt;/P&gt;&lt;P&gt;          PERFORM read_hiredate.&lt;/P&gt;&lt;P&gt;          PERFORM re548t USING sy-langu dtype-dar.&lt;/P&gt;&lt;P&gt;          MOVE t548t-dtext TO data_tab_wa-dtext.&lt;/P&gt;&lt;P&gt;          APPEND data_tab_wa TO data_tab.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat_init USING alv_fieldcat.&lt;/P&gt;&lt;P&gt;  alv_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  alv_layout-zebra             = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_INTERFACE_CHECK           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_BUFFER_ACTIVE             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            i_callback_program        = 'ZPSOL060'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_PF_STATUS_SET    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_USER_COMMAND     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_TOP_OF_PAGE      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_HTML_TOP_OF_PAGE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_HTML_END_OF_LIST = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_STRUCTURE_NAME            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_BACKGROUND_ID             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          I_GRID_TITLE                = 'Date Specifications'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_GRID_SETTINGS             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout                 = alv_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat               = alv_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_EXCLUDING                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_SPECIAL_GROUPS           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_SORT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_FILTER                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IS_SEL_HIDE                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_DEFAULT                   = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          I_SAVE                      = 'A'&lt;/P&gt;&lt;P&gt;          IS_VARIANT                  = stru_disvar&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_EVENTS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_EVENT_EXIT               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IS_PRINT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IS_REPREP_ID                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_SCREEN_START_COLUMN       = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_SCREEN_START_LINE         = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_SCREEN_END_COLUMN         = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_SCREEN_END_LINE           = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_ALV_GRAPHICS             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_ADD_FIELDCAT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_HYPERLINK                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        E_EXIT_CAUSED_BY_CALLER     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ES_EXIT_CAUSED_BY_USER      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	TABLES&lt;/P&gt;&lt;P&gt;            t_outtab               = data_tab&lt;/P&gt;&lt;P&gt;    	EXCEPTIONS&lt;/P&gt;&lt;P&gt;          program_error            = 1&lt;/P&gt;&lt;P&gt;          OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 1.&lt;/P&gt;&lt;P&gt;    WRITE: 'Program error'(002).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM READ_HIREDATE&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Retrieving hiredate from infotype 0000&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 read_hiredate.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RP_GET_HIRE_DATE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            persnr          = p0001-pernr&lt;/P&gt;&lt;P&gt;            check_infotypes = '0000'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            hiredate        = data_tab_wa-eindt&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS          = 1.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM RE548T&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read date specification texts&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;VALUE (LANGUAGE)&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(DTYPE)&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 re548t USING value(language)&lt;/P&gt;&lt;P&gt;                  value(dtype).&lt;/P&gt;&lt;P&gt;  CHECK t548t-sprsl NE language&lt;/P&gt;&lt;P&gt;     OR t548t-datar NE dtype.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t548t&lt;/P&gt;&lt;P&gt;              WHERE sprsl EQ language&lt;/P&gt;&lt;P&gt;              AND   datar EQ dtype.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR t548t.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$- Start of INCLUDE ZPSOL050_FILL_FIELDCAT            --$&lt;STRONG&gt;$&lt;/STRONG&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;  Include           ZPSOL050_FILL_FIELDCAT                  *&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;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM FIELDCAT_INIT&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 fieldcat_init USING p_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  DATA: ls_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'PERNR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'PERNR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-key         = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'ENAME'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'PERNR'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'EINDT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'P0016'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'DAR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_fieldname = 'DAR01'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'P0041'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'DTEXT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'T548T'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'DAT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_fieldname = 'DAT01'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'P0041'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$--- End of INCLUDE ZPSOL050_FILL_FIELDCAT            --$&lt;STRONG&gt;$&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Medha.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 16 Sep 2007 04:50:21 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-16T04:50:21Z</dc:date>
    <item>
      <title>HR Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-reports/m-p/2784196#M649093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear guru's,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; can any one send me the example hr reports for learning.&lt;/P&gt;&lt;P&gt;i dont know how to make hr reports.&lt;/P&gt;&lt;P&gt;about the get or provide statment. please send me 1 or 2 example reports with the detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;maqsood&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Sep 2007 11:41:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-reports/m-p/2784196#M649093</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-15T11:41:57Z</dc:date>
    </item>
    <item>
      <title>Re: HR Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-reports/m-p/2784197#M649094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have some reports but but i dont know to which extent it will useful to you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_______________________________________&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Report 1&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Ztest LINE-COUNT 20 LINE-SIZE 420.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Table Diclarations&lt;/P&gt;&lt;P&gt;TABLES: PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Infotype Diclarations&lt;/P&gt;&lt;P&gt;INFOTYPES: 0000,&lt;/P&gt;&lt;P&gt;           0001,&lt;/P&gt;&lt;P&gt;           0002,&lt;/P&gt;&lt;P&gt;           0006,&lt;/P&gt;&lt;P&gt;           0021.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data Diclarations&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;PERNR TYPE P0000-PERNR,&lt;/P&gt;&lt;P&gt;STAT2 TYPE P0000-STAT2,&lt;/P&gt;&lt;P&gt;BUKRS TYPE P0001-BUKRS,&lt;/P&gt;&lt;P&gt;PLANS TYPE P0001-PLANS,&lt;/P&gt;&lt;P&gt;STELL TYPE P0001-STELL,&lt;/P&gt;&lt;P&gt;VORNA TYPE P0002-VORNA,&lt;/P&gt;&lt;P&gt;NACHN TYPE P0002-NACHN,&lt;/P&gt;&lt;P&gt;ANZKD TYPE P0002-ANZKD,&lt;/P&gt;&lt;P&gt;NAME2 TYPE P0006-NAME2,&lt;/P&gt;&lt;P&gt;STRAS TYPE P0006-STRAS,&lt;/P&gt;&lt;P&gt;ORT01 TYPE P0006-ORT01,&lt;/P&gt;&lt;P&gt;PSTLZ TYPE P0006-PSTLZ,&lt;/P&gt;&lt;P&gt;NAME21 TYPE P0006-NAME2,&lt;/P&gt;&lt;P&gt;STRAS1 TYPE P0006-STRAS,&lt;/P&gt;&lt;P&gt;ORT011 TYPE P0006-ORT01,&lt;/P&gt;&lt;P&gt;PSTLZ1 TYPE P0006-PSTLZ,&lt;/P&gt;&lt;P&gt;FAVOR TYPE P0021-FAVOR,&lt;/P&gt;&lt;P&gt;FANAM TYPE P0021-FANAM,&lt;/P&gt;&lt;P&gt;FGBDT TYPE P0021-FGBDT,&lt;/P&gt;&lt;P&gt;*SUBTY TYPE P0006-SUBTY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Start of Selection&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  RP_PROVIDE_FROM_LAST P0006 '2' PN-BEGDA PN-ENDDA.&lt;/P&gt;&lt;P&gt;  IF PNP-SW-FOUND = 1.&lt;/P&gt;&lt;P&gt;    MOVE: P0006-NAME2 TO ITAB-NAME2 ,&lt;/P&gt;&lt;P&gt;          P0006-STRAS TO ITAB-STRAS ,&lt;/P&gt;&lt;P&gt;          P0006-ORT01 TO ITAB-ORT01 ,&lt;/P&gt;&lt;P&gt;          P0006-PSTLZ TO ITAB-PSTLZ.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         P0006-SUBTY TO ITAB-SUBTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  RP_PROVIDE_FROM_FRST P0006 '1' PN-BEGDA PN-ENDDA.&lt;/P&gt;&lt;P&gt;  IF PNP-SW-FOUND = 1.&lt;/P&gt;&lt;P&gt;    MOVE :P0006-NAME2 TO ITAB-NAME21 ,&lt;/P&gt;&lt;P&gt;          P0006-STRAS TO ITAB-STRAS1 ,&lt;/P&gt;&lt;P&gt;          P0006-ORT01 TO ITAB-ORT011 ,&lt;/P&gt;&lt;P&gt;          P0006-PSTLZ TO ITAB-PSTLZ1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         P0006-SUBTY TO ITAB-SUBTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PROVIDE * FROM P0000&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from p0001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from p0002&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from p0021&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BETWEEN PN-BEGDA AND PN-ENDDA&lt;/P&gt;&lt;P&gt;  WHERE P0000-STAT2 = '2' OR&lt;/P&gt;&lt;P&gt;  P0000-STAT2 = '3' AND&lt;/P&gt;&lt;P&gt;  P0021-SUBTY = '2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE: P0000-PERNR TO ITAB-PERNR,&lt;/P&gt;&lt;P&gt;          P0000-STAT2 TO ITAB-STAT2,&lt;/P&gt;&lt;P&gt;          P0001-BUKRS TO ITAB-BUKRS,&lt;/P&gt;&lt;P&gt;          P0001-PLANS TO ITAB-PLANS,&lt;/P&gt;&lt;P&gt;          P0001-STELL TO ITAB-STELL,&lt;/P&gt;&lt;P&gt;          P0002-VORNA TO ITAB-VORNA,&lt;/P&gt;&lt;P&gt;          P0002-NACHN TO ITAB-NACHN,&lt;/P&gt;&lt;P&gt;          P0002-ANZKD TO ITAB-ANZKD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move p0006-name2 to itab-name2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move p0006-stras to itab-stras.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move p0006-ort01 to itab-ort01.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;move p0006-pstlz to itab-pstlz.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF P0002-ANZKD &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MOVE: P0021-FAVOR TO ITAB-FAVOR,&lt;/P&gt;&lt;P&gt;            P0021-FANAM TO ITAB-FANAM,&lt;/P&gt;&lt;P&gt;            P0021-FGBDT TO ITAB-FGBDT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND ITAB.&lt;/P&gt;&lt;P&gt;    CLEAR ITAB.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/1(420) SY-ULINE.&lt;/P&gt;&lt;P&gt;  WRITE:/1 SY-VLINE, 'pernr',&lt;/P&gt;&lt;P&gt;        20 SY-VLINE, 'stat2',&lt;/P&gt;&lt;P&gt;        40 SY-VLINE, 'bukrs',&lt;/P&gt;&lt;P&gt;        60 SY-VLINE, 'plans',&lt;/P&gt;&lt;P&gt;        80 SY-VLINE, 'stell',&lt;/P&gt;&lt;P&gt;        100 SY-VLINE, 'vorna',&lt;/P&gt;&lt;P&gt;        120 SY-VLINE, 'nachn',&lt;/P&gt;&lt;P&gt;        140 SY-VLINE, 'anzkd',&lt;/P&gt;&lt;P&gt;        160 SY-VLINE, 'name2',&lt;/P&gt;&lt;P&gt;        180 SY-VLINE, 'stras',&lt;/P&gt;&lt;P&gt;        200 SY-VLINE, 'ort01',&lt;/P&gt;&lt;P&gt;        220 SY-VLINE, 'pstlz',&lt;/P&gt;&lt;P&gt;        240 SY-VLINE, 'favor',&lt;/P&gt;&lt;P&gt;        250 SY-VLINE, 'fanam',&lt;/P&gt;&lt;P&gt;        285 SY-VLINE, 'fgbdt',&lt;/P&gt;&lt;P&gt;        310 SY-VLINE, 'name21',&lt;/P&gt;&lt;P&gt;        350 SY-VLINE, 'stras1',&lt;/P&gt;&lt;P&gt;        370 SY-VLINE, 'ort011',&lt;/P&gt;&lt;P&gt;        400 SY-VLINE, 'pstlz1',&lt;/P&gt;&lt;P&gt;        420 SY-VLINE.&lt;/P&gt;&lt;P&gt;  WRITE:/1(420) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt; WRITE:/1 SY-VLINE, ITAB-PERNR COLOR 1,&lt;/P&gt;&lt;P&gt;       20 SY-VLINE, ITAB-STAT2 COLOR 1,&lt;/P&gt;&lt;P&gt;       40 SY-VLINE, ITAB-BUKRS COLOR 3,&lt;/P&gt;&lt;P&gt;       60 SY-VLINE, ITAB-PLANS COLOR 3,&lt;/P&gt;&lt;P&gt;       80 SY-VLINE, ITAB-STELL COLOR 3,&lt;/P&gt;&lt;P&gt;       100 SY-VLINE, ITAB-VORNA COLOR 4,&lt;/P&gt;&lt;P&gt;       120 SY-VLINE, ITAB-NACHN COLOR 4,&lt;/P&gt;&lt;P&gt;       140 SY-VLINE, ITAB-ANZKD COLOR 4,&lt;/P&gt;&lt;P&gt;       160 SY-VLINE, ITAB-NAME2 COLOR 5,&lt;/P&gt;&lt;P&gt;       180 SY-VLINE, ITAB-STRAS COLOR 5,&lt;/P&gt;&lt;P&gt;       200 SY-VLINE, ITAB-ORT01 COLOR 5,&lt;/P&gt;&lt;P&gt;       220 SY-VLINE, ITAB-PSTLZ COLOR 5,&lt;/P&gt;&lt;P&gt;       240 SY-VLINE, ITAB-FAVOR COLOR 6,&lt;/P&gt;&lt;P&gt;       250 SY-VLINE, ITAB-FANAM COLOR 6,&lt;/P&gt;&lt;P&gt;       285 SY-VLINE, ITAB-FGBDT COLOR 6,&lt;/P&gt;&lt;P&gt;       310 SY-VLINE, ITAB-NAME21 COLOR 7,&lt;/P&gt;&lt;P&gt;       350 SY-VLINE, ITAB-STRAS1 COLOR 7,&lt;/P&gt;&lt;P&gt;       370 SY-VLINE, ITAB-ORT011 COLOR 7,&lt;/P&gt;&lt;P&gt;       400 SY-VLINE, ITAB-PSTLZ1 COLOR 7,&lt;/P&gt;&lt;P&gt;       420 SY-VLINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      421 ITAB-SUBTY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  WRITE:/1(420) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;else.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;write:/ 'The employee has no children'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;write:/ itab-pernr,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-stat2,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-bukrs,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-plans,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-stell,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-vorna,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-nachn,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-anzkd,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-name2,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-stras,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-ort01,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;/ itab-pstlz.&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;endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*uline.&lt;/P&gt;&lt;P&gt;____________________________________________________________________&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;3.	Report&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;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; Report  ZHR_003&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  ZHR_003.&lt;/P&gt;&lt;P&gt;*.......................................................................&lt;/P&gt;&lt;P&gt;*: Report:  ZP_POSTCODE                                                :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;:&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*: Date  :  2004                                                       :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*: Description: Displays report of employees by postcode area,         :&lt;/P&gt;&lt;P&gt;*:              includes current travelling allowances (i.e. parking   :&lt;/P&gt;&lt;P&gt;*:              permit or transport card etc..)                        :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*: Use:         Help encourage the use of car sharing and public       :&lt;/P&gt;&lt;P&gt;*:              transport where appropriate.                           :&lt;/P&gt;&lt;P&gt;*:.....................................................................:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.                                      "ALV Declarations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NODES: pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0000, 0001, 0002, 0006, 0008, 0014, 0105, 0121.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK pcode WITH FRAME TITLE text-s01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_pcode FOR p0006-pstlz.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK pcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_output,&lt;/P&gt;&lt;P&gt;  pernr       TYPE p0001-pernr,   "personnel name&lt;/P&gt;&lt;P&gt;  anredtxt    TYPE t522t-atext,   "title (based on p0002-anred)&lt;/P&gt;&lt;P&gt;  fname       TYPE p0002-vorna,   "first name&lt;/P&gt;&lt;P&gt;  lname       TYPE p0002-nachn,   "last name&lt;/P&gt;&lt;P&gt;  orgtx       TYPE t527x-orgtx,   "dept&lt;/P&gt;&lt;P&gt;  fte         TYPE p0008-bsgrd,   "fte&lt;/P&gt;&lt;P&gt;  parking(20) TYPE c,&lt;/P&gt;&lt;P&gt;  payslip     TYPE t526-sachn,        "payslip address&lt;/P&gt;&lt;P&gt;  telno       TYPE p0105-usrid_long,  "tel number(p0105-usrty = 0020)&lt;/P&gt;&lt;P&gt;  email       TYPE p0105-usrid_long,  "email (p0105-usrty = MAIL)&lt;/P&gt;&lt;P&gt;  postcode    type p0006-pstlz,&lt;/P&gt;&lt;P&gt; END OF t_output.&lt;/P&gt;&lt;P&gt;DATA: it_output TYPE STANDARD TABLE OF t_output INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_output TYPE t_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;data: fieldcatalog   type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;      gd_tab_group   type slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;      gd_layout      type slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gd_repid       like sy-repid,&lt;/P&gt;&lt;P&gt;      gt_events      type slis_t_event,&lt;/P&gt;&lt;P&gt;      gd_prntparams  type slis_print_alv,&lt;/P&gt;&lt;P&gt;      gd_count(6)    type n,&lt;/P&gt;&lt;P&gt;      gd_outtext(70) type c,&lt;/P&gt;&lt;P&gt;      gd_lines       type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: gd_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Infotype 0121 is used to store multiple contracts for personnel.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field p0121-hpern contains the personnel number for the main contract.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PROVIDE * from p0121 between pn-begda and pn-endda.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check if main contract&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p0121-pernr ne p0121-hpern.&lt;/P&gt;&lt;P&gt;      reject.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  add 1 to gd_count.&lt;/P&gt;&lt;P&gt;  concatenate 'Processing personnel data'(m10) gd_count into gd_outtext&lt;/P&gt;&lt;P&gt;            separated by ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display indicator for employee count&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform progress_indicator using gd_outtext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve datd from infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp_provide_from_last p0000 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0001 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0002 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0006 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0008 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0014 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check post code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK p0006-pstlz IN so_pcode.  "cp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Post code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-postcode = p0006-pstlz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Personnel number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-pernr = pernr-pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Personnel title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE atext&lt;/P&gt;&lt;P&gt;    FROM t522t&lt;/P&gt;&lt;P&gt;    INTO wa_output-anredtxt&lt;/P&gt;&lt;P&gt;   WHERE sprsl EQ sy-langu AND&lt;/P&gt;&lt;P&gt;         anred EQ p0002-anred.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-fname = p0002-vorna.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Last name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-lname = p0002-nachn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Organizational Unit text (dept)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE orgtx&lt;/P&gt;&lt;P&gt;    FROM t527x&lt;/P&gt;&lt;P&gt;    INTO wa_output-orgtx&lt;/P&gt;&lt;P&gt;   WHERE sprsl EQ sy-langu AND&lt;/P&gt;&lt;P&gt;         orgeh EQ p0001-orgeh AND&lt;/P&gt;&lt;P&gt;         endda GE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FTE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_output-fte = p0008-bsgrd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parking / travel deducted?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE p0014-lgart.&lt;/P&gt;&lt;P&gt;    WHEN '7180' OR '7181' OR '7182'.&lt;/P&gt;&lt;P&gt;      wa_output-parking = text-002.&lt;/P&gt;&lt;P&gt;    WHEN '7183'.&lt;/P&gt;&lt;P&gt;      wa_output-parking = text-001.&lt;/P&gt;&lt;P&gt;    WHEN '7171' OR '7172' or '7173' or '7174' or&lt;/P&gt;&lt;P&gt;         '7175' or '7176' or '7177' or '7178'.&lt;/P&gt;&lt;P&gt;      wa_output-parking = text-003.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Payslip Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE sachn&lt;/P&gt;&lt;P&gt;    FROM t526&lt;/P&gt;&lt;P&gt;    INTO wa_output-payslip&lt;/P&gt;&lt;P&gt;   WHERE werks EQ p0001-werks AND&lt;/P&gt;&lt;P&gt;         sachx EQ p0001-sacha.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PROVIDE * from p0105 between pn-begda and pn-endda.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Telephone numbers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p0105-usrty = '0020'.&lt;/P&gt;&lt;P&gt;       wa_output-telno = p0105-usrid_long.&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;  Email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p0105-usrty = 'MAIL'.&lt;/P&gt;&lt;P&gt;       wa_output-email = p0105-usrid_long.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append wa_output to it_output.&lt;/P&gt;&lt;P&gt;  clear: wa_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION.&lt;/P&gt;&lt;P&gt; END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;describe table it_output lines gd_lines.&lt;/P&gt;&lt;P&gt;if gd_lines gt 0.&lt;/P&gt;&lt;P&gt;  perform build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  perform build_layout.&lt;/P&gt;&lt;P&gt;  perform display_alv_report.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;  message i003(zp) with 'No records found'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&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  PROGRESS_INDICATOR&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;      Displays progress indicator on SAP 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 progress_indicator using p_text.&lt;/P&gt;&lt;P&gt;  call function 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PERCENTAGE = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           text       = p_text.&lt;/P&gt;&lt;P&gt;endform.                    " PROGRESS_INDICATOR&lt;/P&gt;&lt;P&gt;&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  BUILD_FIELDCATALOG&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;      Build Fieldcatalog for ALV 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 build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PERNR'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Personnel No.'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 10.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-emphasize   = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-key         = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-do_sum      = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-no_zero     = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'ANREDTXT'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Title'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'FNAME'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'First Name'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 2.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'LNAME'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Last Name'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 3.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'ORGTX'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Department'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 4.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'FTE'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'FTE'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 5.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PARKING'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Parking/Metrocard'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 6.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PAYSLIP'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Payslip Add.'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 7.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'TELNO'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Telephone'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 8.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'EMAIL'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'E-mail'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 9.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'POSTCODE'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Post code'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 10.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&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  BUILD_LAYOUT&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;      Build layout for ALV grid 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 build_layout.&lt;/P&gt;&lt;P&gt;  gd_layout-no_input          = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-totals_text       = 'Totals'(201).&lt;/P&gt;&lt;P&gt;  gd_layout-zebra             = 'X'.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&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  DISPLAY_ALV_REPORT&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;      Display report using ALV grid&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 display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            i_callback_program      = gd_repid&lt;/P&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;P&gt;            i_save                  = 'X'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab                = it_output&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            others                  = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_______________________________________________________________-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;4.	Report&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;Report:  ZSXP_ABSENCE_DATA                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date  :  12.02.2003                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description: Retrieve maternaty/Sickness Absence data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;REPORT  ZHR_004&lt;/P&gt;&lt;P&gt;      LINE-SIZE 100 NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                MESSAGE-ID 5g.&lt;/P&gt;&lt;P&gt;TABLES: t554s, pernr, pcl1, pcl2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rpclst00.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2rx09.                      "Payroll results datadefns-Intl.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2rxx0.                      "Payroll results datadefns-Intl.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2rgg0.                      "Payroll results datadefns-GB&lt;/P&gt;&lt;P&gt;INCLUDE rpcfdcg0.                      "Payroll results datadefns-GB&lt;/P&gt;&lt;P&gt;INCLUDE rpcdatg0.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2cd00.                      "Cluster Directory defns.&lt;/P&gt;&lt;P&gt;INCLUDE rpc2ps00.                      "Cluster: Generierte Schematas&lt;/P&gt;&lt;P&gt;INCLUDE rpc2pt00.&lt;/P&gt;&lt;P&gt;INCLUDE rpcfdc10.&lt;/P&gt;&lt;P&gt;INCLUDE rpcfdc00.&lt;/P&gt;&lt;P&gt;INCLUDE rpppxd00.&lt;/P&gt;&lt;P&gt;INCLUDE rpppxd10.&lt;/P&gt;&lt;P&gt;INCLUDE rpcfvp09.&lt;/P&gt;&lt;P&gt;INCLUDE rpcfvpg0.&lt;/P&gt;&lt;P&gt;INCLUDE rpppxm00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0001,                       "Organisational assignment&lt;/P&gt;&lt;P&gt;           0002,                       "Personal Data&lt;/P&gt;&lt;P&gt;           0003,                       "Payroll Status&lt;/P&gt;&lt;P&gt;           0088,                                            "SMP&lt;/P&gt;&lt;P&gt;           2001,                       "Absences&lt;/P&gt;&lt;P&gt;           0086.                       "SSP/SMP Exlclusions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   ssp_weeks TYPE p DECIMALS 2 VALUE 0.&lt;/P&gt;&lt;P&gt;DATA:   ssp_total TYPE p DECIMALS 2 VALUE 0,&lt;/P&gt;&lt;P&gt;        total_val TYPE p DECIMALS 2 VALUE 0,&lt;/P&gt;&lt;P&gt;        smp_weeks TYPE p DECIMALS 2 VALUE 0,&lt;/P&gt;&lt;P&gt;        smp_value TYPE p DECIMALS 2 VALUE 0,&lt;/P&gt;&lt;P&gt;        gross     LIKE pc207-betrg,&lt;/P&gt;&lt;P&gt;        dis_gross TYPE p DECIMALS 2 VALUE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_begda(10) TYPE c,&lt;/P&gt;&lt;P&gt;      gd_endda(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ld_orgtxt LIKE t527x-orgtx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: name(30).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;      pernr LIKE p0002-pernr,&lt;/P&gt;&lt;P&gt;      perid LIKE p0002-perid,&lt;/P&gt;&lt;P&gt;      name  LIKE name,&lt;/P&gt;&lt;P&gt;      END OF itab.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_report,&lt;/P&gt;&lt;P&gt;   pernr   TYPE pernr-pernr,   "8&lt;/P&gt;&lt;P&gt;   name    TYPE name,          "30&lt;/P&gt;&lt;P&gt;   awart   TYPE p2001-awart,   "4&lt;/P&gt;&lt;P&gt;   begda   TYPE p2001-begda,   "10&lt;/P&gt;&lt;P&gt;   endda   TYPE p2001-endda,   "10&lt;/P&gt;&lt;P&gt;   wkspaid TYPE p DECIMALS 2,  "10&lt;/P&gt;&lt;P&gt;   amtpaid TYPE p DECIMALS 2,  "10&lt;/P&gt;&lt;P&gt;  END OF t_report.&lt;/P&gt;&lt;P&gt;DATA: it_report TYPE STANDARD TABLE OF t_report INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_report TYPE t_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: moabw LIKE t001p-moabw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: printheader TYPE i VALUE 1,&lt;/P&gt;&lt;P&gt;      gd_success  TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NCALE declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES : BEGIN OF pfra0_pcale,&lt;/P&gt;&lt;P&gt;           annee(4) TYPE c.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE pcint.&lt;/P&gt;&lt;P&gt;TYPES : END OF pfra0_pcale.&lt;/P&gt;&lt;P&gt;TYPES : pfra0_tab_pcale  TYPE  pfra0_pcale  OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  it_ncale TYPE STANDARD TABLE OF pcnat INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;       wa_ncale TYPE pcnat,&lt;/P&gt;&lt;P&gt;       it_pcale TYPE  pfra0_tab_pcale,&lt;/P&gt;&lt;P&gt;       pcale  TYPE  pfra0_tab_pcale.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SMP/SSP absence data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data begin of it_msa occurs 0.&lt;/P&gt;&lt;P&gt;        include structure pc27j.&lt;/P&gt;&lt;P&gt;data end of it_msa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_memid type char30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*STAR-OF-SELECTION&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gd_begda = pn-begda.&lt;/P&gt;&lt;P&gt;gd_endda = pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gd_begda+6(2) = '01'.&lt;/P&gt;&lt;P&gt;gd_endda+6(2) = '01'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;refresh: it_msa.&lt;/P&gt;&lt;P&gt;clear:   it_msa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   PERFORM IMPORT_PC USING GD_SUCCESs.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_rgdir.&lt;/P&gt;&lt;P&gt;  while gd_begda le gd_endda.&lt;/P&gt;&lt;P&gt;    PERFORM get_new_rg USING gd_begda.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CALCULATE_DATE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            DAYS        = '0'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             MONTHS      = '1'&lt;/P&gt;&lt;P&gt;             START_DATE  = gd_begda&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;             RESULT_DATE = gd_begda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endwhile.&lt;/P&gt;&lt;P&gt;  msa[] = it_msa[].&lt;/P&gt;&lt;P&gt;  EXPORT msa TO MEMORY ID p_memid.&lt;/P&gt;&lt;P&gt;&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  GET_RGDIR&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;FORM get_rgdir.&lt;/P&gt;&lt;P&gt;  rp-init-buffer.&lt;/P&gt;&lt;P&gt;  CLEAR rgdir.&lt;/P&gt;&lt;P&gt;  REFRESH rgdir.&lt;/P&gt;&lt;P&gt;  MOVE pernr-pernr(8) TO cd-key-pernr.&lt;/P&gt;&lt;P&gt;  rp-imp-c2-cd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF rp-imp-cd-subrc = 0.                                "rgdir success&lt;/P&gt;&lt;P&gt;    SORT rgdir BY seqnr ASCENDING.&lt;/P&gt;&lt;P&gt;    CLEAR rgdir.&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;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM get_new_rg                                               *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  search_date                                                   *&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_new_rg USING search_date.&lt;/P&gt;&lt;P&gt;  DATA: rg_day TYPE d,&lt;/P&gt;&lt;P&gt;        rgbeg  TYPE d,&lt;/P&gt;&lt;P&gt;        rgend  TYPE d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE: search_date TO rg_day.&lt;/P&gt;&lt;P&gt;  CLEAR: msa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT rgdir WHERE void NE 'V'.&lt;/P&gt;&lt;P&gt;    MOVE: rgdir-fpbeg TO rgbeg,&lt;/P&gt;&lt;P&gt;          rgdir-fpend TO rgend.&lt;/P&gt;&lt;P&gt;    IF ( rgbeg &amp;lt;= rg_day ) AND&lt;/P&gt;&lt;P&gt;       ( rgend &amp;gt;= rg_day ) AND&lt;/P&gt;&lt;P&gt;       rgdir-srtza = 'A'.        "Must be periods actual set of results&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  UNPACK rgdir-seqnr TO rx-key-seqno.&lt;/P&gt;&lt;P&gt;  MOVE pernr-pernr(8) TO rx-key-pernr(8).&lt;/P&gt;&lt;P&gt;  rp-imp-c2-rg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append lines of msa to it_msa.&lt;/P&gt;&lt;P&gt;  IF rp-imp-rg-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  rg fail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  rg success&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Text elements&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; 001     Sickness History for SSP 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 002     Employee Name.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 003     National Insurance Number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 004     Payroll Number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 005     Sickness Start Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 006     Sickness End Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 007     Number of weeks paid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 008     system-error:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 009     No SSP / SMP record found&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 010     Absence type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 011     No. weeks paid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 012     Amount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; 013     Organisation Unit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; T01     Sickness Absence types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selection texts&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;SO_SAP          SAP Att./absence types&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SO_SMP          SMP Att./absence types&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SO_SPP          SPP Att./absence types&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SO_SSP          SSP Att./absence types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_____________________________________________________________&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;5.	Report&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*.......................................................................&lt;/P&gt;&lt;P&gt;*: Report:  ZDOWNEMPDATA                                               :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;                           :&lt;/P&gt;&lt;P&gt;*: Date  :  2004                                                       :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*: Description: Downloads employee data to TAB delimited flat files    :&lt;/P&gt;&lt;P&gt;*:                                                                     :&lt;/P&gt;&lt;P&gt;*:.....................................................................:&lt;/P&gt;&lt;P&gt;REPORT  ZHR_005                                        .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INFOTYPES: 0000, 0001, 0007, 0008, 0121, 0615.&lt;/P&gt;&lt;P&gt;NODES: pernr.&lt;/P&gt;&lt;P&gt;TABLES: t001p.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_employee,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INCLUDE STRUCTURE hrms_biw_io_occupancy.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  begda	TYPE begda,&lt;/P&gt;&lt;P&gt;  endda	TYPE endda,&lt;/P&gt;&lt;P&gt;  pernr	TYPE pernr_d,&lt;/P&gt;&lt;P&gt;  rfpnr	TYPE rfpnr,&lt;/P&gt;&lt;P&gt;  bukrs	TYPE bukrs,&lt;/P&gt;&lt;P&gt;  werks	TYPE persa,&lt;/P&gt;&lt;P&gt;  btrtl	TYPE btrtl,&lt;/P&gt;&lt;P&gt;  persg	TYPE persg,&lt;/P&gt;&lt;P&gt;  persk	TYPE persk,&lt;/P&gt;&lt;P&gt;  orgeh	TYPE orgeh,&lt;/P&gt;&lt;P&gt;  stell	TYPE stell,&lt;/P&gt;&lt;P&gt;  plans	TYPE plans,&lt;/P&gt;&lt;P&gt;  kokrs	TYPE mast_coar,&lt;/P&gt;&lt;P&gt;  kostl	TYPE mast_cctr,&lt;/P&gt;&lt;P&gt;  abkrs	TYPE abkrs,&lt;/P&gt;&lt;P&gt;  molga	TYPE molga,&lt;/P&gt;&lt;P&gt;  trfar	TYPE trfar,&lt;/P&gt;&lt;P&gt;  trfgb	TYPE trfgb,&lt;/P&gt;&lt;P&gt;  trfkz	TYPE trfkz,&lt;/P&gt;&lt;P&gt;  trfgr	TYPE trfgr,&lt;/P&gt;&lt;P&gt;  trfst	TYPE trfst,&lt;/P&gt;&lt;P&gt;  bsgrd	TYPE bsgrd,&lt;/P&gt;&lt;P&gt;  ansal	TYPE ansal_15,&lt;/P&gt;&lt;P&gt;  ancur	TYPE ancur,&lt;/P&gt;&lt;P&gt;  empct	TYPE empct,&lt;/P&gt;&lt;P&gt;  stat2	TYPE stat2,&lt;/P&gt;&lt;P&gt;  ncsdate     TYPE hiredate,&lt;/P&gt;&lt;P&gt;  sltyp	TYPE p_sltyp,&lt;/P&gt;&lt;P&gt;  slreg	TYPE p_slreg,&lt;/P&gt;&lt;P&gt;  slgrp	TYPE p_slgrp,&lt;/P&gt;&lt;P&gt;  sllev	TYPE p_sllvl,&lt;/P&gt;&lt;P&gt;  ansvh	TYPE ansvh,&lt;/P&gt;&lt;P&gt;  vdsk1	TYPE vdsk1,&lt;/P&gt;&lt;P&gt;  sname	TYPE smnam,&lt;/P&gt;&lt;P&gt; END OF t_employee.&lt;/P&gt;&lt;P&gt;DATA: it_employee TYPE STANDARD TABLE OF t_employee INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_employee TYPE t_employee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_emptexts,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INCLUDE STRUCTURE hrms_bw_txt_employee.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATEFROM	TYPE RSDATEFROM,&lt;/P&gt;&lt;P&gt;  DATETO	TYPE RSDATETO,&lt;/P&gt;&lt;P&gt;  PERNR	TYPE PERSNO,&lt;/P&gt;&lt;P&gt;  TXTMD	TYPE EMNAM,&lt;/P&gt;&lt;P&gt; END OF t_emptexts.&lt;/P&gt;&lt;P&gt;DATA: it_emptexts TYPE STANDARD TABLE OF t_emptexts INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_emptexts TYPE t_emptexts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_contract,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INCLUDE STRUCTURE pa0615.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  pernr TYPE p0615-pernr,&lt;/P&gt;&lt;P&gt;  begda TYPE p0615-begda,&lt;/P&gt;&lt;P&gt;  endda TYPE p0615-endda,&lt;/P&gt;&lt;P&gt;  aedtm TYPE p0615-aedtm,&lt;/P&gt;&lt;P&gt;  ctype TYPE p0615-ctype,&lt;/P&gt;&lt;P&gt;  cbeg  TYPE p0615-cbeg,&lt;/P&gt;&lt;P&gt;  cend  TYPE p0615-cend,&lt;/P&gt;&lt;P&gt; END OF t_contract.&lt;/P&gt;&lt;P&gt;DATA: it_contract TYPE STANDARD TABLE OF t_contract INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_contract TYPE t_contract.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_tabemp TYPE filetable,&lt;/P&gt;&lt;P&gt;      gd_subrcemp TYPE i,&lt;/P&gt;&lt;P&gt;      it_tabempt TYPE filetable,&lt;/P&gt;&lt;P&gt;      gd_subrcempt TYPE i,&lt;/P&gt;&lt;P&gt;      it_tabcont TYPE filetable,&lt;/P&gt;&lt;P&gt;      gd_subrccont TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gd_downfile TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_emp   LIKE rlgrap-filename default 'c://emp.xls',&lt;/P&gt;&lt;P&gt;            p_empt  LIKE rlgrap-filename default 'c://empt.xls',&lt;/P&gt;&lt;P&gt;            p_cont LIKE rlgrap-filename default 'c://cont.xls'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK block1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*at selection-screen&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_emp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_tabemp.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      window_title      = 'Select File'&lt;/P&gt;&lt;P&gt;      default_filename  = '*.xls'&lt;/P&gt;&lt;P&gt;      initial_directory = 'C:\'&lt;/P&gt;&lt;P&gt;      multiselection    = ' '  "No multiple selection&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table        = it_tabemp&lt;/P&gt;&lt;P&gt;      rc                = gd_subrcemp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_tabemp INTO p_emp.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*at selection-screen&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_empt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_tabemp.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      window_title      = 'Select File'&lt;/P&gt;&lt;P&gt;      default_filename  = '*.xls'&lt;/P&gt;&lt;P&gt;      initial_directory = 'C:\'&lt;/P&gt;&lt;P&gt;      multiselection    = ' '  "No multiple selection&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table        = it_tabempt&lt;/P&gt;&lt;P&gt;      rc                = gd_subrcempt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_tabempt INTO p_empt.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*at selection-screen&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_cont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_tabcont.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_frontend_services=&amp;gt;file_open_dialog&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      window_title      = 'Select File'&lt;/P&gt;&lt;P&gt;      default_filename  = '*.xls'&lt;/P&gt;&lt;P&gt;      initial_directory = 'C:\'&lt;/P&gt;&lt;P&gt;      multiselection    = ' '  "No multiple selection&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_table        = it_tabcont&lt;/P&gt;&lt;P&gt;      rc                = gd_subrccont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_tabcont INTO p_cont.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selecting the latest infotype record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp_provide_from_last p0000 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0001 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0007 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0008 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0121 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0615 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0001 TO wa_employee.&lt;/P&gt;&lt;P&gt;  wa_employee-rfpnr = p0121-rfp01. "?????&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0007 TO wa_employee.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0008 TO wa_employee.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0000 TO wa_employee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE molga&lt;/P&gt;&lt;P&gt;    FROM t001p&lt;/P&gt;&lt;P&gt;    INTO wa_employee-molga&lt;/P&gt;&lt;P&gt;   WHERE werks EQ p0001-werks AND&lt;/P&gt;&lt;P&gt;         btrtl EQ p0001-btrtl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE trfkz&lt;/P&gt;&lt;P&gt;    FROM t503&lt;/P&gt;&lt;P&gt;    INTO wa_employee-trfkz&lt;/P&gt;&lt;P&gt;   WHERE persg EQ p0001-persg AND&lt;/P&gt;&lt;P&gt;         persk EQ p0001-persk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'HR_ENTRY_DATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      persnr                     = pernr-pernr&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RCLAS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BEGDA                      = '18000101'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDDA                      = '99991231'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VARKY                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;      entrydate                  = wa_employee-ncsdate&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENTRY_DATES                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   ENTRY_DATE_NOT_FOUND       = 1&lt;/P&gt;&lt;P&gt;   PERNR_NOT_ASSIGNED         = 2&lt;/P&gt;&lt;P&gt;   OTHERS                     = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;append employee data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_employee TO it_employee.&lt;/P&gt;&lt;P&gt;  CLEAR: wa_employee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_emptexts-datefrom = p0001-begda.&lt;/P&gt;&lt;P&gt;  wa_emptexts-dateto   = p0001-endda.&lt;/P&gt;&lt;P&gt;  wa_emptexts-pernr    = p0001-pernr.&lt;/P&gt;&lt;P&gt;  wa_emptexts-txtmd    = p0001-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append employee texts data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_emptexts TO it_emptexts.&lt;/P&gt;&lt;P&gt;  CLEAR: wa_emptexts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING p0615 TO wa_contract.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append employee contract data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_contract TO it_contract.&lt;/P&gt;&lt;P&gt;  CLEAR: wa_contract.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;download employee data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_emp IS INITIAL.&lt;/P&gt;&lt;P&gt;    gd_downfile = p_emp.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename              = gd_downfile&lt;/P&gt;&lt;P&gt;        filetype              = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator = 'X'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab              = it_employee.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Employee file downloaded to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'There was an error downloading Employee file to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;download employee texts data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_empt IS INITIAL.&lt;/P&gt;&lt;P&gt;    gd_downfile = p_empt.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename              = gd_downfile&lt;/P&gt;&lt;P&gt;        filetype              = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator = 'X'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab              = it_emptexts.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Employee text file downloaded to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'There was an error downloading Employee text file to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;download contract data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_cont IS INITIAL.&lt;/P&gt;&lt;P&gt;    gd_downfile = p_cont.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename              = gd_downfile&lt;/P&gt;&lt;P&gt;        filetype              = 'ASC'&lt;/P&gt;&lt;P&gt;        write_field_separator = 'X'&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        data_tab              = it_contract.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Employee contract file downloaded to',&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE:/ 'There was an error downloading Employee contract file to'&lt;/P&gt;&lt;P&gt;,&lt;/P&gt;&lt;P&gt;              gd_downfile.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;________________________________________________________________&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;6.	Report&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;......................................................................&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;: Report  ZIT0019_TXT                                                :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;                   &lt;span class="lia-unicode-emoji" title=":face_blowing_a_kiss:"&gt;😘&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;:.....................................................................&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;: Description :                                                      :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;:.............:                                                      :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;: Retrieves comment text for infotype 0019 form PCL1 cluster table   :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;:                                                                    :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;:....................................................................:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;REPORT  zhr_006.                                               .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NODES: pernr.&lt;/P&gt;&lt;P&gt;INFOTYPES: 0019.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Daten zu Cluster TX (Infotyptexte)                           *&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;INCLUDE RPC1TX00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INCLUDE rpcitx00.&lt;/P&gt;&lt;P&gt;*INCLUDE rpcitd00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_reptab,&lt;/P&gt;&lt;P&gt;  pernr TYPE pernr-pernr,&lt;/P&gt;&lt;P&gt;  subty TYPE p0019-subty,&lt;/P&gt;&lt;P&gt;  termn TYPE p0019-termn,&lt;/P&gt;&lt;P&gt;  text  LIKE ptext-line,&lt;/P&gt;&lt;P&gt; END OF t_reptab.&lt;/P&gt;&lt;P&gt;DATA: it_reptab TYPE STANDARD TABLE OF t_reptab INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_reptab TYPE t_reptab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      gd_tab_group TYPE slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;      gd_layout    TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gd_repid     LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      it_sortcat   TYPE slis_sortinfo_alv OCCURS 1,&lt;/P&gt;&lt;P&gt;      wa_sort LIKE LINE OF it_sortcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK subtyp WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: so_sub FOR p0019-subty.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK subtyp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*rp_provide_from_last p0019 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  PROVIDE * FROM p0019 BETWEEN pn-begda AND pn-endda.&lt;/P&gt;&lt;P&gt;    CHECK p0019-subty IN so_sub.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING p0019 TO tx-key.&lt;/P&gt;&lt;P&gt;    tx-key-infty = '0019'.&lt;/P&gt;&lt;P&gt;    rp-imp-c1-tx.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT ptext.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING p0019 TO wa_reptab.&lt;/P&gt;&lt;P&gt;        wa_reptab-text = ptext-line.&lt;/P&gt;&lt;P&gt;        APPEND wa_reptab TO it_reptab.&lt;/P&gt;&lt;P&gt;        CLEAR: wa_reptab.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT it_reptab BY pernr subty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  PERFORM build_layout.&lt;/P&gt;&lt;P&gt;  PERFORM build_sortcat.&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  BUILD_FIELDCATALOG&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;      Build Fieldcatalog for ALV 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 build_fieldcatalog.&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PERNR'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Personnel Num'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 10.&lt;/P&gt;&lt;P&gt;  fieldcatalog-emphasize   = 'X'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-key         = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-do_sum      = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-no_zero     = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND fieldcatalog TO fieldcatalog.&lt;/P&gt;&lt;P&gt;  CLEAR  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'SUBTY'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Sub Type'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  APPEND fieldcatalog TO fieldcatalog.&lt;/P&gt;&lt;P&gt;  CLEAR  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'TERMN'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Sub Type'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  APPEND fieldcatalog TO fieldcatalog.&lt;/P&gt;&lt;P&gt;  CLEAR  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'TEXT'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Text'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 2.&lt;/P&gt;&lt;P&gt;  APPEND fieldcatalog TO fieldcatalog.&lt;/P&gt;&lt;P&gt;  CLEAR  fieldcatalog.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&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  BUILD_LAYOUT&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;      Build layout for ALV grid 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 build_layout.&lt;/P&gt;&lt;P&gt;  gd_layout-no_input          = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-totals_text       = 'Totals'(201).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-totals_only        = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-f2code            = 'DISP'.  "Sets fcode for when double&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                        "click(press f2)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-zebra             = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-group_change_edit = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-header_text       = 'helllllo'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    " BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&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  DISPLAY_ALV_REPORT&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;      Display report using ALV grid&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 display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_callback_program      = gd_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_grid_title           = outtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;P&gt;            it_sort                 = it_sortcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_special_groups       = gd_tabgroup&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IT_EVENTS                = GT_XEVENTS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            i_save                  = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           is_variant              = z_template&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab                = it_reptab&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALV_REPORT&lt;/P&gt;&lt;P&gt;&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  build_sortcat&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;      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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 build_sortcat .&lt;/P&gt;&lt;P&gt;  wa_sort-spos      = 1.&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'PERNR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_sortcat-tabname&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_sort TO it_sortcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_sort-spos      = 2.&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'SUBTY'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_sortcat-tabname&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_sort TO it_sortcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_sort-spos      = 3.&lt;/P&gt;&lt;P&gt;  wa_sort-fieldname = 'TERMN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_sortcat-tabname&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_sort TO it_sortcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_sortcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_________________________________________________________________&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZHR_007 LINE-SIZE 100.&lt;/P&gt;&lt;P&gt;*-- declaration&lt;/P&gt;&lt;P&gt;TABLES: pernr.&lt;/P&gt;&lt;P&gt;INFOTYPES: 0002,                       "Personal Data&lt;/P&gt;&lt;P&gt;           0006.                       "Address&lt;/P&gt;&lt;P&gt;DATA: name LIKE pernr-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Processing&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;  PROVIDE * FROM p0002&lt;/P&gt;&lt;P&gt;          &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FROM p0006 BETWEEN pn-begda AND pn-endda&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           WHERE p0006-subty = '1'.&lt;/P&gt;&lt;P&gt;    IF p0006_valid EQ 'X'.&lt;/P&gt;&lt;P&gt;      CONCATENATE p0002-nachn p0002-vorna INTO name&lt;/P&gt;&lt;P&gt;      SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;      PERFORM print_data.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PRINT_DATA&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 print_data.&lt;/P&gt;&lt;P&gt;  WRITE: / p0002-pernr NO-ZERO,&lt;/P&gt;&lt;P&gt;           sy-vline,&lt;/P&gt;&lt;P&gt;           p0002-begda,&lt;/P&gt;&lt;P&gt;           sy-vline,&lt;/P&gt;&lt;P&gt;           p0002-endda,&lt;/P&gt;&lt;P&gt;           sy-vline,&lt;/P&gt;&lt;P&gt;           (30) name,&lt;/P&gt;&lt;P&gt;           sy-vline,&lt;/P&gt;&lt;P&gt;           (20) p0006-ort01.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;8.	Report&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; Report  ZHR_008&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZHR_008  LINE-SIZE 80  .&lt;/P&gt;&lt;P&gt;*-- Declaration&lt;/P&gt;&lt;P&gt;TABLES: pernr,&lt;/P&gt;&lt;P&gt;        t555v.                         "Job Titles&lt;/P&gt;&lt;P&gt;INFOTYPES: 0002,                       "Personal Data&lt;/P&gt;&lt;P&gt;           0007.                       "Planned Working Time&lt;/P&gt;&lt;P&gt;DATA: name LIKE pernr-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Processing&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;  PROVIDE nachn vorna FROM p0002&lt;/P&gt;&lt;P&gt;          zterf       FROM p0007 BETWEEN pn-begda AND pn-endda.&lt;/P&gt;&lt;P&gt;    IF p0007_valid EQ 'X'.&lt;/P&gt;&lt;P&gt;      CONCATENATE p0002-nachn p0002-vorna INTO name&lt;/P&gt;&lt;P&gt;      SEPARATED BY space.&lt;/P&gt;&lt;P&gt;      PERFORM re555v USING p0007-zterf.&lt;/P&gt;&lt;P&gt;     FORMAT RESET COLOR 6 INTENSIFIED OFF.&lt;/P&gt;&lt;P&gt;      WRITE: /1(10) pernr-pernr COLOR 5 ,&lt;/P&gt;&lt;P&gt;              11 SY-VLINE,&lt;/P&gt;&lt;P&gt;              12(20) name COLOR 1,&lt;/P&gt;&lt;P&gt;              32 SY-VLINE,&lt;/P&gt;&lt;P&gt;               33(25) t555v-ztext COLOR 2,&lt;/P&gt;&lt;P&gt;               58 SY-VLINE,&lt;/P&gt;&lt;P&gt;               59(10) p0007-begda COLOR 3,&lt;/P&gt;&lt;P&gt;               69 SY-VLINE,&lt;/P&gt;&lt;P&gt;               70(10) p0007-endda COLOR 4,&lt;/P&gt;&lt;P&gt;               80 SY-VLINE.&lt;/P&gt;&lt;P&gt;     WRITE :/11 SY-VLINE,&lt;/P&gt;&lt;P&gt;             32 SY-VLINE,&lt;/P&gt;&lt;P&gt;             58 SY-VLINE,&lt;/P&gt;&lt;P&gt;             69 SY-VLINE,&lt;/P&gt;&lt;P&gt;             80 SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDPROVIDE.&lt;/P&gt;&lt;P&gt;ULINE.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM RE555v                                           *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read Time Management Status                           *&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 re555v USING value(tm_status).&lt;/P&gt;&lt;P&gt;  CHECK sy-langu  NE t555v-sprsl OR&lt;/P&gt;&lt;P&gt;        tm_status NE t555v-zterf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t555v WHERE sprsl EQ sy-langu&lt;/P&gt;&lt;P&gt;                             AND   zterf EQ tm_status.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MOVE space TO t555v.&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;9.	Report&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; Report  ZHR_009&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  zhr_009.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Declaration&lt;/P&gt;&lt;P&gt;TABLES: pernr,&lt;/P&gt;&lt;P&gt;        t512t,                         "Wage type text&lt;/P&gt;&lt;P&gt;        t001p.                         "Plant section&lt;/P&gt;&lt;P&gt;INFOTYPES: 0001,                       "Organ. assignment&lt;/P&gt;&lt;P&gt;           0014.                       "Recur.Payments/Deds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  rp_set_data_interval 'P0014' pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Processing&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;  CHECK LINES( p0014 ) GT 0.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0001 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp-read-t001p p0001-werks p0001-btrtl space.&lt;/P&gt;&lt;P&gt;  SKIP 2.&lt;/P&gt;&lt;P&gt;  WRITE: / pernr-pernr,&lt;/P&gt;&lt;P&gt;           (20) pernr-ename,&lt;/P&gt;&lt;P&gt;           p0001-werks,&lt;/P&gt;&lt;P&gt;           t001p-btext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT p0014 WHERE endda GE pn-begda&lt;/P&gt;&lt;P&gt;                AND   begda LE pn-endda.&lt;/P&gt;&lt;P&gt;    CHECK p0014-betrg NE 0.&lt;/P&gt;&lt;P&gt;    PERFORM print USING&lt;/P&gt;&lt;P&gt;                  p0014-lgart&lt;/P&gt;&lt;P&gt;                  p0014-betrg&lt;/P&gt;&lt;P&gt;                  p0014-begda&lt;/P&gt;&lt;P&gt;                  p0014-endda.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PRINT                                            *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Print List                                            *&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 print USING&lt;/P&gt;&lt;P&gt;           value(wtype)&lt;/P&gt;&lt;P&gt;           value(amount)&lt;/P&gt;&lt;P&gt;           value(begda)&lt;/P&gt;&lt;P&gt;           value(endda).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM re512t USING t001p-molga wtype.&lt;/P&gt;&lt;P&gt;  WRITE: / wtype UNDER pernr-ename,&lt;/P&gt;&lt;P&gt;           t512t-lgtxt,&lt;/P&gt;&lt;P&gt;           amount,&lt;/P&gt;&lt;P&gt;           begda,&lt;/P&gt;&lt;P&gt;           endda.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "print&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM RE512T                                           *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read Wagetype Texts                                   *&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 re512t USING value(country_grouping)&lt;/P&gt;&lt;P&gt;                  value(wtype).&lt;/P&gt;&lt;P&gt;  CHECK t512t-sprsl NE sy-langu&lt;/P&gt;&lt;P&gt;     OR t512t-molga NE country_grouping&lt;/P&gt;&lt;P&gt;     OR t512t-lgart NE wtype.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t512t&lt;/P&gt;&lt;P&gt;              WHERE sprsl EQ sy-langu&lt;/P&gt;&lt;P&gt;              AND   molga EQ country_grouping&lt;/P&gt;&lt;P&gt;              AND   lgart EQ wtype.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR t512t.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    "re512t&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10.	Report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zhr_010.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- declaration&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: pernr, t548t.                  "Date Types&lt;/P&gt;&lt;P&gt;INFOTYPES: 0001,                       "Org.Assignment&lt;/P&gt;&lt;P&gt;           0041.                       "Date Specifications&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$- Start of INCLUDE ZPSOL050_DATA_STRUCTURES         --$&lt;STRONG&gt;$&lt;/STRONG&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;  Include           ZPSOL050_DATA_STRUCTURES               *&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;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF dtype ,                  "Work area for IT0041&lt;/P&gt;&lt;P&gt;        dar LIKE p0041-dar01,&lt;/P&gt;&lt;P&gt;        dat LIKE p0041-dat01,&lt;/P&gt;&lt;P&gt;     END OF dtype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF data_struc,            "Data table structure&lt;/P&gt;&lt;P&gt;         pernr LIKE pernr-pernr,&lt;/P&gt;&lt;P&gt;         ename LIKE pernr-ename,&lt;/P&gt;&lt;P&gt;         eindt LIKE p0016-eindt,&lt;/P&gt;&lt;P&gt;         dar   LIKE p0041-dar01,&lt;/P&gt;&lt;P&gt;         dtext LIKE t548t-dtext,&lt;/P&gt;&lt;P&gt;         dat   LIKE p0041-dat01,&lt;/P&gt;&lt;P&gt;       END OF data_struc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: data_tab TYPE TABLE OF data_struc,&lt;/P&gt;&lt;P&gt;      data_tab_wa TYPE data_struc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: alv_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      alv_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: filled_lines LIKE sy-index,&lt;/P&gt;&lt;P&gt;      stru_disvar TYPE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$--- End of INCLUDE ZPSOL050_DATA_STRUCTURES         --$*$*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: datetype FOR p0041-dar01 DEFAULT '01'.&lt;/P&gt;&lt;P&gt;*-- Processing&lt;/P&gt;&lt;P&gt;GET pernr.&lt;/P&gt;&lt;P&gt;  CHECK lines( p0041 ) GT 0.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0001 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  rp_provide_from_last p0041 space pn-begda pn-endda.&lt;/P&gt;&lt;P&gt;  IF pnp-sw-found EQ 0.&lt;/P&gt;&lt;P&gt;    REJECT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    DO 12 TIMES VARYING dtype FROM p0041-dar01&lt;/P&gt;&lt;P&gt;                              NEXT p0041-dar02.&lt;/P&gt;&lt;P&gt;      IF dtype-dar IS INITIAL.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF dtype-dar IN datetype.&lt;/P&gt;&lt;P&gt;          CLEAR data_tab_wa.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING pernr TO data_tab_wa.&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING dtype TO data_tab_wa.&lt;/P&gt;&lt;P&gt;          PERFORM read_hiredate.&lt;/P&gt;&lt;P&gt;          PERFORM re548t USING sy-langu dtype-dar.&lt;/P&gt;&lt;P&gt;          MOVE t548t-dtext TO data_tab_wa-dtext.&lt;/P&gt;&lt;P&gt;          APPEND data_tab_wa TO data_tab.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat_init USING alv_fieldcat.&lt;/P&gt;&lt;P&gt;  alv_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  alv_layout-zebra             = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_INTERFACE_CHECK           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_BUFFER_ACTIVE             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            i_callback_program        = 'ZPSOL060'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_PF_STATUS_SET    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_USER_COMMAND     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_TOP_OF_PAGE      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_HTML_TOP_OF_PAGE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_CALLBACK_HTML_END_OF_LIST = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_STRUCTURE_NAME            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_BACKGROUND_ID             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          I_GRID_TITLE                = 'Date Specifications'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_GRID_SETTINGS             =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout                 = alv_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat               = alv_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_EXCLUDING                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_SPECIAL_GROUPS           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_SORT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_FILTER                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IS_SEL_HIDE                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_DEFAULT                   = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          I_SAVE                      = 'A'&lt;/P&gt;&lt;P&gt;          IS_VARIANT                  = stru_disvar&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_EVENTS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_EVENT_EXIT               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IS_PRINT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IS_REPREP_ID                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_SCREEN_START_COLUMN       = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_SCREEN_START_LINE         = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_SCREEN_END_COLUMN         = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_SCREEN_END_LINE           = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_ALV_GRAPHICS             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_ADD_FIELDCAT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IT_HYPERLINK                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        E_EXIT_CAUSED_BY_CALLER     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ES_EXIT_CAUSED_BY_USER      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;	TABLES&lt;/P&gt;&lt;P&gt;            t_outtab               = data_tab&lt;/P&gt;&lt;P&gt;    	EXCEPTIONS&lt;/P&gt;&lt;P&gt;          program_error            = 1&lt;/P&gt;&lt;P&gt;          OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 1.&lt;/P&gt;&lt;P&gt;    WRITE: 'Program error'(002).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM READ_HIREDATE&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Retrieving hiredate from infotype 0000&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 read_hiredate.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RP_GET_HIRE_DATE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            persnr          = p0001-pernr&lt;/P&gt;&lt;P&gt;            check_infotypes = '0000'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            hiredate        = data_tab_wa-eindt&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS          = 1.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM RE548T&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read date specification texts&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;VALUE (LANGUAGE)&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(DTYPE)&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 re548t USING value(language)&lt;/P&gt;&lt;P&gt;                  value(dtype).&lt;/P&gt;&lt;P&gt;  CHECK t548t-sprsl NE language&lt;/P&gt;&lt;P&gt;     OR t548t-datar NE dtype.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t548t&lt;/P&gt;&lt;P&gt;              WHERE sprsl EQ language&lt;/P&gt;&lt;P&gt;              AND   datar EQ dtype.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR t548t.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$- Start of INCLUDE ZPSOL050_FILL_FIELDCAT            --$&lt;STRONG&gt;$&lt;/STRONG&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;  Include           ZPSOL050_FILL_FIELDCAT                  *&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;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM FIELDCAT_INIT&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 fieldcat_init USING p_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  DATA: ls_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'PERNR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'PERNR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-key         = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'ENAME'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'PERNR'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'EINDT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'P0016'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'DAR'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_fieldname = 'DAR01'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'P0041'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'DTEXT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'T548T'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_fieldcat.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname = 'DAT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_fieldname = 'DAT01'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ref_tabname = 'P0041'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;$--- End of INCLUDE ZPSOL050_FILL_FIELDCAT            --$&lt;STRONG&gt;$&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Medha.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 16 Sep 2007 04:50:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-reports/m-p/2784197#M649094</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-16T04:50:21Z</dc:date>
    </item>
    <item>
      <title>Re: HR Reports</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hr-reports/m-p/2784198#M649095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Meda,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These are ( maqsood_ak@hotmail.com ) , ( maksummi@gmail.com ) my email addres can you give me your email address.if i need any help regarding hr so i will send you email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Maqsood&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 16 Sep 2007 07:30:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hr-reports/m-p/2784198#M649095</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-16T07:30:48Z</dc:date>
    </item>
  </channel>
</rss>

