[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo Dieter,

    Ja, diese Mischformen, SQL, RPG, CCSID sind nicht immer ganz unproblematisch.
    Du kannst aber den kompletten Teil via SQL realisieren.

    Mit folgenden SQL bekommst du den ResponseMsg + HTTP Code als ein Ergebnis:

    Code:
    WITH
    http AS (SELECT responsehttpheader, responsemsg
    FROM TABLE (SYSTOOLS.HTTPGETCLOBVERBOSE ('https://www.orf.at', 
    					CAST ('' AS CLOB(10K)))) T1
    )
    ,
    RespHead AS (
      SELECT XMLPARSE(DOCUMENT responsehttpheader) AS "doc_header", responsemsg
      FROM http)
    ,
    formated_header AS (
      SELECT *
      FROM RespHead, XMLTABLE (
        '$doc/httpHeader' PASSING "doc_header"  AS "doc"
        COLUMNS
    	Name  VARCHAR(128) PATH '@responseCode',
    	Value VARCHAR(128) PATH 'responseMessage'
      ) MsgResponse
    )
    select responsemsg, Name, value from formated_header
    Ich hoffe das hilft dir weiter.
    Ist meiner Meinung nach einfacher als die Mischform und es gibt weniger Probleme.

    lg Andreas

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.238
    Hallo Andreas,
    vielen Dank. Ich habe eben geposted, ohne deinen neuesten Post gesehen zu haben. Danke für die Lösung. Ich werde das dann erstmal so machen!

    Um ehrlich zu sein, finde ich das SQL aber etwas komplex (wegen der Verschachtelungen). Wenn das mal nicht klappt, kann man die einzelnen Schritte schlecht debuggen. Deshalb hätte ich es gerne im RPG in einzelne Schritte zerlegt. Aber das scheint ja nicht zu gehen. (Vielleicht bekommt ja doch noch jemand das Beispiel aus meinem anderen Post (der Post mit den 2 Anhängen) zum Laufen).

    Viele Grüße,
    Dieter

  3. #3
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hehe, ja das verstehe ich, aber es sieht am ersten Blick nur so komplex aus.
    Und ehrlich gesagt debugge ich lieber die SQL Version als die RPG, SQL Mischung.
    Du kannst nämlich ganz simple die 3 Parts vom SQL (WITH-Parts) einzeln nehmen und von jedem SQL Client ausführen lassen.
    Außerdem glaube ich auch, dass eine Lösung, die schon beim ersten mal funktioniert, auch in zukunft wartungsfreundlicher ist, als jene wo im Forum diverse Experten an einer Lösung des Problems suchen :-)

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.399
    ... wartungsfreundlich??? Funktionen, die im Fehlerfall einen nebulösen Fehlercode zurückgeben???
    Alleine das ist mir schon Grund genug diesen mit heißer Nadel zusammen geschusterten Murks nicht zu verwenden.

    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/

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.868
    In den Beispielen der Textdateien hat man das @-Problem ja ausgeklammert.
    Zu oben muss ich noch ergänzen, dass ja die XML-Interpretation von irgend einer Routine ausgeführt werden muss. Das @ ist ja nicht Bestandteil des SQL's sondern eine Arbeitsanweisung für den Interpreter.
    Aber in welcher CCSID wurde dieser entwickelt?
    Welchen Code für @ erwartet diese Funktion?
    Am Beispiel der C-Funktion RegComp/RegEx haben wir mal festgestellt, dass der Job dafür kurzfristig auf 037 gestellt werden muss.
    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
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von BenderD Beitrag anzeigen
    ... wartungsfreundlich??? Funktionen, die im Fehlerfall einen nebulösen Fehlercode zurückgeben???
    Alleine das ist mir schon Grund genug diesen mit heißer Nadel zusammen geschusterten Murks nicht zu verwenden.

    D*B
    Jep, wartungsfreundlichER! Mit den seltsamen Fehlercodes bin ich ganz bei dir. Ein Grund mehr so wenig wie möglich miteinander zu vermischen.
    Ist aber nur meine Meinung. Ich würde halt die Lösung nehmen die funktioniert. Wenn notwendig kann man es später immernoch umbauen. Bzw. gibt es später vielleicht sogar noch bessere oder einfachere Lösungen.
    Ich persönlich habe mit den neuen Technologien der letzten Releases mir immer weniger Gedanken um CCSID oder Unicode machen müssen. (Weniger != gar nicht)

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.238
    Zur Info:
    Die Lösung von Andreas mit dem verschachtelten SQL läuft jetzt bei mir.

    Nochmals herzlichen Dank!

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.868
    Natürlich brauche ich fast keine CCSID wenn ich alles mit Unicodemachen kann.
    Allerdings benötige ich dies immer noch, wenn ich mit COBOL, ILERPG und CLP/CLLE arbeite.
    Denn hier hocken die größten Fehlermöglichkeiten.
    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. REST Webservices / Verwendung von SYSTOOLS
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 25
    Letzter Beitrag: 14-02-18, 11:11
  2. SYSTOOLS / HTTPGETBLOB Verhalten
    By Bratmaxxe in forum NEWSboard Programmierung
    Antworten: 15
    Letzter Beitrag: 21-12-17, 08:29
  3. SYSTOOLS.URLENCODE
    By KM in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 25-04-17, 09:44
  4. SYSTOOLS.JSON2BSON
    By rischer in forum IBM i Hauptforum
    Antworten: 28
    Letzter Beitrag: 02-10-15, 11:36
  5. Spools Status Fin
    By pille in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 28-11-02, 09:37

Berechtigungen

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