BOPF-Archivierung 2: Programme erstellen
Archivierung ist in vielen Unternehmen ein zentrales Thema. SAP hat dafür das bekannte Konstrukt der Archivierungsobjekte geschaffen. Auch BOPF ist für die Verwendung in solchen Archivierungsobjekten vorbereitet. In Teil 2 unserer Serie lesen Sie, welche Programme Sie wie erstellen können und sollten, um damit anschließend das Customizing der Archivierungsobjekte und der BOPF-Einstellungen vorzunehmen.
Zu Teil 1 der Serie: BO für die Archivierung fit machen.
Zu Teil 3 der Serie: Customizing vornehmen.
Notwendige Programme zur BOPF-Archivierung
BOPF fordert für die Archivierung mindestens die folgenden drei Programme, die Ihnen aus dem üblichen Archivierungskontext bekannt vorkommen könnten:
- Vorlade-Programm (Preload)
- Schreib-Programm (Write)
- Lösch-Programm (Delete)
Das Vorlade-Programm übernimmt dabei die Vorbereitung der zu archivierenden Daten durch das Setzen des in Teil 1 vorgestellten Archivierungsstatus über die definierte Action. Das Schreib-Programm überträgt die zu archivierenden Daten in die Archivdatei und das Löschprogramm löscht die übertragenen Daten über BOPF und damit aus der dahinterliegenden Datenbanktabelle.
Alle Programme sind auf die gleiche Weise zu erstellen. Daher wird im Folgenden beispielhaft das Schreibprogramm erzeugt. Darunter finden Sie auch die notwendigen Vorlagen für das Vorlade- und das Löschprogramm.
Schreib-Programm erstellen
Um das Schreib-Programm zu erstellen, bereiten Sie Ihre Umgebung zur SAP Entwicklung wie gewünscht vor (Paket anlegen, Transporte etc.) und kopieren dann den Report /BOFU/ARCH_DEMO_CUSTOMER_WRI auf einen von Ihnen auszuwählenden Report. Das können Sie sowohl über die Kopierfunktion der SE80 machen als auch über Copy&Paste des Programmcodes. Ihr Report sieht jetzt wie folgt aus:
In diesem Code gibt es nur drei Stellen, die Sie potenziell ändern müssen. Stelle 1 ist der BO-Name. Im Beispielprogramm wird dieser mit “/BOFU/DEMO_CUSTOMER” angegeben. Hier geben Sie den Namen Ihres erzeugten BOs an, in meinem Fall also “ZCL_BOPF_ARCHIVING“.
Stelle 2 und 3 sind zwei Includes, die Sie am Anfang des Reports finden. Das erste davon enthält die Namen der Action und der Query, die Sie in Teil 1 der Serie am BO für die Archivierung angelegt haben. Diese sind in der Vorlage im Include “/bofu/arch_gener” enthalten:
Falls Ihre Query und Ihre Action genauso benannt sind, brauchen Sie hier keine Änderungen vornehmen. Haben Sie eine andere Namensgebung gewählt, können Sie das Include inhaltlich kopieren in ein eigenes Include und dort Ihre Query und Ihre Action hinterlegen. Dann ersetzen Sie die Include-Zeile im Schreibprogramm durch Ihr neues Include.
Außerdem können Sie anstelle des Includes “/BOFU/ARCH_DEMO_CUSTOMER_SEL” ein eigenes Include mit einem Selektions-Bildschirm Ihrer Wahl einfügen. Ihr abschließendes Programm kann dann so aussehen:
Vorlade- und Löschprogramm erstellen
Für das Vorlade- und das Löschprogramm ist das Vorgehen simultan dazu. Die Vorlage für das Vorlade-Programm ist der Report /BOFU/ARCH_DEMO_CUSTOMER_PRE, für das Lösch-Programm bietet der Report /BOFU/ARCH_DEMO_CUSTOMER_DEL die Grundlage. Achtung: Im Lösch-Report braucht kein Selektionsbildschirm eingebunden werden. Die Selektion ergibt sich hierbei aus den archivierten Datensätzen.
Damit haben Sie alles Notwendige zusammen, um in Teil 3 das Customizing vorzunehmen und die Archivierung mit BOPF einem ersten Test zu unterziehen. Sie haben Fragen zum Vorgehen oder möchten sich zu dem Thema gern austauschen? Hinterlassen Sie mir einen Kommentar!