Skip to Content
author's profile photo Former Member
Former Member

regarding hr report

hi guru

please sent me some customised hr reports if possible..

thanks

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Dec 04, 2007 at 05:43 AM

    Hi,

    I have some reports but but i dont know to which extent it will useful to you.

    _______________________________________

    Report 1

    REPORT Ztest LINE-COUNT 20 LINE-SIZE 420.

    *Table Diclarations

    TABLES: PERNR.

    *Infotype Diclarations

    INFOTYPES: 0000,

    0001,

    0002,

    0006,

    0021.

    *Data Diclarations

    DATA: BEGIN OF ITAB OCCURS 0,

    PERNR TYPE P0000-PERNR,

    STAT2 TYPE P0000-STAT2,

    BUKRS TYPE P0001-BUKRS,

    PLANS TYPE P0001-PLANS,

    STELL TYPE P0001-STELL,

    VORNA TYPE P0002-VORNA,

    NACHN TYPE P0002-NACHN,

    ANZKD TYPE P0002-ANZKD,

    NAME2 TYPE P0006-NAME2,

    STRAS TYPE P0006-STRAS,

    ORT01 TYPE P0006-ORT01,

    PSTLZ TYPE P0006-PSTLZ,

    NAME21 TYPE P0006-NAME2,

    STRAS1 TYPE P0006-STRAS,

    ORT011 TYPE P0006-ORT01,

    PSTLZ1 TYPE P0006-PSTLZ,

    FAVOR TYPE P0021-FAVOR,

    FANAM TYPE P0021-FANAM,

    FGBDT TYPE P0021-FGBDT,

    *SUBTY TYPE P0006-SUBTY,

    END OF ITAB.

    *Start of Selection

    START-OF-SELECTION.

    GET PERNR.

    RP_PROVIDE_FROM_LAST P0006 '2' PN-BEGDA PN-ENDDA.

    IF PNP-SW-FOUND = 1.

    MOVE: P0006-NAME2 TO ITAB-NAME2 ,

    P0006-STRAS TO ITAB-STRAS ,

    P0006-ORT01 TO ITAB-ORT01 ,

    P0006-PSTLZ TO ITAB-PSTLZ.

    • P0006-SUBTY TO ITAB-SUBTY.

    ENDIF.

    RP_PROVIDE_FROM_FRST P0006 '1' PN-BEGDA PN-ENDDA.

    IF PNP-SW-FOUND = 1.

    MOVE :P0006-NAME2 TO ITAB-NAME21 ,

    P0006-STRAS TO ITAB-STRAS1 ,

    P0006-ORT01 TO ITAB-ORT011 ,

    P0006-PSTLZ TO ITAB-PSTLZ1.

    • P0006-SUBTY TO ITAB-SUBTY.

    ENDIF.

    PROVIDE * FROM P0000

    • from p0001

    • from p0002

    • from p0021

    BETWEEN PN-BEGDA AND PN-ENDDA

    WHERE P0000-STAT2 = '2' OR

    P0000-STAT2 = '3' AND

    P0021-SUBTY = '2'.

    MOVE: P0000-PERNR TO ITAB-PERNR,

    P0000-STAT2 TO ITAB-STAT2,

    P0001-BUKRS TO ITAB-BUKRS,

    P0001-PLANS TO ITAB-PLANS,

    P0001-STELL TO ITAB-STELL,

    P0002-VORNA TO ITAB-VORNA,

    P0002-NACHN TO ITAB-NACHN,

    P0002-ANZKD TO ITAB-ANZKD.

    • move p0006-name2 to itab-name2.

    • move p0006-stras to itab-stras.

    • move p0006-ort01 to itab-ort01.

    • move p0006-pstlz to itab-pstlz.

    *

    IF P0002-ANZKD > 0.

    MOVE: P0021-FAVOR TO ITAB-FAVOR,

    P0021-FANAM TO ITAB-FANAM,

    P0021-FGBDT TO ITAB-FGBDT.

    ENDIF.

    APPEND ITAB.

    CLEAR ITAB.

    ENDPROVIDE.

    END-OF-SELECTION.

    WRITE:/1(420) SY-ULINE.

    WRITE:/1 SY-VLINE, 'pernr',

    20 SY-VLINE, 'stat2',

    40 SY-VLINE, 'bukrs',

    60 SY-VLINE, 'plans',

    80 SY-VLINE, 'stell',

    100 SY-VLINE, 'vorna',

    120 SY-VLINE, 'nachn',

    140 SY-VLINE, 'anzkd',

    160 SY-VLINE, 'name2',

    180 SY-VLINE, 'stras',

    200 SY-VLINE, 'ort01',

    220 SY-VLINE, 'pstlz',

    240 SY-VLINE, 'favor',

    250 SY-VLINE, 'fanam',

    285 SY-VLINE, 'fgbdt',

    310 SY-VLINE, 'name21',

    350 SY-VLINE, 'stras1',

    370 SY-VLINE, 'ort011',

    400 SY-VLINE, 'pstlz1',

    420 SY-VLINE.

    WRITE:/1(420) SY-ULINE.

    LOOP AT ITAB.

    WRITE:/1 SY-VLINE, ITAB-PERNR COLOR 1,

    20 SY-VLINE, ITAB-STAT2 COLOR 1,

    40 SY-VLINE, ITAB-BUKRS COLOR 3,

    60 SY-VLINE, ITAB-PLANS COLOR 3,

    80 SY-VLINE, ITAB-STELL COLOR 3,

    100 SY-VLINE, ITAB-VORNA COLOR 4,

    120 SY-VLINE, ITAB-NACHN COLOR 4,

    140 SY-VLINE, ITAB-ANZKD COLOR 4,

    160 SY-VLINE, ITAB-NAME2 COLOR 5,

    180 SY-VLINE, ITAB-STRAS COLOR 5,

    200 SY-VLINE, ITAB-ORT01 COLOR 5,

    220 SY-VLINE, ITAB-PSTLZ COLOR 5,

    240 SY-VLINE, ITAB-FAVOR COLOR 6,

    250 SY-VLINE, ITAB-FANAM COLOR 6,

    285 SY-VLINE, ITAB-FGBDT COLOR 6,

    310 SY-VLINE, ITAB-NAME21 COLOR 7,

    350 SY-VLINE, ITAB-STRAS1 COLOR 7,

    370 SY-VLINE, ITAB-ORT011 COLOR 7,

    400 SY-VLINE, ITAB-PSTLZ1 COLOR 7,

    420 SY-VLINE.

    • 421 ITAB-SUBTY.

    ENDLOOP.

    WRITE:/1(420) SY-ULINE.

    • else.

    • write:/ 'The employee has no children'.

    • write:/ itab-pernr,

    • / itab-stat2,

    • / itab-bukrs,

    • / itab-plans,

    • / itab-stell,

    • / itab-vorna,

    • / itab-nachn,

    • / itab-anzkd,

    • / itab-name2,

    • / itab-stras,

    • / itab-ort01,

    • / itab-pstlz.

    *

    • endif.

    *uline.

    ____________________________________________________________________

    3. Report

    &----


    *& Report ZHR_003

    *&

    &----


    *&

    *&

    &----


    REPORT ZHR_003.

    *.......................................................................

    *: Report: ZP_POSTCODE :

    *: :

    :

    *: :

    *: Date : 2004 :

    *: :

    *: Description: Displays report of employees by postcode area, :

    *: includes current travelling allowances (i.e. parking :

    *: permit or transport card etc..) :

    *: :

    *: Use: Help encourage the use of car sharing and public :

    *: transport where appropriate. :

    *:.....................................................................:

    type-pools: slis. "ALV Declarations

    NODES: pernr.

    INFOTYPES: 0000, 0001, 0002, 0006, 0008, 0014, 0105, 0121.

    SELECTION-SCREEN BEGIN OF BLOCK pcode WITH FRAME TITLE text-s01.

    SELECT-OPTIONS: so_pcode FOR p0006-pstlz.

    SELECTION-SCREEN END OF BLOCK pcode.

    TYPES: BEGIN OF t_output,

    pernr TYPE p0001-pernr, "personnel name

    anredtxt TYPE t522t-atext, "title (based on p0002-anred)

    fname TYPE p0002-vorna, "first name

    lname TYPE p0002-nachn, "last name

    orgtx TYPE t527x-orgtx, "dept

    fte TYPE p0008-bsgrd, "fte

    parking(20) TYPE c,

    payslip TYPE t526-sachn, "payslip address

    telno TYPE p0105-usrid_long, "tel number(p0105-usrty = 0020)

    email TYPE p0105-usrid_long, "email (p0105-usrty = MAIL)

    postcode type p0006-pstlz,

    END OF t_output.

    DATA: it_output TYPE STANDARD TABLE OF t_output INITIAL SIZE 0,

    wa_output TYPE t_output.

    *ALV data declarations

    data: fieldcatalog type slis_t_fieldcat_alv with header line,

    gd_tab_group type slis_t_sp_group_alv,

    gd_layout type slis_layout_alv,

    gd_repid like sy-repid,

    gt_events type slis_t_event,

    gd_prntparams type slis_print_alv,

    gd_count(6) type n,

    gd_outtext(70) type c,

    gd_lines type i.

    ************************************************************************

    *START-OF-SELECTION.

    START-OF-SELECTION.

    clear: gd_count.

    GET pernr.

    • Infotype 0121 is used to store multiple contracts for personnel.

    • Field p0121-hpern contains the personnel number for the main contract.

    PROVIDE * from p0121 between pn-begda and pn-endda.

    • Check if main contract

    if p0121-pernr ne p0121-hpern.

    reject.

    endif.

    ENDPROVIDE.

    add 1 to gd_count.

    concatenate 'Processing personnel data'(m10) gd_count into gd_outtext

    separated by ' '.

    • Display indicator for employee count

    perform progress_indicator using gd_outtext.

    • Retrieve datd from infotypes

    rp_provide_from_last p0000 space pn-begda pn-endda.

    rp_provide_from_last p0001 space pn-begda pn-endda.

    rp_provide_from_last p0002 space pn-begda pn-endda.

    rp_provide_from_last p0006 space pn-begda pn-endda.

    rp_provide_from_last p0008 space pn-begda pn-endda.

    rp_provide_from_last p0014 space pn-begda pn-endda.

    • Check post code

    CHECK p0006-pstlz IN so_pcode. "cp

    • Post code

    wa_output-postcode = p0006-pstlz.

    • Personnel number

    wa_output-pernr = pernr-pernr.

    • Personnel title

    SELECT SINGLE atext

    FROM t522t

    INTO wa_output-anredtxt

    WHERE sprsl EQ sy-langu AND

    anred EQ p0002-anred.

    • First name

    wa_output-fname = p0002-vorna.

    • Last name

    wa_output-lname = p0002-nachn.

    • Organizational Unit text (dept)

    SELECT SINGLE orgtx

    FROM t527x

    INTO wa_output-orgtx

    WHERE sprsl EQ sy-langu AND

    orgeh EQ p0001-orgeh AND

    endda GE sy-datum.

    • FTE

    wa_output-fte = p0008-bsgrd.

    • Parking / travel deducted?

    CASE p0014-lgart.

    WHEN '7180' OR '7181' OR '7182'.

    wa_output-parking = text-002.

    WHEN '7183'.

    wa_output-parking = text-001.

    WHEN '7171' OR '7172' or '7173' or '7174' or

    '7175' or '7176' or '7177' or '7178'.

    wa_output-parking = text-003.

    ENDCASE.

    • Payslip Address

    SELECT SINGLE sachn

    FROM t526

    INTO wa_output-payslip

    WHERE werks EQ p0001-werks AND

    sachx EQ p0001-sacha.

    PROVIDE * from p0105 between pn-begda and pn-endda.

    • Telephone numbers

    if p0105-usrty = '0020'.

    wa_output-telno = p0105-usrid_long.

    endif.

    • Email address

    if p0105-usrty = 'MAIL'.

    wa_output-email = p0105-usrid_long.

    endif.

    ENDPROVIDE.

    append wa_output to it_output.

    clear: wa_output.

    ************************************************************************

    *END-OF-SELECTION.

    END-OF-SELECTION.

    describe table it_output lines gd_lines.

    if gd_lines gt 0.

    perform build_fieldcatalog.

    perform build_layout.

    perform display_alv_report.

    else.

    message i003(zp) with 'No records found'.

    endif.

    &----


    *& Form PROGRESS_INDICATOR

    &----


    • Displays progress indicator on SAP screen

    ----


    form progress_indicator using p_text.

    call function 'SAPGUI_PROGRESS_INDICATOR'

    exporting

    • PERCENTAGE = 0

    text = p_text.

    endform. " PROGRESS_INDICATOR

    &----


    *& Form BUILD_FIELDCATALOG

    &----


    • Build Fieldcatalog for ALV Report

    ----


    form build_fieldcatalog.

    fieldcatalog-fieldname = 'PERNR'.

    fieldcatalog-seltext_m = 'Personnel No.'.

    fieldcatalog-col_pos = 0.

    fieldcatalog-outputlen = 10.

    • fieldcatalog-emphasize = 'X'.

    • fieldcatalog-key = 'X'.

    • fieldcatalog-do_sum = 'X'.

    • fieldcatalog-no_zero = 'X'.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'ANREDTXT'.

    fieldcatalog-seltext_m = 'Title'.

    fieldcatalog-col_pos = 1.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'FNAME'.

    fieldcatalog-seltext_m = 'First Name'.

    fieldcatalog-col_pos = 2.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'LNAME'.

    fieldcatalog-seltext_m = 'Last Name'.

    fieldcatalog-col_pos = 3.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'ORGTX'.

    fieldcatalog-seltext_m = 'Department'.

    fieldcatalog-col_pos = 4.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'FTE'.

    fieldcatalog-seltext_m = 'FTE'.

    fieldcatalog-col_pos = 5.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'PARKING'.

    fieldcatalog-seltext_m = 'Parking/Metrocard'.

    fieldcatalog-col_pos = 6.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'PAYSLIP'.

    fieldcatalog-seltext_m = 'Payslip Add.'.

    fieldcatalog-col_pos = 7.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'TELNO'.

    fieldcatalog-seltext_m = 'Telephone'.

    fieldcatalog-col_pos = 8.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'EMAIL'.

    fieldcatalog-seltext_m = 'E-mail'.

    fieldcatalog-col_pos = 9.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    fieldcatalog-fieldname = 'POSTCODE'.

    fieldcatalog-seltext_m = 'Post code'.

    fieldcatalog-col_pos = 10.

    append fieldcatalog to fieldcatalog.

    clear fieldcatalog.

    endform. " BUILD_FIELDCATALOG

    &----


    *& Form BUILD_LAYOUT

    &----


    • Build layout for ALV grid report

    ----


    form build_layout.

    gd_layout-no_input = 'X'.

    gd_layout-colwidth_optimize = 'X'.

    gd_layout-totals_text = 'Totals'(201).

    gd_layout-zebra = 'X'.

    endform. " BUILD_LAYOUT

    &----


    *& Form DISPLAY_ALV_REPORT

    &----


    • Display report using ALV grid

    ----


    form display_alv_report.

    gd_repid = sy-repid.

    call function 'REUSE_ALV_GRID_DISPLAY'

    exporting

    i_callback_program = gd_repid

    is_layout = gd_layout

    it_fieldcat = fieldcatalog[]

    i_save = 'X'

    tables

    t_outtab = it_output

    exceptions

    program_error = 1

    others = 2.

    if sy-subrc <> 0.

    • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    endif.

    endform. " DISPLAY_ALV_REPORT

    _______________________________________________________________-

    4. Report

    ************************************************************************

    • Report: ZSXP_ABSENCE_DATA *

    • *

    • *

    • Date : 12.02.2003 *

    • *

    • Description: Retrieve maternaty/Sickness Absence data

    • *

    ************************************************************************

    REPORT ZHR_004

    LINE-SIZE 100 NO STANDARD PAGE HEADING

    MESSAGE-ID 5g.

    TABLES: t554s, pernr, pcl1, pcl2.

    INCLUDE rpclst00.

    INCLUDE rpc2rx09. "Payroll results datadefns-Intl.

    INCLUDE rpc2rxx0. "Payroll results datadefns-Intl.

    INCLUDE rpc2rgg0. "Payroll results datadefns-GB

    INCLUDE rpcfdcg0. "Payroll results datadefns-GB

    INCLUDE rpcdatg0.

    INCLUDE rpc2cd00. "Cluster Directory defns.

    INCLUDE rpc2ps00. "Cluster: Generierte Schematas

    INCLUDE rpc2pt00.

    INCLUDE rpcfdc10.

    INCLUDE rpcfdc00.

    INCLUDE rpppxd00.

    INCLUDE rpppxd10.

    INCLUDE rpcfvp09.

    INCLUDE rpcfvpg0.

    INCLUDE rpppxm00.

    INFOTYPES: 0001, "Organisational assignment

    0002, "Personal Data

    0003, "Payroll Status

    0088, "SMP

    2001, "Absences

    0086. "SSP/SMP Exlclusions

    DATA: ssp_weeks TYPE p DECIMALS 2 VALUE 0.

    DATA: ssp_total TYPE p DECIMALS 2 VALUE 0,

    total_val TYPE p DECIMALS 2 VALUE 0,

    smp_weeks TYPE p DECIMALS 2 VALUE 0,

    smp_value TYPE p DECIMALS 2 VALUE 0,

    gross LIKE pc207-betrg,

    dis_gross TYPE p DECIMALS 2 VALUE 0.

    DATA: gd_begda(10) TYPE c,

    gd_endda(10) TYPE c.

    DATA: ld_orgtxt LIKE t527x-orgtx.

    DATA: name(30).

    DATA: BEGIN OF itab OCCURS 0,

    pernr LIKE p0002-pernr,

    perid LIKE p0002-perid,

    name LIKE name,

    END OF itab.

    TYPES: BEGIN OF t_report,

    pernr TYPE pernr-pernr, "8

    name TYPE name, "30

    awart TYPE p2001-awart, "4

    begda TYPE p2001-begda, "10

    endda TYPE p2001-endda, "10

    wkspaid TYPE p DECIMALS 2, "10

    amtpaid TYPE p DECIMALS 2, "10

    END OF t_report.

    DATA: it_report TYPE STANDARD TABLE OF t_report INITIAL SIZE 0,

    wa_report TYPE t_report.

    DATA: moabw LIKE t001p-moabw.

    DATA: printheader TYPE i VALUE 1,

    gd_success TYPE i.

    • NCALE declarations

    TYPES : BEGIN OF pfra0_pcale,

    annee(4) TYPE c.

    INCLUDE STRUCTURE pcint.

    TYPES : END OF pfra0_pcale.

    TYPES : pfra0_tab_pcale TYPE pfra0_pcale OCCURS 0.

    DATA: it_ncale TYPE STANDARD TABLE OF pcnat INITIAL SIZE 0,

    wa_ncale TYPE pcnat,

    it_pcale TYPE pfra0_tab_pcale,

    pcale TYPE pfra0_tab_pcale.

    • SMP/SSP absence data

    data begin of it_msa occurs 0.

    include structure pc27j.

    data end of it_msa.

    parameters: p_memid type char30.

    ************************************************************************

    *STAR-OF-SELECTION

    START-OF-SELECTION.

    gd_begda = pn-begda.

    gd_endda = pn-endda.

    gd_begda+6(2) = '01'.

    gd_endda+6(2) = '01'.

    refresh: it_msa.

    clear: it_msa.

    GET pernr.

    • PERFORM IMPORT_PC USING GD_SUCCESs.

    PERFORM get_rgdir.

    while gd_begda le gd_endda.

    PERFORM get_new_rg USING gd_begda.

    CALL FUNCTION 'CALCULATE_DATE'

    EXPORTING

    • DAYS = '0'

    MONTHS = '1'

    START_DATE = gd_begda

    IMPORTING

    RESULT_DATE = gd_begda.

    endwhile.

    msa[] = it_msa[].

    EXPORT msa TO MEMORY ID p_memid.

    &----


    *& Form GET_RGDIR

    &----


    FORM get_rgdir.

    rp-init-buffer.

    CLEAR rgdir.

    REFRESH rgdir.

    MOVE pernr-pernr(8) TO cd-key-pernr.

    rp-imp-c2-cd.

    IF rp-imp-cd-subrc = 0. "rgdir success

    SORT rgdir BY seqnr ASCENDING.

    CLEAR rgdir.

    ENDIF.

    ENDFORM.

    ----


    • FORM get_new_rg *

    ----


    • ........ *

    ----


    • --> search_date *

    ----


    FORM get_new_rg USING search_date.

    DATA: rg_day TYPE d,

    rgbeg TYPE d,

    rgend TYPE d.

    MOVE: search_date TO rg_day.

    CLEAR: msa.

    LOOP AT rgdir WHERE void NE 'V'.

    MOVE: rgdir-fpbeg TO rgbeg,

    rgdir-fpend TO rgend.

    IF ( rgbeg <= rg_day ) AND

    ( rgend >= rg_day ) AND

    rgdir-srtza = 'A'. "Must be periods actual set of results

    EXIT.

    ENDIF.

    ENDLOOP.

    UNPACK rgdir-seqnr TO rx-key-seqno.

    MOVE pernr-pernr(8) TO rx-key-pernr(8).

    rp-imp-c2-rg.

    append lines of msa to it_msa.

    IF rp-imp-rg-subrc <> 0.

    • rg fail

    ELSE.

    • rg success

    ENDIF.

    ENDFORM.

    *Text elements

    *----


    • 001 Sickness History for SSP 1

    • 002 Employee Name.

    • 003 National Insurance Number.

    • 004 Payroll Number.

    • 005 Sickness Start Date

    • 006 Sickness End Date

    • 007 Number of weeks paid

    • 008 system-error:

    • 009 No SSP / SMP record found

    • 010 Absence type

    • 011 No. weeks paid

    • 012 Amount

    • 013 Organisation Unit.

    • T01 Sickness Absence types

    *Selection texts

    *----


    • SO_SAP SAP Att./absence types

    • SO_SMP SMP Att./absence types

    • SO_SPP SPP Att./absence types

    • SO_SSP SSP Att./absence types

    _____________________________________________________________

    5. Report

    *.......................................................................

    *: Report: ZDOWNEMPDATA :

    *: :

    :

    *: Date : 2004 :

    *: :

    *: Description: Downloads employee data to TAB delimited flat files :

    *: :

    *:.....................................................................:

    REPORT ZHR_005 .

    INFOTYPES: 0000, 0001, 0007, 0008, 0121, 0615.

    NODES: pernr.

    TABLES: t001p.

    TYPES: BEGIN OF t_employee,

    • INCLUDE STRUCTURE hrms_biw_io_occupancy.

    begda TYPE begda,

    endda TYPE endda,

    pernr TYPE pernr_d,

    rfpnr TYPE rfpnr,

    bukrs TYPE bukrs,

    werks TYPE persa,

    btrtl TYPE btrtl,

    persg TYPE persg,

    persk TYPE persk,

    orgeh TYPE orgeh,

    stell TYPE stell,

    plans TYPE plans,

    kokrs TYPE mast_coar,

    kostl TYPE mast_cctr,

    abkrs TYPE abkrs,

    molga TYPE molga,

    trfar TYPE trfar,

    trfgb TYPE trfgb,

    trfkz TYPE trfkz,

    trfgr TYPE trfgr,

    trfst TYPE trfst,

    bsgrd TYPE bsgrd,

    ansal TYPE ansal_15,

    ancur TYPE ancur,

    empct TYPE empct,

    stat2 TYPE stat2,

    ncsdate TYPE hiredate,

    sltyp TYPE p_sltyp,

    slreg TYPE p_slreg,

    slgrp TYPE p_slgrp,

    sllev TYPE p_sllvl,

    ansvh TYPE ansvh,

    vdsk1 TYPE vdsk1,

    sname TYPE smnam,

    END OF t_employee.

    DATA: it_employee TYPE STANDARD TABLE OF t_employee INITIAL SIZE 0,

    wa_employee TYPE t_employee.

    TYPES: BEGIN OF t_emptexts,

    • INCLUDE STRUCTURE hrms_bw_txt_employee.

    DATEFROM TYPE RSDATEFROM,

    DATETO TYPE RSDATETO,

    PERNR TYPE PERSNO,

    TXTMD TYPE EMNAM,

    END OF t_emptexts.

    DATA: it_emptexts TYPE STANDARD TABLE OF t_emptexts INITIAL SIZE 0,

    wa_emptexts TYPE t_emptexts.

    TYPES: BEGIN OF t_contract,

    • INCLUDE STRUCTURE pa0615.

    pernr TYPE p0615-pernr,

    begda TYPE p0615-begda,

    endda TYPE p0615-endda,

    aedtm TYPE p0615-aedtm,

    ctype TYPE p0615-ctype,

    cbeg TYPE p0615-cbeg,

    cend TYPE p0615-cend,

    END OF t_contract.

    DATA: it_contract TYPE STANDARD TABLE OF t_contract INITIAL SIZE 0,

    wa_contract TYPE t_contract.

    DATA: it_tabemp TYPE filetable,

    gd_subrcemp TYPE i,

    it_tabempt TYPE filetable,

    gd_subrcempt TYPE i,

    it_tabcont TYPE filetable,

    gd_subrccont TYPE i.

    DATA: gd_downfile TYPE string.

    SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.

    PARAMETERS: p_emp LIKE rlgrap-filename default 'c://emp.xls',

    p_empt LIKE rlgrap-filename default 'c://empt.xls',

    p_cont LIKE rlgrap-filename default 'c://cont.xls'.

    SELECTION-SCREEN END OF BLOCK block1.

    ***********************************************************************

    *at selection-screen

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_emp.

    REFRESH: it_tabemp.

    CALL METHOD cl_gui_frontend_services=>file_open_dialog

    EXPORTING

    window_title = 'Select File'

    default_filename = '*.xls'

    initial_directory = 'C:\'

    multiselection = ' ' "No multiple selection

    CHANGING

    file_table = it_tabemp

    rc = gd_subrcemp.

    LOOP AT it_tabemp INTO p_emp.

    ENDLOOP.

    ***********************************************************************

    *at selection-screen

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_empt.

    REFRESH: it_tabemp.

    CALL METHOD cl_gui_frontend_services=>file_open_dialog

    EXPORTING

    window_title = 'Select File'

    default_filename = '*.xls'

    initial_directory = 'C:\'

    multiselection = ' ' "No multiple selection

    CHANGING

    file_table = it_tabempt

    rc = gd_subrcempt.

    LOOP AT it_tabempt INTO p_empt.

    ENDLOOP.

    ***********************************************************************

    *at selection-screen

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_cont.

    REFRESH: it_tabcont.

    CALL METHOD cl_gui_frontend_services=>file_open_dialog

    EXPORTING

    window_title = 'Select File'

    default_filename = '*.xls'

    initial_directory = 'C:\'

    multiselection = ' ' "No multiple selection

    CHANGING

    file_table = it_tabcont

    rc = gd_subrccont.

    LOOP AT it_tabcont INTO p_cont.

    ENDLOOP.

    ************************************************************************

    *START-OF-SELECTION.

    START-OF-SELECTION.

    GET pernr.

    • Selecting the latest infotype record

    rp_provide_from_last p0000 space pn-begda pn-endda.

    rp_provide_from_last p0001 space pn-begda pn-endda.

    rp_provide_from_last p0007 space pn-begda pn-endda.

    rp_provide_from_last p0008 space pn-begda pn-endda.

    rp_provide_from_last p0121 space pn-begda pn-endda.

    rp_provide_from_last p0615 space pn-begda pn-endda.

    MOVE-CORRESPONDING p0001 TO wa_employee.

    wa_employee-rfpnr = p0121-rfp01. "?????

    MOVE-CORRESPONDING p0007 TO wa_employee.

    MOVE-CORRESPONDING p0008 TO wa_employee.

    MOVE-CORRESPONDING p0000 TO wa_employee.

    SELECT SINGLE molga

    FROM t001p

    INTO wa_employee-molga

    WHERE werks EQ p0001-werks AND

    btrtl EQ p0001-btrtl.

    SELECT SINGLE trfkz

    FROM t503

    INTO wa_employee-trfkz

    WHERE persg EQ p0001-persg AND

    persk EQ p0001-persk.

    CALL FUNCTION 'HR_ENTRY_DATE'

    EXPORTING

    persnr = pernr-pernr

    • RCLAS =

    • BEGDA = '18000101'

    • ENDDA = '99991231'

    • VARKY =

    IMPORTING

    entrydate = wa_employee-ncsdate

    • TABLES

    • ENTRY_DATES =

    EXCEPTIONS

    ENTRY_DATE_NOT_FOUND = 1

    PERNR_NOT_ASSIGNED = 2

    OTHERS = 3

    .

    IF sy-subrc <> 0.

    • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    ENDIF.

    • append employee data

    APPEND wa_employee TO it_employee.

    CLEAR: wa_employee.

    wa_emptexts-datefrom = p0001-begda.

    wa_emptexts-dateto = p0001-endda.

    wa_emptexts-pernr = p0001-pernr.

    wa_emptexts-txtmd = p0001-ename.

    • append employee texts data

    APPEND wa_emptexts TO it_emptexts.

    CLEAR: wa_emptexts.

    MOVE-CORRESPONDING p0615 TO wa_contract.

    • append employee contract data

    APPEND wa_contract TO it_contract.

    CLEAR: wa_contract.

    ************************************************************************

    *END-OF-SELECTION.

    END-OF-SELECTION.

    • download employee data

    IF NOT p_emp IS INITIAL.

    gd_downfile = p_emp.

    CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

    filename = gd_downfile

    filetype = 'ASC'

    write_field_separator = 'X'

    TABLES

    data_tab = it_employee.

    IF sy-subrc EQ 0.

    WRITE:/ 'Employee file downloaded to',

    gd_downfile.

    ELSE.

    WRITE:/ 'There was an error downloading Employee file to',

    gd_downfile.

    ENDIF.

    ENDIF.

    • download employee texts data

    IF NOT p_empt IS INITIAL.

    gd_downfile = p_empt.

    CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

    filename = gd_downfile

    filetype = 'ASC'

    write_field_separator = 'X'

    TABLES

    data_tab = it_emptexts.

    IF sy-subrc EQ 0.

    WRITE:/ 'Employee text file downloaded to',

    gd_downfile.

    ELSE.

    WRITE:/ 'There was an error downloading Employee text file to',

    gd_downfile.

    ENDIF.

    ENDIF.

    • download contract data

    IF NOT p_cont IS INITIAL.

    gd_downfile = p_cont.

    CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

    filename = gd_downfile

    filetype = 'ASC'

    write_field_separator = 'X'

    TABLES

    data_tab = it_contract.

    IF sy-subrc EQ 0.

    WRITE:/ 'Employee contract file downloaded to',

    gd_downfile.

    ELSE.

    WRITE:/ 'There was an error downloading Employee contract file to'

    ,

    gd_downfile.

    ENDIF.

    ENDIF.

    ________________________________________________________________

    6. Report

    ......................................................................

    : Report ZIT0019_TXT :

    :*

    :.....................................................................

    : Description : :

    :.............: :

    : Retrieves comment text for infotype 0019 form PCL1 cluster table :

    : :

    :....................................................................:

    REPORT zhr_006. .

    NODES: pernr.

    INFOTYPES: 0019.

    TYPE-POOLS: slis.

    ----


    • Daten zu Cluster TX (Infotyptexte) *

    ----


    INCLUDE RPC1TX00.

    *INCLUDE rpcitx00.

    *INCLUDE rpcitd00.

    TYPES: BEGIN OF t_reptab,

    pernr TYPE pernr-pernr,

    subty TYPE p0019-subty,

    termn TYPE p0019-termn,

    text LIKE ptext-line,

    END OF t_reptab.

    DATA: it_reptab TYPE STANDARD TABLE OF t_reptab INITIAL SIZE 0,

    wa_reptab TYPE t_reptab.

    *ALV data declarations

    DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,

    gd_tab_group TYPE slis_t_sp_group_alv,

    gd_layout TYPE slis_layout_alv,

    gd_repid LIKE sy-repid,

    it_sortcat TYPE slis_sortinfo_alv OCCURS 1,

    wa_sort LIKE LINE OF it_sortcat.

    SELECTION-SCREEN BEGIN OF BLOCK subtyp WITH FRAME TITLE text-001.

    SELECT-OPTIONS: so_sub FOR p0019-subty.

    SELECTION-SCREEN END OF BLOCK subtyp.

    ************************************************************************

    *START-OF-SELECTION.

    START-OF-SELECTION.

    GET pernr.

    *rp_provide_from_last p0019 space pn-begda pn-endda.

    PROVIDE * FROM p0019 BETWEEN pn-begda AND pn-endda.

    CHECK p0019-subty IN so_sub.

    MOVE-CORRESPONDING p0019 TO tx-key.

    tx-key-infty = '0019'.

    rp-imp-c1-tx.

    IF sy-subrc = 0.

    LOOP AT ptext.

    MOVE-CORRESPONDING p0019 TO wa_reptab.

    wa_reptab-text = ptext-line.

    APPEND wa_reptab TO it_reptab.

    CLEAR: wa_reptab.

    ENDLOOP.

    ENDIF.

    ENDPROVIDE.

    SORT it_reptab BY pernr subty.

    ************************************************************************

    *END-OF-SELECTION.

    END-OF-SELECTION.

    PERFORM build_fieldcatalog.

    PERFORM build_layout.

    PERFORM build_sortcat.

    PERFORM display_alv_report.

    &----


    *& Form BUILD_FIELDCATALOG

    &----


    • Build Fieldcatalog for ALV Report

    ----


    FORM build_fieldcatalog.

    fieldcatalog-fieldname = 'PERNR'.

    fieldcatalog-seltext_m = 'Personnel Num'.

    fieldcatalog-col_pos = 0.

    fieldcatalog-outputlen = 10.

    fieldcatalog-emphasize = 'X'.

    fieldcatalog-key = 'X'.

    • fieldcatalog-do_sum = 'X'.

    • fieldcatalog-no_zero = 'X'.

    APPEND fieldcatalog TO fieldcatalog.

    CLEAR fieldcatalog.

    fieldcatalog-fieldname = 'SUBTY'.

    fieldcatalog-seltext_m = 'Sub Type'.

    fieldcatalog-col_pos = 1.

    APPEND fieldcatalog TO fieldcatalog.

    CLEAR fieldcatalog.

    fieldcatalog-fieldname = 'TERMN'.

    fieldcatalog-seltext_m = 'Sub Type'.

    fieldcatalog-col_pos = 1.

    APPEND fieldcatalog TO fieldcatalog.

    CLEAR fieldcatalog.

    fieldcatalog-fieldname = 'TEXT'.

    fieldcatalog-seltext_m = 'Text'.

    fieldcatalog-col_pos = 2.

    APPEND fieldcatalog TO fieldcatalog.

    CLEAR fieldcatalog.

    ENDFORM. " BUILD_FIELDCATALOG

    &----


    *& Form BUILD_LAYOUT

    &----


    • Build layout for ALV grid report

    ----


    FORM build_layout.

    gd_layout-no_input = 'X'.

    gd_layout-colwidth_optimize = 'X'.

    gd_layout-totals_text = 'Totals'(201).

    • gd_layout-totals_only = 'X'.

    • gd_layout-f2code = 'DISP'. "Sets fcode for when double

    • "click(press f2)

    • gd_layout-zebra = 'X'.

    • gd_layout-group_change_edit = 'X'.

    • gd_layout-header_text = 'helllllo'.

    ENDFORM. " BUILD_LAYOUT

    &----


    *& Form DISPLAY_ALV_REPORT

    &----


    • Display report using ALV grid

    ----


    FORM display_alv_report.

    gd_repid = sy-repid.

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

    i_callback_program = gd_repid

    • i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM

    • i_callback_user_command = 'USER_COMMAND'

    • i_grid_title = outtext

    is_layout = gd_layout

    it_fieldcat = fieldcatalog[]

    it_sort = it_sortcat

    • it_special_groups = gd_tabgroup

    • IT_EVENTS = GT_XEVENTS

    i_save = 'X'

    • is_variant = z_template

    TABLES

    t_outtab = it_reptab

    EXCEPTIONS

    program_error = 1

    OTHERS = 2.

    IF sy-subrc <> 0.

    • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    ENDIF.

    ENDFORM. " DISPLAY_ALV_REPORT

    &----


    *& Form build_sortcat

    &----


    • text

    ----


    • --> p1 text

    • <-- p2 text

    ----


    FORM build_sortcat .

    wa_sort-spos = 1.

    wa_sort-fieldname = 'PERNR'.

    • gd_sortcat-tabname

    APPEND wa_sort TO it_sortcat.

    wa_sort-spos = 2.

    wa_sort-fieldname = 'SUBTY'.

    • gd_sortcat-tabname

    APPEND wa_sort TO it_sortcat.

    wa_sort-spos = 3.

    wa_sort-fieldname = 'TERMN'.

    • gd_sortcat-tabname

    APPEND wa_sort TO it_sortcat.

    ENDFORM. " build_sortcat

    _________________________________________________________________

    REPORT ZHR_007 LINE-SIZE 100.

    *-- declaration

    TABLES: pernr.

    INFOTYPES: 0002, "Personal Data

    0006. "Address

    DATA: name LIKE pernr-ename.

    *-- Processing

    GET pernr.

    PROVIDE * FROM p0002

    • FROM p0006 BETWEEN pn-begda AND pn-endda

    WHERE p0006-subty = '1'.

    IF p0006_valid EQ 'X'.

    CONCATENATE p0002-nachn p0002-vorna INTO name

    SEPARATED BY SPACE.

    PERFORM print_data.

    ENDIF.

    ENDPROVIDE.

    ----


    • FORM PRINT_DATA

    ----


    FORM print_data.

    WRITE: / p0002-pernr NO-ZERO,

    sy-vline,

    p0002-begda,

    sy-vline,

    p0002-endda,

    sy-vline,

    (30) name,

    sy-vline,

    (20) p0006-ort01.

    ENDFORM.

    8. Report

    &----


    *& Report ZHR_008

    *&

    &----


    *&

    *&

    &----


    REPORT ZHR_008 LINE-SIZE 80 .

    *-- Declaration

    TABLES: pernr,

    t555v. "Job Titles

    INFOTYPES: 0002, "Personal Data

    0007. "Planned Working Time

    DATA: name LIKE pernr-ename.

    *-- Processing

    GET pernr.

    PROVIDE nachn vorna FROM p0002

    zterf FROM p0007 BETWEEN pn-begda AND pn-endda.

    IF p0007_valid EQ 'X'.

    CONCATENATE p0002-nachn p0002-vorna INTO name

    SEPARATED BY space.

    PERFORM re555v USING p0007-zterf.

    FORMAT RESET COLOR 6 INTENSIFIED OFF.

    WRITE: /1(10) pernr-pernr COLOR 5 ,

    11 SY-VLINE,

    12(20) name COLOR 1,

    32 SY-VLINE,

    33(25) t555v-ztext COLOR 2,

    58 SY-VLINE,

    59(10) p0007-begda COLOR 3,

    69 SY-VLINE,

    70(10) p0007-endda COLOR 4,

    80 SY-VLINE.

    WRITE :/11 SY-VLINE,

    32 SY-VLINE,

    58 SY-VLINE,

    69 SY-VLINE,

    80 SY-VLINE.

    ENDIF.

    ENDPROVIDE.

    ULINE.

    ----


    • FORM RE555v *

    ----


    • Read Time Management Status *

    ----


    FORM re555v USING value(tm_status).

    CHECK sy-langu NE t555v-sprsl OR

    tm_status NE t555v-zterf.

    SELECT SINGLE * FROM t555v WHERE sprsl EQ sy-langu

    AND zterf EQ tm_status.

    IF sy-subrc NE 0.

    MOVE space TO t555v.

    ENDIF.

    ENDFORM.

    9. Report

    &----


    *& Report ZHR_009

    *&

    &----


    *&

    *&

    &----


    REPORT zhr_009.

    *-- Declaration

    TABLES: pernr,

    t512t, "Wage type text

    t001p. "Plant section

    INFOTYPES: 0001, "Organ. assignment

    0014. "Recur.Payments/Deds.

    START-OF-SELECTION.

    rp_set_data_interval 'P0014' pn-begda pn-endda.

    *-- Processing

    GET pernr.

    CHECK LINES( p0014 ) GT 0.

    rp_provide_from_last p0001 space pn-begda pn-endda.

    rp-read-t001p p0001-werks p0001-btrtl space.

    SKIP 2.

    WRITE: / pernr-pernr,

    (20) pernr-ename,

    p0001-werks,

    t001p-btext.

    LOOP AT p0014 WHERE endda GE pn-begda

    AND begda LE pn-endda.

    CHECK p0014-betrg NE 0.

    PERFORM print USING

    p0014-lgart

    p0014-betrg

    p0014-begda

    p0014-endda.

    ENDLOOP.

    ----


    • FORM PRINT *

    ----


    • Print List *

    ----


    FORM print USING

    value(wtype)

    value(amount)

    value(begda)

    value(endda).

    PERFORM re512t USING t001p-molga wtype.

    WRITE: / wtype UNDER pernr-ename,

    t512t-lgtxt,

    amount,

    begda,

    endda.

    ENDFORM. "print

    ----


    • FORM RE512T *

    ----


    • Read Wagetype Texts *

    ----


    FORM re512t USING value(country_grouping)

    value(wtype).

    CHECK t512t-sprsl NE sy-langu

    OR t512t-molga NE country_grouping

    OR t512t-lgart NE wtype.

    SELECT SINGLE * FROM t512t

    WHERE sprsl EQ sy-langu

    AND molga EQ country_grouping

    AND lgart EQ wtype.

    IF sy-subrc NE 0.

    CLEAR t512t.

    ENDIF.

    ENDFORM. "re512t

    10. Report

    REPORT zhr_010.

    *-- declaration

    TABLES: pernr, t548t. "Date Types

    INFOTYPES: 0001, "Org.Assignment

    0041. "Date Specifications

    $$- Start of INCLUDE ZPSOL050_DATA_STRUCTURES --$$

    &----


    *& Include ZPSOL050_DATA_STRUCTURES *

    &----


    TYPE-POOLS: slis.

    DATA: BEGIN OF dtype , "Work area for IT0041

    dar LIKE p0041-dar01,

    dat LIKE p0041-dat01,

    END OF dtype.

    TYPES: BEGIN OF data_struc, "Data table structure

    pernr LIKE pernr-pernr,

    ename LIKE pernr-ename,

    eindt LIKE p0016-eindt,

    dar LIKE p0041-dar01,

    dtext LIKE t548t-dtext,

    dat LIKE p0041-dat01,

    END OF data_struc.

    DATA: data_tab TYPE TABLE OF data_struc,

    data_tab_wa TYPE data_struc.

    DATA: alv_fieldcat TYPE slis_t_fieldcat_alv,

    alv_layout TYPE slis_layout_alv.

    DATA: filled_lines LIKE sy-index,

    stru_disvar TYPE disvariant.

    $$--- End of INCLUDE ZPSOL050_DATA_STRUCTURES --$*$*

    SELECT-OPTIONS: datetype FOR p0041-dar01 DEFAULT '01'.

    *-- Processing

    GET pernr.

    CHECK lines( p0041 ) GT 0.

    rp_provide_from_last p0001 space pn-begda pn-endda.

    rp_provide_from_last p0041 space pn-begda pn-endda.

    IF pnp-sw-found EQ 0.

    REJECT.

    ELSE.

    DO 12 TIMES VARYING dtype FROM p0041-dar01

    NEXT p0041-dar02.

    IF dtype-dar IS INITIAL.

    EXIT.

    ELSE.

    IF dtype-dar IN datetype.

    CLEAR data_tab_wa.

    MOVE-CORRESPONDING pernr TO data_tab_wa.

    MOVE-CORRESPONDING dtype TO data_tab_wa.

    PERFORM read_hiredate.

    PERFORM re548t USING sy-langu dtype-dar.

    MOVE t548t-dtext TO data_tab_wa-dtext.

    APPEND data_tab_wa TO data_tab.

    ENDIF.

    ENDIF.

    ENDDO.

    ENDIF.

    END-OF-SELECTION.

    PERFORM fieldcat_init USING alv_fieldcat.

    alv_layout-colwidth_optimize = 'X'.

    alv_layout-zebra = 'X'.

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

    • I_INTERFACE_CHECK = ' '

    • I_BUFFER_ACTIVE = ' '

    i_callback_program = 'ZPSOL060'

    • I_CALLBACK_PF_STATUS_SET = ' '

    • I_CALLBACK_USER_COMMAND = ' '

    • I_CALLBACK_TOP_OF_PAGE = ' '

    • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

    • I_CALLBACK_HTML_END_OF_LIST = ' '

    • I_STRUCTURE_NAME =

    • I_BACKGROUND_ID = ' '

    I_GRID_TITLE = 'Date Specifications'

    • I_GRID_SETTINGS =

    is_layout = alv_layout

    it_fieldcat = alv_fieldcat

    • IT_EXCLUDING =

    • IT_SPECIAL_GROUPS =

    • IT_SORT =

    • IT_FILTER =

    • IS_SEL_HIDE =

    • I_DEFAULT = 'X'

    I_SAVE = 'A'

    IS_VARIANT = stru_disvar

    • IT_EVENTS =

    • IT_EVENT_EXIT =

    • IS_PRINT =

    • IS_REPREP_ID =

    • I_SCREEN_START_COLUMN = 0

    • I_SCREEN_START_LINE = 0

    • I_SCREEN_END_COLUMN = 0

    • I_SCREEN_END_LINE = 0

    • IT_ALV_GRAPHICS =

    • IT_ADD_FIELDCAT =

    • IT_HYPERLINK =

    • IMPORTING

    • E_EXIT_CAUSED_BY_CALLER =

    • ES_EXIT_CAUSED_BY_USER =

    TABLES

    t_outtab = data_tab

    EXCEPTIONS

    program_error = 1

    OTHERS = 2.

    IF sy-subrc = 1.

    WRITE: 'Program error'(002).

    ENDIF.

    ----


    • FORM READ_HIREDATE

    ----


    • Retrieving hiredate from infotype 0000

    ----


    FORM read_hiredate.

    CALL FUNCTION 'RP_GET_HIRE_DATE'

    EXPORTING

    persnr = p0001-pernr

    check_infotypes = '0000'

    IMPORTING

    hiredate = data_tab_wa-eindt

    EXCEPTIONS

    OTHERS = 1.

    ENDFORM.

    ----


    • FORM RE548T

    • Read date specification texts

    ----


    VALUE (LANGUAGE)

    • --> VALUE(DTYPE)

    ----


    FORM re548t USING value(language)

    value(dtype).

    CHECK t548t-sprsl NE language

    OR t548t-datar NE dtype.

    SELECT SINGLE * FROM t548t

    WHERE sprsl EQ language

    AND datar EQ dtype.

    IF sy-subrc NE 0.

    CLEAR t548t.

    ENDIF.

    ENDFORM.

    $$- Start of INCLUDE ZPSOL050_FILL_FIELDCAT --$$

    &----


    *& Include ZPSOL050_FILL_FIELDCAT *

    &----


    ----


    • FORM FIELDCAT_INIT

    ----


    FORM fieldcat_init USING p_fieldcat TYPE slis_t_fieldcat_alv.

    DATA: ls_fieldcat TYPE slis_fieldcat_alv.

    CLEAR ls_fieldcat.

    ls_fieldcat-fieldname = 'PERNR'.

    ls_fieldcat-ref_tabname = 'PERNR'.

    ls_fieldcat-key = 'X'.

    APPEND ls_fieldcat TO p_fieldcat.

    CLEAR ls_fieldcat.

    ls_fieldcat-fieldname = 'ENAME'.

    ls_fieldcat-ref_tabname = 'PERNR'.

    APPEND ls_fieldcat TO p_fieldcat.

    CLEAR ls_fieldcat.

    ls_fieldcat-fieldname = 'EINDT'.

    ls_fieldcat-ref_tabname = 'P0016'.

    APPEND ls_fieldcat TO p_fieldcat.

    CLEAR ls_fieldcat.

    ls_fieldcat-fieldname = 'DAR'.

    ls_fieldcat-ref_fieldname = 'DAR01'.

    ls_fieldcat-ref_tabname = 'P0041'.

    APPEND ls_fieldcat TO p_fieldcat.

    CLEAR ls_fieldcat.

    ls_fieldcat-fieldname = 'DTEXT'.

    ls_fieldcat-ref_tabname = 'T548T'.

    APPEND ls_fieldcat TO p_fieldcat.

    CLEAR ls_fieldcat.

    ls_fieldcat-fieldname = 'DAT'.

    ls_fieldcat-ref_fieldname = 'DAT01'.

    ls_fieldcat-ref_tabname = 'P0041'.

    APPEND ls_fieldcat TO p_fieldcat.

    ENDFORM.

    $$--- End of INCLUDE ZPSOL050_FILL_FIELDCAT --$$

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.