[NEWSboard IBMi Forum]
Seite 2 von 4 Erste 1 2 3 ... Letzte
  1. #13
    Registriert seit
    May 2007
    Beiträge
    295
    Wie immer, viele Wege führen nach Rom.

    Bzgl dem CLOB_FILE... hier füge ich beim schreiben immer einen CAST ein (sicher ist sicher).
    zB:
    Code:
    //--------------------------------------
    DCL-PROC Main;
     DCL-S File SQLTYPE(CLOB_FILE) CCSID(1208) INZ;
    
     File_Name = '/tmp/test.txt';
     File_NL = %Len(%TrimR(File_Name));
     File_FO = SQFOVR;
     
     Exec SQL SET :File = CAST('Test1-' AS CLOB CCSID 1208);
     
     File_FO = SQFAPP;
     Exec SQL SET :File = CAST('Test2-' AS CLOB CCSID 1208);
    
    END-PROC;
    Greets
    Christian
    Anwendungsentwickler und ein bissal Systemoperator
    https://github.com/prsbrc
    LinkedIn

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Was man sich eben durch die Angabe von CCSID direkt auf der Variablen sparen kann.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #15
    Registriert seit
    Sep 2018
    Beiträge
    94
    Hallo,

    zunächst einmal: Herzlichen Dank für die vielen Antworten! :-) Das ist richtig beeindruckend!

    habe mir mal das von Scottklement.com angeschaut und auch ein entsprechendes Programm erstellt. Es funktioniert auch. Die Datei wird erstellt.

    Das Problem: Den Inhalt kann ich mir (egal welche Codepage ich nehmen) im WINDOWS Explorer nicht ansehen. Da sieht es der Inhalt von "helloworld.txt" so aus:

    È…““–@æ–™“„@

    Im iNavigator sieht es korrekt aus!

    hat jemand Erfahrung damit?

  4. #16
    Registriert seit
    Jan 2003
    Beiträge
    746
    Mein Trick ist, die Datei nach dem Erstellen gleich zu schliessen und erneut zu öffnen:

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

    Callp Close(Fd);
    Fd = Open(%Trim(IfsLink):O_CCSID+O_WRONLY+O_TEXTDATA:0: 0);

  5. #17
    Registriert seit
    Sep 2018
    Beiträge
    94
    Hallo Robert,

    vielen Dank für die Info.

    Ich habe die Datei geöffnet, reingeschrieben und wieder geschlossen!

    Deine Vorgehensweise werde ich gleich heute Mittag ausprobieren!

    Bin gespannt, ob das auch mit ö,ä,ü und ß funktioniert.

    Herzliche Grüße Frank

  6. #18
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Warum immer so kompliziert, wenn doch SQL die einfachste Methode ist?
    Ok, ich bin letzten auf ein Kundensystem gestoßen, wo ich keine SQL-Programme erstellen kann;-).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #19
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Warum immer so kompliziert, wenn doch SQL die einfachste Methode ist?
    Ok, ich bin letzten auf ein Kundensystem gestoßen, wo ich keine SQL-Programme erstellen kann;-).
    Dann erstell' das Programm das nächste Mal auf einer Maschine mit SQL und übernimm' das Objekt.
    Die Runtime ist auf jedem System vorhanden, d.h. embedded SQL Programme können auch ausgeführt werden, wenn kein SQL installiert ist! (War übrigens schon immer so!)
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  8. #20
    Registriert seit
    Jan 2003
    Beiträge
    746
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Warum immer so kompliziert, wenn doch SQL die einfachste Methode ist?
    Zugegeben ;-) Allerdings gibt es Dinge, ich mit SQL gar nicht erst versuchen würde. Zum Beispiel Office XML mit Variablen oder Textbausteinen mischen, statisches HTML mit Google Charts schreiben…

  9. #21
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Nun ja, HTML ist auch nur eine Form von XML und SQL unterstützt dies halt.
    Aber es ging ja nur un dem File-IO (Lesen/Schreiben) und das ist ja nur eine Set-Anweisung "Variable <=> CLOB_FILE".
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #22
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Warum immer so kompliziert, wenn doch SQL die einfachste Methode ist?
    Ok, ich bin letzten auf ein Kundensystem gestoßen, wo ich keine SQL-Programme erstellen kann;-).
    ... naja, wenn ich mir diesen Murks anschaue, der aus einer Deklaration mit SQLTYPE gemacht wird - eine Art Struktur mit prefix-Namen, die keine ist, da war doch ein RPGII Programmierer am Werk. Empfehlen kann ich das eher nicht! Vom Error Handling ganz zu schweigen.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  11. #23
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ich habe aber keine Probleme damit, und das Errorhandling ist halt SQLCODE und SQLSTATE.
    Und es ist halt einfacher als die C-Routinen einzubinden;-).
    Da es bereits seit V5R2 (oder so) existiert hat man halt an der Struktur nichts mehr geändert.
    Und damals klappte das auch ohne ILE.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  12. #24
    Registriert seit
    Sep 2018
    Beiträge
    94
    Zitat Zitat von RobertMack Beitrag anzeigen
    Mein Trick ist, die Datei nach dem Erstellen gleich zu schliessen und erneut zu öffnen:

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

    Callp Close(Fd);
    Fd = Open(%Trim(IfsLink):O_CCSID+O_WRONLY+O_TEXTDATA:0: 0);


    Wollte kurz berichten:

    hat alles geklappt! Vielen Dank!

    Grüße Frank

Similar Threads

  1. Programm aus QRPLOBJ wird dem echten Programm vorgezogen
    By dschroeder in 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
    By JoergHamacher in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 28-11-13, 10:56
  4. iSeries Tools direkt aus dem Internet
    By Kilianski in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 08-08-02, 17:07
  5. Von AS/400 direkt in MS-SQL-Server schreiben
    By Michael@Paff.de in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 28-04-02, 09:42

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •