Anfang des Inhaltsbereichs Bestehende Programme dynamisch ändern Dokument im Navigationsbaum lokalisieren

Da Sie während der dynamischen Generierung die Syntax nicht prüfen können, ist es nützlich, einen Bestand an syntaktisch korrekten Strukturen im System zu haben, die Sie in eine interne Tabelle stellen, ändern und wieder ins System zurückschreiben können. Solche Strukturen können aus Reports, Unterprogrammen, INCLUDE-Programmen oder Bausteinen aus dem Modulpool bestehen. Verwenden Sie folgende Syntax:

Syntax

READ REPORT <prog> INTO <itab>.

Diese Anweisung liest ein Programm <prog>, das in der Bibliothek abgelegt ist, in die interne Tabelle <itab>.

Sie können nun die interne Tabelle ändern und ein neues Programm wie unter Ein neues Programm dynamisch anlegen beschrieben anlegen.

Beispiel

Ein einfacher Report:

REPORT zstruc1.

WRITE / 'Hello, I am a little structure!'.

Zeilen eines anderen Programms:

REPORT demo_special_tech_dyn_read_rep.
DATA: code TYPE TABLE OF rssource-line.
* type of an editor line: rssource-line

READ REPORT 'ZSTRUC1' INTO code.

APPEND 'SKIP.' TO code.
APPEND 'WRITE / ''And I am a dynamic extension!''.' TO code.

INSERT REPORT 'ZDYN2' FROM code.

In diesem Beispiel wird das bestehende ausführbare Programm (Report) ZSTRUC1 in die interne Tabelle CODE eingelesen. Er wird um zwei zusätzliche Zeilen erweitert und in das Programm ZDYN2 geschrieben. Nach dem Aufruf des ABAP Editor für ZDYN2 sieht das Bild so aus:

Diese Grafik wird im zugehörigen Text erklärt

 

 

Ende des Inhaltsbereichs