-
Noch ein Hinweis: Wenn ich versuche, das obige PGM zu kompilieren, bekomme ich sehr viele Fehlermeldungen, die ich hier gar nicht alle posten kann. Der Compiler kann mit den ganzen Sache nichts anfangen.
-
Ein Parameter vom Typ CLOB ist leider nicht möglich. Du kannst CLOB ausschließlich in SQL verwenden.
Allerdings kannst du das Feld auch als Zeichenfeld definieren.
Dein Problem wird lediglich sein, wenn der Aufrufer mal zu wenig bereitstellt.
-
 Zitat von Fuerchau
Ein Parameter vom Typ CLOB ist leider nicht möglich. Du kannst CLOB ausschließlich in SQL verwenden.
Allerdings kannst du das Feld auch als Zeichenfeld definieren.
Dein Problem wird lediglich sein, wenn der Aufrufer mal zu wenig bereitstellt.
Ich möchte ja eine große Zeichenkette an eine SQL-Procedure oder Funktion übergeben. Würde es denn deiner Meinung nach gehen, wenn ich in der SQL-Procedure einen Parameter als clob deklariere und im RPG den Parameter z.B. als varchar(1000000) ?
Meine Idee wäre es noch, eine eigene Datenstruktur zu bauen, die den gleichen Aufbau wie die vom Precompiler generierte SQLTYPE Struktur hat. Ich habe das aber noch nicht probiert.
-
... der precompiler interessiert sich schnöde nicht für die like definition (so schlau ist der nicht). Nimm doch einfach
d bklopp s a len(1000000)
d ccsid(*jobrunmix)
D*B
-
Vielen Dank. Ich werde das mal ausprobieren.
-
Es scheint tatsächlich zu gehen, wenn man in der stored Procedure die Parameter als clob deklariert und im RPG-Programm einen varchar-Parameter mit passender Länge deklariert.
Ich habe etwas getestet und keine Probleme festgestellt.
Hier mein funktionierendes Beispiel:
-- Stored Procedure:
Code:
create or replace procedure scr/prcA (
in text1 clob(1M),
out text2 clob(1M) )
Language RPGLE
Not Deterministic
modifies sql data
called on null input
Parameter Style general
external name 'SCR/A';
-- SQL Funktion:
Code:
create or replace function scr/fktA(
text1 clob(1M)
)
returns clob(1M)
language sql
modifies sql data
not deterministic
begin
declare text2 clob(1M);
set text2 = '';
CALL scr.prcA(text1, text2);
return text2;
end;
//RPG:
Code:
**free
//==================================================================================
//Main:
//==================================================================================
dcl-pi *n;
clob1 varchar(1000000) const;
clob2 varchar(1000000);
end-pi;
clob2 = 'hallo ' + clob1 + ' ende';
*inlr = *on;
return;
Beispielaufruf:
select scr.fktA('Test') from sysdummy1;
=> Ergebnis: hallo Test ende
-
 Zitat von dschroeder
Noch ein Hinweis: Wenn ich versuche, das obige PGM zu kompilieren, bekomme ich sehr viele Fehlermeldungen, die ich hier gar nicht alle posten kann. Der Compiler kann mit den ganzen Sache nichts anfangen.
... wie hast du das compilierte? das Klopp Feld wird erst vom pre Compiler umgesetzt und dessen Umsetzung müsste doch wohl als Parameter verwendbar sein.
D*B
-
 Zitat von BenderD
... wie hast du das compilierte? das Klopp Feld wird erst vom pre Compiler umgesetzt und dessen Umsetzung müsste doch wohl als Parameter verwendbar sein.
D*B
Die Fehlermeldungen kommen vom Compiler. Der Precompiler läuft durch. Trotzdem gibt es Fehler wegen irgendwelcher nicht definierten Variablen. Es ist auch ein Unterschied, ob ich die Deklaration des Template oberhalb oder unterhalb der Eingangsparameter mache. Bei normalen Variablen spielt das ja keine Rolle.
Similar Threads
-
By dholtmann in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 22-07-16, 08:57
-
By Malte in forum NEWSboard Java
Antworten: 2
Letzter Beitrag: 19-02-16, 10:01
-
By philsturm in forum NEWSboard Programmierung
Antworten: 14
Letzter Beitrag: 01-09-14, 09:43
-
By XMan in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 20-12-13, 08:50
-
By Markus Ralf in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 08-08-01, 14:29
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