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.
4957
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.
3049
Views
COND in Schleife
von SaskuAc » 18.06.2018 08:08 • Verfasst in ABAP® für Anfänger
4
Antw.
1040
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.
1629
Views
ABAP-interner Bug bei COND-Operator?
von DeathAndPain » 10.08.2018 19:16 • Verfasst in ABAP® für Anfänger
6
Antw.
10698
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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1759
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2304

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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1759
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2304

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 311
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 907
MS-Word als Editor
letzen Monat von tekko 1 / 4408