ABAPAT_EXTRACT - AT EXTRACT
BAL Application Log Documentation Vendor Master (General Section)Diese Dokumentation steht unter dem Copyright der SAP AG.
AT - Extrakt
Syntax
LOOP.
[AT FIRST.
...
ENDAT.]
[AT field_groupi [WITH field_groupj]
...
ENDAT.]
[AT NEW field1.
...
ENDAT.
[AT NEW field2.
...
ENDAT.
[...]]]
[ ... ]
[[[...]
AT END OF field2.
...
ENDAT.]
AT END OF field1.
...
ENDAT.]
[AT LAST.
...
ENDAT.]
ENDLOOP.
Zusätze:
1. ... FIRST
2. ... field_groupi [WITH field_groupj]
3. ... {NEW}|{END OF} fieldi
4. ... LAST
Wirkung
Der Anweisungsblock einer LOOP -Schleife für Extrakte kann Kontrollstrukturen für eineGruppenstufenverarbeitungenthalten. Die entsprechende Kontrollanweisung lautet AT. Die Anweisungen AT und ENDAT definieren Anweisungsblöcke, die beiGruppenwechselnausgeführt werden. Innerhalb einiger dieser Anweisungsblöcke kann auf automatisch erzeugte Datenobjekte sum(field) und cnt(field) zugegriffen werden.
Voraussetzung für die Gruppenstufenverarbeitung ist, dass derExtraktdatenbestandsortiert ist. Aus der Zeilenstruktur und der entsprechenden Sortierung ergibt sich eine Gruppenstrukturdes Inhalts des Extraktdatenbestands, deren Stufen mit AT-Anweisungen ausgewertet werden können.Die AT-ENDAT -Kontrollstrukturen müssen entsprechend der Gruppenstruktur hintereinanderangeordnet sein. Dies ist nicht unbedingt die Reihenfolge der Felder in der Feldgruppe header,sondern kann auch durch den Zusatz BY der Anweisung SORT bestimmt werden.
Die Anweisungsblöcke innerhalb der AT-ENDAT-Kontrollstrukturen werden ausgeführt,wenn bei der aktuellen Zeile ein entsprechender Gruppenwechsel stattfindet. Anweisungen der LOOP-ENDLOOP-Kontrollstruktur,die nicht innerhalb einer AT-ENDAT-Kontrollstruktur aufgeführt sind, werden bei jedem Schleifendurchgang ausgeführt.
Zusatz 1
... FIRST
Wirkung
Die Gruppenstufe wird durch die erste Zeile des Extraktdatenbestands definiert.
Zusatz 2
... field_groupi [WITH field_groupj]
Wirkung
Eine Zeile, die mit der Anweisung EXTRACTfield_groupi an den Extraktdatenbestand angehängt wurde. Wenn der Zusatz WITH angegeben ist, muss die nächste Zeile durch die Feldgruppe field_groupj definiert sein.
Zusatz 3
... {NEW}|{END OF} fieldi
Wirkung
Die Gruppenstufe wird durch Anfang bzw. Ende einer Gruppe von Zeilen mit dem gleichen Inhalt in derKomponente fieldi und in den Komponenten links von fieldi definiert. Die Komponente fieldmuss Teil der Feldgruppe header sein. Komponenten, deren Inhalt hexadezimal 0 ist, werden nicht als Gruppenwechselkriterium berücksichtigt.
Für fieldi kann auch ein Feldsymbol angegeben werden. Falls dem Feldsymbol bei Ausführungder Anweisung eine Komponente der Feldgruppe header zugewiesen ist, wirkt es wie die Angabe derentsprechenden Komponente. Falls dem Feldsymbol kein Datenobjekt zugewiesen ist, wird die Angabe ignoriert. Ist dem Feldsymbol ein anderes Datenobjekt zugewiesen, kommt es zu einer unbehandelbaren Ausnahme.
Zusatz 4
... LAST
Wirkung
Die Gruppenstufe wird durch die letzte Zeile des Extraktdatenbestands definiert.
Beispiel
Dieses Beispiel führt das Beispiel unter EXTRACTfort. Beim Ereignis END-OF-SELECTION wird der Extraktdatenbestand nach der Feldgruppe header sortiertund anschließend eine Gruppenstufenverarbeitung in einer LOOP-Schleife durchgeführt, in der eine strukturierte Liste erstellt wird.
NODES: spfli, sflight.
FIELD-GROUPS: header, flight_info, flight_date.
START-OF-SELECTION.
INSERT: spfli-carrid spfli-connid sflight-fldate
INTO header,
spfli-cityfrom spfli-cityto
INTO flight_info.
GET spfli.
EXTRACT flight_info.
GET sflight.
EXTRACT flight_date.
END-OF-SELECTION.
SORT STABLE.
LOOP.
AT FIRST.
WRITE / 'Flight list'.
ULINE.
ENDAT.
AT flight_info WITH flight_date.
WRITE: / spfli-carrid , spfli-connid, sflight-fldate,
spfli-cityfrom, spfli-cityto.
ENDAT.
AT flight_date.
WRITE: / spfli-carrid , spfli-connid, sflight-fldate.
ENDAT.
AT LAST.
ULINE.
WRITE: cnt(spfli-carrid), 'Airlines'.
ULINE.
ENDAT.
ENDLOOP.
Addresses (Business Address Services) ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 8373 Date: 20120526 Time: 231854 triton ( 238 ms )






