Hallo,

mit || kann es Probleme geben. In manchen Umgebungen müssen stattdessen zwei !! angegeben werden.
Solange es nur um SQL geht ist die sicherste Lösung ist, wie Kuempi sagt, concat statt der || zu verwenden. Das ist international und gibt keine Probleme.

Was Dein Problem mit dem Text angeht. Du darfst den Text nur ausgeben, wenn auch einer angegeben wurde, d.h. Du benötigst eine zusätzlich CASE-Anweisung:

Etwa so (nicht getestet, da ich z.Z. keinen Zugriff auf eine iSeries habe)
PHP-Code:
Concat Case When Length(Trim(Left(WHFTXT28) <> 
            Then 
'       TEXT(' concat 
                 
'''' concat trim(left(WHFTXT 28)) concat '''' 
                 
concat ')'
            
End 

Birgitta