Zitat Zitat von B.Hauser
Hallo,

leider gibt es in SQL erst ab Release V5R3M0 eine Funktion REPLACE, die es ermöglicht Zeichen aus einem String zu entfernen.

PHP-Code:
D MyText S 50A inz('ABC XYZ 1234 567890 A')
*----------------------------------------------------------
C/EXEC SQL 
C
Set :MyText Replace(:MyText' '''
C/End-Exec 
 
C MyText Dsply 
Eval *INLR = *On 
Wenn Du diese Funktionalität vor Release V5R3M0 unbedingt in SQL braucht, hast Du nur die Möglichkeit Dir eine User Defined Function (UDF) zu stricken.

Dabei kann es sich entweder um eine Funktion z.B. in RPG geschrieben, die als UDF registriert wird, oder die direkt in SQL geschrieben ist.

Die folgende Funktion müsste funktionnieren:
PHP-Code:
Create Function MyLib/RmvCharacter 
(InString VarChar(100),RepChar VarChar(1)) 
returns varchar(100
Language SQL 
BEGIN 
Declare OutStr varchar(100); 
Declare 
StrPos integer
Set OutStr InString
Set StrPos = -1
While 
StrPos <> Do 
Set StrPos locate(RepCharOutStr1); 
If 
StrPos 
and StrPos Length(OutStr) - 
Then Set OutStr 
substr(OutStr1StrPos 1concat 
substr
(OutStrStrPos 1
Length(OutStr) - StrPos); 
ElseIf 
StrPos Length(Outstr
Then Set OutStr substr(OutStr1StrPos 1); 
ElseIf 
StrPos 
Then Set OutStr 
substr(OutStr2Length(Outstr) - 1); 
End If; 
End While; 
Return 
OutStr
END 
Birgitta
Hallo Zusammen,

bis hierher ist mir ja noch alles verständlich. Aber ein PHP-Script auf der AS400 ?? Geht das?

Gruss,

Thilo