Ansicht
Dokumentation
ABAP/4-Query ( RELNBC_ABAP-QUERY-3.0D )
CPI1466 during Backup ROGBILLS - Synchronize billing plansDiese Dokumentation steht unter dem Copyright der SAP AG.
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 )