-
Zitat von Frankk
Alle Werte sind ja angegeben (Außer O_CCSID) aber es heißt ja: OR
Bei mathematischen Flags sollte man das "OR" eher als "plus" sehen, nicht als das (meist implizierte) "exklusiv-oder". Da kommt man schon mal durcheinander ;-)
-
Beachte im obigen Link den 5. Parameter "text file creation conversion ID".
Laut Beschreibung wäre das die CCSID die dein Programm benötigt. Was ich allerdings für blödsinn halte, wenn ich die erst aus dem Job lesen muss.
Allerdings könnte ich da dann auch z.B. 1200 für die Unicodefelder direkt angeben.
In den Beispielen findet man dann allerdings wieder beide Versionen:
1. Beispiel: Open => Close => Open => Write => Close
2. Beispiel: Open => write => CLose.
Beim 2. Beispiel wäre interessant, was bei CCSID 0 im 5. Parameter passiert, Fehler oder Job-CCSID?
-
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)
-
Du musst natürlich einen eigenen Prototyp definieren, der 5 Parameter erlaubt.
Die 2. CCSID muss dann auch eine DB-unterstützte CCSID wie 273, 1141, 1200 sein.
-
habs ausprobiert!
Hier der Code:
D open PR 10I 0 extproc('open')
D path * value options(*string)
D oflag 10I 0 value
D mode 10U 0 value options(*nopass)
D codepage 10U 0 value options(*nopass)
D codepage1 10U 0 value options(*nopass)
...
Flags = O_WRONLY + O_CREAT + O_APPEND + O_CCSID;
Mode = S_IRWXU + S_IRWXG + S_IRWXO;
Fd = Open(%Trim(txt_file):O_CCSID+O_WRONLY+O_TEXTDATA+
O_TEXT_CREAT:1252:273);
Fd = -1 (leider!!)
ich denke, mit der Variante
Open => Close => Open => Write => Close
kann ich gut leben!
-
-
... oder mit entsprechenden TR auch mit 7.3 verfügbar.
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 30-01-17, 13:36
-
By PFR in forum NEWSboard Programmierung
Antworten: 15
Letzter Beitrag: 05-01-16, 15:42
-
By JoergHamacher in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 28-11-13, 09:56
-
By Kilianski in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 08-08-02, 16:07
-
By Michael@Paff.de in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 28-04-02, 08:42
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks