-
RUNSQLSTM falsch aber Interaktiv OK
Hallo,
ich habe über strsql folgende Anweisung eingegeben, die tadellos funktioniert:
insert into Testbib/lagpf001
Select FIYE73, year(date(bsdt73+693594)), month(date(bsdt73+693594)), bety73, itnr73 from xivpf073
where (digits(fiye73) !! digits(bsdt73) !! bety73)=(select max((digits(fiye73) !! digits(bsdt73) !! bety73)) from xivpf073)
packe ich das ganze in ein Source-Member und lasse es mit RUNSQLSTM laufen gibts Probleme. Angemeckert werden die beiden Ausrufenzeichen, die ich zum Verbinden zweier oder mehrerer Felder verwende.
Hat jemand eine Idee warum das im Interaktiven funktioniert und mit runsqlstm nicht? Wie müßte der Befehl denn dann aussehen?
Gruß
Bernd
-
Hallo Bernd,
mit !! oder || gibt es Probleme, wenn diese im RUNSQLSTM oder Embedded SQL verwendet werden.
Benutze stattdessen die SQL Scalar Function CONCAT(), dann klappt's.
Birgitta
-
Hallo Brigitta,
vielen Dank für den Tip. Hat super funktioniert. Ist halt nur etwas mehr Tipparbeit und nicht so übersichtlich. Vielleicht bessert die IBM an dieser Stelle noch nach :-))
Gruß Bernd
-
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
Vielleicht bessert die IBM an dieser Stelle noch nach :-))
[/quote]
das ist wahrscheinlich nicht nötig. Ich benutze immer || auch in sourcen für RunSqlStm. Wichtig ist, dass die SrcPF eine passende CCSID ( DSPFD ) hat, bzw. dass eine Übersetzung ( DSPJOB ) möglich ist.
Gruß
Rolf
-
Hallo Rolf,
die CCSID ist bei uns 273, welche muß ich denn verwenden und wie stelle ich das ein? damit es läuft? So ganz komme ich mit deinem Hinweis nicht klar.
Gruß Bernd
-
Mit den Einstellungen :
Code:
SysVal
QCCSID : 273
Job
CCSID : 273
Tabelle
CCSID : 273
läuft das folgende source member mit runSqlStm
Code:
create table qtemp/zumTest
( line char (120)
);
insert into qtemp/zumTest
select CH_ConfigId || CH_ConfigText
from CH_Configuration;
und dieses kleine Progrämmchen ebenfalls
Code:
h DftActGrp(*no)
dline s 60a
c/Exec Sql
c+ declare c1 cursor for
c+ select CH_ConfigId || CH_ConfigText
c+ from CH_Configuration
c/End-Exec
c/Exec Sql
c+ open c1
c/End-Exec
c/Exec Sql
c+ fetch c1 into :line
c/End-Exec
c/Exec Sql
c+ close c1
c/End-Exec
c eval *inLr = *on
diese Einstellungen spielen zusammen und müssen passen. Wenn die Eingaben von einem PC aus erfolgen, muß auch die Code page passen, d.h. entweder gleich oder "übersetzbar" sein.
Gruß
Rolf
-
Hallo Rolf,
vielen Dank für die Infos. Hmm .. es geht. Toll :-))
Gruß Bernd
-
Mit dem RPG-Programm sollte man etwas vorsichtiger sein, da das Zeichen "|" ein sog. variantes Zeichen ist und somit der Hex-Code bereits zur Umwandlungszeit feststeht.
Läuft das Programm später unter einer anderen CCSID als die ursprüngliche CCSID der Quelle, funktioniert das nicht mehr, da ja das |-Zeichen nicht mehr übersetzt wird !
Datenumsetzungen erfolgen ausschließlich bei Datenzugriffen und nicht bei Programmkonstanten !!!
-
hallo birgitta,
ich darf mal zitieren:
>>Benutze stattdessen die SQL Scalar Function CONCAT(), dann klappt's.<<
wie müßte mein !!-statement denn mit concat() aussehen?:
blabla
set sdtxt2 = substring(sdtxt2, 1, 12) !!
'000000000000' !!
substring(sdtxt2, 25, 16)
blablaweiter
etwa so?:
set sdtxt2 = concat(substring(sdtxt2, 1, 12),
'000000000000' , !!
substring(sdtxt2, 25, 16) )
ich müßte in die mitte dieses feldes ein paar Nullen einbauen.
vielen dank im voraus!
gruß, karin
-
Hallo Karin,
ersetze in Deinem SQL-Statement einfach !! durch Concat:
set sdtxt2 = substring(sdtxt2, 1, 12) concat
'000000000000' concat
substring(sdtxt2, 25, 16)
Birgitta
-
hi birgitta,
1000dank! es funktioniert (natürlich!)... ich glaube, ich hatte vorher concatE geschrieben und bin dann irgendwann verzweifelt...
gruß, karin
Similar Threads
-
By muadeep in forum IBM i Hauptforum
Antworten: 13
Letzter Beitrag: 03-09-06, 20:11
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 05-05-06, 10:46
-
By Akku in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 04-07-05, 10:23
-
By Robi in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 03-05-05, 10:46
-
By emily in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 30-03-05, 10:05
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