PBS archive add on Custom

PBS archive add on
CUSTOM
Handbuch Teil B
– Administration –
Kompatibel mit
SAP R/3 4.6c
SAP R/3 Enterprise
SAP ERP 5.0
SAP ERP 6.0
SAP ERP 6.17
24. Mai 2016
PBS archive add on CUSTOM
- Administration - 2
© 1999 - 2016 PBS Software GmbH
Schwanheimer Straße 144a
64625 Bensheim, Germany
Phone:
+49 - 6251 - 174 0
Fax:
+49 - 6251 - 174 174
E-Mail:
[email protected]
Internet: www.pbs-software.com
PBS archive add ons® ist eingetragenes Warenzeichen der Firma PBS Software
GmbH, Bensheim.
SAP, R/3, SAP ERP, SAP NetWeaver, ABAP und andere sind eingetragene Warenzeichen
der Firma SAP SE, Walldorf/Baden.
Acrobat Reader ist eingetragenes Warenzeichen der Firma Adobe Systems Incorporated.
PBS archive add on CUSTOM
- Administration - 3
Einführung in das PBS ILM-Konzept
Information Lifecycle Management
Unter Information Lifecycle Management (ILM) versteht man die Verwaltung von
Informationen bezogen auf den Zeitpunkt ihrer Nutzung und unter
Berücksichtigung ihrer Gesamtkosten und Gesetzeskonformität. Ein schlüssiges,
funktionierendes ILM-Konzept muss demnach sowohl das Datenwachstum
kontrollieren, Aufbewahrungsregeln verwalten sowie für eine revisionssichere
Datenablage sorgen. Darüber hinaus ist auch ein komfortabler Zugriff auf die
archivierten Daten von entscheidender Bedeutung sowie deren einfache
Weitergabe beispielsweise bei internen und externen Prüfungen.
PBS ILM-Konzept
PBS Software bietet SAP-Bestandskunden umfangreiche Lösungen zur
Umsetzung der oben aufgeführten Anforderungen an ein stringentes, erfolgreiches
ILM-Konzept. Dabei gilt PBS seit vielen Jahren als ausgewiesener Experte für
komplexe, integrierte Datenzugriffe auf archivierte- und Datenbankdaten sowie
inzwischen auch auf Daten still gelegter SAP-Systeme. Neben der klassischen
SAP-Datenarchivierung wird auch das SAP BI-spezifische Nearline-Storage
unterstützt.
PBS archive add ons®
PBS archive add ons setzen stets auf einer erfolgreich durchgeführten SAPArchivierung auf. Diese ist die Grundlage für ein dauerhaft leistungsstarkes SAPSystem. Zwar können Sie verbuchte Belege in der SAP-Datenbank dank großer
Datenbankkapazität prinzipiell sehr lange aufbewahren. Dies kann allerdings, je
nach Belegaufkommen, über kurz oder lang zu massiven Performance-Einbußen
und stark ansteigenden Betriebskosten führen. Beispielsweise wird bei großen
Datenbeständen die tägliche Sicherung schwierig.
Eine komfortable Anzeige und Auswertung archivierter Bewegungsdaten, wie sie
der SAP-Anwender bei Datenbankdaten gewohnt ist, kann mit SAP-Standardmittel
je nach Anwendungsmodul oft nur eingeschränkt realisiert werden. Dies trifft vor
allem für große Archivdatenbestände zu. Hier setzen die PBS archive add ons an,
die für nahezu alle SAP-Module und Release-Stände zur Verfügung stehen und
denen in der Bezeichnung ein „C“ (für Complete) voran steht, z.B. PBS archive add
on CCOPA für das SAP-Modul COPA.
Mit den PBS archive add ons können Sie auch nach einer Datenarchivierung
während Ihres Tagesgeschäfts schnell und einfach auf Ihre archivierten Daten
zugreifen. Realisiert wird der uneingeschränkte Datenzugriff durch ein intelligentes
Indizierungskonzept. Dieses erweitert die SAP-Archivinfrastrukturkomponenten
und integriert sich optimal in die SAP-Archivierung. Einmal indizierte Archivdaten
stehen Ihnen auch nach einem Release-Upgrade sofort, uneingeschränkt und
ohne Migrationsaufwand weiter zur Verfügung. Der PBS-Archivindex wird, ebenso
wie die SAP-Archivdaten, in sequentiellen Dateien des SAP-Dateisystems
abgelegt. Danach können Sie über gewohnte Transaktionen online auf die
Archivdaten zugreifen. Der SAP-Nutzer erhält zeitgleich die Daten aus der SAPDatenbank sowie die Archivdaten über den Index der PBS archive add ons. Dem
PBS archive add on CUSTOM
- Administration - 4
Anwender scheint es, als seien die archivierten Daten immer noch in der SAPDatenbank vorhanden.
Die tiefe Integration der PBS-Transaktionen erlaubt auch eine direkte Navigation
sowohl zu Folge- und Vorgängerbelegen sowohl innerhalb des indizierten SAPModuls als auch zu verknüpften Belegen aus anderen SAP-Modulen. Dies gilt
sowohl für residente als auch uneingeschränkt für archivierte Daten. Der Nutzen
für den Anwender potenziert sich, je mehr PBS archive add ons eingesetzt werden.
Das Nutzenpotential des ILM-Konzepts erhöht sich zudem erheblich, berücksichtigt
man den Einspareffekt, der sich durch die SAP-Spiegelsysteme ergibt. In der
Regel gibt es davon mindestens zwei, d. h. dass sich der eingesparte Plattenplatz
durch eine Datenarchivierung verdreifacht. Damit einher geht die Zeitersparnis für
die Datensicherung.
PBS archive add on CUSTOM
- Administration - 5
Inhaltsverzeichnis
1
Einleitung ................................................................................. 9
1.1
Zu diesem Handbuch ...................................................................................... 9
1.2
Grundlegendes zum PBS archive add on CUSTOM .................................... 10
2
Aufbau des PBS archive add on CUSTOM .......................... 11
2.1
Architektur ..................................................................................................... 11
2.2
Vorgehensweise ........................................................................................... 12
2.2.1
Archivierungsobjekt
12
2.2.2
ADK-Indizierung
13
3
Das PBS archive add on CUSTOM ....................................... 16
3.1
Generierung von Archivierungsobjekten....................................................... 19
3.1.1
Archivdateistatistik
19
3.1.2
Tabellenauswahl
19
3.1.3
Datenselektion
22
3.1.4
Dateiaufbau
24
3.1.5
User Exit für die Archivierbarkeitsprüfung
25
3.1.6
User Exit für Archivierungsklassen
27
3.1.7
Löschjobs
27
3.1.8
Ablage
28
3.2
Kundeneigene Archivierungsobjekte ............................................................ 29
3.3
Datenarchivierung ......................................................................................... 29
PBS archive add on CUSTOM
- Administration - 6
3.3.1
Datensatzsperre prüfen
29
3.3.2
Parallellauf
30
3.4
Archivdateistatistik ........................................................................................ 30
3.5
Technische Sicht auf die Archivdatei ............................................................ 30
3.6
Aufbau der ADK-Indexinfrastruktur ............................................................... 30
3.6.1
Übernahme von Datenbankindizes
32
3.6.2
Indizes für Positionstabellen
32
3.7
Aufbau der Infrastruktur ................................................................................ 32
3.8
Das Administration Board unter ECC 5.0 ..................................................... 33
3.9
Generierung der Indizes ............................................................................... 34
3.10 Erster Generierungslauf ................................................................................ 37
3.11 Aktivieren der Indizes.................................................................................... 38
3.12 Weitere Generierungsläufe ........................................................................... 40
3.13 Erstellen von Langzeitarchiven ..................................................................... 41
3.14 Archiv-Utilities ............................................................................................... 42
3.15 Alternative Indexgenerierung bei großem Indexzugang ............................... 43
3.15.1
Sortierung via Datenbank-Indextabelle
44
3.15.2
Sortierung via interne Tabelle
44
3.15.3
Wo ist der 'Automatik-Modus' geblieben?
44
3.16 Indexmodifikation .......................................................................................... 45
3.16.1
Vorgehensweise zur Indexmodifikation
45
3.16.2
Löschen nicht mehr benötigter Versionen
46
3.17 Export/Import in andere R3-Systeme ........................................................... 46
PBS archive add on CUSTOM
- Administration - 7
3.17.1
Export von Archivierungsobjekt- und Indexdefinition
46
3.17.2
Import von Archivierungsobjekt- und Indexdefinition
48
3.18 Plattenplatzbedarf ......................................................................................... 49
3.19 Einsatz mehrerer Applikationsserver ............................................................ 49
3.20 Performancetuning........................................................................................ 50
3.21 Allgemeines Customizing der Transaktion SARA ........................................ 52
4
Selektion von archivierten Daten ......................................... 53
4.1
Generierte Funktionsbausteine ..................................................................... 53
4.1.1
Der Funktionsbaustein ’<ArchObj>_SELECT’
54
4.1.2
Der Funktionsbaustein ’<ArchObj>_SEQUENTIAL’
57
4.2
Archivierungsklassen .................................................................................... 58
4.3
Generischer Funktionsbaustein für den Massendatenzugriff (ab SAP
R/3 Enterprise) .............................................................................................. 60
4.4
Die Selektionstabelle ’IT_RSSELECT’ ......................................................... 61
4.5
Die Selektionstabelle ’CT_DYN_RENGES’ .................................................. 62
4.6
Beispielreport zur Datenselektion aus dem Archiv ....................................... 62
4.7
Strukturierte Datenanzeige (ab SAP R/3 Enterprise) ................................... 65
4.7.1
Die Tabelle ’IT_DD05Q’
66
4.7.2
Die Tabelle ’IT_TABLE_DATA’
66
4.8
SQL-Zugriffe suchen ..................................................................................... 68
4.9
PBS Archive Browser.................................................................................... 69
5
NAI Index Administration Board .......................................... 70
5.1
Indexdefinition und Indexaufbau ................................................................... 70
5.2
Archivdatenselektion ..................................................................................... 70
PBS archive add on CUSTOM
- Administration - 8
5.2.1
Klasse /PBS/IDK_NAI Methode SELECT_INTO_TABLE
70
5.2.2
Klasse /PBS/IDK_SEQ Methode SELECT_INTO_TABLE
72
5.3
Archive Keys aus der NAI-Tabelle ermitteln ................................................. 73
5.3.1
Klasse /PBS/IDK_NAI Methode GET_ARCHIVE_KEYS
73
5.3.2
Interface /PBS/UTIL_IF_NAU_SELECT
74
6
Datenextraktion ..................................................................... 75
6.1
Allgemeines .................................................................................................. 75
6.2
Datenquelle ................................................................................................... 76
6.3
Extraktdefinition ............................................................................................ 76
6.4
Ausgabeoptionen .......................................................................................... 77
6.5
Freie Abgrenzungen ..................................................................................... 78
PBS archive add on CUSTOM
- Administration - 9
1 Einleitung
1.1
Zu diesem Handbuch
Die modularen Handbücher der PBS archive add ons® umfassen folgende Teilhandbücher:
- Teil A:
Installation
- Teil B:
Administration, Archivaufbau und -pflege
Das vorliegende Handbuch beschreibt den Teil B der Handbücher. Es werden hier
die administrativen Tätigkeiten, wie der Aufbau der PBS archive add ons und die
Pflege, beschrieben.
Sollten Sie Frage zu den PBS archive add ons® bzw. Probleme haben, wenden
Sie sich bitte direkt an die Service-Hotline der PBS Software GmbH:
Telefon:
+49 - 6251 - 174 110
Telefax:
+49 - 6251 - 174 174
E-Mail:
[email protected]
Releaseverträglichkeit
Das in diesem Handbuch beschriebene PBS archive add on CUSTOM ist mit den
Basisprogrammen der SAP SE, 69190 Walldorf/Baden, SAP Entwicklungsstand
R/3 4.6C, R/3 Enterprise, SAP ERP 2004, SAP ERP 6.0 ablauffähig.
PBS archive add on CUSTOM
1.2
- Administration - 10
Grundlegendes zum PBS archive add on CUSTOM
Das PBS archive add on CUSTOM ist eine SAP-ADK-basierte Softwarelösung für
SAP, die es ermöglicht, kundeneigenen Tabellen (Z-Tabellen) zu archivieren und
einen transparenten Zugriff auf archivierte Daten erlaubt. Hierzu wird für die zu
archivierenden Tabelle und deren abhängige Tabellen ein Archivierungsobjekt
generiert. Gegebenenfalls können auch kundeneigene Archivierungsobjekte
verwendet werden. In einem zweiten Schritt lässt sich für das Archivierungsobjekt
die PBS-Infrastruktur zur Erzeugung von PBS-Indizes und die zugehörigen
Zugriffsroutinen erstellen. Damit können die eigenen Programme an den Zugriff auf
die Archivdaten angepasst werden. Die archivierten Daten können auch mit dem
PBS Archive Browser angezeigt werden (Transaktion /PBS/SE16).
Falls Sie in Ihrem SAP-System die PBS Nearline Analytic Infrastructure installiert
ist, können die PBS-Indizes auch über das PBS NAI Index Administration Board
definiert und aufgebaut werden. Dieses Verfahren ersetzt das in dieser
Dokumentation beschriebene Verfahren zur ADK-Indexgenerierung. (Das
Verfahren
zur
Archivierungsobjekt-Generierung
bleibt
dasselbe.)
Die
Indexgenerierung via NAI bietet gegenüber den herkömmlichen ADK-Indizes
mehrere Vorteile. Die Indexgenerierung erfolgt zentral für alle PBS archive add ons
über das NAI Index Administration Board. Lesen Sie bitte hierzu Kapitel 5 und die
Dokumentation
zum
PBS
NAI
Index
Administration
Board
(nai_index_administrator.doc).
Durch den Einsatz des PBS archive add on CUSTOM kann ein starkes Wachstum
kundeneigener Tabellen reduziert und kontrolliert werden. Dieser Prozess führt zu
einer signifikanten Einsparung von Plattenplatz und Wartungsleistungen bei
gleichzeitiger Verfügbarkeit aller Informationen.
Haben Sie ein SAP-R/3 System Release 4.6C im Einsatz, wird das PBS archive
add on CUSTOM im SAP-Transportformat ausgeliefert und mit Hilfe des SAPTransporttools tp installiert. Zur Erstellung der PBS archive add ons ab dem
Enterprise Release wird das Add-On Assembly Kit (AAK) von SAP verwendet. Das
Final Release eines add ons wird in einem OCS-Paket des Typs Add-On
Installation Package (AOI) bzw. Add-On Upgrade Package (AOU) ausgeliefert,
für das der Import mit Hilfe der SAP-Transaktion SAINT erfolgt. Ein etwaiger
Customer Patch hat den Pakettyp Add-On Support Package und wird mit der
Transaktion SPAM in das SAP-System importiert. Die Einzelheiten hierzu finden
sie im Handbuch Teil A (Installation). Nach der Installation kann das Produkt sofort
eingesetzt werden.
PBS archive add on CUSTOM
- Administration - 11
2 Aufbau des PBS archive add on CUSTOM
Falls Sie in Ihrem SAP-System die PBS Nearline Analytic Infrastructure installiert
ist, nutzen Sie bitte nur das Verfahren zur Generierung von Archivierungsobjekten
(Kapitel 3.1 bis 3.5). Das Verfahren der ADK-Indexgenerierung (Kapitel 2.2.2, 3.6
bis 3.15) kann durch das PBS NAI Index Administration Board ersetzt werden.
Lesen Sie bitte hierzu Kapitel 5 und die Dokumentation zum PBS NAI Index
Administration Board (nai_index_administrator.doc).
2.1
Architektur
Das PBS archive add on CUSTOM enthält Softwarekomponenten für die
Archivierungsobjektgenerierung, die Indexdefinition, die Indexgenerierung und die
Datenselektion von archivierten Daten. Sämtliche Softwarekomponenten sind in
der Programmiersprache ABAP geschrieben und werden mit Hilfe der SAPTransportinfrastruktur implementiert. Alle Programme liegen im PBS Namensraum
(/PBS/), wodurch Namenskonflikte mit SAP- oder kundeneigenen Programmen
vermieden werden. Die generierten Programme liegen mit dem Präfix „ZIDK_“ im
Z-Namensraum. Alle Softwarekomponenten liegen additiv im SAP-System, d. h. es
werden keinerlei Modifikationen von SAP-Programmen vorgenommen.
Für das Archiv-Daten-Retrieval werden spezielle PBS-Indizes verwendet, deren
Definition im Kundensystem erfolgen muss. Anschließend wird ein darauf
abgestimmtes Indexgenerierungsprogramm angelegt, mit dessen Hilfe die PBSIndizes im Dateisystem erzeugt werden können. Die Indizes werden außerhalb der
SAP-Datenbank im Dateisystem im SAP-ADK-Format gespeichert. Zur Analyse der
Archivdaten wird ein Funktionsbaustein generiert, der über die PBS Indizes eine
performante Datenselektion aus dem Archiv erlaubt.
Archivierungsobjekte
Generierung durch
PBS archive add on
CUSTOM
•Schreibprogramm
•Löschprogramm
•Leseprogramm
Kundeneigene
Archivierungsobjekte
•Schreibprogramm
•Löschprogramm
•Leseprogramm
R/3
Archiv-Dateien
(ADK)
PBS Archiv-Komponenten
•Indexdefinition durch Kunde
•Generierung:
- Ladeprogramm usw.
- Funktionsbaustein zur Datenselektion
Abbildung 1:
Programmstruktur (ADK-Indizierung)
PBS
IndexDateien
(ADK)
PBS archive add on CUSTOM
Lesen aus der Datenbank
SELECT * FROM zzrk_ltak
INTO TABLE itab_ltak
WHERE lgnum IN s_lgnum
AND
tanum IN s_tanum.
- Administration - 12
Lesen aus dem Archiv mit
generiertem Funktionsbaustein
CALL FUNCTION 'ZZRK_LTAK_SELECT'
EXPORTING
table_name
= 'ZZRK_LTAK'
index_type_in = 'KEY'
TABLES
IT_RSSELECT
= IT_RSSELECT
it_zzrk_ltak
= itab_ltak.
it_zzrk_ltap
= itab_ltap.
PBS Index-Dateien
PBS
ADK
Interface
R3 Datenbank
R3 ArchivDateien
Abbildung 2:
2.2
Zugriff auf Datenbank- und Archivdaten
Vorgehensweise
2.2.1 Archivierungsobjekt
Um Daten aus den Tabellen der Datenbank zu entfernen benötigt man zunächst
ein Archivierungsobjekt. Hierzu stellt das PBS archive add on CUSTOM eine
Komponente bereit, die ein Archivierungsobjekt generiert. Falls eigene
Archivierungsobjekte vorhanden sind, können diese vom PBS archive add on
CUSTOM ohne weiteres verwendet werden.
Zur Archivierung von SAP-Daten wird das SAP-Archivierungstool verwendet, um
die Daten aus der SAP-Datenbank zu entfernen. Der Aufruf des Tools erfolgt über
die Transaktion SARA. Die archivierten Daten werden von dem Archivierungsprogramm in sequentielle Dateien außerhalb der Datenbank geschrieben. Die
reorganisierten Daten sind nur sequentiell auswertbar.
PBS archive add on CUSTOM
- Administration - 13
2.2.2 ADK-Indizierung
Vor dem Aufbau der für den Direktzugriff benötigten Indizes müssen diese zuerst
individuell für jede Tabelle definiert werden. Mit Hilfe des PBS archive add on
CUSTOM werden die Tabellenfelder ausgewählt, für die ein Index aufgebaut
werden soll.
Da die Strukturen der SAP-Objekte kundenspezifisch ausgeprägt sind, müssen
neben der eigentlichen Indexgenerierung und -aktivierung noch weitere Schritte
durchgefügt werden. Diese Schritte dienen zum Beispiel der Definition und
Generierung von DDIC-Strukturen und Programmen. All diese Schritte werden
zentral über das PBS archive add on CUSTOM gesteuert. Diese Aktionen sind nur
beim Erstaufbau sowie bei Änderungen der Indexstruktur nötig und werden
komplett im PBS archive add on CUSTOM durchgeführt (Details siehe Kapitel 3.6
und 3.7).
Vor der Verwendung eines PBS-Datenzugriffs über Indizes müssen folgende
Ablaufschritte wie in Abbildung 3 dargestellt eingehalten werden:
Erstaufbau
1. Generieren eines Archivierungsobjektes 1
0F
2. Kundenspezifische Datenarchivierung
3. Generierung von PBS Archiv-Komponenten
4. Generierung der PBS-Indexdaten
5. Aktivierung der PBS-Indexdaten
Periodischer Aufbau (z.B. monatlich)
1. Kundenspezifische Datenarchivierung
2. Generierung der PBS-Indexdaten
3. Aktivierung der PBS-Indexdaten
Abbildung 3:
1Wenn
Schematische Darstellung der Vorgehensweise beim Aufbau des
PBS archive add on CUSTOM.
kein kundeneigenes Archivierungsobjekt vorhanden ist.
PBS archive add on CUSTOM
- Administration - 14
Nach dem Aufbau kann das Generieren der PBS-Indizes und deren anschließende
Aktivierung durchgeführt werden (siehe Abbildung 4).
1. Daten archivieren
SAP Archiv-/LöschProgramm (SARA)
R/3 DB
R/3 Archivdateien
(ADK Format)
Dateisystem/Archiv-Server
2. Daten löschen
PBS-Archiv-Index
generieren
PBS-Index-Dateien
ADK-Format
Dateisystem/Archiv-Server
R/3 Archivdateien
ADK-Format
Dateisystem/Archiv-Server
PBS-Archiv-Index
aktivieren
PBS-Index-Dateien
ADK-Format
Dateisystem/Archiv-Server
Abbildung 4:
Verwaltungsdaten
In R/3 Datenbank
Vorgehensweise beim Erstaufbau von PBS-Archiv-Indizes
Das Indexgenerierungsprogramm liest die SAP-Archivdateien ein und erzeugt die
ausgewählten Sekundärindizes. Die Sekundärindizes werden in einem eigenen,
über das PBS archive add on CUSTOM generierten Archivierungsobjekt im SAP
ADK-Format abgelegt.
Das physische Verzeichnis, bzw. die Dateien, in denen sich diese Daten befinden,
ergeben sich aus dem logischen Pfad, der dem jeweiligen Archivierungsobjekt
zugeordnet
wurde.
Voreinstellung
ist
der
logische
Standardpfad
ARCHIVE_DATA_FILE. Wir empfehlen jedoch, im Rahmen des Archivobjektcustomizings für PBS-Archivierungsobjekte eigene logische Pfade zu definieren.
Nach erfolgtem Aufbau der Indizes sowie anschließender Aktivierung stehen die
archivierten Daten zur Verfügung und können bequem mit den generierten
Funktionsbausteinen ausgewertet werden.
Da die archivierten Daten nicht mehr verändert werden, ist eine regelmäßige
Datensicherung des Archivs nicht erforderlich. Das bei der nächsten
Reorganisation der Datenbank erzeugte SAP-Archivfile kann mit Hilfe des
Indexgenerierungsprogramms zu dem bestehenden Indexbestand hinzugefügt
werden (siehe Abbildung 5).
Der Aufruf des Indexgenerierungsprogramms kann menügesteuert über das PBS
archive add on CUSTOM erfolgen (Menüpunkt „PBS-Index generieren“). In
PBS archive add on CUSTOM
- Administration - 15
produktiven Umgebungen werden jedoch oftmals eigene Job Scheduler
verwendet, denen der Name des entsprechenden Programms bekannt gemacht
werden muss. Um den Programmnamen zu ermitteln, starten Sie das
entsprechende Programm wie beschrieben und wählen den Menüpunkt
„System/Status...“. Unter „Repository-Daten“ finden Sie den Programmnamen.
PBS-Archiv-Index
generieren
R/3 Archivdateien
ADK-Format
Dateisystem/Archiv-Server
PBS-Archiv-Index
abmischen
Alte PBS-Index-Dateien
ADK-Format
Dateisystem/Archiv-Server
Abbildung 5:
Neue PBS-Index-Dateien
ADK-Format
Dateisystem/Archiv-Server
Vorgehensweise beim periodischen Aufbau von PBS-ArchivIndizes
PBS archive add on CUSTOM
- Administration - 16
3 Das PBS archive add on CUSTOM
Der erste Schritt zum Aufbau der Archiv-Indizes ist das Erzeugen einer dazu
geeigneten Infrastruktur. Diese besteht zuerst aus der Definition des
Archivierungsobjekts. Falls kundeneigene Archivierungsobjekte vorhanden sind,
können dies hier zur Benutzung mit dem PBS archive add on CUSTOM registriert
werden. Als zweites werden die Indextypen und deren Indexfelder definiert. Nach
dem Anlegen des Indexobjekts, der Strukturen und der objektspezifischen
Programme ist der Aufbau der Infrastruktur abgeschlossen.
Abbildung 6:
Selektionsbild des PBS archive add on CUSTOM.
PBS archive add on CUSTOM
- Administration - 17
Mit der Transaktion /PBS/IDK wird das PBS archive add on CUSTOM gestartet.
Das nach dem Aufruf erscheinende Menü (siehe Abbildung 6) ist in vier Bereiche
eingeteilt:
 Generierung bzw. Auswahl der Archivierungsobjekte
Hier wird das Archivierungsobjekt generiert bzw. ausgewählt, für die die Indizes
aufgebaut werden. Alle Aktionen in den anderen Bereichen ’Aufbau’,
’Verwaltung’ und ’Funktionsbausteine zur Datenselektion’ beziehen sich dann
auf das ausgewählte Archivierungsobjekt.
 Aufbau
Dieser Menüpunkt dient dazu, die Indizes festzulegen und die Infrastruktur
(DDIC-Objekte, Programme, Funktionsbausteine) aufzubauen, die zum Aufbau
der Indizes sowie zum späteren Zugriff auf die archivierten Daten notwendig ist.
Die Ampeln zeigen den aktuellen Status des jeweiligen Unterpunkts an.
 Verwaltung
Hiermit werden die Indizes generiert und anschließend aktiviert. Reports zur
Indexverwaltung sowie ein Browser mit einer technischen Sicht sind ebenfalls
vorhanden. Ab ECC 5.0 werden alle Verwaltungsprogramme über das
Administration Board gestartet (Kapitel 3.8).
 Funktionsbausteine zur Datenselektion
Hier wird lediglich der Name der Funktionsbausteine zur Datenselektion
angezeigt. Der erst Funktionsbaustein geht über die PBS-Indizes in die
Archivdatei, der zweite Funktionsbaustein liest die Archivdatei sequentiell ohne
PBS-Indizes.
Im Weiteren werden die Unterpunkte der einzelnen Bereiche erläutert.
Der Bereich ’Aufbau’ besteht aus den folgenden Punkten:

PBS-Indizes definieren
Für alle archivierten Tabellen können mehrere Indizes aufgebaut werden. Dabei
werden hier die gewünschten Indizes über eine Auswahlliste festgelegt (Details
siehe Kapitel 3.6). Dieser Punkt ist die Grundvoraussetzung für alle folgenden
Aktionen.
 PBS-Indexobjekte und Strukturen generieren
Nach der Festlegung der Indizes und deren Struktur muss die Indexstruktur im
Data Dictionary angelegt werden. Anschließend wird ein Archivierungsobjekt
(Indexobjekt) erzeugt, über das die Indizes verwaltet werden. Das
Archivierungsobjekt wird benötigt, da die Indizes über die ADK-Schnittstelle auf
dem Dateisystem abgelegt werden.
 PBS-Verwaltungsprogramme generieren
Hier werden die Reports zur Generierung, Aktivierung und Verwaltung der PBSIndizes generiert.
PBS archive add on CUSTOM
- Administration - 18
Der Bereich ’Verwaltung’ besteht aus folgenden Punkten:
 PBS-Index generieren
Dieser Punkt startet den Report der die PBS-Indizes generiert. Dabei wird
zwischen dem Erstlauf und allen nachfolgenden Läufen unterschieden, da jene
Läufe immer auch ein Abmischen der neuen Indizes (Zugang) mit den bereits
durch frühere Läufe hinzugefügten Indizes (Bestand) beinhalten. Daher werden
alle nachfolgenden Indexgenerierungsläufe auch Mischläufe genannt. Eine
ausführliche Beschreibung ist in den Kapiteln 3.9, 3.10 und 3.12 enthalten.
 PBS-Index aktivieren
Hiermit wird der Report gestartet, der den im vorigen Punkt generierten
Indexbestand aktiviert. Bei der Aktivierung werden Pointer-Informationen der zu
’Clustern’ gruppierten Indizes in eine Verwaltungstabelle geschrieben. Diese
Information wird für den späteren Zugriff auf die Indizes benötigt. Der
Platzbedarf in der Datenbank beträgt hierfür lediglich zirka 0.1% des
Indexbestands. Eine ausführliche Beschreibung befindet sich in den Kapiteln
3.11 und 3.13. Dort wird auch ausführlich auf das Konzept der Haupt- und
Langzeitarchive eingegangen.

PBS-Indexlauf löschen
Diese Funktion startet den Report, mit dem PBS-Indexgenerierungsläufe
vollständig gelöscht werden können (siehe auch Kapitel 3.14).
 PBS-Indexbrowser
Hiermit wird der Report gestartet, der einen technischen Blick auf die
aufgebauten PBS-Indizes ermöglicht. Insbesondere ist es möglich, die
Statistiken des aktuellen sowie aller vorangegangenen Indexgenerierungsläufe
anzusehen. (siehe auch Kapitel 3.14).
PBS archive add on CUSTOM
- Administration - 19
3.1 Generierung von Archivierungsobjekten
Das PBS archive add on CUSTOM generiert Archivierungsobjekte mit allen
dazugehörigen Programmen wie z.B. Schreib- und Löschprogramm und sonstigen
erforderlichen Objekten. Alle Eigenschaften für das Archivierungsobjekt werden
über die Programmoberfläche des PBS archive add on CUSTOM eingestellt. Eine
Bearbeitung über die Transaktion AOBJ ist nicht erforderlich bzw. nicht
empfehlenswert. Unter keinen Umständen darf mit der Transaktion AOBJ die
Strukturdefinition geändert werden.
3.1.1 Archivdateistatistik
Die Archivdateistatistik (siehe Abbildung 7) dient der Performance-Steigerung beim
sequentiellen Lesen der Archivdateien. Die Statistik wird parallel zum Löschjob
aufgebaut. Bei kundeneigenen Archivierungsobjekten wird die Statistik parallel zur
Indexgenerierung aufgebaut. Für bereits archivierte Daten, für die noch keine
Statistik existiert, kann sie auch nachträglich mit dem Programm /PBS/IDK_STATS
aufgebaut werden. Beim Statistikaufbau werden zu jeder Archivdatei die Min./Max.Werte zu jedem Tabellenfeld gespeichert. So kann anhand der Selektionskriterien
vor dem sequentiellen lesen bestimmt werden, ob eine Archivdatei gelesen werden
muss.
3.1.2 Tabellenauswahl
Hier werden die zu archivierenden kundeneigenen Tabellen ausgewählt. Pro
Archivierungsobjekt ist eine Basistabelle mit beliebig vielen abhängigen Tabellen
erlaubt. Es sind nur transparente Tabellen zulässig. Nach Auswahl einer
abhängigen Tabelle muss zusätzlich noch ihre Abhängigkeit zur übergeordneten
Tabelle definiert werden. Dies geschieht über die Zuordnung der Schlüsselfelder
beider Tabellen. Die Auswahl der Tabellen und die Definition deren
Beziehungen untereinander müssen mit größter Sorgfalt erfolgen! Nach dem
Erzeugen der ersten Archivdatei, sind Änderungen nur noch bedingt möglich.
Achten Sie darauf, dass hier alle abhängigen Tabellen angegeben werden.
Abbildung 7:
Basistabelle mit einer abhängigen Tabelle
PBS archive add on CUSTOM
Abbildung 8:
3.1.2.1
- Administration - 20
Definition der Tabellenbeziehung über Schlüsselfelder
Nachträgliches Hinzufügen einer Tabelle
Nachträgliches hinzufügen einer untergeordneten Tabelle, bei bestehenden
Archiven, ist ohne weiteres möglich. Gehen Sie bitte hierzu wie folgt vor:
1. Transaktion /PBS/IDK starten
2. Archivierungsobjekt ändern
3. Übergeordnete Tabelle markieren
4. Tabelle einfügen
5. Beziehung festlegen
6. Dialog mit [Ok] verlassen -> Schreib-/ Löschprogramm wird neu generiert
7. Unter Sektion "Aufbau" Button "Index-Verwaltungsprogramme generieren"
ausführen
3.1.2.2
Tabellenbeziehung via BAdI
Falls die Tabellenbeziehung mittels Schlüsselfelder nicht abzubilden ist, kann zur
Beziehungsdefinition das Business Add In /PBS/IDK_DB_CURSOR benutzt
werden. Wenn die Checkbox „Tabellenbeziehung via BadI“ (Abbildung 7) gewählt
wird, müssen für dieses Archivierungsobjekt alle Beziehungen über die Methode
GET_DB_CURSOR definiert werden. Mit dieser Methode wird ein DatenbankCursor an das aufrufende Archivierungsprogramm übergeben. Den Cursor müssen
Sie via ABAP-Code erstellen. Für die oben gezeigte Beziehung ZZRK_LTAK /
ZZRK_LTAP würde dies wie folgt aussehen:
OPEN CURSOR WITH HOLD item_cursor
FOR SELECT * FROM zzrk_ltap
WHERE lgnum = zzrk_ltak-lgnum
AND
tanum = zzrk_ltak-tanum
ORDER BY PRIMARY KEY.
PBS archive add on CUSTOM
- Administration - 21
Der Datenbank-Cursor wird für alle abhängigen Tabellen angefordert. Der Cursor
der Basistabelle wird vom Archivierungsprogramm selbst, mit den in Kapitel 3.1.2
beschriebenen Selektionskriterien, erstellt.
Um in der beschriebenen Weise zu verfahren, starten Sie Transaktion SE18 mit
dem BAdI /PBS/IDK_DB_CURSOR und legen eine neue Implementierung an.
Durch Doppelklick auf die Methode GET_DB_CURSOR (Abbildung 9) gelangen
Sie in den APAP-Editor. Schreiben Sie hier den erforderlichen Code. Ein Beispiel
finden Sie in Transaktion SE18 unter dem Menüpunkt „Springen / Beispiel-Coding /
Anzeigen“.
Neben der Methode GET_DB_CURSOR gibt es auch die Methode
LOCK_RECORD. Mit dieser Methode können Sie die Datensätze mittels SperrBaustein (Transaktion SE11: Sperrobjekte) sperren bzw. prüfen, ob diese
momentan gesperrt sind. Dies kann nicht im Archivierungsprogramm erfolgen, da
hier die Tabellenbeziehung nicht bekannt ist. Die Records der Basistabelle werden
wie gehabt vom Archivierungsprogramm selbst gesperrt. Das Prüfen der Records
ist nicht zwingend erforderlich, wird aber empfohlen, da gesperrte Records nicht
archiviert werden sollten.
Die Methoden des BAdI /PBS/IDK_DB_CURSOR sind Archivierungsobjektübergreifend. Der Name des aktuellen Archivierungsobjekts wird mit dem
Parameter ARCHIVE_OBJ übergeben, so dass mit der Anweisung „CASE
archive_obj“ entsprechend verzweigt werden kann. Falls die Archivierungsobjekte
verschiedenen Fachbereichen zugeordnet sind, macht es Sinn, den DatenbankCursor über fachbereichsspezifische Methoden oder Funktionsbausteine
bereitzustellen.
Abbildung 9:
SE18, BAdI Implementierung anlegen
PBS archive add on CUSTOM
- Administration - 22
3.1.3 Datenselektion
Zur Datenarchivierung werden in der Transaktion SARA Varianten gepflegt. Die
Variante legt fest, mit welchen Parametern das Archivierungsprogramm gestartet
wird. Unter dem Punkt Datenselektion werden die Selektionsparameter des
Archivierungsprogramms definiert. Wenn Ihre Tabelle ein Datumsfeld enthält, ist es
sinnvoll dieses Feld zur Datenselektion zu verwenden, da eine Archivierung
zeitabhängig sein sollte.
Die Daten können nach bestimmten Kriterien sortiert werden. Die Sortierung kann
allerdings bei großen Datenmengen zu Performance-Problemen führen. In diesem
Fall ist es empfehlenswert, die Daten nicht zu sortieren.
Falls im User-Exit (Kapitel 3.1.5) zusätzliche Parameter oder Select-Options
benötigt werden, können Sie dies in einem kundeneigenen Include definieren.
Geben Sie den Namen des Include im entsprechenden Feld an. Auf die DBSelektion haben die Parameter keinen Einfluss.
Abbildung 10: Definition der Select-Options im Archivierungsprogramm
PBS archive add on CUSTOM
3.1.3.1
- Administration - 23
Zusätzliche kundeneigene Parameter
Um kundeneigene Parameter optisch von den generierten Parametern
abzugrenzen, ist es sinnvoll die Parameter im Include in einen „Selection Block“,
wie im folgenden Beispiel, einzuschließen.
*&----------------------------------------------------------*
*& Include
ZZRK_TEST_INCL
*&----------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE text-inc.
PARAMETERS p_param1 TYPE zz_param1 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK bl2.
Als Frame Title ist der Text „INC“ zu benutzen. Damit die Parameter bzw. SelectOptions auf dem Selektionsscreen mit einem Text angezeigt werden, sind diese
mit einem Datenelement oder Tabellenfeld zu typisieren. Außerdem kann mit der
Hilfetaste [F1] ein entsprechender Langtext angezeigt werden. Das Include kann
auch Ereignisse zur Parameterprüfung oder für Wertehilfen erhalten.
Abbildung 11: Kundeneigene Parameter
Im User-Exit können Sie alle Parameter und Select-Options mit der Klasse
/PBS/IDK_CL_REPORT_SELECTIONS und deren statischen Methoden abfragen.
Folgend ein Beispiel:
PBS archive add on CUSTOM
FIELD-SYMBOLS <tab>
FIELD-SYMBOLS <param>
RANGES rg_lgnum
DATA ref
DATA param
- Administration - 24
TYPE STANDARD TABLE.
TYPE STANDARD TABLE.
FOR ltak-lgnum.
TYPE REF TO data.
TYPE c.
* --- Parameter -------/pbs/idk_cl_report_selections=>get_parameter(
EXPORTING i_name = 'P_TEST'
IMPORTING e_param = param ).
* or via referece
ref = /pbs/idk_cl_report_selections=>get_reference( 'P_TEST' ).
ASSIGN ref->* TO <param>.
* --- Select-Options --/pbs/idk_cl_report_selections=>get_select_options(
EXPORTING i_name
= 'S_LGNUM'
IMPORTING e_sel_opt = rg_lgnum[] ).
* or via referece
ref = /pbs/idk_cl_report_selections=>get_reference( 'S_LGNUM' ).
ASSIGN ref->* TO <tab>.
3.1.4 Dateiaufbau
Analog zur Transaktion AOBJ werden hier der logische Dateiname, die maximale
Dateigröße und die maximale Anzahl der Datenobjekte einer Archivdatei
festgelegt.
 Logischer Dateiname
Der logische Dateiname ist ein plattformunabhängiger Name für eine Datei, die
im Dateisystem abgelegt werden soll. Zu einem logischen Dateinamen wird zur
Laufzeit ein vollständiger plattformspezifischer Dateiname einschließlich Pfad
ermittelt. Voreinstellung ist der logische Standardpfad ARCHIVE_DATA_FILE.
Wir empfehlen jedoch, im Rahmen des Archivobjektcustomizings für PBSArchivierungsobjekte eigene logische Pfade zu definieren. Der logische
Dateiname gilt mandantenübergreifend. Er kann jedoch mit der Transaktion
SF01 zusätzlich noch spezifisch für den aktuellen Mandanten definiert werden.
 Maximale Dateigröße
Dieser Parameter steuert die maximale Größe einer Archivdatei. Bevor ein
Objekt in eine Archivdatei geschrieben wird, wird überprüft, ob dabei die
maximal zulässige Größe überschritten würde. Ist dies der Fall, wird die aktuelle
Archivdatei geschlossen und eine neue geöffnet, welche das Objekt aufnimmt.
Ist ein Archivsystem am SAP System angeschlossen, dann sollten Sie hier die
maximal zulässige Größe anhand des Archivsystems nicht überschreiten.
Geben Sie hier keinen Wert oder einen Wert an, welcher zwei Gigabyte
übersteigt, so wird die maximale Größe einer Archivdatei automatisch auf zwei
Gigabyte begrenzt.
PBS archive add on CUSTOM
- Administration - 25
 Maximale Anzahl der Objekte in einer Archivdatei
Dieser Parameter steuert die maximale Anzahl von Datenobjekten pro
Archivdatei. Bevor ein Datenobjekt in eine Archivdatei geschrieben wird, wird
überprüft, ob dabei die maximal zulässige Anzahl überschritten würde. Ist dies
der Fall, dann wird die aktuelle Archivdatei geschlossen und eine neue geöffnet,
welche das Datenobjekt aufnimmt. Geben Sie hier keinen Wert ein, findet keine
Prüfung statt.
Abbildung 12: Dateiaufbau
3.1.5 User Exit für die Archivierbarkeitsprüfung
Um Ihnen die volle Kontrolle über die Archivierbarkeit eines Datensatzes zu geben,
wird vom Programm ein Funktionsbaustein (User Exit) erzeugt. Der
Importparameter enthält den aktuell zu archivierenden Datensatz der Basistabelle.
Die internen Tabellen der Tabellendeklaration (falls vorhanden) enthalten alle
abhängigen Datensätze der Basistabelle. In den Funktionsbaustein muss vom
Softwareentwickler ABAP-Code eingefügt werden, welcher die Archivierbarkeit der
Daten prüft. Beispielsweise sollte hier eine Prüfung auf abhängige Daten in
anderen Tabellen stattfinden zu denen keine Tabellenbeziehung definiert ist. Wenn
ein Datumsfeld vorhanden ist, ist hier eine Prüfung auf Mindestalter sinnvoll. Sind
kundeneigene Parameter für die Prüfung nötig, können diese mit der Klasse
/PBS/IDK_CL_REPORT_SELECTIONS abgefragt werden (siehe Kapitel 3.1.3.1).
Falls ein Datensatz nicht archiviert werde darf, muss der Error
‚ARCHIVING_NOT_ALLOWED’ ausgelöst werden. Das Aufrufende Archivierungsprogramm schreibt den Datensatz somit nicht in die Archivdatei und geht zum
nächsten Datensatz. Alternativ kann der Error mittels Message-Anweisung
ausgelöst werden. Dabei wird ein beschreibender Text übergeben, welcher später
im Protokoll als Hinweis dient. Wenn Ihre Tabellenstruktur ein Archivkennzeichen
besitzt, kann dieses im Funktionsbaustein gesetzt werden.
PBS archive add on CUSTOM
- Administration - 26
FUNCTION zzrk_ltak_check.
*"----------------------------------------------------------------*"*"Lokale Schnittstelle:
*"
TABLES
*"
IT_ZZRK_LTAP STRUCTURE ZZRK_LTAP
*"
CHANGING
*"
VALUE(WA_ZZRK_LTAK) LIKE ZZRK_LTAK STRUCTURE ZZRK_LTAK
*"
EXCEPTIONS
*"
ARCHIVING_NOT_ALLOWED
*"----------------------------------------------------------------DATA: max_year(4) TYPE n,
ltak_year(4) TYPE n.
* check by zzrk_ltak-bdatu
max_year = sy-datum(4) - 2.
ltak_year = wa_zzrk_ltak-bdatu(4).
IF ltak_year >= max_year.
MESSAGE i398(00) WITH 'BDATU:' wa_zzrk_ltak-bdatu
wa_zzrk_ltak-lgnum wa_zzrk_ltak-tanum
RAISING archiving_not_allowed.
ENDIF.
* Is confirmation complete?
LOOP AT it_zzrk_ltap.
IF it_zzrk_ltap-kzqui IS INITIAL.
MESSAGE i398(00) WITH 'Confirmation not complete:'
wa_zzrk_ltak-lgnum wa_zzrk_ltak-tanum
RAISING archiving_not_allowed.
ENDIF.
ENDLOOP.
* set archive flag
wa_zzrk_ltak-archive = 'X'.
MODIFY zzrk_ltak FROM wa_zzrk_ltak.
ENDFUNCTION.
Abbildung 13: Beispiel zur Datensatzprüfung
Ein vom Programm neu erzeugter Funktionsbaustein löst den Error
‚ARCHIVING_NOT_ALLOWED’
aus
Sicherheitsgründen
ohne
Prüfung
standardmäßig aus, d.h. es werden keine Daten archiviert. Der Softwareentwickler
muss also den Funktionsbaustein modifizieren, damit Daten archiviert werden
können.
Der Funktionsbaustein wird in der Funktionsgruppe ‚ZIDK_USER_EXIT’ generiert.
Aus technischen Gründen liegt diese Funktionsgruppe in der lokalen
Entwicklungsklasse ‚$TMP’. Um den Funktionsbaustein in andere SAP-System zu
transportieren, kann er in eine beliebige transportfähige Funktionsgruppe
umgehängt werden.
PBS archive add on CUSTOM
- Administration - 27
3.1.6 User Exit für Archivierungsklassen
Wenn Sie Daten mit Archivierungsklassen archivieren wollen, ist dies mit dem User
Exit für Archivierungsklassen möglich. Als User Exit muss eine ABAP-Klasse mit
Transaktion SE24 angelegt werden. Die Klasse wird mit beliebigem Namen
angelegt und muss das PBS-Interface /PBS/IDK_IF_ARCHIVING_CLASS
implementieren. Tragen sie den Namen Ihrer Klasse in das Feld 'ABAP-Klasse'
ein. Sie erhalten eine Online-Hilfe, wenn Sie die Taste [F1] betätigen. In der Hilfe
wird exemplarisch beschrieben, wie die Klasse zu erstellen ist. Das Beispiel zeigt
die Archivierung mit der Archivierungsklasse 'CHANGEDOCU'
3.1.7 Löschjobs
Analog zur Transaktion AOBJ kann hier ein Ereignis für den Löschjob angegeben
werden.
 Ereignis
Name des Ereignisses, mit dem ein Job verkettet ist. Ein Ereignis, oder "Event",
ist ein Signal dafür, dass ein vordefinierter Zustand im System erreicht worden
ist. Das Hintergrund-Verarbeitungssystem empfängt Ereignisse und startet
dann den/die Hintergrundjob/jobs, die mit einem Ereignis verkettet sind. Sie
können vordefinierte Ereignisse der SAP-Anwendungen angeben bzw.
Ereignisse angeben, die selbst definiert wurden.
 Parameter
Wenn ein Ereignis einen Parameter erfordert, tragen Sie den gewünschten
Parameter in diesem Feld ein. Ein Parameter qualifiziert ein Ereignis. Beim
Ereignis SAP_END_OF_JOB werden zum Beispiel Jobname und Jobnummer
als Parameter mit ausgegeben.
Abbildung 14: Löschjobs
PBS archive add on CUSTOM
- Administration - 28
3.1.8 Ablage
Analog zur Transaktion AOBJ kann hier ein Ablageort für physische Dokumente
angegeben werden.
 Content Repository
Das Repository ist eine SAP Knowledge Provider Verwaltungseinheit zur
Abbildung physischer Speichermedien. Es können unterschiedliche physische
Speichermedien angesprochen werden (Datenbank, Archiv,..), die jeweils
unterschiedliche Typen von Content Repositories darstellen. Einem Content
Repository ist immer genau ein Content Server zugeordnet. Zu einem Content
Server kann es mehrere Content Repositories geben.
 Automatischer Start
Kennzeichnet, dass Archivdateien nach erfolgreichem Abarbeiten automatisch
an ein angeschlossenes Ablagesystem übergeben werden.
 Löschphase vor Ablage
Die Ablage in das Content Repository erfolgt, nachdem das Löschprogramm die
Datei im Produktivmodus bearbeitet hat. Läuft das Löschprogramm dagegen im
Testmodus, findet im Anschluss daran keine automatische Ablage statt.
 Ablage vor Löschphase
Die Ablage in das Content Repository erfolgt, nachdem das Schreibprogramm
eine Archivdatei erstellt hat, aber noch vor dem Start des Löschprogramms für
diese Datei.
 Löschprogramm liest aus Archivsystem
Der Wert dieses Ankreuzfelds ist relevant, wenn Archivdateien in ein
angeschlossenes Ablagesystem abgelegt werden müssen, bevor sie vom
Löschprogramm bearbeitet werden können. Setzen Sie das Ankreuzfeld, so
liest das Löschprogramm die Datei im Ablagesystem. Anderenfalls wird die
Datei vom Löschprogramm im Dateisystem gelesen.
Abbildung 15: Ablage
PBS archive add on CUSTOM
- Administration - 29
3.2 Kundeneigene Archivierungsobjekte
Falls Sie eigene Archivierungsobjekte erstellt haben, können Sie dies für die
Benutzung mit dem PBS archive add on CUSTOM registrieren. Die
Strukturdefinition Ihres Archivierungsobjekts ist dabei völlig frei. Bei der Definition
mit der Transaktion AOBJ ist darauf zu achten, dass die Vater/Sohn-Beziehung der
Tabellen richtig angegeben ist, da bei der Definition der PBS-Indizes und der
Generierung der Verwaltungsprogramme auf dies Struktur zurückgegriffen wird.
Für Tabellen welche mit Archivierungsklassen archiviert werden können keine
Indizes definiert werden, jedoch ist das Lesen der Daten über den Archivekey
möglich. Weitere Informationen hierzu finden Sie im Kapitel 4.2.
Abbildung 16: Registrierung kundeneigener Archivierungsobjekte
3.3
Datenarchivierung
Über den Button „Archivadministration“ in der Statuszeile des PBS archive add on
CUSTOM gelangen Sie direkt zur Transaktion SARA. Die Archivadministration ist
Teil des SAP Archive Development Kit (ADK). Sie können damit Ihre
Archivierungsprogramme verwalten und Hintergrundjobs zur Ausführung dieser
Programme
(Schreibund
Löschprogramme)
einplanen.
Über
die
Archivadministration können Sie darüber hinaus Ihre Archivierungsläufe verwalten,
Archivinhalte sequentiell lesen und tabellarisch anzeigen.
3.3.1 Datensatzsperre prüfen
Generell sollte für jeden zu archivierenden Datensatz die Schreibsperre geprüft bzw.
gesetzt werden, da Daten, die gerade durch andere Transaktionen verarbeitet werden,
nicht archiviert werden dürfen. Die Option ist daher standardmäßig eingeschaltet.
Bei sehr großen Datenmengen kann es beim Sperren zu Performance-Problemen
kommen und die Archivierung dauert zu lange. Auf eigene Verantwortung kann der
Sperrmechanismus, mit Abwählen der Checkbox, umgangen werden. Wenn Sie dies
tun, stellen Sie bitte im User Exit sicher, dass keine aktuellen Daten archiviert werden
können.
PBS archive add on CUSTOM
- Administration - 30
3.3.2 Parallellauf
Bei gesetztem Parameter ist die parallele Ausführung der Archivierung erlaubt.
ACHTUNG: Bei paralleler Ausführung ist die Gefahr hoch, Datensätze doppelt zu
archivieren. Es ist sorgfältig darauf zu achten, dass durch Varianten die Datenselektion
so eingeschränkt wird, dass Datensätze nicht doppelt archiviert werden können.
Aus Sicherheitsgründen sollte der Parameter "Datensatzsperre prüfen" gesetzt sein.
3.4
Archivdateistatistik
Die Archivdateistatistik dient der Performance-Steigerung beim
sequentiellen Lesen der Archivdateien (siehe Kapitel 4.1.2 und 4.3). Die
Statistik ist optional und wird parallel zum Löschjob aufgebaut. Bei
kundeneigenen Archivierungsobjekten wird die Statistik parallel zur
Indexgenerierung aufgebaut. Für bereits archivierte Daten, für die noch
keine Statistik existiert, kann sie auch nachträglich mit dem Programm
/PBS/IDK_STATS aufgebaut werden. Beim Statistikaufbau werden zu
jeder Archivdatei die Min./Max.-Werte zu jedem Tabellenfeld gespeichert.
So kann anhand der Selektionskriterien vor dem sequentiellen lesen
bestimmt werden, ob eine Archivdatei gelesen werden muss.
3.5 Technische Sicht auf die Archivdatei
Über den Menüpunkt ’Springen / Archivanzeige’ wird ein Programm gestartet,
welches die Archivdaten sequentiell liest und in einer technischen Sicht anzeigt.
3.6 Aufbau der ADK-Indexinfrastruktur
Falls Sie in Ihrem SAP-System die PBS Nearline Analytic Infrastructure installiert
ist, kann das Verfahren der ADK-Indexgenerierung (Kapitel 2.2.2, 3.6 bis 3.15)
durch das PBS NAI Index Administration Board ersetzt werden. Lesen Sie bitte
hierzu Kapitel 5 und die Dokumentation zum PBS NAI Index Administration Board
(nai_index_administrator.doc).
Bevor die Indizes aufgebaut werden können, muss zuerst festgelegt werden, für
welche Felder Indizes definiert werden. Das erste Feld ist hierbei das
Indexschlüsselfeld. Zusätzlich können dem Indexschlüsselfeld noch weitere
Indexattribute hinzugefügt werden, um bei komplexeren WHERE-Bedingungen die
Auswahl der Archivdaten möglichst vollständig über den Index abzuwickeln. Für
den Fall, dass alle Tabellenfelder bereits im Index enthalten sind, kann dadurch
sogar der Zugriff auf die Archivdaten eingespart werden.
Der Zusammenhang zwischen Index, Indexstruktur und Archivdaten wird in diesem
Abschnitt anhand eines Beispiels erläutert. In Abbildung 17 ist die Struktur einer
ADK-Datei mit extrahierten SAP-Einkaufsbelegen dargestellt. Für die drei Felder
’Belegnummer’ ’Lieferant’ und ’Material’ sollen nun Indizes aufgebaut werden. Jede
PBS archive add on CUSTOM
- Administration - 31
Indexstruktur besteht aus dem jeweiligen Tabellenfeld als Indexschlüsselfeld an
erster Stelle, den Indexattributen sowie dem Pointer auf den dazugehörigen
Datensatz im Archiv. Durch die Indexattribute können bei der Archivdatenselektion,
die zum Beispiel die Selektionsfelder ’Lieferant’ und/oder ’Material’ enthalten, die
komplette Auswahl bereits auf Index-Ebene durchgeführt werden. So werden beim
anschließenden Archivzugriff nicht mehr Datensätze selektiert als nötig.
Schlüsselfeld
ADK Datei Belegnummer
Lieferant
Material
Nettopreis
Lieferant
Material
Lieferant
Material
Archiv-Pointer
Archiv-Pointer
Archiv-Pointer
Indexschlüssel
Index 1
Index 2
Index 3
Belegnummer
Lieferant
Material
Abbildung 17: Struktur von SAP-ADK-Daten und der dazugehörigen PBS-Indizes
Der erste Schritt besteht jetzt darin, die Felder auszuwählen, für die jeweils Indizes
aufgebaut werden. Durch Starten des Punktes ’PBS-Indizes definieren’ gelangt
man in ein Auswahlbild wie in Abbildung 18, wo alle Tabellen des
Archivierungsobjekts aufgelistet sind. Für jede Tabelle können hier mehrere
Indizes definiert werden. Um einen neuen Index anzulegen, markieren Sie die
entsprechende Tabelle und betätigen die Funktionstaste F5. Es erscheint der
Dialog zur Feldauswahl (Abbildung 19).
Abbildung 18: Tabelle und deren Indizes
PBS archive add on CUSTOM
- Administration - 32
Abbildung 19: Indexdefinition
Der technische Name in Abbildung 19 identifiziert den Index eindeutig. Er dient
auch als Eingabeparameter für den Funktionsbaustein zur Datenselektion (Details
siehe Kapitel 4.1.1). Die Priorität dient der automatischen Indexermittlung für, vom
Aufbau her, ähnlichen Indizes. Für bereits aufgebaute Indizes kann die
Indexpriorität auch nachträglich noch geändert werden. Die Indexbezeichnung ist
nur ein beschreibender Text und für die Datenselektion unbedeutend.
3.6.1 Übernahme von Datenbankindizes
Unter anderem können in der Datenbank definierte Indizes als Vorlage
herangezogen werden. Gegebenenfalls sollte hier die Feldreihenfolge verändert
werden, so dass eindeutige Felder am Anfang stehen.
3.6.2 Indizes für Positionstabellen
Schüsselfeld-Indizes können für Positionstabellen eingespart werden. In der Regel
wird man einen Schüsselfeld-Index für die Kopftabelle erstellen. Über diesen
gelangt man dann an die abhängigen Positionen, da beim Einlesen eines ADKObjekts immer das ganze Datenobjekt gelesen wird.
3.7
Aufbau der Infrastruktur
Nachdem die Definition der Indizes und der Indexstruktur abgeschlossen ist, muss
PBS archive add on CUSTOM
- Administration - 33
die Infrastruktur zur Indexverwaltung und anschließenden Archivzugriff aufgebaut
werden. Der Punkt 2 ’PBS-Indexobjekt und Struktur generieren’ ist Voraussetzung
für Aufbau und Verwaltung der Indizes.
Zuerst werden die Indexstrukturen im Data Dictionary angelegt. Anschließend wird
ein Archivierungsobjekt erzeugt, über das die Indizes verwaltet werden. Das
Archivierungsobjekt wird benötigt, da die Indizes über die ADK-Schnittstelle auf
dem Dateisystem abgelegt werden. Der Name ist dabei so gewählt, dass er im Z*Namensraum liegt, aber dem des Daten-Archivierungsobjekts weitgehend
entspricht (z.B.: ZZRK_LTAK ergibt ZZRK_LTAK1).
Unter Punkt 3 ’PBS-Verwaltungsprogramme generieren’ werden die Reports zur
Generierung, Aktivierung und Verwaltung der PBS-Indizes angelegt. Die
generierten Reports liegen im Z-Namensraum und sind der lokalen
Entwicklungsklasse ’$TMP’ zugeordnet.
3.8 Das Administration Board unter ECC 5.0
Ab ECC 5.0 wird der PBS-Archivindex mit dem Administration Board verwaltet. Alle
für Aufbau, Pflege und Analyse der Indizes notwendigen Programme und Tools
können direkt über dieses Cockpit angesteuert werden.
Abbildung 20: Administration Board
Im Folgenden werden die einzelnen Funktionen, die auch über das Menü
ausgeführt werden können, erläutert.
Der Hauptindex wird in einen Langzeitindex umgewandelt (Kapitel 3.13).
Durch Aktivieren eines Indexbereiches werden die Indizes dem Benutzer
zur Verfügung gestellt (Kapitel 3.11).
Deaktivieren eines Indexbereiches bedeutet, dass auf die Indizes nicht
PBS archive add on CUSTOM
- Administration - 34
mehr zugegriffen werden kann.
Das Ladeprotokoll zu einem Lauf gibt Auskunft über die verarbeiteten
Archive und Indizes.
Das Löschen eines Indexbereiches hat zur Folge, dass alle abhängigen
Tabelleninhalte und die physischen Dateien gelöscht werden.
Mit dem Archivtool wird der Inhalt eines Indexbereichs angezeigt (Kapitel
3.14).
Indexgenerierung bedeutet, dass ADK-Dateien indiziert werden. Die Indizes
werden ebenfalls in ADK-Dateien abgelegt. (Kapitel 3.9)
3.9
Generierung der Indizes
Die Generierung der Indizes geschieht mit dem Index-Generierungsprogramm und
den SAP-Archivdateien des entsprechenden Archivierungsobjekts. Das Programm
wird am einfachsten aus der Oberfläche des PBS archive add on CUSTOM heraus
über den Punkt ’PBS-Index generieren’ gestartet. Ab ECC 5.0 wird das Programm
über das Administration Board gestartet. Das Selektionsbild des Programms mit
seinen Abgrenzungen ist in Abbildung 21 dargestellt.
PBS archive add on CUSTOM
- Administration - 35
Abbildung 21: Selektionsbild des Programms zur PBS-Indexgenerierung
Im Folgenden werden die Abgrenzungen des Selektionsbildes sowie ihre
Auswirkungen erläutert.

Manuell auswählen

Automatisch auswählen

Alten Lauf löschen
Ist der Auswahlknopf 'Manuell auswählen' aktiv, so wird bei Bestätigung des
Anforderungsbildes ein Fenster eingeblendet, das eine Liste der zur Verfügung
stehenden SAP-Archive anzeigt, die an oder nach dem eingegebenen Datum
erstellt worden sind (siehe Abbildung 22).
PBS archive add on CUSTOM
- Administration - 36
Abbildung 22: Vorschlagsliste derjenigen SAP-Archive, die Sie in das PBS-IndexArchiv aufnehmen können.
Wählen Sie nun diejenigen SAP-Archive aus (), die Sie in Ihren PBS-Index
aufnehmen möchten. Im automatischen Modus werden ohne Einblenden der Liste
alle SAP-Archive des jeweiligen Archivierungsobjekts selektiert, die an oder nach
dem hier eingegebenen Datum erstellt worden sind. Bereits in aufgenommene
SAP-Archive aus diesem Zeitraum werden hierbei nicht selektiert.
Der Parameter 'Alten Lauf löschen' ermöglicht Ihnen komplette
Generierungsläufe wieder aus dem PBS-Indexdatei zu entfernen. Bei Drücken der
Lauf-Taste wird eine Übersicht der bisher erfolgten Läufe eingeblendet, aus der
Sie dann den zu löschenden Lauf auswählen können (siehe Abbildung 23).
Abbildung 23: Übersicht der bisher durchgeführten Läufe

Alle Belege verarbeiten
Ist dieser Auswahlknopf aktiv, so werden die selektierten SAP-Archive komplett in
das PBS-Indexdatei aufgenommen. Mehrmaliges Aufnehmen des selben SAP-
PBS archive add on CUSTOM
- Administration - 37
Archivs wird durch interne Sicherheitsmechanismen verhindert.

Folgenummernintervall verarbeiten
Bei sehr großen SAP-Archiven kann es wünschenswert sein, den Generierungslauf
in mehrere kleinere Portionen aufzuteilen. In diesem Fall muss der Auswahlknopf
'Folgenummernintervall verarbeiten' aktiviert und die entsprechenden Intervallgrenzen gesetzt werden.

Verwaltungsindizes erzeugen
Setzen dieses Parameters bewirkt, dass im Anschluss an den eigentlichen
Generierungsvorgang die Verwaltungstabelle /PBS/IDK_FILE aktualisiert wird.
Möchten Sie mehrere Generierungsläufe in Folge durchführen, so sollte dieser
Parameter erst beim letzten Durchgang gesetzt werden. Wurde dieser Parameter
nicht gesetzt oder wurden die Einträge in der Verwaltungstabelle /PBS/IDK_FILE
beschädigt, so können Sie jederzeit die Verwaltungsindizes separat über den
Menüpunkt ’PBS-Index aktivieren’ aufbauen.

Vorlauf löschen
Setzen dieses Parameters bewirkt, dass nach erfolgreichem Abschluss des
aktuellen Generierungslaufs die Daten aus dem vorhergegangenen Lauf
automatisch gelöscht werden. Im Normalfall sollte dieser Parameter immer gesetzt
sein. In der Einführungsphase ist es oft sinnvoll, diesen Parameter nicht zu setzen
und den Vorlauf noch zur Sicherheit aufzubewahren. Ältere Läufe können dann zu
einem späteren Zeitpunkt über den Menüpunkt ’PBS-Indexlauf löschen’ im PBS
archive add on CUSTOM auch separat gelöscht werden.
3.10 Erster Generierungslauf
Wurden alle erforderlichen Angaben im Selektionsbild des IndexgenerierungsReports gemacht, kann das Selektionsbild als Selektionsvariante für den
Erstaufbau des Online-Archivs abgelegt und der Report als Hintergrundprozess
gestartet werden.
Nach erfolgreicher Generierung des Index-Archivs gibt das Programm eine ArchivSelektionsstatistik (siehe Abbildung 24) aus.
PBS archive add on CUSTOM
- Administration - 38
Abbildung 24: Selektionsstatistik der PBS-Indexgenerierung
3.11 Aktivieren der Indizes
Wurde beim Aufbau des Index-Archivs der Schalter ’Verwaltungsindizes erzeugen‘
nicht gesetzt, so können diese jederzeit separat über den Menüpunkt ’PBS-Index
aktivieren’ im PBS archive add on CUSTOM erzeugt werden.
Das Selektionsbild dieses Vorgangs ist in Abbildung 25 dargestellt.
PBS archive add on CUSTOM
- Administration - 39
Abbildung 25: Selektionsbild für den Aufbau der Verwaltungsindizes

Letzten Lauf verwenden
Setzen dieses Parameters bewirkt, dass zur Erzeugung der Indizes automatisch
der zuletzt durchgeführte Lauf verwendet wird.

Lauf manuell auswählen
Gerade in der Einführungs- und Testphase kann es sinnvoll sein, ältere
Generierungsläufe nicht zu löschen, sondern zunächst vorzuhalten. Mittels des
Parameters ‚‚Lauf manuell auswählen‘‘ können Sie dann jederzeit auch einen
früheren Lauf wieder aktivieren und die entsprechenden Verwaltungsindizes
aufbauen. Abbildung 26 zeigt eine Auswahlliste, wie sie nach Starten im manuellen
Modus angezeigt wird.
Abbildung 26: Auswahlliste für den Aufbau der Verwaltungsindizes zu einem
beliebigen Generierungslauf
PBS archive add on CUSTOM
- Administration - 40
Nach erfolgtem Aufbau der Verwaltungsindizes wird ein Protokoll angezeigt (siehe
Abbildung 27).
Abbildung 27: Protokoll eines Aufbaus der Verwaltungstabelle

Hauptarchiv deaktivieren
Dieser Parameter erlaubt Ihnen die aktuellen Indizes zu deaktivieren, ohne
gleichzeitig Indizes zu einem anderen Generierungslauf aktivieren zu müssen.
3.12 Weitere Generierungsläufe
Mit dem ersten Generierungslauf wurde eine PBS-Indexdatei (siehe Kapitel 3.10)
erzeugt. Sollen nun weitere Archivdaten der bereits bestehenden PBS-Indexdatei
hinzugefügt werden, so geschieht dies in ähnlicher Weise wie zuvor beschrieben –
mit einem Mischlauf.
Beim Einspielen von weiteren SAP-Archivdateien sind im Selektionsbild des
Reports in der Abgrenzung ‘Archive auswählen’ (siehe Abbildung 22) diejenigen
SAP-Archivdateien zu markieren, die zur bestehenden PBS-Indexdatei
hinzugemischt werden sollen. Wurde bereits eine SAP-Archivdatei im vorhergehenden Lauf in das IDK-Index-Archiv geladen, so wird dies vom Report erkannt
und eine Warnung ausgegeben. Es ist nicht möglich, dass derselbe Datensatz
mehrmals im Index-Archiv referenziert wird.
Das Programm zur Indexgenerierung ist wieder als Batchprozess zu starten. Aus
dem bestehenden Index-Archiv und dem Zugang wird eine neue PBS-Indexdatei
aufgebaut. Die Vorgängerdatei wird automatisch gelöscht, wenn der Schalter
‚‚Vorlauf löschen‘‘ gesetzt ist. Die Dateien aus früheren Läufen können aber auch
separat zu einem späteren Zeitpunkt über den Menüpunkt ’PBS-Indexlauf löschen’
im PBS archive add on CUSTOM gelöscht werden. Sind alle weiteren
Ladevorgänge abgeschlossen, so ist, wie bereits im Kapitel 3.11 beschrieben, mit
Hilfe des Menüpunkts ’PBS-Index aktivieren’ die Verwaltungstabelle
/PBS/IDK_FILE in das SAP-System zu laden. Dieser Schritt kann entfallen, wenn
bei der Durchführung des letzten Laufes der Schalter ‚‚Verwaltungsindizes
erzeugen‘‘ gesetzt war. Abbildung 28 zeigt eine typische Selektionsstatistik nach
PBS archive add on CUSTOM
- Administration - 41
einem Mischlauf.
Abbildung 28: Selektionsstatistik nach dem ersten Mischlauf
3.13 Erstellen von Langzeitarchiven
Mit zunehmender Zahl von Datensätzen im IDK-Index-Archiv erhöht sich die
Laufzeit des Indexgenerierungsprogramms auf ein oft nicht mehr erträgliches Maß
(z.B. > 10 h). Um solche Laufzeiten zu vermeiden, gibt es die Möglichkeit, das
derzeit aktive Hauptarchiv mittels des Indexaktivierungsprogramms (siehe Kapitel
3.11) in ein sogenanntes Langzeitarchiv umzuwandeln und beim nächsten
Indexgenerierungslauf mit dem Aufbau eines neuen Hauptarchivs zu beginnen.
Dadurch wird die Laufzeit wieder auf das Minimum reduziert. Die alte PBSIndexdatei ist jetzt als Langzeitarchiv aktiv und wird nicht mehr verändert.
Bei den Lesezugriffen werden stets das aktuelle Hauptarchiv sowie alle aktiven
PBS archive add on CUSTOM
- Administration - 42
Langzeitarchive berücksichtigt. Da die PBS-Indexdateien im ADK-Format abgelegt
sind, besteht darüber hinaus die Möglichkeit, ältere Langzeitarchive, auf die nicht
mehr so oft zugegriffen wird, in ein optisches Archiv auszulagern.
Weiterhin können Langzeitarchive deaktiviert und bei Bedarf wieder aktiviert
werden. Diese Eigenschaft gibt dem Administrator die Möglichkeit, bestimmte
Daten für die Selektion auszusparen und so den Zugriff zu beschleunigen.

Umwandeln in Langzeitarchiv
Setzen dieses Parameters bewirkt, dass das derzeit aktuelle Hauptarchiv
deaktiviert und gleichzeitig als Langzeitarchiv aktiviert wird.

Langzeitarchive aktivieren / deaktivieren
Diese beiden Parameter ermöglichen es, in Langzeitarchive umgewandelte PBSIndexdateien zu aktivieren, bzw. zu deaktivieren. Über den Button „Auswahlliste“
erhält man eine Übersicht über die vorhandenen Archive. Aktivierbare bzw.
deaktivierbare Archive sind hierbei mit einer Checkbox zum Anklicken versehen
(siehe Abbildung 29).
Abbildung 29: Auswahlliste für Aktivierung Langzeitarchiv
3.14 Archiv-Utilities
Zum Test des PBS archive add ons CUSTOM stehen folgende ABAP/4-Reports
zur Verfügung (siehe auch Kapitel 3).
Report ZIDK_<ArchObj><n>_DELR
Dieser Report ermöglicht das Löschen eines oder mehrerer PBSIndexgenerierungsläufe. Der Report wird über den Bereich ’Verwaltung’ Funktion
’PBS-Indexlauf löschen’ gestartet.
Report ZIDK_<ArchObj><n>_SCAN
Dieser Report ermöglicht einen technischen Blick auf die aufgebauten Indizes im
PBS archive add on CUSTOM. Insbesondere ist es möglich, die Statistiken des
aktuellen sowie aller vorangegangenen Indexgenerierungsläufe anzusehen. Der
Report wird über den Bereich ’Verwaltung’ Funktion ’PBS-Indexbrowser’ gestartet.
PBS archive add on CUSTOM
- Administration - 43
3.15 Alternative Indexgenerierung bei großem Indexzugang
Wie in Kapitel 3.18 zu lesen ist, wird bei der Indexgenerierung (Kapitel 3.9) der
ABAP-Extrakt zum Sortieren des Indexzugangs verwendet. Ist der Zugang sehr
groß, beispielsweise bei einem Erstaufbau, reicht der Speicherplatz für den Extrakt
oft nicht aus. Um den Speicherplatzbedarf in den zur Verfügung stehenden
Grenzen zu halten, wird der Indexgenerierungsvorgang automatisch in mehrere
Läufe aufgeteilt. Dies kann die Laufzeit extrem verlängern. Um das zeitaufwändige
Aufteilen in mehrere Indizierungsläufe zu vermeiden, können Sie alternativ die
Transaktion /PBS/IDK2 für den Indexaufbau verwenden. Die Transaktion ist
archivierungsobjektübergreifend. Für das Indizieren gibt es zwei grundlegende
Optionen wie der Indexzugang sortiert wird (Abbildung 30: Abschnitt 'Steuerung
der Indexgenerierung').
Abbildung 30: Transaktion /PBS/IDK2
PBS archive add on CUSTOM
- Administration - 44
3.15.1 Sortierung via Datenbank-Indextabelle
Die Indizes werden zunächst mit einem synchronen Update Task in einer temporär
angelegten Datenbanktabelle gespeichert. Ein Update Task läuft in einem eigenen
Prozess und ist für den Import von Massendaten konzipiert. Die DB-Tabelle wird
mit den CUSTOM spezifischen DB-Indizes erzeugt. Anschließend werden die
Indizes sortiert ausgelesen und wie gewohnt mit dem vorherigen ADKIndexbestand zusammen in eine neue ADK-Datei geschrieben. Die
Datenbanktabelle wird nach dem Indexgenerierungsvorgang wieder gelöscht. Das
Schreiben der Indizes in eine DB-Tabelle ist selbstverständlich langsamer als der
Extrakt-Sort oder die Sortierung via Interner Tabelle. Bei der DB-Sortierung kann
dafür der DB-Schreibvorgang parallelisiert werden, so dass die Verarbeitung mit
drei Prozessen nahezu genauso schnell ist wie die anderen zwei Verfahren.
Vorteile des DB-Sort sind:
 Große Indexzugänge können auf einmal verarbeitet werden.

Bei Jobabbruch kann neu aufgesetzt werden, ohne dass die bis dahin
erzeugten Indizes verloren gehen.
 Der Extended Memory wird nicht belastet.
3.15.2 Sortierung via interne Tabelle
Die Sortierung erfolgt mit einer im Extended Memory gehaltenen internen Tabelle.
Der Speicherverbrauch ist mit Transaktion ST02 ersichtlich. Damit für andere
Prozesse nicht der ganze Speicher zur Indizierung verbraucht wird, gibt es einen
Parameter mit dem Sie festlegen müssen, wieviel Speicher freizuhalten ist. Wird
diese Grenze überschritten, wird der bis dahin erzeugte Indexzugang
abgeschlossen und mit dem Indexbestand abgemischt. Eine mehrstufige
Verarbeitung ist möglich. Wir empfehlen allerdings bei einem frühzeitigen
Programmabschluss, den weiteren Aufbau mit dem DB-Sort fortzuführen um lange
Abmischvorgänge mit dem Indexbestand zu vermeiden.
Vorteile der Sortierung mit einer internen Tabelle:
 Schneller als DB-Sort
 Abhängig vom Extended Memory können im Vergleich zum Extrakt-Sort mehr
Archivdateien verarbeitet werden.
3.15.3 Wo ist der 'Automatik-Modus' geblieben?
Bei der Indizierung, wie unter Kapitel 3.9 beschrieben, gibt es die Optionen
'Manuelle auswählen' und 'Automatisch auswählen'. In Transaktion /PBS/IDK2
existieren diese Optionen nicht. Selbstverständlich erkennt auch dieses Programm
welche Dateien noch nicht verarbeitet sind. Wenn für die Archive keine
Einschränkungen vorgenommen werden, entspricht dies dem Automatik-Modus.
Ob eine Datei bereits verarbeitet und der zu gehörige Index aktiv ist, wird
grundsätzlich immer geprüft.
PBS archive add on CUSTOM
- Administration - 45
3.16 Indexmodifikation
Unter Umständen wollen Sie für einen bestehenden PBS-Indexlauf einen oder
mehrere Indizes hinzufügen oder ändern. Da bei bestehenden PBS-Indexläufen
eine Indexmodifikation unter keinen Umständen möglich ist, müssten also die
Indexdateien gelöscht und neu aufgebaut werden. Dies würde einige Zeit in
Anspruch nehmen. In dieser Zeit wäre kein Datenzugriff möglich weil die PBSIndexdateien nicht vorhanden bzw. nicht vollständig wären. Um dieses Zeitproblem
zu umgehen gibt es die Versionsverwaltung. Dabei wird die bestehende
Indexdefinition in eine neue Version kopiert, welche parallel zur alten Version
besteht. Während die Archivselektion noch über die alte Version lauft, kann in der
neuen Version die Indexdefinition modifiziert (siehe Kapitel 3.6) und danach der
Index neu aufgebaut werden. Ist der Indexaufbau abgeschlossen kann die
Datenselektion
auf
die
neue
Version
umgeschaltet
werden.
Die
Funktionsbausteine zur Datenselektion werden hierbei neu generiert was nur
wenige Sekunden in Anspruch nimmt. Die PBS-Indexdateien der ersten Version
sowie die Version selbst kann nun gelöscht werden.
Abbildung 31: Indexdefinition kopieren
Hinweis:
Der
Name
des
Indexobjekts
setzt
sich
aus
Archivierungsobjektname und einer Nummer zusammen. Die Aktualität
einer Version richtet sich nicht nach dieser Nummer, da für eine neue
Version immer die nächste freie Nummer ab der Nummer 1 verwendet
wird. Wenn Sie also Version 2 kopieren und keine Version 1 vorhanden ist,
wird für die neue Version die Nummer 1 verwendet.
3.16.1 Vorgehensweise zur Indexmodifikation

Aufbau / Version: Indexdefinition kopieren

Indexdefinition modifizieren

PBS-Indexobjekt und Strukturen generieren
PBS archive add on CUSTOM
- Administration - 46

PBS-Verwaltungsprogramme generieren

Verwaltung / Version: Auf neue Version umschalten

PBS-Index generieren und aktivieren

Funktionsbausteine / Version: Auf neue Version umschalten
3.16.2 Löschen nicht mehr benötigter Versionen
 Verwaltung / Version: Auf alte Version umschalten
 Alle Indexläufe zur alten Version löschen
 Aufbau / Version: Alte Version löschen
3.17 Export/Import in andere R3-Systeme
Da alle vom PBS archive add on CUSTOM generierten Objekte und Programme
der temporären Entwicklungsklasse des SAP-Systems zugeordnet sind, können
dies nicht mit dem SAP-Transportformat transportiert werden. Um dennoch alle
erforderlichen Objekte und Programme in anderen SAP-Systemen bereitzustellen,
gibt es im PBS archive add on CUSTOM die Menüpunkte ’Transport \ Export’ und
’Transport \ Import’. Hierbei werden nicht die Objekte und Programme exportiert
sondern deren Definition. Mit Hilfe dieser Daten werden die Objekte und
Programme im Zielsystem neu generiert.
3.17.1 Export von Archivierungsobjekt- und Indexdefinition
Um Archivierungsobjekt- und/oder die Indexdefinition zu exportieren wählen sie
den Menüpunkt ’Transport \ Export’. Das Programm erzeugt einen Transportauftrag der mit dem normalen SAP-Transportverfahren transportiert werden kann. Bei
Export der Archivierungsobjektdefinition wird der dazugehörige Funktionsbaustein
zur Archivierbarkeitsprüfung (User Exit) in den Transport übernommen. Da der
Funktionsbaustein individuellen Programmcode enthält, kann dieser nicht im
Zielsystem generiert werden. Der Funktionsbaustein wurde ursprünglich in der
lokalen Entwicklungsklasse ’$TMP’ erzeugt. Um den Funktionsbaustein
transportfähig zu machen, muss er zuvor vom Softwareentwickler in eine
transportfähige Funktionsgruppe umgehängt (Transaktion SE80) werden.
PBS archive add on CUSTOM
- Administration - 47
Abbildung 32: Export von Archivobjekt- und Indexdefinition
Wenn Sie die Option „Import im Zielsystem automatisch starten“ wählen, wird in
den Transport ein XPRA-Eintrag eingefügt. Dieser Eintrag startet die
Objektgenerierung nach dem Import automatisch. Das unter Kapitel 3.17.2
beschriebene Vorgehen entfällt hierbei.
Nach Auswahl der zu exportierenden Daten starten Sie den Export über den
Button ’Export’. Es erscheint ein Dialog zur Eingabe einer Transportnummer.
Wählen Sie hier ’Auftrag anlegen’ (Funktionstaste F8). Danach kann der Transport
direkt freigegeben werden.
PBS archive add on CUSTOM
- Administration - 48
Falls Sie Ihre Indizes via PBS NAI Index Administration Board definiert haben,
entfällt der Transport der Indexdefinition an dieser Stelle. Lesen Sie bitte hierzu
Kapitel 6.3.2 in der Dokumentation zum PBS NAI Index Administration Board
(nai_index_administrator.doc).
3.17.2 Import von Archivierungsobjekt- und Indexdefinition
Nachdem der Transport wie unter Punkt 3.16.1 erstellt und mit Hilfe des SAPTransporttools ’tp’ in das Ziel eingespielt wurde, kann nun der Import über den
Menüpunkt ’Transport \ Import’ des PBS archive add on CUSTOM gestartet
werden. Es wird eine Liste mit den anstehenden Exporten angezeigt.
Abbildung 33: Anstehende Exportdaten
Durch den Importstart werden alle erforderlichen Objekte und Programme
generiert. Dabei werden auch einige Konsistenzprüfungen vorgenommen. Wenn
z.B. die Indexdefinition für ein PBS-Indexobjekt importiert wird für das bereits
Indexdaten aufgebaut sind, wird automatisch eine neue Indexversion erstellt. Am
Ende des Imports wird eine technische Statusliste ausgegeben.
Abbildung 34: Statusliste nach Generierung der Objekte und Programme
PBS archive add on CUSTOM
- Administration - 49
3.18 Plattenplatzbedarf
Falls Sie Ihre Indizes via PBS NAI Index Administration Board definiert haben,
entfallen die folgenden Ausführungen zu ADK-Indizes.
Das PBS archive add on CUSTOM wird in datenbankunabhängigen Dateisystemen
aufgebaut. Für den Systemadministrator besteht an dieser Stelle die Aufgabe, freie
Speicherkapazitäten zum Aufbau des Archivs zu reservieren. Die bereitzustellende
Plattenplatzkapazität richtet sich nach der Anzahl der Datensätze, die im Archiv
gehalten werden sollen, der Anzahl der Indizes pro Datensatz sowie der Anzahl
der Indexattribute.
Bei Verwendung einer minimalen Indexstruktur ist mit einer Belegung von ca. 5 bis
10 Bytes pro Index zu rechnen. Bei Verwendung von Indexattributen, zum Beispiel
in einer maximalen Indexstruktur, kann hier keine genaue Aussage getroffen
werden, da dies von der Größe der Archivstruktur und der Anzahl der verwendeten
Indexattribute abhängt.
Während eines Indexgenerierungslaufs ist für Extrakt und Sort zusätzlicher
temporärer Plattenplatz vorzuhalten. In der Praxis hat sich gezeigt, dass man bei
einem Indexgenerierungslauf für eine 10 MB große Archivdatei zirka 0,4 bis 0,6
GB Plattenplatz pro Index für Extrakt und Sort reservieren sollte.
Im Extremfall erfordert eine Archivdatei von 100 MB oder mehr eine sehr große
Plattenkapazität. Um solch große Datenmengen zu vermeiden, kann man einen
großen Indexgenerierungslauf auf mehrere kleine Läufe verteilen. Da nur der
Zugang an Archivdaten bei jedem Lauf für Extrakt und Sort zählt, wird lediglich der
entsprechende Bruchteil an Plattenplatz benötigt.
3.19 Einsatz mehrerer Applikationsserver
Bei größeren SAP-Systemen laufen die Datenbank sowie die Applikationen in der
Regel auf unterschiedlichen Rechnern ab, die entsprechend als Datenbank- sowie
Applikationsserver bezeichnet werden. Oft empfiehlt sich aus Performancegründen
auch der Einsatz mehrerer Applikationsserver. Da jedoch das PBS archive add on
CUSTOM in datenbankunabhängigen Dateisystemen aufgebaut wird, müssen alle
Applikationsserver direkten Zugriff auf diese Dateisysteme haben. Für den
Systemadministrator besteht an dieser Stelle die Aufgabe, die Applikationsserver
so einzurichten, dass die Dateisysteme des PBS archive add ons CUSTOM immer
über dieselbe Pfadangabe zu erreichen sind. Unter Unix bietet NFS (Network File
System) eine elegante Lösung. Im Folgenden wird am Beispiel einer dreistufigen
Client/Server-Architektur gezeigt, wie hier vorzugehen ist. Das System soll aus
jeweils einem Datenbank- und einem Applikationsserver (und mehreren
Präsentationsservern) bestehen, wobei das PBS archive add on auf dem
Datenbankserver angelegt sein soll. Dann ist folgendermaßen vorzugehen:
Die Dateisysteme, die das PBS archive add on beinhalten, müssen auf dem Datenbankserver zuerst freigegeben werden. Dazu wird das Kommando share verwendet. Das folgende Kommando (Syntax von Sun/Solaris) gibt z.B. das Da-
PBS archive add on CUSTOM
- Administration - 50
teisystem /pbs/idk frei:
share –F nfs /pbs/idk .
Die freigegebenen Dateisysteme können anschließend auf dem Dateisystem des
Applikationsservers gemountet werden. Voraussetzung dafür ist, dass Verzeichnisse, die als Mount-Point dienen, vorhanden sind. Das folgende Beispielkommando mountet das freigegebene Dateisystem /pbs/idk des Datenbankservers
sun20 am Mount-Point /archiv/idk:
mount –F nfs sun20:/pbs/idk /archiv/idk .
Hierbei ist zu beachten, dass bei mehreren Applikationsservern für alle derselbe
Mount-Point verwendet wird, da dem PBS archive add on nur ein einziger Pfad
zugewiesen werden kann (hier z. B. /archiv/idk).
Hinweis:
Der Rechner, der die Daten des PBS archive add ons enthält, muss auch ein NFSServer sein, damit sich Applikationsserver als NFS-Clients an diesem anmelden
können.
Unter Windows NT muss, soweit hier nicht auch NFS installiert wurde, das lokale
Laufwerk des Datenbankservers freigegeben werden, auf welchem sich das PBS
archive add on befindet. Dazu dient in den Eigenschaften des jeweiligen Laufwerks
der Bereich „Freigabe“. Nach erfolgter Freigabe kann das Laufwerk auf dem
Applikationsserver zum Beispiel mit Hilfe des Explorers (Extras  Netzlaufwerk
verbinden) angemeldet werden.
3.20 Performancetuning
Die folgenden Ausführungen treffen nur für die ADK-Indizierung zu. Falls Sie Ihre
Indizes via PBS NAI Index Administration Board definiert haben, ignorieren Sie
dieses Kapitel bitte.
Beim Einsatz des PBS archive add on CUSTOM spielen zwei Laufzeitbetrachtungen eine Rolle. Bei einem sehr hohen Datenaufkommen muss die Laufzeit für die
Indexgenerierung möglichst gering gehalten werden. Der Zugriff auf die
Archivdaten kann in Abhängigkeit von der Struktur der Indexdaten mit unterschiedlichen Laufzeiten erfolgen. Darüber hinaus beeinflusst die Struktur der Indexdaten
auch die Größe der Indexdateien.
Die Laufzeit beim Indexaufbau entsteht im Wesentlichen durch das Abmischen
bereits vorhandener Indexbestände mit neu hinzugekommenen Indexdaten. Aber
auch die Anzahl der pro Datensatz erstellten Indizes sowie die Größe der
Indexstruktur haben einen Einfluss auf die Laufzeit.
PBS archive add on CUSTOM
- Administration - 51
Bei der Größe der Indexdateien sind mehrere Faktoren entscheidend. Dies sind
zum einen die ADK-Technik selbst, die Anzahl der ausgewählten Indizes sowie die
Anzahl der Indexattribute. Die Verwendung der ADK-Technik zum Abspeichern der
Indexdaten bietet den Vorteil der Kompression um zirka einen Faktor 5. Mit der
wichtigste Faktor ist jedoch die Anzahl der ausgewählten Indizes, da die Größe der
Indexdateien direkt proportional zu dieser Anzahl ist. Das bedeutet, zehn Indizes
pro Datensatz benötigen auch den zehnfachen Platz für die Indexdateien. Im
allgemeinen bedeutet das, je mehr Indizes angelegt werden für eine optimale
Performance beim späteren Zugriff, eventuell auch mit einer hohen Anzahl
Indexattribute, umso mehr Platz muss für die Indexdateien bereitgestellt werden.
Die Performance beim Zugriff hängt grundsätzlich von der Art der Indizierung ab.
Die Indizes sollten so gewählt sein, dass für jede Archivselektion mindestens ein
Index verwendet werden kann. Wenn dazu noch alle Tabellenfelder in der
Indexstruktur enthalten sind, so resultiert daraus eine optimale Performance, da
hier ein Zugriff auf die SAP-Datenarchive eingespart werden kann. Wenn sich
dagegen der Zugriff nicht allein auf die PBS-Indizes beschränkt, sondern zusätzlich
auf die SAP-Datenarchive zugegriffen werden muss, ist die Zugriffszeit zirka um
einen Faktor 3 bis 5 größer.
PBS archive add on CUSTOM
- Administration - 52
3.21 Allgemeines Customizing der Transaktion SARA
Unter dem Button ’Customizing / Technische Einstellungen’ erscheint folgender
Selektionsbildschirm:
Abbildung 35: Allgemeine technische Einstellungen der Transaktion SARA
Hier ist die Checkbox ’Verifikationszeitpunkt / Lesen’ zu deaktivieren. Ist dies nicht
der Fall, wird bei jedem Belegeinzelzugriff das Archiv sequentiell gelesen.
PBS archive add on CUSTOM
- Administration - 53
4 Selektion von archivierten Daten
Falls Sie das NAI Index Administration Board im Einsatz haben, verwenden Sie
bitte anstelle der generierten Funktionsbausteine die NAI spezifischen ZugriffsMethoden. Diese sind in Kapitel 5.2 und 5.3 beschrieben.
Bestehende Reports, welche die generierten Funktionsbausteine zur
Archivdatenselektion nutzen, müssen nicht geändert werden. Es reicht, die
Funktionsbausteine neu zu generieren, so dass sie fortan in der Lage sind, via
ADK- oder NAI-Index Archivdaten zu lesen. Die Zugriffsart richtet sich nach der
Einstellung in Transaktion /PBS/NAU03 (Indexdefinition).
4.1 Generierte Funktionsbausteine
Das PBS archive add on CUSTOM generiert pro Archivierungsobjekt zwei
Funktionsbausteine zur Datenselektion aus dem Archiv. Voraussetzung für die
Generierung ist eine ADK-Indexstruktur. Die Namen der Funktionsbausteine
setzen sich zusammen aus:
<ArchObj>_SELECT
<ArchObj>_SEQUENTIAL
Abbildung 36: Namen der generierten Funktionsbausteine
Wichtige Hinweise:

Archivierte Daten sind grundsätzlich nur zur Anzeige bestimmt und dürfen
nicht in die Datenbank zurück geschrieben werden. Achten Sie bitte in DialogTransaktionen darauf, dass für archivierte Daten die Dynpro-Felder nur für die
Anzeige aktiv gesetzt sind.

Die INSERT- und MODIFY-Anweisung
Datenbenutzt werden.

In der Regel kann mit der UPDATE-Anweisung kein archivierter Datensatz in
die Datenbank zurückgeschrieben werden. Wenn die archivierten Daten
allerdings noch nicht gelöscht sind, kann es hier zur Inkonsistenzen kommen.
darf
NICHT
für
archivierte
PBS archive add on CUSTOM
- Administration - 54
4.1.1 Der Funktionsbaustein ’<ArchObj>_SELECT’
Der Funktionsbaustein selektiert über die generierten PBS-Indexdaten die SAPArchivdaten (siehe Abbildung 2). Nachfolgend sehen Sie ein Beispiel für das
Archivierungsobjekt ’ZZRK_LTAK’ welches die Basistabelle ’ZZRK_LTAK’ und die
abhängige Tabelle ’ZZRK_LTAP’ selektiert. Der Aufruf sieht wie folgt aus:
Call Function 'ZZRK_LTAK_SELECT'
Exporting
table_name
= 'ZZRK_LTAK'
index_type_in
= index_type_in
read_document
= 'X'
read_all_obj_data
= read_all_obj_data
only_first_record
= ''
max_row_count
= 2147483647
Importing
index_type_out
= index_type_out
end_of_archive_file
= end_of_archive_file
count_zzrk_ltak
= count_zzrk_ltak
count_zzrk_ltap
= count_zzrk_ltap
Tables
IT_RSSELECT
= IT_RSSELECT
CT_DYN_RANGES
= CT_DYN_RANGES
it_zzrk_ltak
= it_zzrk_ltak
it_zzrk_ltap
= it_zzrk_ltap
Exceptions
index_not_exist
= 1
index_not_found
= 2
rsselect_is_initial
= 3
table_not_exist
= 4
data_not_found
= 5
Others
= 6.
Funktionsparameter:

EXPORTING
o table_name
Name der Tabelle aus der selektiert werden soll. Mögliche Werte im
Beispiel sind hier ’ZZRK_LTAK’ und ’ZZRK_LTAP’
o index_type_in (optional)
Technischer Name des Index der zur Selektion benutzt werden soll
(siehe Kapitel 3.6). Ist ’index_type_in’ initial, wird anhand der
Selektionskriterien der beste Index gesucht.
o read_document (optional; default = ’X’)
read_document = ‘X’:
Die Daten werden aus der SAP-Archivdatei gelesen.
read_document = initial:
Die Ergebnistabelle wird nur über den Index gefüllt. Dieser Weg liefert
schnelle Ergebnisse da der Archivzugriff eingespart wird. Selektionen
PBS archive add on CUSTOM
- Administration - 55
welche nicht über den Index bzw. die Indexattribute abgewickelt werden
können, werden hierbei nicht berücksichtig.
o read_all_obj_data (optional; default = ’X’)
Der Parameter gilt nur für generierte Archivierungsobjekte! Ferner ist
er irrelevant wenn der Parameter read_document initial ist.
red_all_obj_data = ‘X’:
Entspricht ein Datensatz der Selektion, wird das gesamte Datenobjekt
der SAP-Archivdatei in die Ergebnistabellen geschrieben.
red_all_obj_data = initial:
Es werden nur die Abhängigen Daten der Selektion in die
Ergebnistabellen geschrieben. Diese Einstellung macht nur Sinn, wenn
die Daten über Positionen gelesen werden. Bei Selektion von Kopfdaten
sind immer alle Positionen von den Kopfdaten abhängig.
o only_first_record (optional)
Es wird nur der erste Datensatz eines ADK-Datenobjekts zurückgegeben.
Der erste Datensatz ist in der Regel der Kopfdatensatz. Der Parameter
kann bei Selektion großer Datenmengen Geschwindigkeitsvorteile
bringen. Er sollte nur für mehrstufige Archivierungsobjekte verwendet
werden. Bei einstufigen Archivierungsobjekten sind jeweils 1000
Datensätze pro ADK-Objekt zusammengefasst. Der Parameter bietet nur
geringe Geschwindigkeitsvorteile, da beim Einlesen des ADK-Objekts mit
dem Funktionsbaustein ’ARCHIVE_READ_OBJECT’ immer das gesamte
Objekt
gelesen
wird.
Es
wird
nur
der
Aufruf
von
’ARCHIVE_GET_NEXT_RECORD’ für Positionsdatensätze eingespart.
o max_row_count (optional; default = 2147483647)
Mit diesem Parameter wird die Ergebnismenge der Basistabelle
eingeschränkt. Wird max_row_count = 1 gesetzt entspricht dies einem
’SELECT SINGLE’.

IMPORTING
o index_type_out
Wenn ’index_type_in’ nicht angegeben wird, enthält ’index_type_out’ den
ermittelten technischen Indexname. Für den Fall, dass ’index_type_in’
angegeben wurde und die Selektion für diesen Index keinen Sinn ergibt,
wird der nächst beste Index gesucht. ’index_type_out’ enthält dann den
gefundenen Indexname.
o end_of_archive_file
Wurde mit dem Parameter ’max_row_count’ die Ergebnismenge
eingeschränkt, gibt ’end_of_archive_file’ an, ob das Ende der SAPArchivdatei erreicht wurde. Der Parameter ’end_of_archive_file’ macht
nur Sinn wenn read_document = ‘X’.
o count_<TabName>
Gibt die Anzahl der Zeilen der internen Tabelle ’it_<TabName>’ an.
PBS archive add on CUSTOM
- Administration - 56
 TABLES
o IT_RSSELECT (Export)
Die interne Tabelle ’IT_RSSELECT’ Enthält die Selektionsparameter für
die Archivdatenselektion (siehe Kapitel 4.4).
o ct_dyn_range (Export; optional)
Die interne Tabelle ’ct_dyn_range’ ist bei logischen Datenbanken mit
dynamischer Selektion zu verwenden.
o it_<TabName> (Import; optional)
Die Tabellen enthalten die selektierten Daten.

EXCEPTIONS
o index_not_exist
Der unter ’index_type_in’ angegebene technische Indexname existiert
nicht für die unter ’table_name’ angegebene Tabelle.
o index_not_found
Anhand der internen Tabelle ’IT_RSSELECT’ konnte kein Index ermittelt
werden.
o rsselect_is_initial
Die internen Tabelle ’IT_RSSELECT’ enthält keine Selektionsparameter.
o table_not_exist
Die unter ’table_name’ angegebene Tabelle existiert nicht.
o data_not_found
Mit den Selektionsparametern aus ’IT_RSSELECT’ bzw. ’ct_dyn_range’
wurden keine Daten selektiert.
PBS archive add on CUSTOM
- Administration - 57
4.1.2 Der Funktionsbaustein ’<ArchObj>_SEQUENTIAL’
Der Funktionsbaustein Selektiert direkt aus den SAP-Archivdaten ohne über den
PBS-Index zu gehen. Die Selektion erfolgt sequentiell für alle Archivdaten für die
der PBS-Index aktiv ist (siehe Kapitel 3.13) und nutzt die unter Kapitel 3.4
beschriebene Archivdateistatistik. So können anhand der Selektionskriterien die zu
lesenden Archivdateien reduziert werden. Nachfolgend sehen Sie ein Beispiel für
das Archivierungsobjekt ’ZZRK_LTAK’ welches die Basistabelle ’ZZRK_LTAK’ und
die abhängige Tabelle ’ZZRK_LTAP’ selektiert. Der Aufruf sieht wie folgt aus:
Call Function 'ZZRK_LTAK_SEQUENTIAL'
Exporting
table_name
= 'ZZRK_LTAK'
read_all_obj_data
= read_all_obj_data
only_first_record
= ''
max_row_count
= max_row_count
Importing
end_of_archive_file = end_of_archive_file
count_zzrk_ltak
= count_zzrk_ltak
count_zzrk_ltap
= count_zzrk_ltap
Tables
IT_RSSELECT
= IT_RSSELECT
CT_DYN_RANGES
= CT_DYN_RANGES
it_zzrk_ltak
= it_zzrk_ltak
it_zzrk_ltap
= it_zzrk_ltap
Exceptions
error_in_read_arch = 1
table_not_exist
= 2
data_not_found
= 3
Others
= 4.
Funktionsparameter:

EXPORTING
o table_name
Name der Tabelle aus der selektiert werden soll. Mögliche Werte im
Beispiel sind hier ’ZZRK_LTAK’ und ’ZZRK_LTAP’
o read_all_obj_data (optional; default = ‘X’)
Der Parameter gilt nur für generierte Archivierungsobjekte!
red_all_obj_data = ‘X’:
Entspricht ein Datensatz der Selektion, wird das gesamte Datenobjekt
der SAP-Archivdatei in die Ergebnistabellen geschrieben.
red_all_obj_data = initial:
Es werden nur die Abhängigen Daten der Selektion in die
Ergebnistabellen geschrieben. Diese Einstellung macht nur Sinn, wenn
die Daten über Positionen gelesen werden. Bei Selektion von Kopfdaten
sind immer alle Positionen von den Kopfdaten abhängig.
o only_first_record (optional)
Es wird nur der erste Datensatz eines ADK-Datenobjekts zurückgegeben.
Der erste Datensatz ist in der Regel der Kopfdatensatz. Der Parameter
kann bei Selektion großer Datenmengen Geschwindigkeitsvorteile
PBS archive add on CUSTOM
- Administration - 58
bringen. Er sollte nur für mehrstufige Archivierungsobjekte verwendet
werden. Bei einstufigen Archivierungsobjekten sind jeweils 1000
Datensätze pro ADK-Objekt zusammengefasst. Der Parameter bietet nur
geringe Geschwindigkeitsvorteile, da beim Einlesen des ADK-Objekts mit
dem Funktionsbaustein ’ARCHIVE_READ_OBJECT’ immer das gesamte
Objekt
gelesen
wird.
Es
wird
nur
der
Aufruf
von
’ARCHIVE_GET_NEXT_RECORD’ für Positionsdatensätze eingespart.
o max_row_count (optional; default = 2147483647)
Mit diesem Parameter wird die Ergebnismenge der Basistabelle
eingeschränkt. Wird max_row_count = 1 gesetzt entspricht dies einem
’SELECT SINGLE’.

IMPORTING
o end_of_archive_file
Wurde mit dem Parameter ’max_row_count’ die Ergebnismenge
eingeschränkt, gibt ’end_of_archive_file’ an, ob das Ende der SAPArchivdatei erreicht wurde.
o count_<TabName>
Gibt die Anzahl der Zeilen der internen Tabelle ’it_<TabName>’ an.
 TABLES
o IT_RSSELECT (Export)
Die interne Tabelle ’IT_RSSELECT’ Enthält die Selektionsparameter für
die Archivdatenselektion (siehe Kapitel 4.4).
o CT_DYN_RANGES (Export; optional)
Die interne Tabelle ’ct_dyn_range’ ist bei logischen Datenbanken mit
dynamischer Selektion zu verwenden.
o it_<TabName> (Import; optional)
Die Tabellen enthalten die selektierten Daten.

EXCEPTIONS
o Error_in_read_arch
Nicht näher spezifiziert
o table_not_exist
Die unter ’table_name’ angegebene Tabelle existiert nicht.
o data_not_found
Mit den Selektionsparametern aus ’IT_RSSELECT’ bzw. ’ct_dyn_range’
wurden keine Daten selektiert.
4.2
Archivierungsklassen
Archivierungsobjekte
können
Archivierungsklassen
enthalten.
Der
Funktionsbaustein <ArchObj_SELECT> gibt die Daten allerdings nicht direkt
zurück. Zum Lesen der Daten übergibt der Funktionsbaustein die Tabelle
‚IT_OFFSET’. Diese beinhaltet die Archivekeys mit denen die Daten direkt über
PBS archive add on CUSTOM
- Administration - 59
den ADK-Funktionsbaustein 'ARCHIVE_READ_OBJECT' gelesen werden können.
Das folgende Beispiel zeigt den Zugriff auf Daten der Archivierungsklasse
‚CHANGEDOCU’.
* get archive key + offset ----------------------------CALL FUNCTION 'ZZRK_LTAK_SELECT'
EXPORTING
table_name
= c_tabname
index_type_in
= index_type_in
read_document
= ''
TABLES
IT_RSSELECT
= IT_RSSELECT
it_offset
= it_offset
EXCEPTIONS
index_not_found
= 1
rsselect_is_initial = 1
index_not_exist
= 2
OTHERS
= 3.
IF sy-subrc = 2.
MESSAGE x398(00) WITH 'Index not exist!' index_type_in.
ENDIF.
CHECK sy-subrc = 0.
* read archive --------------------------------------LOOP AT it_offset.
*
read object -------------------------------------CALL FUNCTION 'ARCHIVE_READ_OBJECT'
EXPORTING
object
= c_aobj
archivkey
= it_offset-archivekey
offset
= it_offset-archiveofs
IMPORTING
archive_handle = archive_handle.
*
archiving class: Change documents ---------------REFRESH: it_cdhdr, it_cdpos.
CALL FUNCTION 'CHANGEDOCU_READ_ARCHIVE_OBJECT'
EXPORTING
archive_handle = archive_handle
TABLES
icdhdr
= it_cdhdr
icdpos
= it_cdpos.
Mit der Transaktion /PBS/IDK können Sie sich ein ausführliches Beispiel
generieren lassen, welches die Zugriffe der Archivierungsklassen ‚CHANGEDOCU’
(Änderungsbelege) und ‚TEXT’ (SAPscript-Texte) zeigt. Bitte lesen Sie hierzu auch
Kapitel 4.6.
PBS archive add on CUSTOM
- Administration - 60
4.3 Generischer Funktionsbaustein für den Massendatenzugriff
(ab SAP R/3 Enterprise)
Der generische Funktionsbaustein ‘/PBS/IDK_SEQUENTIAL’ dient zum
sequentiellen Massendatenzugriff. Um die Performance zu steigern wird hier die
unter Kapitel 3.4 beschriebene Archivdateistatistik genutzt. So können anhand der
Selektionskriterien die zu lesenden Archivdateien reduziert werden. Der
Funktionsbaustein besitzt den Exportparameter ’PACKAGESIZE’. Hiermit kann ein
Überlaufen der Ergebnistabelle verhindert werden, da die Tabelle ’tab_data’ in der
vorgegebene Größe zurückgegeben wird. Der Funktionsbaustein muss in einer
Schleife ausgeführt werden, bis das Dateiende erreicht ist. Mit der Transaktion
/PBS/IDK können Sie sich ein ausführliches Beispiel generieren lassen, welches
den Zugriff des Funktionsbausteins ‘/PBS/IDK_SEQUENTIAL’ zeigt. Bitte lesen Sie
hierzu auch Kapitel 4.6.
first_call = 'X'.
CLEAR end_of_file.
WHILE end_of_file IS INITIAL.
CALL FUNCTION '/PBS/IDK_SEQUENTIAL'
EXPORTING
object
= 'ZZRK_LTAK'
table_name
= 'ZZRK_LTAK'
packagesize
= 100
check_index_activation
= ''
IMPORTING
end_of_archive_file
= end_of_file
TABLES
IT_RSSELECT
= IT_RSSELECT
*
CT_DYN_RANGES
= CT_DYN_RANGES
tab_data
= <fs_tab>
CHANGING
first_call
= first_call
EXCEPTIONS
table_not_exist
= 1
error_set_archive
= 2
OTHERS
= 3.
...
ENDWHILE.
"end_of_file
"for log. DB
Funktionsparameter:

EXPORTING
o object
Name des Archivierungsobjekts.
o table_name
Name der Tabelle aus der selektiert werden soll. Mögliche Werte im
Beispiel sind hier ’ZZRK_LTAK’ oder ’ZZRK_LTAP’
o packagesize
Größe der Rückgabetabelle ’tab_data’
PBS archive add on CUSTOM
- Administration - 61
o check_index_activation (optional; default = ’X’)
check_index_activation = ’X’:
Es werden nur Archivdateien berücksichtigt, zu denen Indizes aktiv sind
und der Archivdateistatistik entsprechen.
check_index_activation = initial:
Es werden alle Archivdateien gelesen welche der Archivdateistatistik
entsprechen.

IMPORTING
o end_of_archive_file
Gibt an ob das Dateiende erreicht ist.
 TABLES
o IT_RSSELECT (Export)
Die interne Tabelle ’IT_RSSELECT’ enthält die Selektionsparameter für
die Archivdatenselektion (siehe Kapitel 4.4).
o CT_DYN_RANGES (Export; optional)
Die interne Tabelle ’ct_dyn_range’ ist bei logischen Datenbanken mit
dynamischer Selektion zu verwenden.
o tab_data (import)
Die Ergebnistabelle. Sie kann als Feldsymbol oder normal als interne
Tabelle deklariert sein.
 CHANGING
o first_call
first_call = ’X’ initialisiert den Funktionsbaustein.
4.4
Die Selektionstabelle ’IT_RSSELECT’
Es gibt drei Funktionsbausteine die zum Aufbau der Selektionstabelle
’IT_RSSELECT’ zu verwenden sind. Der Aufbau der Tabelle muss mit diesen
Funktionsbausteinen erfolgen!
 Funktionsbaustein ‘/PBS/IDK_ADD_PARAM_TO_RSSELECT’
Nimmt Einzelwerte bzw. ’PARAMETERS’ in die Selektionstabelle auf.
 Funktionsbaustein ‘/PBS/IDK_ADD_SELOP_TO_RSSELECT
Nimmt ’SELECT-OPTIONS’ bzw. RANGES in die Selektionstabelle auf.
 Funktionsbaustein ‘/PBS/IDK_ADD_REPORT_SELECTIONS’
Nimmt alle ’PARAMETERS’ und ’SELECT-OPTIONS’ des aktuellen
Selektionsbildschirms für den angegebenen Tabellennamen in die
Selektionstabelle auf.
PBS archive add on CUSTOM
4.5
- Administration - 62
Die Selektionstabelle ’CT_DYN_RENGES’
In logischen Datenbanken besteht die Möglichkeit, zur Datenselektion freie
Abgrenzungen anzugeben. Hierzu ist im Selektions-Include die Anweisung
‚SELECTION-SCREEN DYNAMIC ...’ erforderlich. Im Programm stehen die vom
Benutzer eingegebenen Abgrenzungen während der Programmausführung in der
internen Tabelle ’DYN_SEL’ der Struktur ’RSDS_TYPE’ zur Verfügung. Die Tabelle
DYN_SEL wird an den Parameter ’CT_DYN_RANGES’ des Funktionsbausteins
zur Archivdatenselektion übergeben. In den generierten Beispielprogrammen
(Kapitel 4.6) des PBS archive add on CUSTOM besteht ebenfalls die Möglichkeit
der freien Abgrenzung (ohne logische Datenbank). Die Abgrenzungen stehen hier
in der Tabelle ’IT_RANGES’. Auch diese Tabelle ist vom Typ ’RSDS_TYPE’ und
wird an ’CT_DYN_RANGES’ übergeben.
4.6
Beispielreport zur Datenselektion aus dem Archiv
Über den Menüpunkt ’Springen / Beispielreport für Archivzugriff’ wird ein
Programm gestartet, das einen Report mit typischem Archivzugriff generiert. Falls
Sie das NAI Index Administration Board im Einsatz haben, werden optional die
NAI- spezifischen Zugriffe verwendet (Kapitel 5.2 und 5.3). Zur Weiterverarbeitung
kann der Report modifizieren und auf eigenen Anforderungen angepasst werden.
Für bestehende kundeneigene Reports sollte der generierte Archivzugriff als
Vorlage dienen.
PBS archive add on CUSTOM
- Administration - 63
Abbildung 37: Beispielreport anlegen
Das Generierungsprogramm behandelt alle Variationen zum Archivdatenzugriff des
PBS archive add on CUSTOM. In den generierten Programmen wird außerdem
gezeigt, wie freie Abgrenzungen in ein Programm implementiert werden, ohne eine
logische Datenbank zu verwenden. Die freie Abgrenzung (auch als dynamische
Selektion bezeichnet) kann als Variante gesichert werden, so dass das Programm
auch im Batch-Modus alle Selektionskriterien berücksichtigt.
Abbildung 38: Generierter Report
PBS archive add on CUSTOM
Abbildung 39: Selektionsbild des Beispielreports
Abbildung 40: Ergebnisliste
- Administration - 64
PBS archive add on CUSTOM
4.7
- Administration - 65
Strukturierte Datenanzeige (ab SAP R/3 Enterprise)
Zur strukturierten Datenanzeige steht im Archive add on CUSTOM der
Funktionsbaustein ’/PBS/IDK_DISPLAY_TABLE_DATA’ zu Verfügung. Wie in
Abbildung 39 zu sehen ist, verwenden einige generierten Beispielreports diese
Anzeige. Folgend wird der Aufruf des Funktionsbausteins erklärt.
CALL FUNCTION '/PBS/IDK_DISPLAY_TABLE_DATA'
EXPORTING
title_txt
= title_txt
expand_level = expand_level
detail_button = 'X'
TABLES
it_dd05q
= it_dd05q
it_table_data = it_arch_def
EXCEPTIONS
batch_mode
= 1
OTHERS
= 2.

EXPORTING
o title_txt
Titel der Anzeige
o expand_level
Knotenebene bis zu der, bei der ersten Anzeige, expandiert werden soll.
o detail_button
Das Setzen des Flags hat die Anzeige des Detail-Button [F7] im GUIStatus zur Folge. Bei Betätigung wird die Callback Form
’idk_node_select’ aufgerufen, welche sich im Aufrufenden Programm
befinden muss. Hier kann z.B. ein Screen oder eine Transaktion gestartet
werden.
 TABLES
o it_dd05q (Export)
Die interne Tabelle ist vom Typ DD05Q (View) und enthält die
Beziehungen der Fremdschlüsselfelder (siehe 4.7.1).
o it_table_data (Export)
Die interne Tabelle beinhaltet die Tabellenbeziehungen und mittels
Referenzen deren anzuzeigende Daten (siehe 4.7.2).

EXCEPTIONS
o Batch_mode
Der Funktionsbaustein wurde im Batch-Modus aufgerufen. Dies ist nicht
zulässig.
PBS archive add on CUSTOM
- Administration - 66
4.7.1 Die Tabelle ’IT_DD05Q’
In der Tabelle ’IT_DD05Q’ sind die Fremdschlüsselbeziehungen definiert. Sie ist
nötig, damit die Positions-Datensätze den entsprechenden Kopf-Datensätzen
zugeordnet werden können. Die Zuordnung der Datensätze findet innerhalb des
Funktionsbausteins statt. Wenn Daten angezeigt werden sollen, für die ein mit dem
PBS archive add on CUSTOM generiertes Archivierungsobjekt vorhanden ist, kann
’IT_DD05Q’ aus der Datenbanktabelle ’/PBS/IDK_TABLREL’ gefüllt werden. Diese
wird durch Definition des Archivierungsobjekts verwaltet (Kapitel 3.1.1, Abbildung
8). Falls mit der Transaktion SE11 eine Tabellenbeziehung definiert wurde kann
auch der View ‚’DD05Q’ verwendet werden.
SELECT * FROM /pbs/idk_tablrel
INTO CORRESPONDING FIELDS OF TABLE it_dd05q
WHERE object
= object
ORDER BY primpos.
4.7.2 Die Tabelle ’IT_TABLE_DATA’
Die interne Tabelle ’IT_TABLE_DATE’ besitzt den folgenden Typ:
TYPES:
BEGIN OF struc_arch_def,
father
TYPE
son
TYPE
ref_itab
TYPE
base_node_key TYPE
item_table
TYPE
END OF struc_arch_def.
arch_def-father,
arch_def-son,
REF TO data,
tm_nodekey,
treemlitab,
Der Typ ist nicht im Data Dictionary definiert, da ’ref_itab’ den Typ ’REF TO DATA’
besitzt. Referenzen können im Data Dictionary nicht angegeben werden.
 father / son
Mit ’father/son’ wird die Beziehung der Tabellen untereinander angegeben. Diese
ist in der Tabelle ’ARCH_DEF’ gespeichert und wird beim Anlegen eines
Archivierungsobjekts definiert.
 ref_itab
’ref_itab’ ist eine Referenz auf die interne Tabelle mit den anzuzeigenden Daten.

base_node_key / item_table
Das Füllen der Felder ’base_node_key’ und ’item_table’ ist nicht zwingend
erforderlich. Durch Zuweisung eines Wertes können die Daten zusätzlich gesplittet
werden, beispielsweise in Archiv- und Datenbankdaten.
PBS archive add on CUSTOM
- Administration - 67
Folgend wird der Aufbau der Tabelle ’IT_TABLE_DATA’ anhand eines Beispiels
gezeigt, wie er auch in den generierten Beispielprogrammen zur Verwendung
kommt.
*&----------------------------------------------------------*
*&
Form get_it_arch_def
*&----------------------------------------------------------*
FORM get_it_arch_def.
DATA:
item TYPE treemlitem.
FIELD-SYMBOLS:
<table> TYPE STANDARD TABLE.
* get table relation
SELECT * FROM arch_def
INTO CORRESPONDING FIELDS OF TABLE it_arch_def
WHERE object = 'ZZRK_LTAK'
ORDER BY sequence.
* assign tables
LOOP AT it_arch_def INTO wa_arch_def.
CREATE DATA wa_arch_def-ref_itab
TYPE STANDARD TABLE OF (wa_arch_def-son).
ASSIGN wa_arch_def-ref_itab->* TO <table>.
wa_arch_def-base_node_key = 'ARCHIVE'.
CASE wa_arch_def-son.
WHEN 'ZZRK_LTAK' .
<table>[] = it_zzrk_ltak[] .
CLEAR item.
item-item_name = 1.
item-class
= cl_list_tree_model=>item_class_text.
item-text
= wa_arch_def-base_node_key.
item-alignment = cl_list_tree_model=>align_auto.
APPEND item TO wa_arch_def-item_table.
WHEN 'ZZRK_LTAP' .
<table>[] = it_zzrk_ltap[] .
ENDCASE.
MODIFY it_arch_def FROM wa_arch_def.
ENDLOOP.
ENDFORM.
" get_it_arch_def
PBS archive add on CUSTOM
4.8
- Administration - 68
SQL-Zugriffe suchen
Um Datenbankzugriffe in kundeneigenen Reports zu suchen, wählen Sie den
Menüpunkt ’Springen \ SQL-Zugriffe suchen’. Die Transaktion durchsucht alle
angegebenen Programme nach den ABAP-Anweisungen SELECT, INSERT,
MODIFY und UPDATE. Bei der Tabellensuche genügt die Angabe von
Archivierungsobjekten. Alle in der Strukturdefinition der Transaktion AOBJ
zugeordneten Tabellen werden in die Suche einbezogen. Views welche die
einbezogenen Tabellen verwenden, werden ebenfalls aufgelistet. Durch einen
Doppelklick gelangt man direkt zum Code-Editor.
Abbildung 41: Selektionsbild
PBS archive add on CUSTOM
- Administration - 69
Abbildung 42: Suchergebnis
4.9 PBS Archive Browser
Über den Button ’PBS Archive Browser’ gelangen Sie direkt zur Transaktion
/PBS/SE16.
Der PBS Archive Browser ist das Pendant zum SAP Data Browser, Transaktion
SE16. Der Archive Browser ermöglicht die Anzeige von Tabelleneinträgen. Der
Anwender kann dabei auswählen, ob er nur Daten aus der Datenbank oder nur
aus dem Archiv oder aus beiden Datenquellen sehen möchte. Nähere
Informationen zum PBS Archiv Browser finden sie in der Dokumentation
’PBS_ArchiveBrowser.pdf’.
PBS archive add on CUSTOM
- Administration - 70
5 NAI Index Administration Board
Die PBS Nearline Analytic Infrastructure steht derzeit in folgenden SAP Releases
zur Verfügung:
 SAP R/3 4.7
 SAP ERP 6.0
PBS NAI ist ein Softwarepaket, das die direkte Nutzung eines spaltenbasierten
Servers innerhalb operativer SAP-Systeme erlaubt. Als NAI-Datenbank wird der
spaltenbasierte Analyseserver Sybase IQ verwendet, der aufgrund seines
Reifegrades und der großen Anzahl von Installationen ein hohes Maß an Stabilität
und Skalierbarkeit aufweist. Mit Hilfe des PBS NAI-Interfaces lassen sich
Anwendungsdaten von einem SAP-System in die NAI-Datenbank übertragen und
umgekehrt Daten über den Analyseserver direkt in SAP auswerten. Das NAI Index
Administration Board nutzt die NAI-Datenbank für die Speicherung und Analyse
der Indizes. Über die aus der NAI-Datenbank ermittelten Archivekeys werden die
entsprechenden ADK-Archivdateien gelesen.
5.1 Indexdefinition und Indexaufbau
Die Indexdefinition und Indexgenerierung erfolgt zentral für alle PBS archive add
ons über das NAI Index Administration Board. Daher ist das Vorgehen zur
Indexdefinition und zum Indexaufbau in der Dokumentation des NAI Index
Administration Board erklärt (nai_index_administrator.doc).
5.2 Archivdatenselektion
5.2.1 Klasse /PBS/IDK_NAI Methode SELECT_INTO_TABLE
Zur Archivdatenselektion steht die generische Klasse /PBS/IDK_NAI zur
Verfügung. Unabhängig vom Archivierungsobjekt kann die Methode
SELECT_INTO_TABLE, via NAI-Index, alle zugehörigen Tabellen selektieren. Wie
in Kapitel 4.6 gezeigt, können sie sich ein Beispielzugriff generieren lassen. Der
Aufruf der Methode SELECT_INTO_TABLE sieht wie folgt aus:
PBS archive add on CUSTOM
data:
r_adk_nai
gt_tab_data
gs_tab_data
- Administration - 71
type ref to /pbs/idk_nai,
type /pbs/idk_t_tab_ref,
type /pbs/idk_tab_ref.
* Create instance for ADK selection via NAI index
create object r_adk_nai
exporting
i_arch_object
= arch_obj-object
i_tabname
= 'ZRK_SFLIGHT'
exceptions
index_not_generated
= 1
connection_not_defined = 2
others
= 3.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
* Read archive via NAI index
call method r_adk_nai->select_into_table
exporting
it_rsds_trange
= it_ranges
it_rsselect
= it_rsselect
i_read_document
= p_doc
i_only_first_record = p_head
i_maximum_rows
= max_row_count
changing
ct_tab_data
= gt_tab_data
exceptions
index_not_exist
= 1
others
= 2.
Das Ergebnis wird mit dem Changing Parameter CT_TAB_DAT übergeben. Die
Struktur der Tabelle ist von Typ /PBS/IDK_TAB_REF und besitzt folgende Felder:
TABNAME
Name der Ergebnistabelle
TAG
Technisches Feld (ohne weitere Bedeutung)
TAB_REF
Referenz auf die Ergebnistabelle
TAB_COUNT
Anzahl der Datensätze in der Ergebnistabelle
STRUC_REF
Referenz auf eine Struktur vom Typ der
Referenztabelle
ARCHIVE_FLAG_NAME
Falls vorhanden, Name des Feldes mit dem
Archivkennzeichen (optional)
PBS archive add on CUSTOM
- Administration - 72
Wenn die Tabelle CT_TAB_DATA bei Übergabe an die Methode keine Zeilen
enthält, wird sie innerhalb der Methode initialisiert. Sie können die Tabelle
CT_TAB_DATA aber auch selbst initialisieren. Die Struktur der Ergebnisstabelle ist
dabei völlig frei. Nachfolgend ein Beispiel:
TYPES BEGIN OF type_sflight.
INCLUDE STRUCTURE zrk_sflight.
TYPES archive TYPE c.
TYPES END OF type_sflight.
DATA:
lt_zrk_sflight
lt_zrk_sbook
lt_tab_data
ls_tab_data
TYPE
TYPE
TYPE
TYPE
TABLE OF type_sflight,
TABLE OF zrk_sbook,
/pbs/idk_t_tab_ref,
/pbs/idk_tab_ref.
ls_tab_data-archive_flag_name = 'ARCHIVE'.
ls_tab_data-tabname
= 'ZRK_SFLIGHT'.
GET REFERENCE OF lt_zrk_sflight[] INTO ls_tab_data-tab_ref.
APPEND ls_tab_data TO lt_tab_data.
CLEAR ls_tab_data-archive_flag_name.
ls_tab_data-tabname = 'ZRK_SBOOK'.
GET REFERENCE OF lt_zrk_sbook[] INTO ls_tab_data-tab_ref.
APPEND ls_tab_data TO lt_tab_data.
Nach Aufruf der Methode SELECT_INTO_TABLE
LT_ZRK_SFLIGHT und LT_SBOOK gefüllt.
sind
die
Tabellen
5.2.2 Klasse /PBS/IDK_SEQ Methode SELECT_INTO_TABLE
Die Klasse /PBS/IDK_SEQ funktioniert analog zur Klasse /PBS/IDK_NAI mit dem
Unterschied, dass die Methode SELECT_INTO_TABLE die Archivdaten
sequentiell, ohne Indizes selektiert.
PBS archive add on CUSTOM
- Administration - 73
5.3 Archive Keys aus der NAI-Tabelle ermitteln
Mit Hilfe der Archive Keys können Sie mit dem ADK-Funktionsbaustein
ARCHIVE_READ_OBJECT das Archiv direkt öffnen und mit den Funktionsbausteinen ARCHIVE_GET_NEXT_RECORD oder ARCHIVE_GET_TABLE die
Archivdaten lesen. Dieses Verfahren macht bei Massendatenverarbeitung Sinn.
5.3.1 Klasse /PBS/IDK_NAI Methode GET_ARCHIVE_KEYS
Nachfolgend ein Beispiel zur Methode GET_ARCHIVE_KEYS:
DATA
DATA
DATA
DATA
DATA
DATA
DATA
lt_rsselect
ls_rsselect
lt_dyn_ranges
lr_idk
max
lt_arch_offs
ls_arch_offs
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
rsselect_tab.
rsselect.
rsds_trange.
REF TO /pbs/idk_nai.
i.
/pbs/idk_t_arch_offs.
arch_offs.
CREATE OBJECT lr_idk
EXPORTING
i_arch_object
i_tabname
EXCEPTIONS
index_not_generated
connection_not_defined
OTHERS
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE
WITH sy-msgv1
ENDIF.
= 'ZRK_FL'
= 'ZRK_SFLIGHT'
= 1
= 2
= 3.
sy-msgty NUMBER sy-msgno
sy-msgv2 sy-msgv3 sy-msgv4.
CALL METHOD lr_idk->get_archive_keys
EXPORTING
i_maximum_rows = max
it_rsds_trange = lt_dyn_ranges
it_rsselect
= lt_rsselect
IMPORTING
et_arch_offs
= lt_arch_offs.
LOOP AT lt_arch_offs INTO ls_arch_offs.
WRITE:/ ls_arch_offs-archivekey,
ls_arch_offs-archiveofs.
ENDLOOP.
PBS archive add on CUSTOM
- Administration - 74
5.3.2 Interface /PBS/UTIL_IF_NAU_SELECT
Mit der Methode FETCH_NEXT_NAI_PACKAGE können die Archive Keys
und/oder die Indexfelder ermittelt werden. Die Daten werden Packetweise gelesen.
Nachfolgend ein Beispiel zur Ermittlung der Archive Keys. Die Struktur des
Feldsymbols <LT_NAI> ist dynamisch und kann auch Indexfelder enthalten. In
diesem Beispiel sind die Felder PBS_ARCHIVEKEY und ARCHDOBJID_SID
enthalten (ARCHDOBJID_SID entspricht dem Offset). Dies wird mit dem
Parameter I_GET_ARCHIVE_KEYS der Methode OPEN_CURSOR festgelegt.
Den folgenden Code können Sie sich auch, wie in Kapitel 4.6 beschrieben,
generieren lassen. Wählen Sie hierzu die Zugriffsart = „Einzelzugriff über Indizes
und Archive Keys“ und Indexart = „NAI-Index“.
CREATE OBJECT r_nai
TYPE
('/PBS/NAU_CL_SELECT')
EXPORTING
i_pbs_module
= 'CUSTOM'
i_arch_object
= c_aobj
i_tabname
= c_tabname
EXCEPTIONS
index_not_generated
= 1
connection_not_defined = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* open NAI cursor ------------------------------------------CALL METHOD r_nai->open_cursor
EXPORTING
it_sel_opt
= it_rsselect
i_get_archive_key = 'X'.
* get NAI table --------------------------------------------DO.
TRY.
r_nai->fetch_next_nai_package( 1000 ).
ASSIGN r_nai->data_ref_t_nai->* TO <lt_nai>.
LOOP AT <lt_nai> ASSIGNING <ls_nai> .
MOVE-CORRESPONDING <ls_nai> TO s_arkey.
PERFORM archive_read_object.
ENDLOOP.
CATCH /pbs/cx_util_no_more_data .
r_nai->close_cursor( ).
EXIT.
ENDTRY.
ENDDO.
PBS archive add on CUSTOM
- Administration - 75
6 Datenextraktion
Die Datenextraktion steht ab SAP Release ECC 5.0 zur Verfügung.
6.1 Allgemeines
Für das Extrahieren von residenten und archivierten Daten gibt es das
Extraktionsprogramm /PBS/IDK_VAR_LIS_ITEM, das über die Transaktion SE38
gestartet werden kann. Dieser Extraktor bietet vielfältige Möglichkeiten, Daten ‚on
demand’ zu extrahieren und als Datei im AIS-Format abzulegen (auch als BW
Extrakt). Für kleinere Extraktionsmengen gibt es auch die Möglichkeit der
Bildschirmanzeige (Anzeigen/Drucken).
Abbildung 43: Selektionsbild des CUSTOM Extraktors
Die Oberfläche des Extraktors ist in drei Bereiche aufgeteilt:

Datenquelle

Extraktdefinition

Ausgabeoptionen
PBS archive add on CUSTOM
- Administration - 76
6.2 Datenquelle
Im Bereich Datenquelle können über die F4-Hilfe des Feldes ‚Archivierungsobjekt’
alle kundeneigenen Archivierungsobjekte ausgewählt werden.
Mit Hilfe von Radiobuttons wird der zu extrahierende Bereich gewählt. Entweder
archivierte Daten oder residente. Beides zugleich ist nicht möglich.
Ist der Zugriff aufs Archiv gewünscht, kann der Anwender entweder mit Hilfe der
Archivstatistik Daten extrahieren (die Archivstatistik muss vorher durchgeführt
worden sein) oder die Archivdateien manuell auswählen. Über den Button
‚Archivstatistik’ auf der Drucktastenleiste kann der Anwender direkt zur Statistik
verzweigen.
6.3 Extraktdefinition
Alle zu extrahierenden Daten müssen pro Archivierungsobjekt als Layout hinterlegt
werden. Hierbei sind beliebig viele Layouts unter einem Archivierungsobjekt
möglich.
Abbildung 44: Definition des Layouts
Es können Felder aus allen Tabellen extrahiert werden, die dem ausgewählten
Archivierungsobjekt zugeordnet sind. Hierbei sind einzelne Tabellen möglich oder
Vater-Sohn Tabellen. Ein gleichzeitiger Extraktionslauf von Tabellen auf gleicher
Ebene ist nicht möglich.
Abbildung 45: Vater-Sohn Tabellen
Aus den so angezeigten Tabellen können beliebige Felder als Extraktionsfelder
ausgewählt und abgespeichert werden.
PBS archive add on CUSTOM
- Administration - 77
Abbildung 46: Feldauswahl
6.4 Ausgabeoptionen
Im Selektionsbereich ‚Ausgabeoptionen’ gibt es drei Möglichkeiten des Outputs:
‚Anzeigen/Drucken’ bringt die extrahierten Informationen in Listenform auf den
Bildschirm.
Abbildung 47: Listausgabe ‚Anzeigen/Drucken’
PBS archive add on CUSTOM
- Administration - 78
‚Export in Datei’ erzeugt eine Extraktdatei im Format AIS. Dieses Format kann
beispielsweise vom Steuerprüfungsprogramm IDEA eingelesen und ausgewertet
werden oder von PBS ECS.
Abbildung 48: Extraktdatei im Format AIS
‚Erzeugen BW-Extrakt’ stellt eine Extraktionsdatei zur Verfügung, die in ein BWSystem exportiert werden kann.
Über ‚Anzahl Treffer’ kann die Ausgabe eingeschränkt werden. Bleibt dieses Feld
leer, gibt es keine Einschränkung.
Die Ablage der Dateien erfolgt über einen logischen Dateinamen.
6.5 Freie Abgrenzungen
Über den Button ‚Freie Abgrenzungen’ in der Drucktastenleiste können
einschränkende Selektionskriterien festgelegt werden. Hierbei erhält der Anwender
eine frei zu wählende Liste aller Felder, auf denen Einschränkungen angegeben
werden können.
PBS archive add on CUSTOM
- Administration - 79
Abbildung 49: Freie Abgrenzungen
Auf der linken Seite erscheinen alle Felder, die per Doppelklick zur Eingabe von
Einschränkungen ausgewählt werden dürfen. Nach Doppelklick auf ein Feld
erscheint dieses im rechten Bereich des Bildschirmes. Die blau hinterlegten Texte
sind die Kurzbeschreibungen zu den Tabellen.