[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Oct 2015
    Beiträge
    109
    ok dankeschön!
    Anzeigervariable erforderlich
    Bin dabei jetzt auf: http://newsolutions.de/forum-systemi.../549-SQL-Error gestoßen.
    Jetzt muss ich nur noch rausfinden, wo die hingehört

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Beim Fetch benötigst du je Variable einen NULL-Anzeiger von Typ "5I 0":

    exec SQL fetch : F1 : F1Null, : F2 : F2Null, ...;

    Null-Anzeiger:
    0 = OK
    -1 = NULL
    >0 = Warnung, Inhalt gekürzt
    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
    Oct 2015
    Beiträge
    109
    Ja tausend Dank!
    Hast mich gut durchgeführt
    funktioniert jetzt einwandfrei:
    Code:
           //-----------------------------------------------------------------------
           // Prozedur XML speichern
           //-----------------------------------------------------------------------
         P xmltosql        B
         D                 PI
         D file_name       S            900A
         D anz1            S              5I 0
         D anz2            S              5I 0
         D anz3            S              5I 0
          /free
            exec sql set option commit=*CHG;
            exec sql declare c2 cursor for
              select info_req.*
              from xmltable('/ExCustomerDataList/Customer'
                   passing xmlparse(document get_xml_file('/home/codaho/test.xml'))
                   columns
            RIONID         varchar(20)     path 'CustomerNo',
            RIANZA         varchar(5)      path 'NoOfSuccessfullOrders',
            RIAUFO         decimal(11, 2) path 'Balance'
    
    
                           ) info_req;
    
    
    
    
            exec sql open C2;
            dou (sqlcode <> *zeros) and sqlcode <> 326;
            exec sql fetch c2 into :rionid :anz1, :rianza :anz2, :riaufo :anz3;
              write risk00r;
            enddo;
          /end-free
         P                 E

  4. #16
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Mich würde da schon interessieren, was denn die NULL-Anzeiger mal anderes als 0 anzeigen!
    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

  5. #17
    Registriert seit
    Oct 2015
    Beiträge
    109
    Ja, da bau ich jetzt gerade dran.
    Dachte mir das wie folgt:
    Wenn sie nicht 0 anzeigen, wird bei der ID der Satz übersprungen,
    bei den anderen Werten werden diese jeweils mit 0 gefüllt.
    Zudem wird immer ein Protokollsatz erstellt, der die Werte der Felder + Null-Anzeiger Werte enthält.

  6. #18
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Indikator-Variablen bringen 0 zurück wenn kein NULL-Wert vorliegt und auch sonst alles in Ordnung ist.
    -1 wird bei NULL-Wert ausgegeben, -2 ist Data-Mapping-Error.

    NULL-Werte kann man übrigens auch umgehen (falls das gewünscht ist), in dem man im XMLTABLE einen Default-Wert angibt.

    ... FeldName DataTypeDefinition Default='WasAuchImmer' Path='' ...
    Birgitta
    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

  7. #19
    Registriert seit
    Oct 2015
    Beiträge
    109
    Dankeschön für die Tipps!

    Ist es auch möglich tiefer verschachtelte XMLs in eine PF zu schreiben?
    Also dass ich in Customer noch Customer1 habe und er mir die Werter zu jedem Customer Satz hinzufügt?
    HTML-Code:
    <Customer>
        <CustomerNo>1000000315</CustomerNo>
        <NoOfSuccessfullOrders>2</NoOfSuccessfullOrders>
        <Currency>EUR</Currency>
        <Balance>-10.85</Balance>
        <Collection>0</Collection>
        <ReturnQuote>33</ReturnQuote>
        <ReturnQuoteAmount>10</ReturnQuoteAmount>
        <Customer1>
         <Nummer>1</Nummer>
        </Customer1>
      </Customer>    
         1 
         
    Code:
              select info_req.*
              from xmltable('/ExCustomerDataList/Customer'
                   passing xmlparse(document get_xml_file('/home/codaho/test.xml'))
                   columns
            RIONID         varchar(20)     path 'CustomerNo',
            RIANZA         varchar(5)      path 'NoOfSuccessfullOrders',
            RIAUFO         decimal(11, 2)  path 'Balance',
            RIAUFU         decimal(11, 2)  path 'BalanceOverdueOpenAssets',
            RIMAHN         varchar(2)      path 'MaxActReminderLevel',
            RIIKSA         varchar(1)      path 'Collection',
            RIRQST         decimal(5, 2)   path 'ReturnQuote',
            RIRQZS         decimal(5, 2)   path 'ReturnQuoteOverTime',
            RIRQWT         decimal(5, 2)   path 'ReturnQuoteAmount',
            RIRQZW         decimal(5, 2)   path 'ReturnQuoteAmountOverTime',
            NUMMER         varchar(20)     path 'Customer1/Nummer'
    
    
                           ) info_req
    wäre meine Idee dazu gewesen

  8. #20
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Zitat Zitat von dholtmann Beitrag anzeigen
    wäre meine Idee dazu gewesen
    Wo liegt das Problem? Das sollte eigentlich die korrekte Syntax sein.

    Birgitta
    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

Similar Threads

  1. Systemwechsel: Übertragen Spoolfiles
    By programmer400 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 18-11-14, 15:22
  2. FTP Pc -> AS400 Source übertragen ?
    By Gimli in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 08-04-03, 08:54
  3. Logs von der AS/400 zum PC automatisch übertragen
    By kazamm in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 18-02-03, 08:04
  4. Wie Datei von 5.1 auf 3.7 übertragen?
    By hs in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 18-11-02, 14:44
  5. IFS-Dateien per FTP übertragen
    By mott in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 20-06-02, 10:24

Berechtigungen

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