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.
19518
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.
4955
Views
COND in Schleife
von SaskuAc » 18.06.2018 08:08 • Verfasst in ABAP® für Anfänger
4
Antw.
3762
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.
2763
Views
ABAP-interner Bug bei COND-Operator?
von DeathAndPain » 10.08.2018 19:16 • Verfasst in ABAP® für Anfänger
7
Antw.
8996
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

LSMW-Problem
vor 10 Stunden von mazu gelöst 5 / 726
ATC Finding in Smartforms
vor 4 Tagen von sap_enthusiast 2 / 701

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

LSMW-Problem
vor 10 Stunden von mazu gelöst 5 / 726
ATC Finding in Smartforms
vor 4 Tagen von sap_enthusiast 2 / 701

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 77566
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 130666