Ver Mensaje Individual
  #7  
Viejo 17/04/07, 06:40:15
Avatar de crounly
crounly crounly is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Zaragoza, Espaņa
Mensajes: 227
pv_tabla contiene el nombre de la tabla a la que quieres atacar, pero que hasta que ejecutes el programa no lo sabras. Si no contiene nada o no existe la tabla que contiene, dara ese error.

Si as manejado punteros en C, esto es parecido pero aqui se llaman FIELD-SYMBOLS.
En el ejemplo hay 3 punteros:

<table> TYPE ANY TABLE, "Para apuntar a una tabla
<wa> TYPE ANY, "Para apuntar a la wa de la tabla
<field> TYPE ANY. "Para apuntar a un campo de la tabla

La idea es que cuando el programa se ejecute y por las acciones del usuario si que sepamos a que tabla atacar <table> apuntara a esa tabla
CREATE DATA generic_table TYPE STANDARD TABLE OF (pv_tabla).
ASSIGN generic_table->* TO <table>.

Y <wa> a la wa o cabecera de esa tabla:
CREATE DATA generic_line TYPE (pv_tabla).
ASSIGN generic_line->* TO <wa>.

Si lo que queremos es introducir datos en una tabla:

pv_tabla = 'ztutabladesconocida'.

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 SINGLE * INTO <wa> FROM spfli
WHERE carrid EQ p_carrid.

INSERT <table> FROM <wa>

Si entiendes bien lo de los FIELD-SYMBOLS como punteros lo demas es facil.

Suerte
Responder Con Cita