Ansicht
Dokumentation

ABENCOND_TYPE_INFERENCE_ABEXA - COND TYPE INFERENCE ABEXA

ABENCOND_TYPE_INFERENCE_ABEXA - COND TYPE INFERENCE ABEXA

General Material Data   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Konditionaloperator, Typinferenz

Das Beispiel demonstriert die Typinferenz beim Konvertierungsoperator COND.

Quelltext

Ausführen

Beschreibung

Konstruktorausdrücke mit dem Konditionaloperator COND werden an verschieden typisierte Formalparameter von Methoden übergeben, wofür im Fall von generischen Formalparametern spezielle Regeln für die Bestimmung des Operandentyps gelten. Ersetzen des Konditionaloperators COND durch SWITCH führt zu den gleichen Ergebnissen.

  • Vollständig typisierter Formalparameter
Beim Aufruf der Methode meth1 mit vollständig typisiertem Formalparameter wird der Operandentyp für # durch diesen bestimmt und das Ergebnis des Konditionalausdrucks wird bei allen drei Aufrufen nach c der Länge 10 konvertiert.
  • Generisch mit c typisierter Formalparameter
Der Operandentyp für # wird aus dem Datentyp des Operanden hinter THEN bestimmt.
  • Beim ersten Aufruf passt der Typ c der Länge 20 des Operanden hinter THEN zum generischen Typ und wird verwendet.

  • Beim zweiten Aufruf passt der Typ i des Operanden hinter THEN nicht zum generischen Typ und der Aufruf ist nicht möglich.

  • Beim dritten Aufruf ist kein Typ aus dem generisch typisierten Feldsymbol <fs> hinter THEN ableitbar. Da es keine Inferenzregel für den generischen Typ c gibt, ist kein Aufruf möglich.

  • Generisch mit csequence typisierter Formalparameter
  • Beim ersten Aufruf passt der Typ c der Länge 20 des Operanden hinter THEN zum generischen Typ und wird verwendet.

  • Beim zweiten Aufruf passt der Typ i des Operanden hinter THEN nicht zum generischen Typ und es wird der Typ string verwendet, worauf eine Warnung von der Syntaxprüfung aufmerksam macht.

  • Beim dritten Aufruf ist kein Typ aus dem generisch typisierten Feldsymbol <fs> hinter THEN ableitbar und es wird der Typ string verwendet, worauf eine Warnung von der Syntaxprüfung aufmerksam macht.






SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3148 Date: 20240523 Time: 164915     sap01-206 ( 51 ms )