viernes, noviembre 13, 2009

FS - Field-Symbols

Necesarios para recuperar datos de variables no accesibles en modo local.

FIELD-SYMBOLS: TYPE docubatch_data_s.
FIELD-SYMBOLS: TYPE docubatch_data_t.

DATA: l_wa_docubatch_com TYPE docubatch_screen_fields.
DATA: l_nombre_campo(100).
DATA: l_charg TYPE charg_d.

* Tabla sin cabecera, si tuviera cabecera habría que acceder por GT_DATA[].
l_nombre_campo = '(SAPLVBDOCUBATCH_DM)GT_DATA'.
ASSIGN (l_nombre_campo) TO .
l_subrc = sy-subrc.

*********
* Tabla *
*********
READ TABLE ASSIGNING
WITH KEY matnr = l_wa_mseg-matnr.

************************************************
* Tabla que contiene un campo que es una tabla *
************************************************
IF sy-subrc EQ 0.
CLEAR: l_wa_docubatch_com.
READ TABLE -t_docubatches INDEX 2
INTO l_wa_docubatch_com.
IF sy-subrc EQ 0.
l_charg = l_wa_docubatch_com-docubatch_charg.
ENDIF.
ENDIF.