[NEWSboard IBMi Forum]
Seite 1 von 3 1 2 ... Letzte
  1. #1
    Registriert seit
    Jun 2015
    Beiträge
    334

    Daten aus dem Internet auf die AS400

    Hallo zusammen !
    Habe wieder mal eine Frage. Vielleicht hat das (oder etwas ähnliches) ja schon jemand mal mit möglichst wenig Aufwand gelöst.
    Ich möchte täglich die aktuellen Kupferwerte (z.B. in Dateiform) automatisiert aus dem Internet ziehen und dann in eine Tabelle unseres ERP-Systems auf der AS400 spielen.
    Wer etwas Hilfestellung leisten kann, bitte melden.
    Danke Euch
    A61

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    Das geht am Besten per Java;-).
    Aber ein paar Mitforenbenutzer habe dies auch schon anders gelöst.
    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. #3
    Registriert seit
    Oct 2013
    Beiträge
    171
    Das geht am Besten per php ;-).
    (aber auch evtl. mit SQL und auch RPG)

    Hast Du denn schon eine Adresse, von der Du "die aktuellen Kupferwerte" (legal) beziehen kannst?

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    Such dir einen Dienstleister, der die Daten als Webservice zur Verfügung stellt.
    (meistens kostenpflichtig, und dann nicht nur ein Rohstoff)

    oder verwende screenscrapper Programme auf PC Basis, die dir ne Textdatei oder ne csv erstellen.

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  5. #5
    Registriert seit
    Aug 2009
    Beiträge
    121
    Helfen die HTTP-Funktionen aus dem Schema SYSTOOLS vielleicht weiter? Hier ist eine Dokumentation: https://www.ibm.com/developerworks/c...0to%20SYSTOOLS. Ein White Paper gibt es auch dazu: https://www-304.ibm.com/partnerworld...vice_db2_i_udf.

  6. #6
    Registriert seit
    Aug 2014
    Beiträge
    179
    Hallo alex61,

    ab 7.2 geht es mit SQL - hier ein Beispiel mit Fremdwährungen

    Code:
    Select x.*
      from JSON_TABLE(
         SYSTOOLS.HTTPGETCLOB(
            'http://openexchangerates.org/api/latest.json?app_id=deineId',''), 
            '$'
         Columns(
            Basis char(3)    path 'lax $.base',
            EUR   dec(15, 6) path 'lax $.rates.EUR',
            GBP   dec(15, 6) path 'lax $.rates.GBP'
         )
      ) x;
    Wenn Du es in ein RPG-Programm einbetten möchtest, dann findest Du hier ein Beispiel
    https://gist.github.com/RainerRoss/0...2427664c4c4252

    Viele Grüße
    Rainer

  7. #7
    Registriert seit
    Oct 2013
    Beiträge
    171
    In php könnte man zum Beispiel damit die HTML-Seite abrufen und die Werte herauskitzeln.
    Nur mal so als Idee.

    Aufruf: qsh ('/usr/local/ZendSvr6/bin/php /woauchimmer/suedkupfer.php')

    PHP-Code:
    <?php
    error_reporting
    (E_ALL E_STRICT);
    ini_set('display_errors'true);
    ini_set('date.timezone','Europe/Vienna');
    ini_set('max_execution_time','300');  // 5 Minuten

    $url 'http://www.suedkupfer-marktdaten.de/market_d.php';
    // $url = '/tmp/suedkupfer.de.html';   // aus Datei lesen 
    $html file_get_contents($url);

    $string_start '<!-- inhalt hier -->';
    $pos                   strpos($html$string_start) + strlen($string_start);
    $text1                 substr($html$pos);

    $string_start '<tbody>';
    $pos_start    strpos($text1$string_start) + strlen($string_start);
    $string_ende  '</tbody>';
    $pos_ende     strpos($text1$string_ende);
    $text1        substr($text1$pos_start$pos_ende $pos_start);

    $text1        strip_tags($text1'<tr><td>');

    $z 0;

    $zeilen explode('<tr>'$text1);
    foreach (
    $zeilen as $zeile) {
        
    $z++;
         
    $zeile str_replace('</tr>'''$zeile);
         
    $zeile str_replace('<td>&nbsp;</td>'''$zeile);
         
         
    $suchbegriff '/ class=".*"/';
         
    $ersatzbegriff '';
         
    $zeile preg_replace($suchbegriff$ersatzbegriff$zeile);
         
         
    $zellen explode('<td>'$zeile);
         
    $s 0;
         foreach (
    $zellen as $zelle) {
             
    $s++;
             
    $zelle trim(strip_tags($zelle));
             if (
    '' <> $zelle) {
                 echo 
    'Zeile:' $z ' Spalte:' $s ' Wert:' $zelle "\n";
             }
        }


    ?>
    Erklärung zu den verwendeten php-Funktionen im Handbuch:
    z.B. http://nl1.php.net/manual/de/function.strip-tags.php

  8. #8
    Registriert seit
    Jun 2015
    Beiträge
    334
    Hallo Rainer,
    erst mal vielen Dank für die Hilfe - im übrigen auch allen anderen. Leider haben wir erst 7.1.
    Gäbs da auch schon was ?

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Die SQL http-Funktionen werden auch für 7.1 (via PTF) bereitgestellt.
    Schau einfach mal in die Bibliothek SYSTOOLS rein (am Besten mit ACS oder Client Access, da findest Du die Funktionen am Einfachsten)

    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

  10. #10
    Registriert seit
    Aug 2014
    Beiträge
    179
    Hallo Alex,

    Birgitta hats schon gesagt. HTTPGETCLOB geht ab 7.1. Wenn die Daten im XML-Format kommen, dann geht es mit XMLTABLE auch mit 7.1. Wenn die Daten im JSON-Format kommen, dann geht das Parsen mit der Open-Source Bibliothek YAJL von Scott Klement. Wenn Du Beispiele benötigst, dann sprech mich einfach an.

    Viele Grüße
    Rainer

  11. #11
    Registriert seit
    Jun 2015
    Beiträge
    334
    Hallo Rainer,
    ja für Beispiele wäre ich sehr dankbar.
    Grüße A.

  12. #12
    Registriert seit
    Jun 2015
    Beiträge
    334
    Hallo Rainer,
    ja für Beispiele wäre ich sehr dankbar.
    Grüße A.

Similar Threads

  1. Daten-Migration AS400 auf Power8
    By tanteteresa in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 18-06-15, 16:26
  2. AS400-Webserver ins Internet
    By mott in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 25-01-15, 13:03
  3. Remotezugriff auf AS400 über Internet
    By chera in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-08-03, 16:55
  4. Antworten: 3
    Letzter Beitrag: 25-02-02, 23:27
  5. Telnetsitzung via Internet auf der AS400
    By delphix in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 29-01-02, 08:19

Berechtigungen

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