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 / 225 / 65 / 28 ) »
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 / 225 / 65 / 28 ) »
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.
19191
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.
4829
Views
COND in Schleife
von SaskuAc » 18.06.2018 08:08 • Verfasst in ABAP® für Anfänger
4
Antw.
3637
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.
2704
Views
ABAP-interner Bug bei COND-Operator?
von DeathAndPain » 10.08.2018 19:16 • Verfasst in ABAP® für Anfänger
7
Antw.
8802
Views
Select , where Feld is Initial
von autohandel7 » 06.06.2019 10:36 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

SFP/SEGW - Fehler beim Rendering
vor 6 Tagen von Manfred K. 1 / 20189
Pflegeview zeigt nicht alle Daten an
vor einer Woche von sapdepp gelöst 7 / 20659
ALV Grid und Dynprofeld
vor einer Woche von PeterPaletti 5 / 20259

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.

Aktuelle Forenbeiträge

SFP/SEGW - Fehler beim Rendering
vor 6 Tagen von Manfred K. 1 / 20189
Pflegeview zeigt nicht alle Daten an
vor einer Woche von sapdepp gelöst 7 / 20659
ALV Grid und Dynprofeld
vor einer Woche von PeterPaletti 5 / 20259

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
vor 6 Tagen von Manfred K. 1 / 20189
Benutzerdefinierte Felder PSP
letzen Monat von Rabea1103 1 / 70636
Spool vereinen OTF und PDF
January 2026 von anna2205 1 / 86678
XSLT und Loipro05 Transformation
December 2025 von Torsten1965 1 / 98508