Ver la Versión Completa : sacar estructura tabla interna en tiempo ejecucion
Skadeour
07/06/06, 08:06:44
sacar estructura tabla interna en tiempo ejecucion
--------------------------------------------------------------------------------
Yo le paso una tabla interna a una funcion, y esa funcion me imprime el nombre de los campos de la estructura de la tabla, como saco la estructura de la tabla en tiempo de ejecución?
Mauricio Hidalgo
07/06/06, 13:59:04
http://searchsap.techtarget.com/tip/1,289483,sid21_gci1079416,00.html?bucket=ETA
Aquí encuentras lo que andas buscando.
Saludos
Skadeour
08/06/06, 16:43:06
he usado esa funcion, y debugeando, la clase
me sale un atributo con nombre key, en el cual se guarda la tabla con los valores de los nombres de los campos de la estructura de la tabla pasado, pero no se como acceder a esos valores, dentro del metodo, se te ocurre algun modo?
Mauricio Hidalgo
09/06/06, 13:21:20
Tomando el código del ejemplo, sería algo como esto.
.
.
.
data campo(20).
loop at l_ref->key ASSIGNING <KEY_COMP_WA>.
IF <KEY_COMP_WA>-NAME NE 'ZEILI'.
L_TYP ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( <KEY_COMP_WA>-NAME ).
write: / campo, l_typ->type_kind, l_typ->length.
ENDIF.
endloop.
OBS. SE CAE LA EXPRESIÓN L_TYP ?=CL_ABAP..... AL EVALUAR EL CAMPO ZEILI....CORREGIRLO TE LO DEJO A TI.....
ESPERO TE SIRVA,
SALUDOS
carlosalcala
13/06/06, 07:58:12
Quizas te sea más facil asi
DATA n TYPE i VALUE 0.
FIELD-SYMBOLS <f>.
DO.
ADD 1 TO n.
ASSIGN COMPONENT n OF STRUCTURE tabla TO <f>.
* Donde n es el nº de elemento , tabla (no lo comento) y <f> el puntero
* a el elemento.
IF sy-subrc NE 0.
EXIT.
ENDIF.
IF <f> IS INITIAL.
MOVE '/' TO <f>.
ENDIF.
ENDDO.
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web