PDA

View Full Version : Problem bei Procedur 'CLOSE' IFSIO_H



labm
06-06-12, 14:27
Hallo,
ich habe ein problem bei Datei schließen.
Ich verwnde das OPEN, WRITE und CLOSE API.
Nach einem erfolgreichen erstellung von einer Datei in IFS, kann ich nicht mehr erstellen oder Ändern in IFS problem bei schließen.

siehe Muster:
fd = open(%trimr(pfad) :O_CREAT+O_TRUNC+O_WRONLY + O_CCSID + o_textdata + o_text_creat : M_RDWR: cp_utf8);

data = 'blablabla...';

callp writea(fd: data :%len(data));

callp close(fd);


was mache ich falsch??

danke

labm
07-06-12, 07:09
Hallo,
diesen Fehler bekomme ich zuerst .


Nachrichten-ID . . . . . . . : CPE3021
Nachrichtendatei . . . . . . : QCPFMSG
Bibliothek . . . . . . . . : QSYS

Nachricht . . . : Der für das Argument angegebene Wert ist nicht korrekt.
Ursache . . . . : An eine Funktion wurden Argumentwerte übergeben, die nicht
korrekt sind, oder es wurde versucht, einen Vorgang für ein Objekt
durchzuführen, der für diese Objektart nicht unterstützt wird.
Fehlerbeseitigung: Das fehlerhafte Argument korrigieren und die Anforderung
wiederholen.


Hat jemand eine idee??

mfg

Hrs28
07-06-12, 12:17
Also die Datei wird erfolgreich im IFS erstellt. Und wann tritt dann genau dieser Fehler auf? Beim Write oder beim Close?

labm
07-06-12, 13:19
Danke,
ich habe das Problem gelöst.
Es lag beim Open.
so gehts:
flags = O_CREAT+O_TRUNC+O_WRONLY + O_CCSID + o_textdata + o_text_creat;
mode = m_rdwr ;
fd = open(%trimr(path) :flags :mode:cp_windows:0 );

Pikachu
07-06-12, 19:55
Bei Angabe von O_TEXT_CREAT wird ein fünfter Parameter benötigt, siehe Beschreibung API open() (http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/apis/open.htm).