Ansicht
Dokumentation

ABENASSIGNEMNT_DIFF_TYPES_GUIDL - ASSIGNEMNT DIFF TYPES GUIDL

ABENASSIGNEMNT_DIFF_TYPES_GUIDL - ASSIGNEMNT DIFF TYPES GUIDL

BAL Application Log Documentation   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Zuweisungen zwischen unterschiedlichen Typen

ABAP erlaubt die direkte Zuweisung zwischen Datenobjekten unterschiedlicher Datentypen. Voraussetzung ist, dass es eine passende Konvertierungsregel gibt und dass der Inhalt des Quellfeldes einen sinnvollen Wert für den Datentyp des Zielfeldes darstellt. Falls keine passende Konvertierungsregel gefunden wird oder der Inhalt des Quellfeldes nicht geeignet ist, kommt es zu einer Ausnahme.

Solche Konvertierungen finden nicht nur bei direkten Zuweisungen statt, sondern auch an vielen Operandenpositionen und insbesondere auch bei arithmetischen Berechnungen, wenn der angegebene Operand nicht den an der Position erwarteten Datentyp hat.

Konvertierungen vermeiden

Führen Sie Zuweisungen so weit wie möglich zwischen kompatiblen Datenobjekten des gleichen Datentyps durch.

Typkonvertierungen kosten zusätzliche Laufzeit und führen möglicherweise nicht immer zu dem vom Entwickler beabsichtigten Ergebnis. Daher sollen Konvertierungen zwischen Datenobjekten unterschiedlicher Datentypen nur dann vorgenommen werden, wenn sie unvermeidbar sind. Insbesondere sollten Konvertierungen vermieden werden, bei denen die Konvertierungsregel zu unerwarteten Ergebnissen führt.

Folgender Quelltext zeigt eine arithmetische Berechnung, bei der zwei unnötige Konvertierungen stattfinden. Erst muss das Textfeldliteral '1' in den Rechentyp i konvertiert werden, dann muss das Ergebnis der Berechnung vom Typ i in den Datentyp n konvertiert werden. Solche Konvertierungen führen zu messbaren Verlängerungen der Laufzeit.

DATA index TYPE n LENGTH 4.
...
DO ... TIMES.
  index = sy-index - '1'.
  ...
ENDDO.

Folgender Quelltext zeigt den gegenüber obigem Beispiel verbesserten Code, bei dem keine Konvertierungen mehr stattfinden.

DATA index TYPE i.
...
DO ... TIMES.
  index = sy-index - 1.
  ...
ENDDO.






BAL Application Log Documentation   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 2327 Date: 20240523 Time: 180030     sap01-206 ( 73 ms )