Ansicht
Dokumentation
ABENCOND_TYPE_INFERENCE_ABEXA - COND TYPE INFERENCE ABEXA
General Material Data General Material DataDiese Dokumentation steht unter dem Copyright der SAP AG.
Konditionaloperator, Typinferenz
Das Beispiel demonstriert die Typinferenz beim Konvertierungsoperator COND.
Quelltext
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 )