Feld nach löschen INITIAL oder ''

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

Feld nach löschen INITIAL oder ''

Beitrag von achamees (ForumUser / 11 / 0 / 0 ) »
Hallo zusammen,

ich frage mich gerade, ob ein Datenbank-Feld nachdem es schon einmal mit einem Wert belegt wurde, der Wert jedoch in der Dynpro wieder gelöscht wurde, dann '', also leerer String oder INITIAL ist?

Muss ich also Abfragen

Code: Alles auswählen.

IF zz_feld IS INITIAL.
oder

Code: Alles auswählen.

IF zz_feld EQ ''.
Danke im Voraus!

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


Re: Feld nach löschen INITIAL oder ''

Beitrag von a-dead-trousers (Top Expert / 4478 / 231 / 1204 ) »
hi!

Kurze Antwort: Ich würde mal auf BEIDES tippen.
Lange Antwort: Das hängt vom Datentyp ab.

Wenn du (wie in deinem Beispiel) einen Leerstring zuweisen kannst, wird es sich um ein Zeichenartigen Typ handeln und da ist '' = initial.
Aber dazu gibts in der ABAP-Hilfe eine gute Erklärung wann etwas "initial" ist.
Grundsätzlich gilt:
- bei zeichenartigen Typen '' = initial
- bei numerischen Typen 0 = initial
- bei binär (hex) Typen '00' = initial

Wichtige Ausnahmen:
Ein String (zeichenartig) der (nur) Leerzeichen enthällt ist nicht initial. (Länge 0 = initial)
Ein XString (binär) der (nur) Nullzeichen enthällt ist nicht initial. (Länge 0 = initial)
Eine Uhrzeit (zeichenartig) die nur Leerzeichen enthällt ist nicht initial. ('000000' = Initial)
--> da stolpere ich selbst hin und wieder darüber.

Bei strukutierten Typen müssen alle Felder initial sein, damit die ganze Struktur initial ist.
Bei tabellarischen Typen dürfen keine Zeilen vorhanden sein, damit die Tabelle initial ist.

lg ADT

EDIT:
Eine Sonderform gibts übrigens noch:
Wenn du bei einer DB-Tabelle eine neue Spalte einfügst, wird in allen bereits vorhandenen Zeilen der Tabelle für diese Spalte NULL eingetragen. Das ist insofern problematisch, da SAP kein NULL kennt. Wenn du diese Werte in einer Query nun mit EQ SPACE oder IS NULL abfragst und das einmal mit und einmal ohne Tabellenpuffer durchführst wirst du unterschiedliche Ergebnisse erhalten.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Feld nach löschen INITIAL oder ''

Beitrag von achamees (ForumUser / 11 / 0 / 0 ) »
hallo adt,

danke für die ausführliche Rückmeldung. Die Info, die ich gebraucht habe war, dass bei zeichenartigen Typen '' = initial ist. Ich hantiere grundsätzlich mit CHAR Datenelementen. Also passt des!

Merci!

Seite 1 von 1

Vergleichbare Themen

7
Antw.
8722
Views
Select , where Feld is Initial
von autohandel7 » 06.06.2019 10:36 • Verfasst in ABAP® für Anfänger
3
Antw.
2750
Views
0 in curreny-feld löschen
von L0w-RiDer » 24.07.2020 14:53 • Verfasst in ABAP® für Anfänger
0
Antw.
1800
Views
Dynprofelder initial setzen
von ti » 20.08.2007 12:39 • Verfasst in Sales and Distribution
0
Antw.
1922
Views
Dynprofelder initial setzen
von ti » 20.08.2007 11:17 • Verfasst in ABAP® für Anfänger
6
Antw.
4688
Views
Select for all entries Abfrage auf Initial
von Murdock » 20.03.2013 11:18 • 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

Benutzerdefinierte Felder PSP
letzen Monat von Rabea1103 1 / 46555
Spool vereinen OTF und PDF
letzen Monat von anna2205 1 / 62886
XSLT und Loipro05 Transformation
December 2025 von Torsten1965 1 / 72094