Leider hatte ich Debug-Modus eh vorher schon probiert aber da kann ich leider keinen Hinweis finden:
Code:
RPG-PGM:
Der Zugriffsplan der Abfrage wurde erneut erstellt.  
****: Debug-Nachrichten für Abfrage  werden beendet. 
ODP erstellt.                                        
Blockung für Abfrage.                                
Cursor SQLCSR eröffnet.                              
Anweisung GET DIAGNOSTICS beendet.                   
Zeichen in CAST-Argument ungültig.                   
Schritt in Zeile 1168   beendet.

STRSQL:
****: Debug-Nachrichten für Abfrage  werden beendet.     
ODP erstellt.                                            
Blockung für Abfrage.                                    
Verbindung zur relationalen Datenbank DEGRPA50 beendet.  
SQL-Cursor geschlossen.
Das mit dem coalesce hätte ich schon im Hinterkopf.
Meine Anforderung war das ich folgenden RPG-Code als Sql-Statement abbilden wollte:
Code:

FILE:     ART1P    ART2P    ART3P  
FELD:    ARTBZ1    ARTBZ2    ARTBZ3
READ ART1P


CHAIN KEY3 ART3P;    
*IN50 = NOT %FOUND;      
IF *IN50;                
  ARTBZ3 = *BLANKS;      
else;                    
  ARTBZ1 = ARTBZ3;       
endif;                   
if ARTBZ1 = *blanks;     
  chain tnr ART2P;  
  if %found(ART2P);    
    ARTBZ1 = ARTBZ2;      
  endif;                 
endif;                   


Inhalt von ARTBZ1 wird dem Bildschirmfile zugewiesen
Hier habe ich das nur mit dem Case-Konstruct hingebracht.