Zugriff auf Eingabeparameter in Methode Thema ist als GELÖST markiert

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Zugriff auf Eingabeparameter in Methode

Beitrag von Margolwes (ForumUser / 76 / 2 / 0 ) »
Hallo,

ich möchte Eingabeparameter durch Aufruf einer Methode vorbelegen. Der Benutzer hat eine Eingabemaske mit vielen Eingabefeldern. Er kann diese Felder vorbelegen, in dem er bspw. eine Materialnummer auswählt und etliche Eingabefelder damit füllt. Vom Grundsatz her habe ich mir das so vorgestellt:

Code: Alles auswählen.

report zdingenskirchen.

class lcl_class definition.
  public section.

    methods get_value
        importing iv_matnr type matnr.

  private section.
endclass.

class lcl_class implementation.
  method get_value.
	select single * from mara where matnr = @iv_matnr into @data(ls_mara).
	p_param1 = ls_mara-mtart.
	p_param2 = ls_mara-mstae.
	[usw...]
  endmethod.
endclass.

p_param1 type irgendeintyp.
p_param2 type nochntyp.
[usw...]

initialization.
  data(lo_ref) = new lcl_class(  ).
  sscrfields-functxt_01 = 'Text'.
  
at selection-screen.
  case sy-ucomm.
    when 'FC01'.
      lo_ref->get_value( '123456' ).
  endcase.

start-of-selection.
  write p_param.
Allerdings sind p_param1 usw. in der Methode get_value unbekannt. Da es sich um wirklich viele Eingabefelder handelt, wäre eine Lösung hilfreich, die nicht mit Methodenparametern arbeitet, sondern eher mit globalen Variablen oder was sonst geschickt wäre. Ich möchte eine ewig lange Liste von Importparametern vermeiden.

Viele Grüße
Margolwes


Re: Zugriff auf Eingabeparameter in Methode

Beitrag von ewx (Top Expert / 4396 / 220 / 488 ) »
Was spricht gegen die Standardfunktionalität der Varianten?

Re: Zugriff auf Eingabeparameter in Methode

Beitrag von Margolwes (ForumUser / 76 / 2 / 0 ) »
Es ist halt nicht immer dieselbe Vorbelegung. Heute muss ich Material 471111 als Kopie von 4711 anlegen (Medienprodukt als Vorlage für Medienausgabe), morgen 081515 als Kopie von 0815.

Der Vorgang ist: Wir soll eine Eingabemaske geben, mit der die Daten von 4711 gelesen werden können und dann die erforderlichen Felder vorbelegt werden. Die Angaben können ergänzt werden und dann wird das Material, gfls. auch in mehreren Ausgaben, angelegt.

Wenn ich diese Kopierfunktion durch eine Variante, bei der die Felder manuell belegt werden müssten, ersetzen würde, dann könnte ich das Material auch gleich manuell anlegen.

Re: Zugriff auf Eingabeparameter in Methode

Beitrag von tm987456 (ForumUser / 69 / 39 / 13 ) »
Liest sich so, als wäre ein eingabebereiter ALV dafür besser geeignet als ein Selektionsbild

Re: Zugriff auf Eingabeparameter in Methode

Beitrag von wreichelt (Expert / 865 / 23 / 147 ) »
Hallo,

wenn es um das Kopieren von Materialstämmen ( 4711 -> 47111) geht, kann dafür die Transaction MMCC verwendet werden.

Gruß Wolfgang

Re: Zugriff auf Eingabeparameter in Methode

Beitrag von ewx (Top Expert / 4396 / 220 / 488 ) »
Margolwes hat geschrieben:
16.04.2021 15:48

Allerdings sind p_param1 usw. in der Methode get_value unbekannt.
Dann musst du die Parameters Anweisung VOR die Klassendefinition setzen.
Ist aber nicht schön.

Besser wäre: Du definierst alle param-Felder als EXPORTING parameter in der Methode GET_VALUE und übergibst die Daten sauber.

Re: Zugriff auf Eingabeparameter in Methode

Beitrag von Margolwes (ForumUser / 76 / 2 / 0 ) »
Besser wäre: Du definierst alle param-Felder als EXPORTING parameter in der Methode GET_VALUE und übergibst die Daten sauber.
Ja, habe mich letztlich dafür entschieden. Um nicht bei jedem Methodenaufruf eine Endlosliste an Exporting-Parametern zu haben, werden nun alle Werte der Selektionsparamter in eine Struktur geschrieben und dann wird diese als Exporting-Parameter verwendet.

Seite 1 von 1

Über diesen Beitrag



ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Vergleichbare Themen

Zugriff aus ABAP auf eine Java-Methode
von crux » 04.06.2007 15:11
Code Inspector - Eingabeparameter nicht möglich
von SaskuAc » 22.05.2018 14:59
Zugriff auf Struktur in OO
von mazu » 04.10.2007 12:07
Zugriff auf ein BAPI mit PHP!
von Andy1983 » 21.06.2005 11:25