COND #( WHEN x IS NOT INITIAL THEN y ) funktioniert nicht

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

COND #( WHEN x IS NOT INITIAL THEN y ) funktioniert nicht

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Hallo zusammen,

ich verstehe das nicht:

--> ls_acdoca_post-prctr ist gefüllt
--> <ls_coc_mapp_offset>-prctr ist leer

Nur wenn in <ls_coc_mapp_offset>-prctr ein Wert <> Space steht soll das Feld ls_acdoca_post-prctr überschrieben werden.

Die IF Bedingungen wird korrekt ausgeführt, die folgenden COND Bedingungen überschreiben den Profitcenter immer fälschlicherweise mit space.

Was mache ich da falsch?

Code: Alles auswählen.

  IF <ls_coc_mapp_offset>-prctr  <> space.
    ls_acdoca_post-prctr = <ls_coc_mapp_offset>-prctr.
  ENDIF.

  ls_acdoca_post-prctr    = COND #( WHEN <ls_coc_mapp_offset>-prctr IS NOT INITIAL THEN <ls_coc_mapp_offset>-prctr ).
  ls_acdoca_post-prctr    = COND #( WHEN <ls_coc_mapp_offset>-prctr <> space       THEN <ls_coc_mapp_offset>-prctr ).
Danke und Gruß,

Wolfgang
Geht nicht gibts nicht

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


Re: COND #( WHEN x IS NOT INITIAL THEN y ) funktioniert nicht

Beitrag von tm987456 (ForumUser / 72 / 42 / 15 ) »
Mit a = cond #(). wird a immer ein Wert zugewiesen.
If none of the logical expressions are true, the result specified after ELSE is selected. If ELSE is not specified, the result is the initial value of the data type type.
https://help.sap.com/doc/abapdocu_lates ... /index.htm

In deinem Fall, muss du speziell den ELSE-Zweig programmieren:

Code: Alles auswählen.

ls_acdoca_post-prctr = COND #( 
  WHEN <ls_coc_mapp_offset>-prctr IS NOT INITIAL 
  THEN <ls_coc_mapp_offset>-prctr 
  ELSE ls_acdoca_post-prctr ).
Ob es dann noch leichter/schneller zu erfassen ist, als das IF?

Re: COND #( WHEN x IS NOT INITIAL THEN y ) funktioniert nicht

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Hallo tm,

ja das ist dann eher suboptimal, wollte die 6 Anweisungen schön in einer Zeile machen, aber so ist das eher verwirrend denke ich, schade.

Danke!

Gruß Wolfgang
Geht nicht gibts nicht

Seite 1 von 1

Vergleichbare Themen

12
Antw.
3352
Views
Value mit Corresponding und cond Operator, funktioniert nicht bei gleichen Feldnamen
von Romaniac » 04.09.2024 15:13 • Verfasst in ABAP® Core
6
Antw.
2849
Views
COND in Schleife
von SaskuAc » 18.06.2018 08:08 • Verfasst in ABAP® für Anfänger
4
Antw.
202
Views
neue Schreibweise COND für if then else
von Micha_ela » 06.11.2024 12:12 • Verfasst in ABAP® für Anfänger
0
Antw.
1512
Views
ABAP-interner Bug bei COND-Operator?
von DeathAndPain » 10.08.2018 19:16 • Verfasst in ABAP® für Anfänger
6
Antw.
10544
Views
IF NOT () IST INITIAL und IF() IST NOT INITIAL ?
von sapfuns » 17.01.2006 17:12 • 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.

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1646
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8249