Du machst das einfach mit dynamischem SQL, d.h. du bildest zur Laufzeit einen String mit dem kompletten SQL Statement und dann führst Du es mit EXECUTE IMMEDIATE aus.

Etwa so:

Code:
Create Or Replace Procedure LIB.TEST (In PARLIB Char(10) Default (''),
                                       In PARFILE Char(10), 
                                       In PARFELDA Char(6) Default (' '),
                                       In PARFELDB Char(30) Default (' '))
      Language SQL
      Deterministic
P1: Begin
    Declare CmdSQL  VarChar(1096) Not NULL Default '';
    
    Set CmdSQL = 'Update ' concat Trim(ParLib)   concat '/' concat Trim(ParFile) concat
                   ' set ' concat Trim(ParFeldB) Concat 
                           ' = (Select FeldC
                                  From File_Z
                                  Where FeldD = ''' concat ParFeldA Concat ''')';
    Execute Immediate CmdSQL;                              
   
End P1;
Noch ein paar kleine Anmerkungen.
1. Du solltest NIE Sonderzeichen in Deinem Source Code verwenden, da diese nicht immer international sind und dann auf anderen Maschinen Probleme bereiten können. Gerade das Paragraphen-Zeichen kann in der US-amerikanischen Umgebung nicht verwendet werden. In deren Zeichensatz steht an dieser stelle das @-Zeichen.

2. Du solltest eine Fehler-Prüfung einbauen.
Entweder über einen Handler oder zumindest über GET DIAGNOSTICS den SQLCODE (DB2_RETURNED_SQLCODE), SQLSTATUS (RETURNED_SQLSTATE)oder die Fehlermeldung (MESSAGE_TEXT) ermitteln.

Birgitta