Ansicht
Dokumentation

ABENSYNTAX_CHECK_GUIDL - SYNTAX CHECK GUIDL

ABENSYNTAX_CHECK_GUIDL - SYNTAX CHECK GUIDL

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

-Prüfung

Die Syntaxprüfung liefert Syntaxfehler und Syntaxwarnungen.

  • Sobald ein Syntaxfehler auftritt, wird die Prüfung beendet und eine entsprechende Fehlermeldung angezeigt. In vielen Fällen wird eine Korrektur vorgeschlagen, die übernommen werden kann. Ein Programm mit Syntaxfehlern ist zwar aktivierbar, kann aber nicht generiert und damit nicht ausgeführt werden. Syntaxfehler werden von der erweiterten Programmprüfung als fatale Fehler gemeldet. Syntaxfehler müssen unbedingt behoben werden.
  • Tritt eine Syntaxwarnung auf, wird die Syntaxprüfung nicht beendet, und das Programm ist im Prinzip ausführbar. Die Syntaxwarnungen werden nach einer Ausführung der Syntaxprüfung im ABAP Editor und auch von der erweiterten Programmprüfung angezeigt. Natürlich zeigen Testwerkzeuge, welche die Prüfungen der erweiterten Programmprüfung umfassen, wie der Code Inspector und das ABAP Test Cockpit, die Syntaxwarnungen ebenfalls an. Bei der Aktivierung eines Programms werden Syntaxwarnungen nur dann ausgegeben, wenn es gleichzeitig auch Syntaxfehler gibt. Die von der Syntaxprüfung gemeldeten Warnungen sind in drei Prioritäten unterteilt, die aber nur von der erweiterten Programmprüfung angezeigt werden:
  • Priorität 1

Fehler, die erkennbar zu einem Programmabbruch bei der Ausführung des ABAP-Programms führen werden. Zudem alle Konstrukte, die keinesfalls verwendet werden sollen, da sie auf Programmierfehler hindeuten und höchstwahrscheinlich zu falschem Verhalten führen.
  • Priorität 2

Alle Konstrukte, die nicht unbedingt zu Fehlverhalten führen, aber zum Beispiel obsolet sind und durch aktuelle Konstrukte ersetzt werden sollen. Fehler der Priorität 2 können in zukünftigen Releases zu Fehlern der Priorität 1 oder zu Syntaxfehlern werden.
  • Priorität 3

Fasst alle Fehler zusammen, deren Behebung zwar wünschenswert, aber nicht unbedingt für das aktuelle Release notwendig ist. Eine Verschärfung der Priorität in kommenden Releases ist jedoch nicht ausgeschlossen.

Die Prüfschärfe der Syntaxprüfung wird durch die beim Anlegen eines Programms getroffenen Entscheidungen bestimmt. So können Programmkonstrukte, die außerhalb von Klassen nur zu Syntaxwarnungen führen, in Klassen echte Syntaxfehler darstellen. Ausgesuchte Syntaxwarnungen können durch Pragmas (d.h. Programmdirektive, die den Programmablauf nicht beeinflussen, sondern Auswirkung auf bestimmte Überprüfungen haben) unterdrückt werden.

Syntaxwarnungen beachten

Nehmen Sie alle Warnungen der Syntaxprüfung ernst. In einem fertiggestellten Programm dürfen keine Syntaxwarnungen mehr auftreten.

Die Ursachen von Syntaxwarnungen müssen immer korrigiert werden, da sie im Allgemeinen zu unvorhersagbaren Fehlern führen. Solche Warnungen werden von SAP häufig in einem späteren Release des AS ABAP zu Fehlern heraufgestuft. In diesem Fall ist dann ein zunächst nur mit Syntaxwarnungen behaftetes Programm nach einem Upgrade syntaktisch falsch und nicht mehr benutzbar.

Ausgesuchte Warnungen der Syntaxprüfung können durch Pragmas ausgeblendet werden. Bezüglich der Paketprüfung stellt die Auswahl von Paketprüfung als Server im Package Builder einen ersten Schritt auf dem Weg zur echten Kapselung dar. Sie ermöglicht den Verwendern von Entwicklungsobjekten eine Anpassung ihrer Verwendungsstellen, noch bevor es zu harten Syntaxfehlern kommt. Aus diesem Grund müssen insbesondere alle Warnungen der Paketprüfung ernst genommen und behoben werden, damit das Programm auch nach einer verschärften Kapselung der verwendeten Pakete syntaktisch korrekt bleibt.

Der folgende Quelltextabschnitt führt zu einer Syntaxwarnung, da über eine freie Schlüsselangabe auf eine interne Tabelle zugegriffen wird, obwohl ein Sekundärschlüssel mit den gleichen Komponenten vorhanden ist. Der gezeigt Zugriff führt eine lineare Suche durch.

FIELD-SYMBOLS <fs> TYPE spfli.

DATA itab TYPE HASHED TABLE OF spfli
          WITH UNIQUE KEY carrid connid
          WITH NON-UNIQUE SORTED KEY cities COMPONENTS cityto cityfrom.

...

READ TABLE itab WITH KEY cityfrom = '...' cityto = '...'
                ASSIGNING <fs>.

Der folgende Quelltextabschnitt korrigiert obiges Beispiel, indem über den Sekundärschlüssel zugegriffen wird. Der Zugriff führt jetzt eine binäre Suche durch. Ein Ausblenden der Syntaxwarnung über das zugehörige Pragma primkey wäre hier nicht zu empfehlen.

FIELD-SYMBOLS <fs> TYPE spfli.

DATA itab TYPE HASHED TABLE OF spfli
          WITH UNIQUE KEY carrid connid
          WITH NON-UNIQUE SORTED KEY cities COMPONENTS cityto cityfrom.

...

ASSIGN itab[ KEY cities
             COMPONENTS cityfrom = '...' cityto = '...' ] TO <fs>.






TXBHW - Original Tax Base Amount in Local Currency   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6419 Date: 20240523 Time: 100011     sap01-206 ( 148 ms )