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 / 4460 / 227 / 1199 ) »
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.
7816
Views
Select , where Feld is Initial
von autohandel7 » 06.06.2019 10:36 • Verfasst in ABAP® für Anfänger
3
Antw.
2575
Views
0 in curreny-feld löschen
von L0w-RiDer » 24.07.2020 14:53 • Verfasst in ABAP® für Anfänger
11
Antw.
4268
Views
Sonderzeichen aus einem Feld löschen
von Gast » 07.02.2006 13:56 • Verfasst in ABAP® für Anfänger
6
Antw.
11250
Views
IF NOT () IST INITIAL und IF() IST NOT INITIAL ?
von sapfuns » 17.01.2006 17:12 • Verfasst in ABAP® für Anfänger
0
Antw.
1728
Views
Dynprofelder initial setzen
von ti » 20.08.2007 11:17 • 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

Username als Variable in xdc-Datei?
vor einer Woche von uli3480 1 / 1502
Substitution zum Zeitpunkt 60
vor 3 Wochen von irene 1 / 4102
CDS View Erweitern mit Hierarchie
vor 3 Wochen von Interger 1 / 6753
Intervall mit Beziehungswissen füllen
letzen Monat von wolli 1 / 40653