-
Problem bei Abfrage bei Imbedded SQL
Hallo allerseits,
ich werd bald verrückt:
Ich habe folgendes SQL:
...
C/exec sql
+ declare chkbtc_sq1 dynamic scroll cursor with hold for
+ select * from chkbtc
+ where
+ btcabt like :a12abt
+ order by
+ btcpri, btcdat, btcnr
+ for read only
C/end-exec
*
C/exec sql
+ close chkbtc_sq1
C/end-exec
C/exec sql
+ open chkbtc_sq1
C/end-exec
...
Gelesen wird in Schleife bis EOF:
C/exec sql
+ fetch next from chkbtc_sq1 into
+ :btcnr, :btcapp, :btcabt, :btcpri, :btcdat, :btc
+ :btcaktnr, :btcaktpo, :btcaktty, :btcakttx,
+ :btccrtu, :btccrtd, :btcchgu, :btcchgd
C/end-exec
In der Datei gibt es Sätze mit BTCABT = 'WE' und 'EK'
Bei A12ABT = '%WE% ' findet das Pgm die WE-Sätze, ok.
Bei A12ABT = '%%E% ' findet das Pgm alle Sätze, ok.
Bei A12ABT = '%E% ' findet das Pgm nichts. Warum??
Bei A12ABT = '%% ' findet das Pgm auch nichts. Warum??
Im interaktiven SQL finde ich alle Sätze wie es sein sollte.
Das kann doch nicht so schwer sein...
Kann mir da jemand helfen?
Gruß
Christian
-
Zitat von cbe
Hallo allerseits,
ich werd bald verrückt:
Ich habe folgendes SQL:
...
C/exec sql
+ declare chkbtc_sq1 dynamic scroll cursor with hold for
+ select * from chkbtc
+ where
+ btcabt like :a12abt
+ order by
+ btcpri, btcdat, btcnr
+ for read only
C/end-exec
*
C/exec sql
+ close chkbtc_sq1
C/end-exec
C/exec sql
+ open chkbtc_sq1
C/end-exec
...
Gelesen wird in Schleife bis EOF:
C/exec sql
+ fetch next from chkbtc_sq1 into
+ :btcnr, :btcapp, :btcabt, :btcpri, :btcdat, :btc
+ :btcaktnr, :btcaktpo, :btcaktty, :btcakttx,
+ :btccrtu, :btccrtd, :btcchgu, :btcchgd
C/end-exec
In der Datei gibt es Sätze mit BTCABT = 'WE' und 'EK'
Bei A12ABT = '%WE% ' findet das Pgm die WE-Sätze, ok.
Bei A12ABT = '%%E% ' findet das Pgm alle Sätze, ok.
Bei A12ABT = '%E% ' findet das Pgm nichts. Warum??
Bei A12ABT = '%% ' findet das Pgm auch nichts. Warum??
Im interaktiven SQL finde ich alle Sätze wie es sein sollte.
Das kann doch nicht so schwer sein...
Kann mir da jemand helfen?
Gruß
Christian
Hast Du bei Deiner Interaktiven SQL-Abrage auch immer die *Blanks hinter dem Prozent-Zeichen oder nicht?
So wie Deine Abfrage im embedded SQL aussieht, wird nach einer bestimmten Anzahl *Blanks am Ende des Feldes gesucht.
Wenn dies nicht so sein sollte hast Du 2 Möglichkeiten
1. Dein Feld a12abt muss eine variable Länge haben und die folgenden *Blanks müssen über %TRIMR entfernt werden.
2. im SQL muss die Funktion RTRIM verwendet werden, um die folgenden *Blanks zu entfernen, also like TRIMR(:A12ABT)
Birgitta
-
klasse, genau das wars
An sowas kann man Stunden verbringen...
Vielen Dank!
Similar Threads
-
By AS400-Anfänger in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 27-06-06, 13:18
-
By behmer in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 29-05-06, 12:52
-
By Stefan_Sk in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 26-05-06, 16:37
-
By Lucky4712 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 24-05-06, 15:57
-
By HoScHiE in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 04-10-01, 14:24
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks