PDA

Ver la Versión Completa : Manejo De Variable De Tabla Glt0


charlycris
19/12/12, 22:47:09
Hola a cada uno de Uds. mi duda es el siguiente...

en la tabla GLT0 existen variable como HSL01, HSL02,.... , HSL16.

tengo mi TI que tiene la misma estructura que GLT0: TI_TABLA.

consulto..

Es posible llamar dentro de un loop a esos campos como sigue?: TI_TABLA-HSL##.

Donde ##. es 01, 02,...,16.

Agradecido estare por sus respuestas...

caralbgro
23/12/12, 12:07:38
Tengo el mismo problema pudiste encontrar la solucion???

ballan
24/12/12, 08:28:43
No se si es exactamente esto lo que quereis, lo que hace es recorrer solo los campos que comienzan por HSL de la tabla GLT0, aqui os pongo una manera pero hay muchas formas diferentes de hacerlo


DATA: go_strref TYPE REF TO cl_abap_structdescr,
gt_glt0 TYPE TABLE OF glt0,
gt_components TYPE abap_compdescr_tab,
gs_components LIKE LINE OF gt_components.

FIELD-SYMBOLS: <glt0> LIKE LINE OF gt_glt0,
<campo> TYPE ANY.

go_strref ?= cl_abap_typedescr=>describe_by_name('GLT0').
gt_components = go_strref->components.
DELETE gt_components WHERE name NP 'HSL*'.

SELECT *
INTO TABLE gt_glt0 UP TO 10 ROWS
FROM glt0.

LOOP AT gt_glt0 ASSIGNING <glt0>.

LOOP AT gt_components INTO gs_components.

ASSIGN COMPONENT gs_components-name OF STRUCTURE <glt0> TO <campo>.

CHECK sy-subrc IS INITIAL.

WRITE: <campo>.

ENDLOOP.

ENDLOOP.