Un ejemplo simple, de cómo manejar tablas para acceso dinámico, por medio de field symbols.
REPORT demo_field_symbols_stat_assign .
DATA: BEGIN OF line,
col1 TYPE i VALUE 11,
col2 TYPE i VALUE 22,
col3 TYPE i VALUE 33,
END OF line.
DATA comp(5) TYPE c VALUE 'COL3'.
FIELD-SYMBOLS: <f1> TYPE ANY, <f2> TYPE ANY, <f3> TYPE ANY.
ASSIGN line TO <f1>.
ASSIGN comp TO <f2>.
DO 3 TIMES.
ASSIGN COMPONENT sy-index OF STRUCTURE <f1> TO <f3>.
WRITE <f3>.
ENDDO.
ASSIGN COMPONENT <f2> OF STRUCTURE <f1> TO <f3>.
WRITE / <f3>.
*Listado de salida:
*
*11 22 33
*
*33
*
* El símbolo del campo <f1> apunta a la línea de la estructura, <f2> apunta * al campo comp.
* En el bucle de OD, los componentes de la línea se especifican por sus números y* se asignan uno por uno a <f3>.
* Después del bucle, los componentes col3 se especifican por sus nombres
* y se asignan a <f3>.
* Tenga en cuenta que ASSIGN COMPONENT es el único método posible para
* direccionar los componentes de <f1>.
* Las expresiones como <f1> -col1 son sintácticamente incorrectas.
Fuente: https://help.sap.com/doc/saphelp_nw70/7.0.31/en-US/fc/eb3923358411d1829f0000e829fbfe/content.htm?no_cache=true
REPORT demo_field_symbols_stat_assign .
DATA: BEGIN OF line,
col1 TYPE i VALUE 11,
col2 TYPE i VALUE 22,
col3 TYPE i VALUE 33,
END OF line.
DATA comp(5) TYPE c VALUE 'COL3'.
FIELD-SYMBOLS: <f1> TYPE ANY, <f2> TYPE ANY, <f3> TYPE ANY.
ASSIGN line TO <f1>.
ASSIGN comp TO <f2>.
DO 3 TIMES.
ASSIGN COMPONENT sy-index OF STRUCTURE <f1> TO <f3>.
WRITE <f3>.
ENDDO.
ASSIGN COMPONENT <f2> OF STRUCTURE <f1> TO <f3>.
WRITE / <f3>.
*Listado de salida:
*
*11 22 33
*
*33
*
* El símbolo del campo <f1> apunta a la línea de la estructura, <f2> apunta * al campo comp.
* En el bucle de OD, los componentes de la línea se especifican por sus números y* se asignan uno por uno a <f3>.
* Después del bucle, los componentes col3 se especifican por sus nombres
* y se asignan a <f3>.
* Tenga en cuenta que ASSIGN COMPONENT es el único método posible para
* direccionar los componentes de <f1>.
* Las expresiones como <f1> -col1 son sintácticamente incorrectas.
Fuente: https://help.sap.com/doc/saphelp_nw70/7.0.31/en-US/fc/eb3923358411d1829f0000e829fbfe/content.htm?no_cache=true
Comentarios
Publicar un comentario