Ansicht
Dokumentation

ABENCOND_CONSTRUCTOR_INFERENCE - COND CONSTRUCTOR INFERENCE

ABENCOND_CONSTRUCTOR_INFERENCE - COND CONSTRUCTOR INFERENCE

CPI1466 during Backup   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

COND, SWITCH, Typinferenz für Aktualparameter

Wenn folgender Konstruktorausdruck mit dem Zeichen # als Symbol für den Operandentyp als Aktualparameter an generische typisierte Formalparameter übergeben wird, wird folgende Typinferenz für das Zeichen # durchgeführt:

COND$|SWITCH #( ... THEN ... )

mit dem Zeichen # als Symbol für den Operandentyp als Aktualparameter an generische typisierte Formalparameter übergeben wird, wird folgende Typinferenz für das Zeichen # durchgeführt:

  • Wenn der Datentyp des Operanden hinter dem ersten THEN statisch erkennbar ist und zum generischen Typ des Formalparameters passt, wird dieser Datentyp verwendet.
  • Wenn der Datentyp des Operanden hinter dem ersten THEN statisch erkennbar ist und nicht zum generischen Typ des Formalparameters passt oder wenn er nicht statisch erkennbar ist, wird der Typ wie folgt aus dem generischen Typ abgeleitet: Dies gilt insbesondere für die Typen c, n und x mit generischen Längen.

Hinweis



Beispiel

Der Operator COND erzeugt hier ein Ergebnis vom Typ string. Der generische Parameter p hat bei Ausführung der Methode diesen Typ, was durch den von DESCRIBE FIELD zurück gegebenen Wert "g" angezeigt wird. Der Methodenaufruf führt zu einer entsprechenden Syntaxwarnung.

CLASS demo DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS main IMPORTING p TYPE csequence.
ENDCLASS.

CLASS demo IMPLEMENTATION.
  METHOD main.
    DESCRIBE FIELD p TYPE DATA(t).
    cl_demo_output=>display( |{ p } of type { t }| ).
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  FIELD-SYMBOLS:
    fs1> TYPE any,
    fs2> TYPE any.
  ASSIGN 'AM' TO fs1>.
  ASSIGN 'PM' TO fs2>.

  demo=>main( COND #( WHEN sy-timlo  '120000' THEN fs1>
                                               ELSE fs2> ) ).


Konditionaloperator, Typinferenz






CPI1466 during Backup   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3017 Date: 20240523 Time: 171915     sap01-206 ( 46 ms )