Inicio del área de contenido

Documentación conceptual Informe modelo Localizar documento en árbol de navegación

INFORME RPTTMWBS.

DATA: RGDIR LIKE PC261 OCCURS 0 WITH HEADER LINE.
DATA: EVPDIR LIKE RGDIR OCCURS 0 WITH HEADER LINE.
DATA: PREVIOUS_RESULTS LIKE RGDIR OCCURS 0 WITH HEADER LINE.
DATA: CALCD TYPE C.
DATA: IN_ENTRY LIKE PC261.

DATA: OUT_ENTRY LIKE PC261.

INCLUDE RPCCCD09.

 
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
 PERSNR = '00021218'
 TABLES IN_RGDIR = RGDIR
EXCEPTIONS
 NO_RECORD_FOUND = 1
 OTHERS = 2.
* Read RGDIR

CALL FUNCTION 'CD_EVALUATION_PERIODS'
 EXPORTING
 BONUS_DATE = '00000000'
 INPER_MODIF = '02'
 INPER = '199603'
 PAY_TYPE = CD_C-REGULAR
 PAY_IDENT = ' '
 TABLES
 RGDIR = RGDIR
 EVPDIR = EVPDIR
* IABKRS =
 EXCEPTIONS
 NO_RECORD_FOUND = 1
 OTHERS = 2.
* resultado:
* 00006
* 00007
* 00008

* Leer resultados del cálculo de la nómina regular de enero
* Resultados A (resultado original más cálculos retroactivos)
* y resultados P
LOOP AT EVPDIR WHERE SRTZA = CD_C-ACTUAL.


* Sólo resultados actuales(00007 y 00008)

CALL FUNCTION 'CD_RETROCALC_PERIOD'
 EXPORTING
ENTRY = EVPDIR
 IMPORTING
CALCD = CALCD
 EXCEPTIONS
OTHERS = 1.
* Determinar si resultado original
CHECK CALCD = ' '.

* Procesamiento especial: sólo el período original
* Marzo se procesa (seqnr 00008).

IN_ENTRY = EVPDIR.

CALL FUNCTION 'CD_READ_PREVIOUS_ORIGINAL'
 EXPORTING
IN_RECORD = IN_ENTRY
 IMPORTING
OUT_RECORD = OUT_ENTRY
 TABLES
RGDIR = RGDIR
 EXCEPTIONS
OTHERS = 1.

* out_entry contiene ahora los resultados anteriores
* Entrada 00008 ----> Salida 00006
ENDLOOP.


LOOP AT EVPDIR WHERE SRTZA = CD_C-ACTUAL.
 IN_ENTRY = EVPDIR.

CALL FUNCTION 'CD_READ_PREVIOUS'
 EXPORTING
IN_RECORD = IN_ENTRY
 TABLES
RGDIR = RGDIR
OUT_RGDIR = PREVIOUS_RESULTS
 EXCEPTIONS
NO_RECORD_FOUND = 1
OTHERS = 2.

* Entrada 00007 ---> 00006
* Entrada 00008 ---> no se encuentra registro

* La estructura de salida es una tabla, ya que puede haber varios resultados anteriores: por ejemplo, si se modifica
* la persona jurídica y se borra retroactivamente
ENDLOOP.

 

 

 

 

Fin del área de contenido