"Dynamische" Datenbankabfrage

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

"Dynamische" Datenbankabfrage

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

ich habe folgendes Problem:

Für ein Übungsbeispiel soll ich einen Selektionsbildschirm definieren. So weit so gut. Dieser Bildschirm hat einen Parameter und 4 weitere Eingabefelder in Form von SELECT-OPTIONS, von denen kein einziges ein Pflichtfeld ist.
Nun soll ich von einer Datenbank bestimmte Datensätze abfragen und in Form einer einfachen Liste auf dem Bildschirm ausgeben.

Genau jetzt kommt meine Schwierigkeit: Diese Datenbankabfrage soll "dynamisch" sein. Das bedeutet, wenn alle Felder leer sind und der User auf F8 drückt sollen ohne irgendwelche WHERE-Bedingungen einfach alle Datensätze ausgelesen werden. Hat der User in ein Feld etwas eingetragen, dann soll nach diesem Kriterium selektiert werden. Ich habe 5 Eingabefelder die ja entweder leer oder gefüllt sein können.

Jetzt die Frage: Gibt es eine Möglichkeit im SELECT-Block eine If-Bedingung einzufügen, die prüft ob eines der Felder leer ist? Ansonsten müsste ich (laut meiner Überlegung) alle 32 Möglichkeiten überprüfen, in welchen Feldern etwas drinnesteht und dann je nachdem im WHERE-Teil die Bedingung setzen. Das ist ziemlich viel Zeitaufwand, und wir Programmierer sind ja doch eher faul ;)
Oder gibt es da eine ganz andere Möglichkeit?


Vielen Dank schonmal für eure Hilfe :)

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


Re: "Dynamische" Datenbankabfrage

Beitrag von PeterPaletti (Specialist / 348 / 32 / 97 ) »
Mach doch einfach eine Range zum Parameter, dann kannst du mit einem Select und where...in...Bedingungen alles erschlagen

Re: "Dynamische" Datenbankabfrage

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Ich sehe hier überhaupt keine Notwendigkeit etwas abzufragen.
wenn man 4 mal Select-options plus einmal Parameters hat, kann man das einfach am select verarbeiten.

Code: Alles auswählen.

Select * from tabelle where SelOpt1 IN so_1 and SelOpt2 in so_2 .... 
and p_par eq 'X'.
Eine Prüfung auf leere SelOpts brauche ich nur, wenn ich gerade verhindern möchte,
das die "Ganze Datenbank" gelesen werden soll.

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.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1201
Views
Datenbankabfrage
von SLUK » 19.02.2018 18:48 • Verfasst in ABAP® für Anfänger
1
Antw.
1273
Views
Datenbankabfrage mit inner join
von egge » 05.02.2008 12:12 • Verfasst in ABAP® für Anfänger
9
Antw.
4227
Views
Problem bei der Datenbankabfrage
von vman » 16.05.2007 10:00 • Verfasst in ABAP® für Anfänger
4
Antw.
2128
Views
Datenbankabfrage vor einer Reservierung
von SYsa » 04.07.2017 12:46 • Verfasst in ABAP® für Anfänger
2
Antw.
1584
Views
Datenbankabfrage einschränken erzet = 8 bis 18 Uhr
von thomasxy » 04.01.2008 10:36 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Regex in where
vor 59 Minuten von black_adept 2 / 51
Programm anlegen mit Vorlage
vor 7 Stunden von DeathAndPain 2 / 108
IT0024 Qualifikationen CP-ID
vor 7 Stunden von DeathAndPain 2 / 349
BUSOBJEKT zu CMIS PHIO ermitteln
vor 9 Stunden von snooga87 1 / 79

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 59 Minuten von black_adept 2 / 51
Programm anlegen mit Vorlage
vor 7 Stunden von DeathAndPain 2 / 108
IT0024 Qualifikationen CP-ID
vor 7 Stunden von DeathAndPain 2 / 349
BUSOBJEKT zu CMIS PHIO ermitteln
vor 9 Stunden von snooga87 1 / 79

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 9 Stunden von snooga87 1 / 79
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3258
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9819