Con este programa solo pido el nombre de una tabla y les brindo pa posibilidad de operarla sin importar que tabla se haya ingrasado por parámetro. Luego de ingresar la table te mostrare una lista del contenido de esa tabla.
*& Report ZCREATE_DATA
*&---------------------------------------------------------------------*
*&Creo una tabla interna dinamicamente partiendo desde un parametro
*&Necesario trabajar con <fs>
*&---------------------------------------------------------------------*
REPORT ZCREATE_DATA.
DATA gt_table TYPE REF TO data.
FIELD-SYMBOLS:
<FST> TYPE ANY TABLE, "PARA OPERAR LA TABLA
<FS> TYPE ANY, "TRABAJARA COMO WORKAREA
<FS2> TYPE ANY."
PARAMETERS pa_table TYPE dd02l-tabname. "TIPO NOMBRE DE TABLA EN SAP
START-OF-SELECTION.
" Creo una tabla dinamicamente y la asigno al field-symbol <FST>
CREATE DATA gt_table TYPE STANDARD TABLE OF (pa_table) WITH NON-UNIQUE DEFAULT KEY.
ASSIGN gt_table->* TO <FST>.
" <FST> APUNTA A LA TABLA CREADA, SIENDO NECESARIA LA REFERANCIA
" PARA USARLA EN EL SELECT.
*SELECT DE LA TABLA INGRESADA
SELECT *
FROM (pa_table)
UP TO 100 ROWS
INTO CORRESPONDING FIELDS OF TABLE <FST>.
* RECORRO LA TABLA CON EL LOOP.
* USO EL <FS> COMO WA DE LA TABLA
LOOP AT <FST> ASSIGNING <FS>.
*RECORRO CADA (COLUMNA) DE LA TABLA ASIGNANDO CADA COMPONENTE
*DE LA ESTRUCTURA <FS> A <FS2>
DO.
*SE TRADUCE: EL COMPONENTE NUMERO (INDEX) DE LA ESTRUCTURA LEIDA
* ASIGNALO A EL <FS2>. HACIENDO QUE <FS2> TENGA EL VALOR
* DE ESE COMPONENTE PARA ASI IMPRIMIRLO.
ASSIGN COMPONENT sy-index OF STRUCTURE <FS> TO <FS2>.
IF sy-subrc <> 0.
NEW-LINE.
EXIT.
ENDIF.
WRITE <FS2>.
ENDDO.
ENDLOOP.