Ich möchte, dass der User einen beliebigen Tabellennamen eingibt und diese Tabelle dann als Textdatei in einem Transferverzeichnis gespeichert wird. Wie mache ich das?
Ich habe mit PARAMETERS ein Eingabefeld erzeugt, wo der User den Namen eingeben kann. Wenn ich mir den PARAMETER dann anzeigen lasse, steht auch der Tabellenname drin.
Wenn ich jedoch einen select auf diesen PARAMETER mache, um die Tabelleninhalte in eine interne Tabelle zu schreiben, bekomme ich die Fehlermeldung, das der PARAMETER NICHT in der Workbench als Tabelle definiert ist.
Die F1-Hilfe hat mich leider auch nicht weiter gebracht. Ich habe folgenden Quelltext:
REPORT ZTABELLEN_AUSLESEN_DYNAMISCH .
Data Eingabe(20) type c.
Data Ausgabe(65000) type c.
data download(65000)
value '/usr/sap/trans.ffks/transfer.ffks/e29/download.txt'.
parameters:
Tab_ein like (Eingabe).
Select * from (Tab_ein) into ausgabe.
write:/ ausgabe.
Endselect.
Der User hat hier die Möglichkeit einen Tabellennamen einzugeben und sich die Inhalte anzeigen zu lassen. Jetzt möchte ich aber, das die Tabelleninhalte von der eingegebenen Tabelle in einer Textdatei auf dem Server gespeichert werden. Das geht mit "Transfer". Um das machen zu können muß ich während der Laufzeit eine interne Tabelle erzeugen, die die gleiche Struktur hat, wie die Tabelle, dessen Name vom User eingegeben wurde.
Du musst Dir vorher dynamisch eine Tabelle zusammenbauen (bzw. erzeugen).
Das kannst Du mit create data type (name) bewerkstelligen, sowie einem Feldsymbol vom Typ table.