Ejecución de método empleando tabla como parámetro con distinto programa (ABAP)

Otra opción para la realización de traspaso de tablas entre métodos (perform) es empleando el método con el parámetro tabla, siendo la opción estándar por código, para ello la estructura es la siguiente:

PERFORM NOMBRE_METODO(NOMBRE_PROGRAMA) TABLES NOMBRE_TABLA.

Con lo anterior le indicamos al desarrollo de que para la ejecución del método trabajaremos con la tabla interna tanto de entrada como salida.

Para ver como se emplea, veremos un ejemplo en donde en nuestro primer programa (ZLI_PRUEBA1) declaramos nuestra tabla y lo enviamos al método para que se ejecute en el segundo programa (ZLI_PRUEBA2) una lógica que complete la data y retorne a nuestro primer programa para imprimir el resultado.

REPORT ZLI_PRUEBA1.

DATA: ZMARA2 TYPE TABLE OF MARA WITH HEADER LINE.
perform get(ZLI_PRUEBA2) TABLES ZMARA2.

LOOP AT ZMARA2.
  WRITE:/ ZMARA2-MATNR.
ENDLOOP.

 

REPORT ZLI_PRUEBA2.

DATABEGIN OF zmara OCCURS 0.
  INCLUDE STRUCTURE MARA.
DATA: END OF zmara.

form get TABLES ZMARA.
  select * from mara into CORRESPONDING FIELDS OF TABLE zmara.
endform.

 
Por debug se ve el traspaso

31-Oct-2013 12-30-23 p-m-
Y el resultado es el siguiente:

31-Oct-2013 12-33-03 p-m-

 

Otro ejemplo:

Esta vez para nuestro desarrollo nos apoyaremos con la opción de un filtrado a través de USING en el perform, de igual forma el resultado de la tabla lo trasportaremos por el mismo método.

 

REPORT ZLI_PRUEBA1.

DATA: LV_MATNR TYPE MARA-MATNR.

LV_MATNR = ‘000000000014561002’.

DATA: ZMARA2 TYPE TABLE OF MARA WITH HEADER LINE.
perform get(ZLI_PRUEBA2) TABLES ZMARA2
                         USING LV_MATNR.

LOOP AT ZMARA2.
  WRITE:/ ZMARA2-MATNR.
ENDLOOP.

 

REPORT ZLI_PRUEBA2.

DATABEGIN OF zmara OCCURS 0.
  INCLUDE STRUCTURE MARA.
DATAEND OF zmara.

form get TABLES ZMARA
         USING LV_MATNR.
  select * from mara into CORRESPONDING FIELDS OF TABLE zmara
    WHERE MATNR EQ LV_MATNR.
endform.

 
La vista por debug es la siguiente:

31-Oct-2013 12-38-06 p-m-

Y el resultado es:

31-Oct-2013 12-39-10 p-m-

Ejecución de método y traspaso de tabla con distinto programa (ABAP)

Anuncios

Un pensamiento en “Ejecución de método empleando tabla como parámetro con distinto programa (ABAP)

  1. Pingback: Ejecución de método y traspaso de tabla con distinto programa (ABAP) | Simplemente LoKoX

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s