ABAPASSIGN_MEM_AREA_DYNAMIC_ACCESS - ASSIGN MEM AREA DYNAMIC ACCESS

ROGBILLS - Synchronize billing plans   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

ASSIGN - dynamic_access

Kurzreferenz



Syntax

... { cref->(attr_name) }
  | { iref->(attr_name) }
  | { (class_name)=>(attr_name) }
  | { (class_name)=>attr }
  | { class=>(attr_name) } ... .

Alternativen:

1. ... cref->(attr_name)

2. ... iref->(attr_name)

3. ... (class_name)=>(attr_name)

4. ... (class_name)=>attr

5. ... class=>(attr_name)

Wirkung

Diese Alternativen der dynamischen Angabe des Speicherbereichs mem_areader Anweisung ASSIGN sind speziell für den dynamischen Zugriff auf Attribute von Klassen (Dynamic Access) vorgesehen.

Bei diesen Varianten setzt die Anweisung ASSIGN den Rückgabewert sy-subrc. Wenndie Zuweisung erfolgreich ist, wird sy-subrc auf 0, ansonsten auf 4 gesetzt. Bei nicht erfolgreicherZuweisung behält das Feldsymbol den vorhergehenden Zustand. Die Auswertung des logischen Ausdrucks<fs> IS ASSIGNED ist also nicht ausreichend, sondern es muss sy-subrc überprüft werden.

Alternative 1

... cref->(attr_name)


Wirkung

Diese Form ist für alle sichtbaren Attribute von Objekten möglich. cref kann eine beliebigeKlassenreferenzvariablesein, die auf ein Objekt zeigt, welches das in einem zeichenartigen Feld attr_name angegebene Attribut enthält. Das Attribut wird erst imstatischen Typ dann imdynamischen Typ von cref gesucht.

Der Bezeichner des Attributs muss nicht in Großbuchstaben angegeben sein. Er kann Offset-/Längenangaben,Strukturkomponenten-, Objektkomponenten- und Klassenkomponenten-Selektoren enthalten, um Teile oder referenzierte Objekte des Attributs zuzuweisen.

Alternative 2

... iref->(attr_name)


Wirkung

Diese Form ist für alle sichtbaren Interfaceattribute von Objekten möglich. iref kann eine beliebigeInterfacereferenzvariablesein, die auf ein Objekt zeigt, welches das in einem zeichenartigen Feld attr_name angegebene Interfaceattribut enthält. Die Methode wird nur imstatischen Typ von iref gesucht.

Der Bezeichner des Attributs muss nicht in Großbuchstaben angegeben sein. Er kann Offset-/Längenangaben,Strukturkomponenten-, Objektkomponenten- und Klassenkomponenten-Selektoren enthalten, um Teile oder referenzierte Objekte des Attributs zuzuweisen.

Alternative 3

... (class_name)=>(attr_name)


Alternative 4

... (class_name)=>attr


Alternative 5

... class=>(attr_name)


Wirkung

Diese Formen sind für alle sichtbaren statischen Attribute möglich. Es könnensowohl Klasse als auch Attribut dynamisch angegeben werden. Das Attribut attr und die Klasse class können aber auch jeweils direkt angegeben werden.

Bei den Alternativen mit dynamischer Klassenangabe (class_name) wird erst die Klasse gesucht, dann das Attribut. Bei der statischen Angabe class wird das Attribut in der vorhandenen Klasse gesucht.

Der Inhalt von attr_name und class_name muss nicht in Großbuchstaben vorliegen.attr_name kann Offset-/Längenangaben, Strukturkomponenten-, Objektkomponenten- und Klassenkomponenten-Selektorenenthalten, um Teile oder referenzierte Objekte des Attributs zuzuweisen. Wenn der Klassenname dynamischund das Attribut direkt angegeben wird, können hinter dem Attribut keine Offset-/Längenangaben und kein Objektkomponenten-Selektor angegeben werden.

Hinweis

Wenn in class_name über einen absoluten Typnamen eine Klasse eines anderen Programms angegeben wird, wird dieses je nach Programmtyp in eine neueZusatzprogrammgruppe oder in die aktuelleProgrammgruppe hinzugeladen, falls es noch nicht geladen war. Dabei wird gegebenenfalls derProgrammkonstruktor ausgeführt.

Beispiel

Dynamischer Zugriff auf ein Attribut eines Objekts (Dynamic Access) über ein Feldsymbol.

CLASS c1 DEFINITION.
  PUBLIC SECTION.
    METHODS m1 IMPORTING oref TYPE REF TO object
                         attr TYPE string.
ENDCLASS.

CLASS c1 IMPLEMENTATION.
  METHOD m1.
    FIELD-SYMBOLS <attr> TYPE ANY.
    ASSIGN oref->(attr) TO <attr>.
    WRITE <attr> ...
  ENDMETHOD.
ENDCLASS.


CPI1466 during Backup   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 7196 Date: 20120526 Time: 231801     triton ( 253 ms )