IF 1 = 2. ???

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

IF 1 = 2. ???

Beitrag von tpau (ForumUser / 5 / 0 / 0 ) »
Hallo zusammen,

ich arbeite mich noch in ABAP ein und versuche duch "Code" - Lesen ein Feeling zu entwicklen. Ich sehe immer wieder mal Coding-Zeile, in von der SAP ausgelieferten ABAP - Programmen, wie diese:

:?: IF 1 = 2. MESSAGE e009(r3). ENDIF.

Message xxx ist mir klar, aber was soll der Ausdruck "1 = 2" bewirken? kann doch nie Wahr sein - oder?

Grüße
TPAU :D

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


Beitrag von Thomas R. (Expert / 766 / 84 / 40 ) »
Hallo TPAU,
vergiss solche Zeilen, das sind Überbleibsel aus der Entwicklung, während deren mal diese Meldung kommen sollte und mal nicht und mit der IF Abfrage eine einfache Möglichkeit zum Auffinden solcher Stellen gegeben ist. Besser als mit einem Kommentar (Bei meinen Programmen mache ich das manchmal ähnlich).

MfG
Thomas R.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo zusammen,

diese Schreibweise hat (für mich) einen sehr guten und wichtigen Grund. Nur so ist die Verwendung der Meldung über einen Verwendungsnachweis auffindbar, wenn sie z.B. in einem BAPI sonst nur in die BAPIRET2-Struktur oder im Application Log geschrieben wird.

Ich habe schon häufger erlebt, dass man zu einer Fehlermeldung den Ursprung herausbekommen wollte, dies aber wegen rein dynamische Verwendung nicht über den Verwendungsnachweis möglich war. Daher war man dann gezwungen, sich im Debugger durchzuhangeln, was in manchen Fällen äußert kompliziert und zeitintensiv war.

PS:
ich bevorzuge zu MESSAGE die Variante mit dem Zusatz INTO, weil man sich dadurch den IF sparen kann und nebenbei auch die SY-MSG* Felder gesetzt werden. (ja, statt dessen braucht man ein Ausgabefeld, was aber mit einer einfachen Stringvariablen kein Problem darstellt. Abgesehen davon kann man den String dann auch an BAPIRET2-MESSAGE zuweisen...)
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von GastX (Specialist / 288 / 6 / 20 ) »
Kurzer Kommentar:
wird meines Wissens auch bei Aufruf von Funktionsbausteinen verwendet.
Anwendungsbeispiel: man kann z.B. im FS-CD kundeneigene Fubas zu bestimmten Zeitpunkten reinhängen (tabellengesteuert, Customizing). Da der Name dem SAP vorher nicht bekannt ist und der Aufruf dynamisch erfolgt, könnte man den Aufrufzeitpunkt nicht ohne weiteres feststellen.

Als Vorlage gibt es aber Sample-Bausteine. Und die werden bisweilen in so einer "If 1 = 2"-Konstruktion aufgerufen, d.h., de facto nie, aber darüber kann man per Verwendungsnachweis die Aufrufstellen finden.
Gruß,
Frank

:D Vielen Dank für die Antworten

Beitrag von tpau (ForumUser / 5 / 0 / 0 ) »
@ GastX, ereglam und Thomas R.

:D Vielen Dank für die Antworten

Seite 1 von 1

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Materialstammerweiterung: Neuer Reiter
vor 4 Tagen von DeathAndPain gelöst 4 / 503
Ermittlung der Arbeitstage (Mosid)
vor 5 Tagen von Radinator 11 / 46157
LSMW-Problem
vor 2 Wochen von DeathAndPain gelöst 6 / 4048

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.