If-Abfrage auf mehre Initial Felder

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

If-Abfrage auf mehre Initial Felder

Beitrag von fabianj (ForumUser / 2 / 0 / 0 ) »
Hallo zusammen,

ich wollte wissen ob man das folgende auch besser gelöst bekommt. Wahrscheinlich habe ich gerade nur ein Brett vorm Kopf.

Code: Alles auswählen.

IF            dattab-pernr = ' ' AND
               dattab-team = ' ' AND
               dattab-fahrpunkte = ' ' AND
               dattab-fallpunkte = ' ' AND
               dattab-berpunkt = ' ' AND
               dattab-nebent = ' ' AND
               dattab-sollpunkt = ' '.
....
ENDIF.

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


Re: If-Abfrage auf mehre Initial Felder

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
hi!

Ich würde mir an deiner Stelle angwöhnen auf IS INITIAL zu prüfen. Zum Beispiel ist bei einem leeren STRING der Vergleich mit EQ ' ' falsch.

Was die Codemenge betrifft: Wenn du an mehreren Stellen eine ähnlich große Abfrage machen musst, wird es meines Erachtens Zeit sich Gedanken über die Datenstrukturen zu machen. Wenn du diese mit Hilfe von geschachtelten Strkturen aufgebaut hast, kannst du mehrere Felder sehr effizient abfragen.

Code: Alles auswählen.

types: 
  begin of ts_type_1,
    pernr TYPE dattab-pernr,
    team TYPE dattab-team,
  end of ts_type_1
types: 
  begin of ts_type_2,
    fahrpunkte TYPE dattab-fahrpunkte,
    fallpunkte TYPE dattab-fallpunkte,
    berpunkt TYPE dattab-berpunkt,
    nebent TYPE dattab-nebent,
    sollpunkt TYPE dattab-sollpunkt,
  end of ts_type_2.
types begin of ts_type_3.
  include type ts_type_1 as key_fields
  include type ts_type_2 as data_fields
types end of ts_type_3.

Code: Alles auswählen.

data: ls_data type ts_type_3.
* ...
if ls_data-data_fields is initial.
* Irgendetwas machen wenn die Datenfelder leer sind
endif.
if ls_data-key_fields is initial.
* Irgendetwas machen wenn die Schlüsselfelder leer sind
endif.
if ls_data is initial.
* Irgendetwas machen alle Felder leer sind
endif.
if ls_data-sollpunkt is initial.
* Irgendetwas machen wenn ein Feld leer ist
endif.
lg ADT
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: If-Abfrage auf mehre Initial Felder

Beitrag von fabianj (ForumUser / 2 / 0 / 0 ) »
Hallo,

danke für die schnelle Antwort, was mach ich wenn in den 3 Data-fields aber jeweils eine 0 steht?

Re: If-Abfrage auf mehre Initial Felder

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin.
wenn alle Felder der Feldleiste dattab auf initial geprüft werden sollen,
dann kann man das auch mit:

Code: Alles auswählen.

IF dattab is initial.
prüfen.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: If-Abfrage auf mehre Initial Felder

Beitrag von sapyard (ForumUser / 31 / 5 / 2 ) »
If you have other fields in your structure too and have no other options, your systax would be fine.

But if I were you, I would use initial.

Code: Alles auswählen.

IF            dattab-pernr IS INITIAL AND
               dattab-team IS INITIAL AND
               dattab-fahrpunkte IS INITIAL AND
               dattab-fallpunkte IS INITIAL.......
....
ENDIF.
Thanking you.

With Regards,
Raju.
----------------------
Raju Shrestha
www.sapyard.com
----------------------

Seite 1 von 1

Vergleichbare Themen

6
Antw.
3691
Views
Select for all entries Abfrage auf Initial
von Murdock » 20.03.2013 11:18 • Verfasst in ABAP® für Anfänger
2
Antw.
1287
Views
Initial-Felder auffüllen
von knut » 05.07.2005 11:58 • Verfasst in ABAP® Core
3
Antw.
2107
Views
Erstellen von mehre Batch Mappen für Bi
von scott111 » 22.05.2006 10:24 • Verfasst in Dialogprogrammierung
0
Antw.
1095
Views
6
Antw.
10271
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

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.