Danke schon mal.
Meine Tests sind aber nicht weit gekommen.
Unter 7.1 ergibt die DB-Def mit nvarchar letztlich vargraphic mit ccsid 1200, die alte version vargraphic mit ccsid 13488 (laut ddl generator).

DB:
alter table stestdb3 add column dspucs nvarchar(40)
alter table stestdb3 add column dspucs2 vargraphic(40) ccsid 13488

dspf:
A R BEARBEIT
A CF03
A CF12
A RTNCSRLOC(&PFMT &PFLD)
A OVERLAY
A PFMT 10A H
A PFLD 10A H
A DSPUCSF 40G B 9 16CCSID(13488 *LEN 20)

sqlrpge:

dcl-f UCSTESTF workstn(*ext) ;

dcl-s wsdspucs ucs2(40);

dou *inlr = *on;
Exec Sql
Select Dspucs2
Into :Wsdspucs
From Stestdb3 Where Idcol = 22;

dspucsf=%char(wsdspucs);

Exfmt Bearbeit;

if *inkc = *on OR *inkl = *on;
leave;
ENDIF;

ENDDO;

*inlr=*on;


Ergebnis:
call ucstestr
CPF5192 An Einheit QPADEV02GX gesendete Daten sind ungültig. Negativer Antwortcode ist 10050141.
RNX1251 Permanenter E/A-Fehler in Datei UCSTESTF aufgetreten.
RNQ1251 Permanenter E/A-Fehler in Datei UCSTESTF aufgetreten (C G D F).
C
RNQ1251 Permanenter E/A-Fehler in Datei UCSTESTF aufgetreten (C G D F).
C
CEE9901 Anwendungsfehler. RNX1251 nicht überwacht durch UCSTESTR bei Anweisung 0000006400, Instruktion X'0000'.

Und nun?