Ansicht
Dokumentation

RSEIDOC3 - Dokumentation IDoc-Satzarten und IDoc-Typen (Parser)

RSEIDOC3 - Dokumentation IDoc-Satzarten und IDoc-Typen (Parser)

RFUMSV00 - Advance Return for Tax on Sales/Purchases   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Erläuterungen zur Syntaxbeschreibung

  • Nonterminale sind an der gemischten Groß- und Kleinschreibung zu erkennen, Terminale bestehen nur aus Groß- oder nur aus Kleinbuchstaben.
  • empty ist die leere Ausgabe.
  • Erläuternde Kommentare sind in /* und */ eingeschlossen.
  • LF ist das Zeichen für das Zeilenende.
  • Ein Stern (*) hinter einem Ausdruck bedeutet, daß der Ausdruck beliebig oft vorkommen darf.
  • Ein Pluszeichen (+) hinter einem Ausdruck bedeutet, daß der Ausdruck mindestens einmal vorkommen muß.
  • Ein wahlweises (exklusives!) Vorkommen mehrerer Ausdrücke wird durch ein Ausrufezeichen (!) markiert.
  • Im allgemeinen wird jedes Token zusammen mit dem eventuell darauffolgenden Wert in eine neue Zeile geschrieben, d.h. bzw. Linefeed/LF dienen ebenfalls als Trennzeichen. Dies ist besonders bei den Feldern TEXT und VALUE_TEXT sinnvoll. Dort wird nach den Tokens TEXT bzw. VALUE_TEXT ein Freitext ausgegeben, der meist Leerzeichen enthält. Damit diese Leerzeichen nicht zum Erkennen neuer Tokens führen, muß die Zeile mit Linefeed abgeschlossen werden. Es wurde kein Einschließen des Freitextes in Hochkommata gewählt, da der Freitext selbst auch diese Zeichen enthalten kann.

Syntax

Output ::=,,Records
,,,,,,Segments

/* Die Ausgabe besteht aus den beiden Hauptteilen Records und Segments. */

Records ::=,,empty !
,,,,,,BEGIN_RECORD_SECTION LF+
,,,,,,,,DC DD DS
,,,,,,END_RECORD_SECTION LF+

/* Records beinhaltet den Kontroll-, den Daten- und den Statussatz. Wenn auf dem Selektionsbildschirm die Satzarten nicht ausgewählt wurden, bleibt dieser Abschnitt leer. */

DC ::=,,,,BEGIN_CONTROL_RECORD LF+
,,,,,,,,Fields
,,,,,,END_CONTROL_RECORD LF+

DD ::=,,,,BEGIN_DATA_RECORD LF+
,,,,,,,,Fields
,,,,,,END_DATA_RECORD LF+

DS ::=,,,,BEGIN_STATUS_RECORD LF+
,,,,,,,,Fields
,,,,,,END_STATUS_RECORD LF+

/* Jeder Satz wird durch seine Felder beschrieben. */

Fields ::=,,BEGIN_FIELDS LF+
,,,,,,,,Field+
,,,,,,END_FIELDS LF+

Field ::=,,NAME Alphanum LF+
,,,,,,TEXT (Alphanum ! empty) LF+
,,,,,,TYPE Alphanum LF+
,,,,,,LENGTH Num LF+
,,,,,,FIELD_POS Num LF+
,,,,,,CHARACTER_FIRST Num LF+
,,,,,,CHARACTER_LAST Num LF+
,,,,,,Values

Segments ::=empty !
,,,,,,BEGIN_SEGMENT_SECTION LF+
,,,,,,,,IDoc
,,,,,,END_SEGMENT_SECTION LF*

/* Hier wird der ausgewählte IDoc-Typ ausgegeben. Falls kein IDoc-Typ in der Selektion enthalten ist, bleibt dieser Teil leer. */

IDoc ::=,,BEGIN_IDOC Alphanum LF+
,,,,,,,,(empty ! EXTENSION Alphanum LF+)
,,,,,,,,(Segment ! Group)+
,,,,,,END_IDOC LF+

/* Ein IDoc-Typ besteht aus mehreren Segmenten und/oder Gruppen. Direkt hinter dem Token BEGIN_IDOC wird der Name des aktuellen IDoc-Typs ausgegeben. */

Segment ::=,,BEGIN_SEGMENT Alphanum LF+
,,,,,,,,SEGMENTTYPE Alphanum LF+
,,,,,,,,(empty ! QUALIFIED LF+)
,,,,,,,,LEVEL Num LF+
,,,,,,,,STATUS Status LF+
,,,,,,,,LOOPMIN Num LF+
,,,,,,,,LOOPMAX Num LF+
,,,,,,,,Fields
,,,,,,END_SEGMENT LF+

/* Für jedes Segment werden die Attribute und die zugeordneten Felder ausgegeben. Direkt hinter dem Token BEGIN_SEGMENT wird der externe Name des aktuellen Segments ausgegeben. */

Group ::=,,BEGIN_GROUP Num LF+
,,,,,,,,LEVEL Num LF+
,,,,,,,,STATUS Status LF+
,,,,,,,,LOOPMIN Num LF+
,,,,,,,,LOOPMAX Num LF+
,,,,,,,,Segment
,,,,,,,,(Segment ! Group)*
,,,,,,END_GROUP LF+

/* Eine Gruppe besitzt Gruppenattribute, die in ihrem ersten Segment abgelegt sind. Das erste Segment selbst besitzt dann Default-Attribute. Dieses erste Segment dient auch dazu, den Gruppenanfang innerhalb eines IDoc-Typs für Wiederholungen zu kennzeichnen. Nachfolgend können weitere Segmente und Gruppen folgen. Direkt hinter dem Token BEGIN_GROUP wird die Nummer der aktuellen Gruppe ausgegeben. */

Values ::=,,(Single ! Range)* !
,,,,,,VALUE_TABLE Alphanum LF+

/* Werte sind entweder in der Domäne festgelegt (Einzelwerte/Single oder Bereiche/Range) oder es existiert eine zugeordnete Wertetabelle. Falls keine Werte zu finden sind, unterbleibt diese Ausgabe. */

Single ::=,,VALUE 'Alphanum' LF+
,,,,,,VALUE_TEXT (Alphanum ! empty) LF+

Range ::=,,VALUE_RANGE 'Alphanum' - 'Alphanum' LF+
,,,,,,VALUE_TEXT (Alphanum ! empty) LF+

/* Bei Single wird ein einzelner Wert, bei Range ein Bereich ausgegeben. Hier wird die alphanumerische Ausgabe in Hochkommata eingeschlossen. Danach folgt der in der Domäne abgelegte Kommentar. */

Alphanum ::=,,(A-Z, a-z, ' ', 0-9)*
Num ::=,,,,,,(0-9)+
Status ::=,,,,MANDATORY ! OPTIONAL

/* Der Status legt fest, ob ein Segment bzw. eine Gruppe vorkommen muß oder darf. */






General Data in Customer Master   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5566 Date: 20240520 Time: 065610     sap01-206 ( 53 ms )