Konstruktur

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Eine spezielle Methode einer Klasse ist der Konstruktur.

Anlage von Konstruktoren im Class-Builder per Menü

Der Klassen-Konstruktor sowie der Instanzkonstruktor werden nicht durch die Eingabe der Methodennamen CONSTRUCTOR bzw. CLASS_CONSTRUCTOR angelegt, sondern über das Menü im Class Builder.

Constructor Klasse3.jpg


Instanzkonstruktur (CONSTRUCTOR)

Grundlagen

Bei jeder Erzeugung einer Instanz einer Klasse wird der (Instanz-)konstruktur aufgerufen, sofern er in der Klasse existiert.

In der Klasse wird diese Methode mit dem reservierten Methodennamen "Constructor" angelegt.

Beispiel für Instanz-Konstruktur CONSTRUCTOR

Methode CONSTRUCTOR ist in dem Reiter METHODEN der Klasse aufgeführt

Constructor Klasse1.jpg


Die Methode CONSTRUCTOR kann lediglich Importparameter haben, keine Exportparameter.

Constructor Klasse2.jpg


Im Rahmenprogramm wird eine Referenzvariable definiert und mit CREATE OBJECT im Hauptspeicher erzeugt. Die Importparameter des Konstrukturs werden mit Select-Options-Parametern versorgt. Da es nur eine Methode CONSTRUCTOR in einer Klasse geben kann, muss der Methodenname CONSTRUCTOR bei der Objektinstanzierung nicht angegeben werden.

DATA: go_rep TYPE REF TO ycoc_sv_clrep0001.

CREATE OBJECT go_rep
  EXPORTING
   it_selopt_matnr = p_mat[]
   it_selopt_werks = p_wer[]
   it_selopt_charg = p_cha[]
   it_selopt_khc   = p_khc[]
   it_selopt_lgort = p_lgo[]
   it_selopt_prdha = p_pha[]
   i_budat         = p_bud
   i_stock         = p_sto
  EXCEPTIONS
   error_selection = 1
   OTHERS          = 2.

Klassen-Konstruktur (CLASS-CONSTRUCTOR)

Grundlagen

Der Klassenkonstruktur wird einmalig bei der ersten Instanzierung eines Objekts einer Klasse aufgeführt, nicht bei weiteren Instanzen. Er wird mit dem reservierten Methodennamen "CLASS_CONSTRUCTOR" in der Klasse angelegt. Import- und Exportparameter sind beim Klassenkonstruktor nicht zulässig. Die Methode ist daher auch nicht bei der Instanziierung der Klasse zu sehen.

Klassenkonstruktor Coding

method CLASS_CONSTRUCTOR.
   break reberstein. 
endmethod.


Literatur