[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2004
    Beiträge
    60

    XML Datei generieren ISO-8859-1

    Hallo,

    ich habe ein Programm das im IFS eine XML Datei erzeugt aber im Kopf steht dann Encoding UTF-8 ich benötige aber ISO-8859-1 .

    was müsste ich ändern um ISO-8859-1 zu bekommen?

    Hier das Programm
    CTL-OPT OPTION(*SRCSTMT:*NODEBUGIO);
    DCL-S PDebxml SQLTYPE(XML_CLOB_FILE) ccsid(273);

    dcl-s wktime timestamp inz;

    exec sql SET OPTION COMMIT = *NONE,
    CLOSQLCSR = *ENDMOD,
    DATFMT = *ISO ;

    time wktime
    PDebXml_Name = '/eGECKO/PRD/' + 'Debitor_1_000_' +
    '_' + %trim(%char(WKtime)) + '.xml' ;
    PDebXml_NL = %len(%trimr(PDebXml_Name)) ;
    PDebXml_FO = SQFOVR ;
    exec sql values(select
    XMLELEMENT(NAME "eGeckoPersonenkonten",
    XMLELEMENT(NAME "objectgroupNr", '99'),
    (select xmlagg(
    XMLELEMENT(NAME "Personenkonto",
    XMLELEMENT(NAME "kontenart", 'D'),
    XMLELEMENT(NAME "kontonummer", trim(char(kdkdnr) ) ),
    XMLELEMENT(NAME "bezeichnung", trim(char(kdkuna) ) ),
    XMLELEMENT(NAME "umsatzsteuerIdentNummer", trim(kdidld)
    concat trim(kdidnr) ) ) )
    from kdst where kdkdar = '1' ))
    from sysibm.sysdummy1) into :PDebXml;

    *inlr = *on;


    Gruß DD3TJ
    Thibaut F.

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    K.a. ob das funktioniert, aber Lt
    https://www.ibm.com/docs/en/i/7.4?to...lues-defined-i

    ist 8859-1 die ccsid 819
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Die Frage ist auch hier, wo gebe ich das "Encoding" für den XML-Header mit an.
    Statt 819 würde ich eher 1252 empfehlen. Die Differenzen sind i.W. nur das €-Zeichen.

    Code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    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

  4. #4
    Registriert seit
    Nov 2020
    Beiträge
    315
    Grundsätzlich kannst du beim XMLSERIALIZE das Encoding ausgeben lassen.
    Das Encoding ergibt sich aus dem Inhalt automatisch:

    Code:
    values(
        xmlserialize (
            xmldocument(
                xmlelement(name "tag", 'wert')
            )
        As clob(1k) CCSID 1141 INCLUDING xmldeclaration
        )
    )
    HTML-Code:
    <?xml version="1.0" encoding="IBM01141"?><tag>wert</tag>
    Ich kann nur keine CCSID 819 dort angeben.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Aber 1252 sollte gehen. Korrekt wäre aber ISO-8859-1;-).
    Bei 1252 könnte man dann die Ausgabedatei aber manuell oder per Script das Encoding anpassen.
    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

  6. #6
    Registriert seit
    Jul 2004
    Beiträge
    60
    Leider geht 1252 nicht.

    auch mit der SQL Funktion CALL QSYS2.OVERRIDE_QAQQINI kann ich weder 819 noch 1252 setzen
    1141 oder 237 sind kein Problem

    also wie könnte ich es hinbekommen?

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Mit 1141 erstellen, per CPY in 1252 umwandeln und den Header per EDTF editieren.
    Das Ganze geht auch in RPG.
    Das Dockument in ein CLOB (max. 16MB sollten ja reichen) laden.
    Per scanreplace den Header anpassen.
    Per SQLTYPE(CLOB_FILE) die Datei ins IFS mit 1252 schreiben.

    https://www.ibm.com/docs/en/i/7.4?to...s-that-use-sql
    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

Similar Threads

  1. Datumsformate *EUR und *ISO
    By camouflage in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 22-10-15, 22:08
  2. Ich möchte ein *ISO in *EUR Datum konvertieren
    By Bruno Leydet in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 28-04-13, 15:10
  3. cpytoimpf iso-8859-1
    By Peterfritz in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 16-10-07, 11:03
  4. ISO-Umsetzung in Access
    By deni87991 in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 30-06-06, 11:12
  5. RPG Prgramme auf V4R5M0 für V4R3M0 generieren
    By Reinhold Müller in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 28-04-01, 09:00

Berechtigungen

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