Ver Mensaje Individual
  #7  
Viejo 14/12/06, 11:17:56
Avatar de crounly
crounly crounly is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Zaragoza, Espaņa
Mensajes: 227
La linea

CREATE DATA GENERIC_TABLE_WA LIKE (PV_TABLA).

da un fallo de sintaxis, y con el TYPE, lo que crea dinamicamente es un campo estructurado, no una tabla interna que es el objetivo.

Rebuscando en la ayuda de SAP encontre que hay una opcion para CREATE DATA que se utiliza para variables referenciadas a tablas

Al final necesitamos 2 variables referenciadas y dos field-symbols, 1 variable sera la tabla y otra la cabecera.

Despues de secuencia 'Prueba y Error" ha quedado el siguiente codigo:

DATA: pv_tabla TYPE dd02l-tabname,
generic_table TYPE REF TO data,
generic_line TYPE REF TO data.

FIELD-SYMBOLS: <table> TYPE ANY TABLE,
<wa> TYPE ANY,
<field> TYPE ANY.

pv_tabla = 'spfli'.

CREATE DATA generic_table TYPE STANDARD TABLE OF (pv_tabla).
ASSIGN generic_table->* TO <table>.

CREATE DATA generic_line TYPE (pv_tabla).
ASSIGN generic_line->* TO <wa>.

SELECT * INTO CORRESPONDING FIELDS OF TABLE <table> FROM (pv_tabla).

LOOP AT <table> INTO <wa>.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <wa> TO <field>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
WRITE <field>.
ENDDO.
NEW-LINE.
ENDLOOP.

si cambias spfli por mara o otra tabla del diccionario creara una tabla interna identica y mostrara su contenido por pantalla.

Gracias por el codigo SPINete, mas o menos veo la luz, probara a ver que sale.
Responder Con Cita