Что-то типа этого:
Code:
INCLUDE: rpc2rx00,
pc2rxru0,
rpppxd00.
TABLES: pernr, pyorgscreen, pytimescreen, pcl1, pcl2.
* Определяем структуру для выгрузки RGDIR
DATA: BEGIN OF rgdir OCCURS 100.
INCLUDE STRUCTURE pc261.
DATA: END OF rgdir.
* Определяем структуру для выгрузки EVPDIR
DATA: BEGIN OF evpdir OCCURS 100.
INCLUDE STRUCTURE pc261.
DATA: END OF evpdir.
DATA: BEGIN OF COMMON PART buffer.
INCLUDE rpppxd10.
DATA: END OF COMMON PART buffer.
INCLUDE rpppxm00.
.....................
* Вытаскиваем каталог клатера
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = pernr-pernr
IMPORTING
molga = country
TABLES
in_rgdir = rgdir
EXCEPTIONS
no_record_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
EXIT.
ENDIF.
clear per_0.
do.
if per_0 is initial.
CONCATENATE pyabrj0 pyabrp0 INTO per_0.
else.
if per_0 >= per_1.
exit.
else.
if per_0+4(2) = 12.
per_0+4(2) = '01'.
per_0(4) = per_0(4) + 1.
else.
per_0 = per_0 + 1.
endif.
endif.
endif.
CALL FUNCTION 'CD_EVALUATION_PERIODS'
EXPORTING
bonus_date = '00000000'
inper_modif = '01'
inper = per_0
pay_type = ''
pay_ident = ''
TABLES
rgdir = rgdir
evpdir = evpdir
EXCEPTIONS
no_record_found = 1
OTHERS = 2.
IF sy-subrc = 0.
LOOP AT evpdir WHERE srtza <> 'O' .
rx-key-pernr = pernr-pernr.
rx-key-seqno = evpdir-seqnr.
rp-imp-c2-ur.
CASE evpdir-srtza.
WHEN 'A'.
c = 1.
WHEN 'P'.
c = -1.
ENDCASE.