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
|