Habe folgendes zu diesem Thema nochmals ausprobiert:

Flags = O_WRONLY + O_CREAT + O_APPEND + O_CCSID +O_TEXTDA
O_CODEPAGE + O_TEXT_CREAT;
Mode = S_IRWXU + S_IRWXG + S_IRWXO;
Fd = Open(%Trim(txt_file):Flags:Mode:1252);

Ergebnis: Fehler (Fd= -1)

auch

Flags = O_WRONLY + O_CREAT + O_APPEND + O_CCSID +O_TEXTDATA +
O_TEXT_CREAT;
Mode = S_IRWXU + S_IRWXG + S_IRWXO;
Fd = Open(%Trim(txt_file):Flags:Mode:0);

lieferte nur einen Fehler (Fd= -1)

Gebe ich eine 2. CCSID an (wie im Beispielcode in dem Link):
Flags = O_WRONLY + O_CREAT + O_APPEND + O_CCSID +O_TEXTDATA +
O_TEXT_CREAT;
Mode = S_IRWXU + S_IRWXG + S_IRWXO;
Fd = Open(%Trim(txt_file):Flags:Mode:1252:1252);

Bekomme ich einen Umwandlungsfehler mit dem Hinweis:
RNF5407 20 1 Mehr Parameter im Prototypaufruf übergeben als zulässig.

Im Beispiel werden ja auch die beiden Parameter mit übergeben:

unsigned int file_ccsid = 819;
unsigned int open_ccsid = 37;

/************************************************** */
/* First create the file with the CCSID 819, and */
/* open it such that the data is converted */
/* between the the open CCSID of 37 and the */
/* file's CCSID of 819 when writing data to it. */
/************************************************** */

if ((fd=open(name,oflag1,mode,file_ccsid,open_ccsid)) < 0)