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

retrieve the data from Cluster table ZL

how to display the data in Cluster table ZL? How to retrieve the data from ZL ? Is any Tcode is tehre to view the data in ZL?

Add a comment
10|10000 characters needed characters exceeded

Related questions

2 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Aug 31, 2007 at 11:08 AM

    hi,

    report zporgr0100

    line-size 252

    line-count 60(1)

    no standard page heading

    message-id zx.

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

    • Database Tables & Infotypes

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

    tables: pcl1, " HR Cluster1

    pcl2, " HR Cluster1

    pa0003, " Master data - Payroll Status

    cskt, " Cost Center Texts

    t528t, " Positions Texts

    t513s, " Job Titles

    pernr, " Logical PNP

    t001p, " Personnel Subarea

    t500p, " Personnel Area

    t501, " Employee Group

    t503k, " Employee Subgroup

    csks. " Cost Center

    infotypes:0000,0001.

    *include rpclst00.

    include rpc2rx00.

    include rpc2rxx0.

    include rpc2cd00.

    *include rpc2ps00.

    *include rpc2pt00.

    *include rpcfvp00.

    *include rpcfdc10.

    *include rpcfdc00.

    include rpppxd00.

    include rpppxd10.

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

    • Declaration of Internal Tables

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

    • Internal Table for Output Data

    data: begin of rep_tab occurs 0,

    kostl like pa0001-kostl, " Cost Center

    pernr like pa0001-pernr, " Personal Number

    ename like pa0001-ename, " Employee Name

    ctext like cskt-ltext, " Cost Center Text

    ptext like t528t-plstx, " Position Text

    ot1 type p decimals 2, " Jan OT Amount

    ot2 type p decimals 2, " Feb OT Amount

    ot3 type p decimals 2, " Mar OT Amount

    ot4 type p decimals 2, " Apr OT Amount

    ot5 type p decimals 2, " May OT Amount

    ot6 type p decimals 2, " Jun OT Amount

    ot7 type p decimals 2, " Jul OT Amount

    ot8 type p decimals 2, " Aug OT Amount

    ot9 type p decimals 2, " Sep OT Amount

    ot10 type p decimals 2, " Oct OT Amount

    ot11 type p decimals 2, " Nov OT Amount

    ot12 type p decimals 2, " Dec OT Amount

    ott type p decimals 2, " Total OT Amount

    end of rep_tab.

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

    • Declaration of Variables

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

    data: v_mon(2) type n, " Month

    v_no type i, " Data Lines

    v_year(4) type c, " Year

    v_date like sy-datum, " Date

    v_date1 like sy-datum, " Date

    v_seqnr like pc261-seqnr. " Sequence No.

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

    • Declaration of Constants

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

    data: c_type like hrp1001-otype value 'S', " Object Type

    c_kokrs like cskt-kokrs value '1000', " Controlling Area

    c_date1 like sy-datum value '18000101', " Date

    c_date2 like sy-datum value '99991231', " Date

    c_x type c value 'X', " Sign

    • c_mon(2) type c value '01', " Month

    c_val1(2) type c value '31', " Date

    c_val2(2) type c value '12', " Month Type

    c_val like p0041-dar01 value '01', " Date Type

    c_lgart1 like p0008-lga01 value '0722', " Wage Type

    c_lgart2 like p0008-lga01 value '0723', " Wage Type

    c_1(2) type n value '01', " Month1

    c_2(2) type n value '02', " Month2

    c_3(2) type n value '03', " Month3

    c_4(2) type n value '04', " Month4

    c_5(2) type n value '05', " Month5

    c_6(2) type n value '06', " Month6

    c_7(2) type n value '07', " Month7

    c_8(2) type n value '08', " Month8

    c_9(2) type n value '09', " Month9

    c_10(2) type n value '10', " Month10

    c_11(2) type n value '11', " Month11

    c_12(2) type n value '12'. " Month12

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

    • Selection-screen

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

    parameters:

    p_year like pc2b0-pabrj obligatory. " Payroll Year

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

    • At selection-screen

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

    at selection-screen.

    • Validate the Selection Screen fields

    perform validate_screen.

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

    • Start-of-Selection

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

    start-of-selection.

    • Selection of Period

    perform get_period.

    • Get PERNR from LDB

    get pernr.

    • Get the Master data from infotype 0001

    perform get_master_data.

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

    • Top-of-page

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

    top-of-page.

    • Write the Report and Column Headings

    perform top_of_page.

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

    • End-of-Page

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

    end-of-page.

    write /1(252) sy-uline.

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

    • End-of-Selection

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

    end-of-selection.

    • Display the Output Report.

    perform display_report.

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

    • Form-Routines

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

    &----


    *& Form validate_screen

    &----


    • Validation of selection Screen fields

    ----


    form validate_screen.

    • Validation of Cost Center

    clear csks.

    if not pnpkostl[] is initial.

    select single kostl

    into csks-kostl

    from csks

    where kostl in pnpkostl.

    if sy-subrc <> 0.

    message e999 with 'Invalid Cost Center'(003).

    endif.

    endif.

    • Validation of Personnel Number

    clear pa0003.

    if not pnppernr[] is initial.

    select pernr

    from pa0003 up to 1 rows

    into pa0003-pernr

    where pernr in pnppernr.

    endselect.

    if sy-subrc <> 0.

    message e999 with 'Incorrect Personal Number Entered'(002).

    endif.

    endif.

    • Validation of Personnel Area

    clear t500p.

    if not pnpwerks[] is initial.

    select persa

    from t500p up to 1 rows

    into t500p-persa

    where persa in pnpwerks.

    endselect.

    if sy-subrc <> 0.

    message e999 with 'Incorrect Personnel Area Entered'(001).

    endif.

    endif.

    • Validation of Personnel Sub Area

    clear t001p.

    if not pnpbtrtl[] is initial.

    select btrtl

    from t001p up to 1 rows

    into t001p-btrtl

    where btrtl in pnpbtrtl.

    endselect.

    if sy-subrc <> 0.

    message e999 with 'Incorrect Personnel Sub Area Entered'(037).

    endif.

    endif.

    • Validation of Employee Group

    clear t501.

    if not pnppersg[] is initial.

    select persg

    from t501 up to 1 rows

    into t501-persg

    where persg in pnppersg.

    endselect.

    if sy-subrc <> 0.

    message e999 with 'Incorrect Employee Group Entered'(038).

    endif.

    endif.

    • Validation of Employee Sub Group

    clear t503k.

    if not pnppersk[] is initial.

    select persk

    from t503k up to 1 rows

    into t503k-persk

    where persk in pnppersk.

    endselect.

    if sy-subrc <> 0.

    message e999 with 'Incorrect Employee Sub Group Entered'(039).

    endif.

    endif.

    endform. "validate_screen

    &----


    *& Form get_period

    &----


    • Get the Correct Period based on Selection screen selection

    ----


    form get_period.

    clear: v_year,v_mon, v_date, v_date1.

    v_year = sy-datum+0(4).

    v_mon = sy-datum+4(2).

    if pnptimr1 = c_x. " Current Date

    pnpbegda = sy-datum.

    pnpendda = sy-datum.

    elseif pnptimr2 = c_x. " Current Month

    concatenate v_year v_mon c_val into v_date.

    concatenate v_year v_mon c_val1 into v_date1.

    pnpbegda = v_date.

    pnpendda = v_date1.

    elseif pnptimr3 = c_x. " Current Year

    concatenate v_year c_val c_val into v_date.

    concatenate v_year c_val2 c_val1 into v_date1.

    pnpbegda = v_date.

    pnpendda = v_date1.

    elseif pnptimr4 = c_x. " Upto Today

    pnpbegda = c_date1.

    pnpendda = sy-datum.

    elseif pnptimr5 = c_x. " From Today

    pnpbegda = sy-datum.

    pnpendda = c_date2.

    else.

    if ( pnpbegda is initial and pnpendda is initial ).

    pnpbegda = c_date1.

    pnpendda = c_date2.

    elseif pnpbegda is initial and not pnpendda is initial.

    pnpbegda = c_date1.

    pnpendda = pnpendda.

    elseif not ( pnpbegda is initial and pnpendda is initial ).

    pnpbegda = pnpbegda.

    pnpendda = pnpendda.

    endif.

    endif.

    endform. "get_period

    &----


    *& Form get_master_data

    &----


    • Get the Master Data from Database Tables PA0001,0002,0003

    *----


    form get_master_data.

    • Get data from Respective Infotypes

    rp_provide_from_last p0001 space pnpbegda pnpendda.

    if p0001-kostl in pnpkostl.

    rep_tab-kostl = p0001-kostl.

    rep_tab-pernr = p0001-pernr.

    rep_tab-ename = p0001-ename.

    • Get the Position Text

    clear t528t-plstx.

    select single plstx into t528t-plstx from t528t

    where plans = p0001-plans and

    otype = c_type and

    sprsl = sy-langu.

    if sy-subrc = 0.

    rep_tab-ptext = t528t-plstx.

    endif.

    • Get the Cost Center Text

    clear cskt-ltext.

    select single ltext into cskt-ltext from cskt

    where spras = sy-langu and

    kokrs = c_kokrs and

    kostl = p0001-kostl.

    if sy-subrc = 0.

    rep_tab-ctext = cskt-ltext.

    endif.

    • Get the Overtime Payment Data

    perform get_ot_data.

    rep_tab-ott = rep_tab-ot1 + rep_tab-ot2 + rep_tab-ot3 +

    rep_tab-ot4 + rep_tab-ot5 + rep_tab-ot6 +

    rep_tab-ot7 + rep_tab-ot8 + rep_tab-ot9 +

    rep_tab-ot10 + rep_tab-ot11 + rep_tab-ot12.

    append rep_tab.

    clear rep_tab.

    endif.

    sort rep_tab by kostl pernr.

    delete rep_tab where kostl = ' '.

    delete rep_tab where ott = 0.

    endform. "get_master_data

    &----


    *& Form get_ot_data

    &----


    • Get the Overtime Payment Data

    *----


    form get_ot_data.

    cd-key = pernr-pernr.

    rp-imp-c2-cd.

    sort rgdir by seqnr.

    • To get sequence number for the payroll period

    loop at rgdir where void is initial

    and reversal is initial

    and outofseq is initial

    and srtza eq 'A'.

    if rgdir-fpper+0(4) = p_year.

    • To consider offcycle run data

    if not rgdir-ocrsn is initial.

    v_seqnr = rgdir-seqnr.

    exit.

    endif.

    v_seqnr = rgdir-seqnr.

    endif.

    if not v_seqnr is initial.

    perform import_rx.

    endif.

    perform process_wagetypes.

    endloop.

    endform. "get_ot_data

    include rpppxm00.

    &----


    *& Form Import_rx

    &----


    • Import the RX data from Clusters

    ----


    form import_rx.

    rx-key-pernr = cd-key-pernr.

    rx-key-seqno = v_seqnr.

    rp-init-buffer.

    rp-imp-c2-rx.

    endform. " Import_rx

    &----


    *& Form Process_wagetypes

    &----


    • Calculate the Overtime Amount based on Wage types

    ----


    form process_wagetypes.

    loop at rt.

    if rt-lgart = c_lgart1 or rt-lgart = c_lgart2.

    if rgdir-fpper+0(4) = p_year.

    v_mon = rgdir-fpper+4(2).

    case v_mon .

    when c_1.

    rep_tab-ot1 = rep_tab-ot1 + rt-betrg.

    when c_2.

    rep_tab-ot2 = rep_tab-ot2 + rt-betrg.

    when c_3.

    rep_tab-ot3 = rep_tab-ot3 + rt-betrg.

    when c_4.

    rep_tab-ot4 = rep_tab-ot4 + rt-betrg.

    when c_5.

    rep_tab-ot5 = rep_tab-ot5 + rt-betrg.

    when c_6.

    rep_tab-ot6 = rep_tab-ot6 + rt-betrg.

    when c_7.

    rep_tab-ot7 = rep_tab-ot7 + rt-betrg.

    when c_8.

    rep_tab-ot8 = rep_tab-ot8 + rt-betrg.

    when c_9.

    rep_tab-ot9 = rep_tab-ot9 + rt-betrg.

    when c_10.

    rep_tab-ot10 = rep_tab-ot10 + rt-betrg.

    when c_11.

    rep_tab-ot11 = rep_tab-ot11 + rt-betrg.

    when c_12.

    rep_tab-ot12 = rep_tab-ot12 + rt-betrg.

    endcase.

    endif.

    endif.

    endloop.

    endform. "process_wagetypes

    &----


    *& Form top_of_page

    &----


    • Write the Report and Column Headings

    ----


    form top_of_page.

    format color col_heading on.

    write: /1(252) 'NATIONAL DRILLING COMPANY'(010) centered,

    /1(252) 'Overtime Payments Details'(011) centered.

    format color off.

    if pnptimr1 = c_x. " Current Date

    write: /2 'Period From :'(036), sy-datum, 'To:'(006), sy-datum.

    elseif pnptimr2 = c_x. " Current Month

    write: /2 'Period From :'(036), v_date, 'To:'(006), v_date1.

    elseif pnptimr3 = c_x. " Current Year

    write: /2 'Period From :'(036), v_date, 'To:'(006), v_date1.

    elseif pnptimr4 = c_x. " Upto Today

    write: /2 'Period From :'(036), c_date1, 'To:'(006), sy-datum.

    elseif pnptimr5 = c_x. " From Today

    write: /2 'Period From :'(036), sy-datum, 'To:'(006), c_date2.

    else.

    if ( pnpbegda is initial and pnpendda is initial ).

    write: /2 'Period From :'(036), c_date1, 'To:'(006), c_date2.

    elseif pnpbegda is initial and not pnpendda is initial.

    write: /2 'Period From :'(036), c_date1, 'To:'(006), pnpendda.

    elseif not ( pnpbegda is initial and pnpendda is initial ).

    write: /2 'Period From :'(036), pnpbegda,

    'To:'(006), pnpendda.

    endif.

    endif.

    write: 219 'Report Run Date:'(018), sy-datum.

    if not pnpkostl[] is initial.

    if pnpkostl-high is initial.

    write: /2 'Cost Center :'(004), pnpkostl-low,

    219 'Time :'(020), sy-uzeit.

    else.

    write: /2 'Cost Center From:'(005), pnpkostl-low+7(3),

    'To:'(006), pnpkostl-high,

    219 'Time :'(020), sy-uzeit.

    endif.

    else.

    write: /219 'Time :'(020), sy-uzeit.

    endif.

    if not pnppernr[] is initial.

    if pnppernr-high is initial.

    write: /2 'Personal Number :'(007), pnppernr-low,

    219 'User :'(021), sy-uname.

    else.

    write: /2 'Personal No.From:'(008), pnppernr-low,

    'To:'(006), pnppernr-high,

    219 'User :'(021), sy-uname.

    endif.

    else.

    write: /219 'User :'(021), sy-uname.

    endif.

    write: /219 'Page No :'(022), sy-pagno.

    format color col_heading.

    write /1(252) sy-uline.

    write:/1 sy-vline, 10 sy-vline,

    41 sy-vline,

    67 sy-vline, 68(167) 'Overtime Payments(Dirhams)'(013) centered,

    235 sy-vline,252 sy-vline.

    format color col_heading.

    write:/1 sy-vline, 2(8) 'Emp #'(019) centered,

    10 sy-vline, 11(30) 'Employee Name'(012) centered,

    41 sy-vline, 42(25) 'Position'(014) centered,

    67 sy-vline, 68(167) sy-uline,

    235 sy-vline,236(16) 'Total'(017) centered,

    252 sy-vline.

    write:/1 sy-vline, 10 sy-vline,

    41 sy-vline,

    67 sy-vline, 68(13) 'JANUARY'(024) centered,

    81 sy-vline, 82(13) 'FEBRUARY'(025) centered,

    95 sy-vline, 96(13) 'MARCH'(026) centered,

    109 sy-vline,110(13) 'APRIL'(027) centered,

    123 sy-vline,124(13) 'MAY'(028) centered,

    137 sy-vline,138(13) 'JUNE'(029) centered,

    151 sy-vline,152(13) 'JULY'(030) centered,

    165 sy-vline,166(13) 'AUGUST'(031) centered,

    179 sy-vline,180(13) 'SEPTEMBER'(032) centered,

    193 sy-vline,194(13) 'OCTOBER'(033) centered,

    207 sy-vline,208(13) 'NOVEMBER'(034) centered,

    221 sy-vline,222(13) 'DECEMBER'(035) centered,

    235 sy-vline,252 sy-vline.

    format color off.

    write /1(252) sy-uline.

    endform. "top_of_page

    &----


    *& Form Display_report

    &----


    • Write the Report Output

    ----


    form display_report.

    clear v_no.

    describe table rep_tab lines v_no.

    if v_no = 0.

    message i999 with

    'No Data found for the entered Selection'(015).

    endif.

    loop at rep_tab.

    format color 3.

    at new kostl.

    read table rep_tab index sy-tabix.

    write:/1 sy-vline, 2(12) 'Cost Center:'(009),

    14(10) rep_tab-kostl,

    25(30) rep_tab-ctext,

    252 sy-vline.

    format color off.

    write /1(252) sy-uline.

    endat.

    format color col_normal.

    write: /1 sy-vline, 2(8) rep_tab-pernr,

    10 sy-vline, 11(30) rep_tab-ename,

    41 sy-vline, 42(25) rep_tab-ptext,

    67 sy-vline, 68(13) rep_tab-ot1 no-zero,

    81 sy-vline, 82(13) rep_tab-ot2 no-zero,

    95 sy-vline, 96(13) rep_tab-ot3 no-zero,

    109 sy-vline,110(13) rep_tab-ot4 no-zero,

    123 sy-vline,124(13) rep_tab-ot5 no-zero,

    137 sy-vline,138(13) rep_tab-ot6 no-zero,

    151 sy-vline,152(13) rep_tab-ot7 no-zero,

    165 sy-vline,166(13) rep_tab-ot8 no-zero,

    179 sy-vline,180(13) rep_tab-ot9 no-zero,

    193 sy-vline,194(13) rep_tab-ot10 no-zero,

    207 sy-vline,208(13) rep_tab-ot11 no-zero,

    221 sy-vline,222(13) rep_tab-ot12 no-zero,

    235 sy-vline,236(16) rep_tab-ott no-zero,

    252 sy-vline.

    at end of kostl.

    write /1(252) sy-uline.

    endat.

    format color off.

    at last.

    sum.

    format color 1.

    write: /1 sy-vline,

    10 sy-vline, 11(30) 'Total'(017) centered,

    41 sy-vline,

    67 sy-vline, 68(13) rep_tab-ot1 no-zero,

    81 sy-vline, 82(13) rep_tab-ot2 no-zero,

    95 sy-vline, 96(13) rep_tab-ot3 no-zero,

    109 sy-vline,110(13) rep_tab-ot4 no-zero,

    123 sy-vline,124(13) rep_tab-ot5 no-zero,

    137 sy-vline,138(13) rep_tab-ot6 no-zero,

    151 sy-vline,152(13) rep_tab-ot7 no-zero,

    165 sy-vline,166(13) rep_tab-ot8 no-zero,

    179 sy-vline,180(13) rep_tab-ot9 no-zero,

    193 sy-vline,194(13) rep_tab-ot10 no-zero,

    207 sy-vline,208(13) rep_tab-ot11 no-zero,

    221 sy-vline,222(13) rep_tab-ot12 no-zero,

    235 sy-vline,236(16) rep_tab-ott no-zero,

    252 sy-vline.

    write /1(252) sy-uline.

    endat.

    format color off.

    endloop.

    endform. "display_report

    Reward if useful!

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Aug 31, 2007 at 11:09 AM

    Hi,

    Look at the below link

    http://fuller.mit.edu/hr/cluster_tables.html

    Regards

    Sudheer

    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.