Ansicht
Dokumentation

ABAP/4-Query ( RELNBC_ABAP-QUERY-3.0D )

ABAP/4-Query ( RELNBC_ABAP-QUERY-3.0D )

CPI1466 during Backup   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Kurztext

ABAP/4-Query

Beschreibung

Mit Release 3.0D werden in der ABAP/4 Query eine Reihe von Erweiterungen und Verbesserungen wirksam, die in der folgenden Übersicht aufgeführt sind.

Neuerungen in Query-Listen
- Textverarbeitung
- ABC-Analyse

Neuerungen bei der Pflegevon Sachgebieten
- Syntaxprüfung mit Berücksichtigung der logischen Datenbank
- Coding zum Zeitpunkt END-OF-SELECTION
- Coding zum Zeitpunkt TOP-OF-PAGE

Neuerungen beim Transport von Query-Objekten
- Erzeugung sprachabhängiger Texttabellen

Neuerungen in Query-Listen

Mit Release 3.0D stehen in Query-Listen zwei neue interaktive Funktionen zur Verfügung, die Textverarbeitung und die ABC-Analyse. Beide Funktionen können auf jede einzeilige Grundliste, jede Statistik und jede Rangliste angewendet werden und stehen als direkte Interaktionen zur Verfügung. Für die Auswahl der Teilliste und die direkten Interaktionen gelten die üblichen Festlegungen.

Textverarbeitung

Die Textverarbeitung kann aus der Listenanzeige und aus der Tabellenanzeige (Anzeige mit Hilfe des Table View Controls) aufgerufen werden. Sie bietet zwei verschieden Funktionen.

  • Serienbriefverarbeitung mit MS WORD
    Hierbei wird mit den Daten der aktuellen Teilliste eine WORD-Datei erzeugt und mit einem andern WORD-Dokument verbunden. Anschließend können in das WORD-Dokument Ersetzungsvariable übernommen und mit den Werten aus der erzeugten WORD-Datei versorgt werden. Dazu wird MS WORD über OLE2 speziell konfiguriert.
    Die Serienbriefverarbeitung kann nur benutzt werden, wenn auf dem betreffenden Rechner ein MS WORD (Version 6.0 oder 7.0) installiert ist. Nach dem Aufruf arbeitet MS WORD asynchron zum R/3-System.
  • Anlegen eines Dokumentes
    Mit dieser Funktion wird die aktuelle Teilliste als Datei im RTF-Format auf dem Präsentationsserver abgelegt. Das Format gestattet eine Verwendung der Datei als WORD-Dokument. Es kann festgelegt werden, ob die Farben in der Liste mit berücksichtigt werden sollen oder nicht. Der Dateiname (vollständige Pfadangabe) muß im Dialog festgelegt werden.
    Falls MS WORD installiert ist, kann festgelegt werden, daß MS WORD mit der erzeugten Datei zur Bearbeitung gestartet werden soll.

Bei Aufruf aus der Tabellenanzeige steht nur die Serienbriefverarbeitung zur Verfügung. Ausgeblendete Zeilen und Spalten werden beim Anlegen der WORD-Datei nicht berücksichtigt.

ABC-Analyse

Bei der ABC-Analyse werden die Datensätze eines Datenbestandes in drei Gruppen eingeteilt (A-Segment, B_Segment, C-Segment). Die Datensätze müssen eine Kennzahl (numerisches Feld) und beliebig viele Merkmale (nichtnumerische Felder) enthalten. Der Datenbestand wird zunächst anhand der Kennzahl absteigend oder aufsteigend sortiert. Anschließend kann die Einteilung in die Gruppen nach vier verschiedenen Strategien erfolgen:

  • Kennzahl (prozentual)
    Die Einteilung in die Gruppen erfolgt anhand der prozentualen Anteile der Kennzahlen an der Gesamtsumme. Wird z.B. eine Einteilung A=50%, B=30% und C=20% gewählt, so werden die Datensätze dem Segment A zugeordnet, solange der prozentuale Anteil der Summe der Kennzahlen 50 nicht übersteigt. Anschließend werden die Datensätze dem B-Segment zugeordnet, solange der prozentuale Anteil der Summe der Kennzahlen 80 (50+30) nicht übersteigt. Alle weiteren Datensätze werden dem C-Segment zugeordnet.
  • Kennzahl (absolut)
    Die Einteilung der Gruppen erfolgt anhand der absoluten Werte der Kennzahlen. Es müssen zwei Grenzwerte vorgegeben werden, der Grenzwert zwischen A- und B-Segment und der Grenzwert zwischen B- und C-Segment. Die Datensätze werden anhand dieser Grenzwerte den einzelnen Segmenten zugeordnet.
  • Merkmale (prozentual)
    Die Einteilung in die Gruppen erfolgt anhand der prozentualen Anteile der Anzahl der Datensätze an der Gesamtanzahl der Datensätze. Wird z.B. eine Einteilung A=50%, B=30% und C=20% gewählt, so werden die Datensätze dem Segment A zugeordnet, solange der prozentuale Anteil der Anzahl der Datensätze 50 nicht übersteigt. Anschließend werden die Datensätze dem B-Segment zugeordnet, solange der prozentuale Anteil der Anzahl der Datensätze 80 (50+30) nicht übersteigt. Alle weiteren Datensätze werden dem C-Segment zugeordnet.
  • Merkmale (absolut)
    Die Einteilung der Gruppen erfolgt anhand einer festen Anzahl von Datensätzen. Bei einer Einteilung von A=10 B=20 und C=... werden die ersten 10 Datensätze dem A-Segment und die nächsten 20 Datensätze dem B-Segment zugeordnet. Die restlichen Datensätze werden dem C-Segment zugeordnet.

Die ABC-Analyse kann auf jede einzeilige Grundliste, jede Statistik und jede Rangliste angewendet werden, sofern diese Liste mindestens ein numerisches Feld enthält. Die Art, wie die Kennzahlen-Spalte bestimmt wird, hängt davon ab, ob die ABC-Analyse aus der Listenanzeige oder aus der Tabellenanzeige (Anzeige mit Hilfe des Tabel View Controls) aufgerufen wird.
Beim Aufruf aus der Listenanzeige muß der Cursor in die Spalte gestellt werden, deren Werte als Kennzahlen verwendet werden sollen. Steht der Cursor nicht auf einer numerischen Spalte, so wird die nächste numerische Spalte verwendet. Zu beachten ist, daß für zusätzliche Felder in Statistiken und Ranglisten (Anzahl der gelesenen Sätze, prozentualer Anteil, Mittelwert, Rang) keine ABC-Analyse durchgeführt werden kann.
Beim Aufruf aus der Tabellenanzeige muß die Spalte markiert werden, deren Werte als Kennzahlen verwendet werden sollen.
Als Merkmale werden alle links vor der Kennzahl stehenden nichtnumerischen Werte betrachtet. Dies ist insbesondere beim Aufruf aus der Tabellenanzeige zu beachten, da in dieser Anzeige eine Spaltenvertauschung vorgenommen werden kann und damit die Möglichkeit besteht, die Anzahl der Merkmale gezielt zu verändern.

Nach Aufruf der Funktion Liste -> ABC-Analyse erscheint zunächst ein Dialogfenster, in dem die Sortierrichtung für die Kennzahl (absteigend, aufsteigend) und die Analyse-Strategie festgelegt werden muß. Dieses Fenster enthält außerdem die Namen der Felder, die als Merkmale bzw. Kennzahl verwendet werden.
Zur Festlegung der Analyse-Strategie sind zwei Schritte erforderlich: Erstens muß über einen Auswahlknopf die gewünschte Strategie (siehe oben) ausgewählt werden. Zweitens müssen dann für die gewählte Strategie die erforderlichen Angaben zur Einordnung der Datensätze in die einzelnen Segmente vorgenommen werden (prozentuale Anteile, Grenzwerte bzw. Anzahl von Datensätzen). Bei der Angabe von prozentualen Anteilen bzw. der Anzahl von Datensätzen sind nur zwei Angaben erforderlich. Die dritte Angabe wird aus den anderen beiden Angaben berechnet.

Ist die Kennzahl ein Währungsbetragsfeld oder ein Mengenfeld, so wird bei einzeiligen Grundlisten überprüft, ob die Währungsbeträge bzw. Mengenangaben in der gleichen Währung bzw. Mengeneinheit vorliegen. Diese Überprüfung kann allerdings nur erfolgen, wenn die Währung bzw. die Einheit in der Liste mit ausgegeben wird. Liegen unterschiedliche Währungen bzw. Mengeneinheiten vor, so erfolgt zunächst eine Konvertierung in eine Bezugswährung bzw. Bezugseinheit. Diese Bezugswährung bzw. Bezugseinheit kann in einem Dialogfenster eingegeben werden. Treten bei der Konvertierung Fehler auf, so kann die ABC-Analyse nicht durchgeführt werden.

Im Ergebnis der ABC-Analyse wird eine Liste ausgegeben, bei der in der ersten Spalte das Segment (A, B oder C) ausgegeben wird. Dann folgen alle Merkmale und anschließend die Kennzahl. Nach jeder Kennzahl wird ihr prozentualer Anteil an der Gesamtsumme sowie der kumulierte prozentuale Anteil ausgegeben. Außerdem enthält die Liste die Gesamtsumme sowie Zwischensummen für die einzelnen Segmente und für die Summen aus A- und B-Segment sowie aus B- und C-Segment.

Für die Ergebnisliste der ABC-Analyse stehen einige interaktive Funktionen zur Verfügung.

  • Spalten ausblenden
    Mit der Funktion Spalten ausblenden können einzelne Merkmalsspalten aus der Anzeige entfernt werden. Dazu muß der Cursor in die Merkmalsspalte gestellt und anschließend die Funktion aufgerufen werden.
  • Spalten einblenden
    Mit der Funktion Spalten einblenden können die Merkmalsspalten, die zuvor mit der Funktion Spalten ausblenden ausgeblendet wurden, wieder eingeblendet werden.
  • Alle Merkmale
    Diese Funktion ist für den Fall von Interesse, daß sich beim Aufruf der ABC-Analyse in der Liste bzw. in der Tabelle rechts nach der Kennzahlenspalte weitere Merkmalsspalten (nichtnumerische Felder) befinden. Diese Merkmale werden zunächst nicht in die Ergebnisliste der ABC-Analyse übernommen. Mit Hilfe der Funktion Bearbeiten -> Alle Merkmale können jedoch auch diese Merkmale in die Ergebnisliste übernommen werden. Sie werden jedoch links vor der Kennzahl angeordnet.
  • Umrechnen
    Diese Funktion erlaubt die Umrechnung von Währungsbeträgen und Mengenangaben in eine andere Bezugswährung bzw. Bezugseinheit. Die Umrechnung ist allerdings nur möglich, wenn für alle übergebenen Währungsbeträge und Mengenangaben im Datenbestand auch eine Währung bzw. eine Einheit zur Verfügung steht. Die Konvertierung erfolgt immer ausgehend von den Werten im Datenbestand, sodaß mehrfache Umrechnungen ohne Probleme möglich sind.
  • Drucken
    Mit der Funktion Drucken kann die Ergebnisliste der ABC-Analyse ausgedruckt werden. Dabei erfolgt der Ausdruck entsprechend der Bildschirmanzeige, d.h. ausgeblendete Spalten werden in der Druckliste nicht berücksichtigt.
  • Neue Analyse
    Mit dieser Funktion kann direkt eine erneute ABC-Analyse über dem gleichen Datenbestand angestoßen werden.

Neuerungen bei der Pflege von Sachgebieten

Syntaxprüfung mit Berücksichtigung der logischen Datenbank

Alle Syntaxprüfungen berücksichtigen jetzt die logische Datenbank, über der das Sachgebiet angelegt wurde. Dadurch entsteht die Möglichkeit, in allen Codings auf Parameter und Selektionskriterien der logischen Datenbank direkt zuzugreifen. Bisher war dies nur mit Hilfe von Feldsymbolen und dynamischen ASSIGN-Anweisungen möglich.

Coding zum Zeitpunkt END-OF-SELECTION

Das Coding zum Zeitpunkt END-OF-SELECTION wurde in zwei Teile unterteilt, einen Teil, der vor der Ausgabe der Liste abgearbeitet wird, und einen Teil, der nach der Ausgabe der Liste abgearbeitet wird. Bisher stand nur der zweite Teil (nach Ausgabe der Liste) zur Verfügung. Diese Unterteilung ermöglicht es, vor und nach Ausgabe der von der Query erzeugten Liste eigene Ausgaben in die Liste einzufügen. Da diese Ausgaben immer auf einer gesonderten Seite erscheinen, ist es damit leicht möglich, eine erste und eine letzte Seite zu erzeugen, die unabhängig von der Query-Definition ausgegeben werden. Zu beachten ist allerdings, daß derartige Ausgaben bei allen Layoutanzeigen in der Komponente zur Pflege von Queries nicht berücksichtigt werden können.
Die Codings zu den Zeitpunkten START-OF-SELECTION und END-OF-SELECTION wurden bisher gemeinsam auf einem Bild gepflegt. Ab Release 3.0D werden diese Zeitpunkte getrennt behandelt. Es sei hier noch auf einen wichtigen Unterschied zwischen den Codings zum Zeitpunkt START-OF-SELECTION und END-OF-SELECTION (vor Ausgabe der Liste) hingwiesen: das Coding zu START-OF-SELECTION wird vor dem ersten Datenbankzugriff abgearbeitet, das Coding zu END-OF-SELECTION (vor Ausgabe der Liste) nach dem letzten Datenbankzugriff, aber vor Ausgabe der Liste. Falls über ein Coding eine erste Seite erzeugt werden soll, so sollte dies nicht im Coding zu START-OF-SELECTION erfolgen. In diesem Fall wird die Seite bei Ausführung der Query zwar zunächst erzeugt, bei interaktiven Funktionen, die die Liste neu aufbauen (Drucken, Verdichten und Komprimieren von Grundlisten) jedoch nicht mehr. Wird die erste Seite im Coding zu END-OF-SELECTION (vor Ausgabe der Liste) erzeugt, tritt dieser Fehler nicht auf.
Die Pflege der Codings zum Zeitpunkt END-OF-SELECTION erfolgt wie bei allen anderen Codings. Über die Funktion Springen -> Codings -> END-OF-SELECTION wird auf ein Bild verzweigt, in dem jeweils fünf Zeilen zur direkten Eingabe der beiden Codings (vor und nach Ausgabe der Liste) zur Verfügung stehen. Falls diese fünf Zeilen nicht ausreichen, kann in einen Editor verzweigt werden.
Innerhalb des Codings können beliebige ABAP-Anweisungen verwendet werden. Es kann auf alle Daten-Objekte zugegriffen werden. Sinnvoll ist allerdings nur der Zugriff auf folgende Objekte:

  • Parameter des Sachgebietes und der logischen Datenbank
  • Selektionskriterien des Sachgebietes und der logischen Datenbank
  • globale Daten aus dem DATA-Coding

Felder von Tabellen der logischen Datenbank und Zusatztabellen und Zusatzfelder haben zu diesem Zeitpubkt keinen definierten Wert.
Das Coding zum Zeitpunkt END-OF-SELECTION (nach Ausgabe der Liste, entspricht dem bisher existierenden Coding) wird wie bisher nach Ausgabe der Liste abgearbeitet. Ab Release 3.0D wird dieses Coding jedoch bei interaktiven Funktionen, die die Liste neu aufbauen (Drucken, Verdichten und Komprimieren von Grundlisten) erneut prozessiert, d.h. dieses Coding kann während eines Query-Laufes u.U. mehrfach abgearbeitet werden.

Coding zum Zeitpunkt TOP-OF-PAGE

Bei der Pflege von Sachgebieten existiert jetzt die Möglichkeit, Coding zum Zeitpunkt TOP-OF-PAGE abzulegen. Dieses Coding wird in jeden generierten Report übernommen und dort zum Zeitpunkt TOP-OF-PAGE vor den Anweisungen zur Ausgabe des Seitenkopfes abgelegt. Enthält dieses Coding also WRITE-Anweisungen, so erscheinen die dadurch vorgenommenen Ausgaben in der Liste vor dem Seitenkopf, der durch die Query bereitgestellt wird. Wird die Liste mit Standardseitenkopf gedruckt, so erscheinen diese Ausgaben zwischen dem Standardseitenkopf und dem von der Query bereitgestellten Seitenkopf. Zu beachten ist allerdings, daß derartige Ausgaben bei allen Layoutanzeigen in der Komponente zur Pflege von Queries nicht berücksichtigt werden können.
Die Pflege des Codings zum Zeitpunkt TOP-OF-PAGE erfolgt wie bei allen anderen Codings. Über die Funktion Springen -> Codings -> TOP-OF-PAGE wird auf ein Bild verzweigt, in dem fünf Zeilen zur direkten Eingabe des Codings zur Verfügung stehen. Falls diese fünf Zeilen nicht ausreichen, kann in einen Editor verzweigt werden.
Innerhalb des Codings können beliebige ABAP-Anweisungen angegeben werden. Es kann allerdings nur auf folgende Daten-Objekte zugegriffen werden:

  • Parameter des Sachgebietes und der logischen Datenbank
  • Selektionskriterien des Sachgebietes und der logischen Datenbank
  • globale Daten aus dem DATA-Coding

Der Zugriff auf Felder von Tabellen der logischen Datenbank und Zusatztabellen und auf Zusatzfelder ist nicht möglich. Über die Variable %HEAD kann festgestellt werden, welcher Seitenkopf gerade ausgegeben werden soll. Diese Variable steht standardmäßig zur Verfügung und kann folgende Werte annehmen:

  • AAA -Ausgaben zum Zeitpunkt END-OF-SELECTION (vor Ausgabe der Liste)
  • GGG -Ausgabe der Grundliste
  • Txx -Ausgabe der Statistik xx (xx = 01 - 09)
  • Rxx -Ausgabe der Rangliste xx (xx = 01 - 09)
  • WWW -Ausgabe der Konvertierungstabelle
  • ZZZ -Ausgaben zum Zeitpunkt END-OF-SELECTION (nach Ausgabe der Liste)

Der Werte der Variablen %HEAD darf nur abgefragt und niemals verändert werden, da es sich um eine interne Variable des Laufzeitsystems handelt.
Das Coding zum Zeitpunkt TOP-OF-PAGE ermöglicht es, den Seitenkopf standardmäßig zu erweitern. Allerdings ist zu beachten, daß diese Erweiterungen für alle Queries, die mit dem Sachgebiet arbeiten, wirksam werden.

Neuerungen beim Transport von Query-Objekten

Erzeugung sprachabhängiger Texttabellen

Ab Release 3.0D werden beim Export eines Query-Objektes (Transportaktion Export) die in diesem Objekt vorhandenen Texte duplikativ in den sprachabhängigen transparenten Tabellen AQTXTBS und AQTXTQ abgelegt. In den erzeugten Transportauftrag werden Einträge zum Transport dieser Tabellen abgelegt. Bei einem Transport mit Hilfe des Transportwesens werden diese Tabellen also ebenfalls mit transportiert. Bei einem Import eines Query-Objektes werden die in den Tabellen AQTXTBS und AQTXTQ vorhandenen Texte zu diesem Objekt wieder in das Objekt übernommen und mit vorhandenen Texten gemischt.
Dieses Verfahren ist speziell für den Sprachabgleich innerhalb von SAP entwickelt worden, damit ausgelieferte Query-Objekte mit Hilfe der üblichen Übersetzungstools sprachlich abgeglichen werden können. Das Verfahren kann aber auch beim Kunden genutzt werden. Die erwähnten Texttabellen werden für SAP und Kunden getrennt geführt. Selbstverständlich kann der Sprachabgleich für kundeneigene Query-Objekte weiter nach dem bisher üblichen Verfahren erfolgen.
Die Einträge in den Texttabellen für ein Query-Objekt werden automatisch gelöscht, wenn in einem System ein Transportdatenbestand gelöscht wird, der dieses Query-Objekt enthält, und es keinen weiteren Transportdatenbestand mit diesem Query-Objekt mehr gibt.

Einfluß auf den Datenbestand im Fehlerfall

Soft-/Hardwarevoraussetzungen

Besonderheiten bei der Installation

Auswirkungen auf die Systemverwaltung

Auswirkungen auf das Customizing

Auswirkungen auf Batch-Input

Änderungen an der Oberfläche

Änderungen in der Vorgehensweise

Ab Release 3.0D wird das Coding zum Zeitpunkt END-OF-SELECTION aus dem Sachgebiet während eines Query-Laufes u.U. mehrfach abgearbeitet (siehe oben). Dies erfordert Änderungen in diesem Coding, wenn es Anweisungen enthält, die pro Query-Lauf genau einmal abgearbeitet werden sollen.

Aktionen zum Beheben von Fehlern am Datenbestand

Abhängige Funktionen

Planungen

Weitere Hinweise






PERFORM Short Reference   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 21585 Date: 20240523 Time: 162528     sap01-206 ( 456 ms )