Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Reading Cluster tables

Former Member
0 Likes
2,193

Hi,

I am new to ABAP programming.

I want to know how to read a cluster table, that is to retrieve data from it and put the data into my internal table.

My reqirement is to read PCL2 (RX) cluster table .

i have tried my own program but the data is not getting fetched into my internal table.

My code:

REPORT ZCLUSTER_77730.

TABLES: pernr,

pcl2,

t512t. "Wage type texts

INFOTYPES: 0000,0001,0008. "Organizational Assignment

INCLUDE: RPC2rx00.

*Table data containing directory to PCL2 payroll results file

DATA: BEGIN OF rgdir OCCURS 100.

INCLUDE STRUCTURE pc261.

DATA: END OF rgdir.

DATA: result TYPE pay99_result.

DATA: rt_header TYPE LINE OF hrpay99_rt.

DATA: country LIKE t500l-molga,

number LIKE pc261-seqnr. "Number of last payroll result

GET pernr.

rp_provide_from_last p0000 space pn-begda pn-endda.

rx-key = pernr.

IMPORT rgdir FROM DATABASE PCL2(rx) ID rx-KEY.

CALL FUNCTION 'CU_READ_RGDIR'

EXPORTING

persnr = p0000-pernr

IMPORTING

molga = country

TABLES

in_rgdir = rgdir

EXCEPTIONS

no_record_found = 1

OTHERS = 2.

IF sy-subrc = 1.

WRITE: / 'No records found for '(001), pernr-pernr.

ENDIF.

CALL FUNCTION 'CD_READ_LAST'

EXPORTING

begin_date = pn-begda

end_date = pn-endda

IMPORTING

out_seqnr = number

TABLES

rgdir = rgdir

EXCEPTIONS

no_record_found = 1

OTHERS = 2.

IF sy-subrc = 1.

WRITE: / 'No payroll result found for'(002), pn-paper.

ELSE.

CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'

EXPORTING

clusterid = 'RX'

employeenumber = p0000-pernr

sequencenumber = number

  • READ_ONLY_BUFFER = ' '

  • READ_ONLY_INTERNATIONAL = ' '

  • CHECK_READ_AUTHORITY = 'X'

  • IMPORTING

  • VERSION_NUMBER_PAYVN =

  • VERSION_NUMBER_PCL2 =

CHANGING

payroll_result = result

EXCEPTIONS

illegal_isocode_or_clusterid = 1

error_generating_import = 2

import_mismatch_error = 3

subpool_dir_full = 4

no_read_authority = 5

no_record_found = 6

versions_do_not_match = 7

OTHERS = 8.

IF sy-subrc = 0.

PERFORM print_rx.

ELSE.

WRITE: / 'Result could not be read (003)'.

ENDIF.

ENDIF.

----


  • FORM PRINT_RX *

----


  • Print Payroll Result *

----


FORM print_rx.

FORMAT INTENSIFIED ON.

WRITE: / p0000-pernr,

p0001-ename(15),

p0001-werks,

p0001-btrtl.

FORMAT INTENSIFIED OFF.

SKIP 1.

WRITE: / 'For period/payroll area: '(004),

30 result-inter-versc-fpper+4(2),

result-inter-versc-fpper+0(4),

result-inter-versc-abkrs,

/ 'In-period/payroll area: '(005),

30 result-inter-versc-inper+4(2),

result-inter-versc-inper+0(4),

result-inter-versc-iabkrs.

SKIP 1.

WRITE: 'Results table: '(006).

SKIP 1.

LOOP AT result-inter-rt INTO rt_header.

PERFORM re512t USING result-inter-versc-molga

rt_header-lgart.

WRITE: / rt_header-lgart,

T512T-LGTXT,

rt_header-betrg CURRENCY rt_header-amt_curr.

ENDLOOP.

ENDFORM.

----


  • FORM RE512T *

----


  • Read Wage Type 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.

A complete code would be very helpfull.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,637

Hi saher shaikh,

Please check this link

Best regards,

raam

3 REPLIES 3
Read only

Former Member
0 Likes
1,638

Hi saher shaikh,

Please check this link

Best regards,

raam

Read only

Former Member
0 Likes
1,637

Hi,

check the link

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

Regards,

Anirban

Read only

Former Member
0 Likes
1,637

Following link is useful:

Regards,

Prashant.