Weiß die Methode ob ein optionaler Parameter übergeben wurde

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

Weiß die Methode ob ein optionaler Parameter übergeben wurde

Beitrag von OBOP (ForumUser / 1 / 1 / 0 ) »
Wenn ihr einen optionalen Parameter für eine Methode übergibt, kann die Methode auf irgendeine Weise eindeutig wissen, dass der Parameter übergeben wurde, so dass eine Fallunterscheidung möglich ist? Im Sinne "Wenn Paramter übergeben Fall 1, ansonsten Fall 2".

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Weiß die Methode ob ein optionaler Parameter übergeben w

Beitrag von black_adept (Top Expert / 3947 / 105 / 886 ) »
F1 zu den Statements "IS SUPPLIED" und/oder "IS REQUESTED"

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
OBOP

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Weiß die Methode ob ein optionaler Parameter übergeben w

Beitrag von a-dead-trousers (Top Expert / 4286 / 214 / 1142 ) »
hi!

Ich würde empfehlen diese beiden Statements nur SEHR SPARSAM zu verwenden.
Wenn man mit abgeleiteten Klassen arbeitet und die SUPER-Verarbeitung aufrufen möchte steht man damit sehr schnell im Eck. Die Information von IS SUPPLIED bzw. IS REQUESTED wird nämlich nicht vom ursprünglichen Aufrufer geerbt sondern immer vom aktuellsten. Bei n Parametern die auf diese Statements reagieren müsste man der Vollständigkeit halber n^n Varianten für den Super-Aufruf in der abgeleiteteten Methode programmieren.

Manchmal würde ich meinem vergangenen Ich deswegen gerne in den Hintern treten. Trotzdem übermannt mich dann hin und wieder auch die faule Sau die ich bin und ich verwende IS SUPPLIED bzw. IS REQUESTED für eine "schnelle" Lösung. Liebe Grüße an mein zukünftiges Ich inklusive. :evil:

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
gtoXXewx

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Weiß die Methode ob ein optionaler Parameter übergeben w

Beitrag von a-dead-trousers (Top Expert / 4286 / 214 / 1142 ) »
Hi!

Ich wurde darauf hingewiesen, dass n^n doch etwas zu hoch gestochen ist. (Danke black_adept)
Korrekt wäre 2 (Anzahl der Zustände) ^ N (Anzahl der Parameter) was aber immer noch eine ziemlich steile Kurve ergibt.

Um dem Ganzen (zumindest im eigenen Coding) etwas entgegen zu wirken könnte man mit Hilfe eines neuen Befehls aus dem 7.30er bzw. 7.40er eine schon etwas in die Jahre gekommene SAP Technik wiederbeleben:
Die X-Felder.

Code: Alles auswählen.

CALL METHOD me->internal_do_something(
  EXPORTING
    parameter1 = parameter1
    parameter1_x = xsdbool( parameter1 is supplied )
    parameter2 = parameter2
    parameter2_x = xsdbool( parameter2 is supplied )
    parameter3 = parameter3
    parameter3_x = xsdbool( parameter3 is supplied ) ).
Somit kann man sehr kompakt den IS SUPPLIED-Status an eine aufgerufene (interne) Methode zur Prüfung weiterreichen ohne Verrenkungen mit dyn. Parametern oder riesigen IF-Konstrukten nutzen zu müssen.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

10
Antw.
623
Views
10
Antw.
402
Views
Tabellen aus Methode übergeben
von Nion » 11.09.2023 07:34 • Verfasst in ABAP® für Anfänger
9
Antw.
18401
Views
iTAB an Methode übergeben
von Diesel83 » 09.03.2011 19:53 • Verfasst in ABAP® für Anfänger
15
Antw.
487
Views
Select-Options an Methode übergeben
von Karl der Große » 31.01.2024 17:00 • Verfasst in ABAP® für Anfänger
3
Antw.
997
Views
Datenbanktabellen-name als Parameter übergeben
von tekko » 28.09.2020 14:49 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.