Você está na página 1de 3

*&---------------------------------------------------------------------*

*& Report ZPROG_READ_PAYROLL


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPROG_READ_PAYROLL.

types:begin of lty_final,
pernr type pa0001-pernr,
ename type pa0001-ename,
person_id type pa0709-PERSONID_EXT,
currency type pa0009-waers,
pmt_dt type sy-datum,
forp_st type sy-datum,
forp_end type sy-datum,
seqno type pc261-seqnr,
gross type betrg,
net type betrg,
end of lty_final.
data:lt_final type table of lty_final,
ls_final type lty_final.

tables: pernr,
t512t.
parameters:p_year(4) type c.
infotypes : 0001,0709,0009.

data : begin of lt_rgdir occurs 0.


include structure pc261.
data: end of lt_rgdir.
data :number type pc261-seqnr.
data : result type paych_result.
data : rt_header type line of hrpay99_rt.

get pernr.

***************************************************************
*READ PAYROLL RESULT******************************************
***************************************************************
"get eename currency person id
rp_provide_from_last p0001 space pn-begda pn-endda. "empno , empname
rp_provide_from_last p0709 space pn-begda pn-endda. "person_id
rp_provide_from_last p0009 space pn-begda pn-endda. "currency
ls_final-pernr

= p0001-pernr.

ls_final-person_id
ls_final-ename
ls_final-currency

= p0709-personid_ext.
= p0001-ename.
= p0009-waers.

"get all teh periods in the p_year =2009

CALL FUNCTION 'CU_READ_RGDIR'


EXPORTING
PERSNR
= p0001-pernr
TABLES
IN_RGDIR

= lt_rgdir .

"keep only control records for the year(2009) specified


delete lt_rgdir where fpper+0(4) ne p_year.
loop at lt_rgdir.
ls_final-pmt_dt
ls_final-forp_st
ls_final-forp_end
ls_final-seqno

=
=
=
=

lt_rgdir-paydt.
lt_rgdir-fpbeg.
lt_rgdir-fpend.
lt_rgdir-seqnr.

endloop.
write 'hi'.
*.
* IF SY-SUBRC <> 0.
** Implement suitable error handling here
* ENDIF.
*CALL FUNCTION 'CD_READ_LAST'
* EXPORTING
*
BEGIN_DATE
= pn-begda
*
END_DATE
= pn-endda
* IMPORTING
*
OUT_SEQNR
= number
* TABLES
*
RGDIR
= rgdir.
*
*IF SY-SUBRC <> 0.
** Implement suitable error handling here
*ENDIF.
*
*
*
*
*CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
* EXPORTING
*
*
EMPLOYEENUMBER
= p0001-pernr
*
SEQUENCENUMBER
= number
*
* CHANGING
*
PAYROLL_RESULT
= result
*.

*IF SY-SUBRC <> 0.


** Implement suitable error handling here
*ENDIF.
*
*
***--Diplay Payroll result
*
* loop at result-inter-rt into rt_header.
*
*
select * from t512t where lgart = rt_header-amt_curr.
*
*
write :/ p0001-pernr,rt_header-lgart,rt_header-betrg,t512t-lgtxt.
*
*
endselect.
*
endloop.

Você também pode gostar