Ansicht
Dokumentation

ABENABAP_OBJECTS_DIFF_SYNTAX - ABAP OBJECTS DIFF SYNTAX

ABENABAP_OBJECTS_DIFF_SYNTAX - ABAP OBJECTS DIFF SYNTAX

TXBHW - Original Tax Base Amount in Local Currency   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Falsche Syntax

Fehlende Trennzeichen

Trennzeichen (Leerzeichen, Kommas, Doppelpunkte, Punkte oder das Zeilenende) sind in ABAP Objects hinter Literalen und Offset-/Längenangaben erforderlich.

In ABAP Objects Fehlermeldung bei:

CONCATENATE 'fgfdg'f INTO g.

WRITE AT /off(len)'...'.

Korrekte Syntax:

CONCATENATE 'fgfdg' f INTO g.

WRITE AT /off(len) '...'.

Grund:

Vereinheitlichung der Syntax von Anweisungen. Hinter keinem Teil einer Anweisung (Token) darf direkt das nächste Token geschrieben werden, sondern es muss immer ein gültiges Trennzeichen eingefügt werden.

Falsche Plus-Klammer-Notation

In ABAP Objects und seit Release 7.0 auch außerhalb von Klassen sind keine leeren Plus-Klammer-Notationen erlaubt.

In ABAP Objects Fehlermeldung bei:

DATA: f1() TYPE ...,
      f2+  TYPE ...,
      f3   LIKE f1+().

SELECT SINGLE ... FROM +(f1) INTO (f2+off(), f3+(len)).

WRITE AT +(len) f3().

Korrekte Syntax:

DATA: f1 TYPE ...,
      f2 TYPE ...,
      f3 LIKE f1.

SELECT SINGLE ... FROM (f1) INTO (f2+off, f3(len)).

WRITE AT (len) f3.

Grund:

Pluszeichen dürfen außerhalb arithmetischer Ausdrücke nur für Offset-/Längenangaben bei Feldnamen verwendet werden. Dort sind Pluszeichen ohne folgenden Offset-Wert überflüssig. Zurzeit interpretiert das System ein einzelnes Pluszeichen, das direkt an einen Feldnamen anschließt, oder ein Pluszeichen, dem direkt ein Klammerausdruck folgt, als nicht vorhanden. Dadurch sind Pluszeichen auch an Stellen möglich, an denen keine Offset-/Längenangaben vorgesehen sind, z.B. in Datendeklarationen, wo nur Längenangaben möglich sind, und vor dynamischen Ausdrücken. Ein leerer Klammerausdruck nach einem Pluszeichen, einem Offset-Wert oder einem Feldnamen wird als nicht vorhanden interpretiert und ist ebenfalls überflüssig.

Keine Literale über mehrere Zeilen

In ABAP Objects und seit Release 7.0 auch außerhalb von Klassen darf sich ein Literal nicht über mehrere Programmzeilen ausdehnen.

In ABAP Objects Fehlermeldung bei:

WRITE 'Start...
                    ...end'.

Korrekte Syntax:

WRITE 'Start...           ' &
      '             ...end'.

Grund:

Die Anzahl eingefügter Leerzeichen hängt von der Zeilenlänge des Editors ab. Die Zeilenlänge des Editors ist keine feste Größe, sondern kann in einem kommenden Release erhöht werden. Literale, die länger sind als eine Editorzeile, können mit dem Zeichen & aus mehreren Literalen zusammengesetzt werden.

Kein Fortschreiben von Feldbezeichnern über das Zeilenende

In ABAP Objects und seit Release 7.0 auch außerhalb von Klassen dürfen bei Aufzählungslisten in Klammern Feldbezeichner nicht durch das Zeilenende unterteilt werden.

In ABAP Objects Fehlermeldung bei:

SELECT SINGLE col1 col2 ... coln
  FROM dbtab
  INTO (wa-col1, wa-col2, ................ , wa-c
oln)
WHERE col1 IN (f1, f2, ..................... , f
n).

Korrekte Syntax:

SELECT SINGLE col1 col2 ... coln
  FROM dbtab
  INTO (wa-col1, wa-col2, ................ ,
        wa-coln)
WHERE col1 IN (f1, f2, ..................... ,
                fn).

Grund:

Feldbezeichner dürfen sich prinzipiell nicht über mehrere Zeilen ausdehnen. Bei einer Erhöhung der Editor-Zeilenlänge in einem zukünftigen Release kommt es bei umgebrochenen Feldbezeichnern zu Syntaxfehlern. Das Verhalten in Aufzählungen ist eine Ausnahme und wird dem allgemeinen Verhalten angepasst.






BAL Application Log Documentation   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5345 Date: 20240523 Time: 173812     sap01-206 ( 82 ms )