Vous êtes sur la page 1sur 4

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

*& Report Z_INSERT_APPEND

*&

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

*&

*&

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

REPORT Z_INSERT_APPEND.

DATA: BEGIN OF LINEA1,

COL1(3) TYPE C,

COL2(2) TYPE C,

COL3 TYPE I,

END OF LINEA1,

TABLA1 LIKE TABLE OF LINEA1.

DATA: BEGIN OF LINEA2,

CAMPO1(1) TYPE C,

CAMPO2 LIKE TABLA1, "OJO SE CREA UNA TABLA CON LA ESTRUCTURA DE LINEA1.

END OF LINEA2,

TABLA2 LIKE TABLE OF LINEA2.

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

*& CREANDO UNA TABLA ADICIONAL PARA ANEXAR LINEAS ESPECIFICAS A LAS TABLAS*

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

DATA: BEGIN OF LINEA3,

COL1 TYPE C,

COL2 TYPE I,

END OF LINEA3.
"CREA UNA TABLA 3 DEL TIPO LINEA3 Y UNA TABLA 4 DEL TIPO TABLA 3

DATA: TABLA3 LIKE TABLE OF LINEA3, TABLA4 LIKE TABLA3.

"INSERTANDO DATOS TABLA1

LINEA1-COL1 = 'ABC'. LINEA1-COL2 = '12'. LINEA1-COL3 = 3.

APPEND LINEA1 TO TABLA1.

LINEA1-COL1 = 'DEF'. LINEA1-COL2 = '34'. LINEA1-COL3 = 5.

APPEND LINEA1 TO TABLA1.

"INSERTANDO DATOS EN TABLA2

LINEA2-CAMPO1 = 'A'.

LINEA2-CAMPO2 = TABLA1. "RECORDEMOS QUE TABLA1 ESTA ANIDADA EN CAMPO2

APPEND LINEA2 TO TABLA2.

REFRESH TABLA1. "lIMPIA LOS REGISTROS O LÍNEAS DE TABLA1.

LINEA1-COL1 = 'GHI'. LINEA1-COL2 = '56'. LINEA1-COL3 = 7.

APPEND LINEA1 TO TABLA1.

LINEA1-COL1 = 'JKL'. LINEA1-COL2 = '78'. LINEA1-COL3 = 9.

APPEND LINEA1 TO TABLA1.

LINEA2-CAMPO1 = 'B'. LINEA2-CAMPO2 = TABLA1.

APPEND LINEA2 TO TABLA2.

PERFORM VER_TABLA2.

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

*& TRABAJANDO CON LAS TABLAS 3 Y 4 *

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

"LLENADO REGISTROS DE TABLA 4

PERFORM LLENA_TABLA4.
"AGREGA LOS REGISTROS 2 Y 3 DE TABLA 4 AL FINAL DE TABLA 3.

APPEND LINES OF TABLA4 FROM 2 TO 3 TO TABLA3.

PERFORM IMPRIME_TABLA3.

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

*& INICIO DE LAS RUTINAS DE LLENADO E IMPRESIÓN DE VALORES *

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

FORM VER_TABLA2.

LOOP AT TABLA2 INTO LINEA2.

WRITE: / LINEA2-CAMPO1.

LOOP AT LINEA2-CAMPO2 INTO LINEA1. "OJO CON LA RUTA VEAN QUE INIDCA QUE LOS
VALORES DE CAMPO2, LOS ENCONTRARÁ EN LINEA1

WRITE: / LINEA1-COL1, LINEA1-COL2,LINEA1-COL3. "EL PATH SERÍA LINEA2-


CAMPO2.LINEA1.TABLA1.

ENDLOOP.

ENDLOOP.

ENDFORM.

FORM LLENA_TABLA4.

DO 3 TIMES.

LINEA3-COL1 = SY-INDEX. LINEA3-COL2 = SY-INDEX ** 2.

APPEND LINEA3 TO TABLA3. "OJO AQUI SE ANEXA A TABLA 3

LINEA3-COL1 = SY-INDEX. LINEA3-COL2 = SY-INDEX ** 3.

APPEND LINEA3 TO TABLA4. "OJO AQUI SE ANEXA A TABLA 4

ENDDO.

ENDFORM.
FORM IMPRIME_TABLA3.

LOOP AT TABLA3 INTO LINEA3.

WRITE: / LINEA3-COL1,LINEA3-COL2.

ENDLOOP.

ENDFORM.

* OJO ESTO NO VA EN EL PROGRAMA

* SALIDAS

PARA LAS TABLAS 1 Y 2

ABC 12 3

DEF 34 5

GHI 56 7

JKL 78 9

PARA LA TABLA 4

1 1

2 4

3 9

2 8

3 27

Vous aimerez peut-être aussi