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 / 4399 / 223 / 1182 ) »
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.
6325
Views
Select , where Feld is Initial
von autohandel7 » 06.06.2019 10:36 • Verfasst in ABAP® für Anfänger
3
Antw.
1190
Views
0 in curreny-feld löschen
von L0w-RiDer » 24.07.2020 14:53 • Verfasst in ABAP® für Anfänger
11
Antw.
3953
Views
Sonderzeichen aus einem Feld löschen
von Gast » 07.02.2006 13:56 • Verfasst in ABAP® für Anfänger
8
Antw.
5144
Views
Feld einer internen Tabelle dynamisch löschen
von Hagbard » 16.08.2005 15:28 • Verfasst in ABAP® für Anfänger
6
Antw.
10580
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

Regex in where
vor 9 Stunden von edwin 7 / 166
Daten an Tabelle binden
vor 22 Stunden von Bright4.5 3 / 1487

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

Regex in where
vor 9 Stunden von edwin 7 / 166
Daten an Tabelle binden
vor 22 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822