Show TOC Anfang des Inhaltsbereichs

Ablegen von Listen mit SAP ArchiveLink  Dokument im Navigationsbaum lokalisieren

Dieser Abschnitt beschreibt das Ablegen von ABAP-Listen mit SAP ArchiveLink. Das Ablegen von ABAP-Listen ist nicht mit einer speziellen Anwendung verknüpft, sondern für jede durch ein ausführbares Programm erzeugte Liste möglich (Ausnahme: die Ablage wird intern vom ausführbaren Programm unterbunden).

Das Ablegen der Listen erfolgt aus dem Spool-System heraus. Ablegbar sind also nur Drucklisten. Bildschirmlisten sind nachträglich in Drucklisten verwandelbar.

Mehr Informationen zum Ablegen von Listen finden Sie in der Dokumentation SAP ArchiveLink im Kapitel Ablegen von Drucklisten.

Bildschirmlisten

Wenn Sie einen Report ausführen, indem Sie auf dem Selektionsbild Ausführen und nicht Ausführen und Drucken wählen, und der Report auch nicht intern für die reine Drucklistenausgabe programmiert ist, erscheint die Listenausgabe auf dem Bildschirm.

Bildschirmlisten sind im allgemeinen für die Bildschirmausgabe formatiert. D.h. es sind Endloslisten (interne Begrenzung: 60000 Zeilen) ohne Seitenumbrüche und ohne an ein bestimmtes Format angepasste Breiten.

Weiterhin können Bildschirmlisten interaktiv bedienbar sein. Das heißt, Sie können, wenn die Anwendung es vorsieht, z.B. auf Zeilen doppelklicken und damit weitere Aktionen wie die Erstellung von Sekundärlisten veranlassen.

Über die Auswahl Drucken können Sie die Bildschirmliste an das Spool-System senden. Es erscheint das Dialogfenster Listausgabe drucken von wo aus sie in ein externes Ablagesystem ausgelagert werden kann. Die Bildschirmliste wird dabei nachträglich in eine Druckliste verwandelt

Beim Verwandeln einer Bildschirmliste in eine Druckliste können Informationsverluste auftreten, da die Bildschirmliste nachträglich an das Druckformat angepasst wird (z.B. Abschneiden auf der rechten Seite, Seitenumbrüche an ungewollten Stellen). Im ungünstigsten Fall sind Bildschirmlisten überhaupt nicht druckbar.

Eine Bildschirmliste kann keine Indexzeilen enthalten. D.h. eine indizierte Suche (Attributsuche) ist in einer abgelegten Bildschirmliste nicht möglich.

Drucklisten

Drucklisten sind Listen, die von ABAP im Spool-System abgelegt werden. Im Spool-System werden Listen temporär gespeichert, zum physikalischen Drucker oder zur Ablage gesendet.

Es gibt zwei Möglichkeiten zur Erzeugung von Drucklisten:

·        Erstellung während der Programmausführung

·        Erstellung nach der Programmausführung

Erstellung während der Programmausführung

Das Erzeugen von Drucklisten während der Programmausführung ist wie folgt möglich:

·        direkt im ABAP-Programm, mit wenig oder gar keinem Benutzereinfluss

·        durch die Auswahl Ausführen und Drucken auf dem Selektionsbild

·        durch die Einplanung eines Reports in einen Hintergrundjob

In diesen Fällen gelangt die Liste nicht auf den Bildschirm. Falls nicht programmintern abgeschaltet, erscheint das Dialogfenster Listausgabe drucken, von wo aus die Liste abgelegt werden kann. Die Formatierung erfolgt druckergerecht während der Erstellung der Liste. Die Möglichkeit von Informationsverlusten ist daher weitgehend ausgeschlossen und ein interner Mechanismus sorgt dafür, dass in solchen Listen keine Parameterkonflikte auftreten.

Drucklisten, die während der Programmausführung erzeugt werden, können Indexzeilen enthalten. D.h. eine indizierte Suche (Attributsuche) ist in einer abgelegten Liste möglich.

Erstellung nach der Programmausführung

Das Erzeugen von Drucklisten nach der Programmausführung bedeutet, dass eine fertige Bildschirmliste in das Spool-System gestellt wird. Die Bildschirmliste wird druckergerecht nachformatiert, was zu Informationsverlusten führen kann, oder sogar dazu, dass eine solche Liste überhaupt nicht druckbar ist.

Im Spool-System gespeicherte Drucklisten sind archivierbar. Beim Ablegen mit SAP ArchiveLink werden Drucklisten aus dem Spool-System in genau der dort abgelegten Formatierung übernommen.

Realisierung des Ablegens

Die technische Realisierung zum Ablegen von ABAP-Listen umfasst:

·        die Erzeugung von Drucklisten

·        das interne Festlegen von Druck- und Ablageparametern

·        die Erstellung von Indexzeilen für das Ablegen

Das Ablegen von ABAP-Listen ist anwendungsübergreifend. Außer den in der Dokumentation SAP ArchiveLink im Kapitel Grundcustomizing beschriebenen Einstellungen sind keine weiteren Maßnahmen notwendig. Sollen ABAP-Listen jedoch anwendungsspezifisch abgelegt werden, müssen die Maßnahmen der entsprechenden Abschnitte in BC - SAP ArchiveLink - Szenarios der Anwendungen befolgt werden.

Die Bedienung zum Ablegen von ABAP-Listen richtet sich nach der Programmierung des entsprechenden Reports. Im allgemeinsten Fall wählen Sie an einer bestimmten Stelle die Funktion Drucken und es erscheint das Dialogfenster Listausgabe drucken, von wo aus die Liste abgelegt werden kann. Je nach Reportprogrammierung sind in diesem Dialogfenster die verschiedenen Eingabefelder vorbelegt, eingabebereit oder nicht eingabebereit. Prinzipiell werden die Listen erst im Spool-System erst als Drucklisten formatiert und dann zur Ablage übergeben.

Beispiel zum Ablegen einer ABAP-Liste

Beispielprogramm

Als Ausgangspunkt diene folgendes Beispielprogramm:

Beispiel

REPORT demo_list_print_control_2.

PARAMETERS number TYPE i.

DATA: index TYPE i, square TYPE i, numb TYPE i, num(4) TYPE c,
      dkey(100) TYPE c, dain(100) TYPE c.

dkey ='dkeyIndex'.
dkey+44 = '0'.
dkey+47 = '3'.
PRINT-CONTROL INDEX-LINE dkey.

CLEAR dkey.

dkey ='dkeyNumber'.
dkey+44 = '3'.
dkey+47 = '4'.
PRINT-CONTROL INDEX-LINE dkey.

index = 0.

DO number TIMES.

  index = index + 1.
  IF index = 100.
    numb = sy-index / 100.
    WRITE numb TO num LEFT-JUSTIFIED.
    CONCATENATE 'dain' 'IDX' num INTO dain.
    PRINT-CONTROL INDEX-LINE dain.
    index = 0.
  ENDIF.

  square = sy-index ** 2.
  WRITE: / sy-index, square.

ENDDO.

Dieser Beispielreport führt keine Datenbankzugriffe durch. In einer DO-Schleife wird eine Liste von Quadratzahlen ausgegeben. Der Benutzer kann die Anzahl der Schleifendurchläufe NUMBER im Selektionsbild eingeben.

Alle einhundert Zeilen werden mit der Anweisung PRINT-CONTROLIndexzeilen für das Ablegen erzeugt (dain -Zeilen). Der Aufbau der dain -Zeilen wird am Anfang der Liste in zwei dkey -Zeilen definiert.

Zum Einfügen der Indexzeilen für das Ablegen in eine Liste, dient also die Anweisung PRINT-CONTROL: 

PRINT-CONTROL INDEX-LINE f.

Diese Anweisung schreibt den Inhalt des Felds f in eine Indexzeile nach Abschluss der aktuellen Druckzeile. Diese Indexzeile wird in die Spool-Datei geschrieben. Die Indexzeile wird beim Drucken nicht ausgegeben.

Beim optischen Archivieren trennt das Spool-System die Listen in eine Datendatei und eine Beschreibungsdatei. In den Datendateien stehen die eigentlichen Dateninformationen (Drucklisten). In Beschreibungsdateien stehen die Indexinformationen.

Der ArchiveLink-Viewer bietet mit der Attributsuche eine performante Möglichkeit in archivierten Listen nach Indexzeilen zu suchen. Dieser zusätzliche Suchindex kann insbesondere bei sehr langen Listen von Bedeutung sein. Damit der Benutzer beim Anzeigen einer archivierten Druckliste mit dem ArchiveLink-Viewer die Funktion Bearbeiten  Attributsuche verwenden kann, müssen Sie in den Index-Zeilen f ganz bestimmte Informationen in die Liste stellen, die einer fest vorgegebenen Namenskonvention folgen, die in Indizierung von Drucklisten beschrieben sind.

Wählt der Benutzer Ausführen und Drucken auf dem Selektionsbild und speichert den Druckauftrag im Spool-System, kann er sich diesen über System Dienste Ausgabesteuerung ansehen.

Die ersten beiden Zeilen sind dkey-Indexzeilen. Diese Zeilen legen den Aufbau der folgenden dain-Indexzeilen fest.

Vor der einhundertsten Zeile ist eine dain-Indexzeile eingeschoben. Der erste dain-Index heißt 'Index' und enthält ab Position 0 mit der Länge 3 den Wert 'IDX'. Der zweite dain-Index heißt 'Number' und enthält ab Position 3 mit der Länge 4 vor der einhundertsten Zeile den Wert 1 (vor der zweihundertsten Zeile den Wert 2 usw.).

Die Indexzeilen werden nur dann berücksichtigt, wenn die Liste während der Reportausführung in das Spool-System gestellt wird (Ausführen und Drucken auf dem Selektionsbild). Bei dem Ablegen nach der Reportausführung (Drucken auf der Bildschirmliste) werden die Indexzeilen nicht berücksichtigt.

Ablegen der Ausgabeliste

Um die Ausgabeliste abzulegen, muss sie an das Spool-System gesendet werden. Das bedeutet, die Liste muss "gedruckt" werden, wobei aber im Dialogfensters Listausgabe drucken die Felder für die Spool-Administration speziell gefüllt werden:

Insbesondere müssen Sie auch beim Ablegen einen Drucker angeben. Die Formatierung der Druckliste und damit auch die Formatierung der abgelegten Liste erfolgt passend zum angegebenen Drucker.

Mit der Wertehilfe für das Eingabefeld Ablagemodus bestimmen Sie, ob die Druckliste

·        nur gedruckt,

·        nur abgelegt,

·        gedruckt und abgelegt

werden soll. Nach der Auswahl Ablegen oder Drucken und Ablegen und Weiter können Sie den Ablagevorgang über Drucken auf dem Dialogfensters Listausgabe drucken starten. Das Dialogfenster Ablage-Parameter erscheint. Hier können Sie nun die notwendigen Eingaben wie folgt vornehmen:

...

       1.      Suchen Sie mit der Wertehilfe des Eingabefelds Objektart einen Objekttyp aus.

       2.      Suchen Sie mit der Wertehilfe des Eingabefelds Dokumentart eine zum Objekttypen passende Dokumentart aus.

       3.      Geben Sie einen dreistelligen Infoschlüssel im Feld Information ein.

       4.      Geben sie einen beliebigen Text im Feld Text ein.

Starten Sie den Ablagevorgang mit Ablegen.

Damit ist das Ablegen der Ausgabeliste abgeschlossen.

Anzeigen der abgelegten Liste

Die abgelegte Ausgabeliste kann wie folgt angezeigt werden:

...

       1.      Wählen Sie Büro Business Documents Listen suchen im SAP Einstiegsbild.

       2.      Füllen Sie entsprechende Suchinformationen in das Selektionsbild, in unserem Beispiel also den Namen des Reports.

       3.      Wählen Sie Ausführen. Eine Aufführung der abgelegten Listen mit den zutreffenden Selektionskriterien erscheint in dem Folgebild.

       4.      Markieren Sie die gewünschte Liste und wählen Sie z.B. Anzeigen aus Ablagesystem. Die abgelegte Liste wird daraufhin angezeigt.

       5.      Falls die Liste Indexzeilen enthält, können Sie über Bearbeiten Attributsuche danach suchen. In unserem Beispiel Fall enthält die Liste alle einhundert Zeilen eine Indexzeile mit den Einträgen

Name

Wert

Index

IDX

Number

laufende Nummer der Indexzeilen

Über die Attributsuche können Sie hier also direkt zu den Zeilen mit den Zahlen 100, 200, 300 etc. springen. Die Indexzeilen selbst werden nicht angezeigt. Und wie schon erwähnt: Die Attributsuche ist nur möglich, wenn die Liste während der Programmausführung ins Spool-System gestellt wird. Wird die Liste vom Anzeigebildschirm aus nach ihrer Erstellung abgelegt, steht die Attributsuche nicht zur Verfügung.

Ende des Inhaltsbereichs