[NEWSboard IBMi Forum]
Seite 4 von 4 Erste ... 3 4
  1. #37
    Registriert seit
    Aug 2001
    Beiträge
    2.470
    Zitat Zitat von Frankk Beitrag anzeigen
    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 ;-)
    www.RZKH.de -- wir bunkern Ihre IBM i - Daten!
    IBM i Community Advocate https://www.youracclaim.com/badges/6...c-7ad4ba147af6
    Common / CEAC
    Besuchen Sie http://ipublic.online - die öffentliche IBM i mit V7R4 für alle!

  2. #38
    Registriert seit
    Feb 2001
    Beiträge
    18.993
    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?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #39
    Registriert seit
    Sep 2018
    Beiträge
    80
    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)

  4. #40
    Registriert seit
    Feb 2001
    Beiträge
    18.993
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #41
    Registriert seit
    Sep 2018
    Beiträge
    80
    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!

  6. #42
    Registriert seit
    Feb 2001
    Beiträge
    18.993
    Diese Hinweise hätte ich nun glatt von Birgitta erwartet;-):
    https://www.ibm.com/support/knowledg...udfifsread.htm
    https://www.ibm.com/support/knowledg...ocifswrite.htm

    Schön, wer bereits V7R4 im Einsatz hat.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #43
    Registriert seit
    Nov 2020
    Beiträge
    57

Ähnliche Themen

  1. Programm aus QRPLOBJ wird dem echten Programm vorgezogen
    Von dschroeder im Forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 30-01-17, 14:36
  2. Antworten: 15
    Letzter Beitrag: 05-01-16, 16:42
  3. PDFs aus dem IFS ausdrucken - direkt von der IBMi
    Von JoergHamacher im Forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 28-11-13, 10:56
  4. iSeries Tools direkt aus dem Internet
    Von Kilianski im Forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 08-08-02, 17:07
  5. Von AS/400 direkt in MS-SQL-Server schreiben
    Von Michael@Paff.de im Forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 28-04-02, 09:42

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •