[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    833

    Wert aus CSV Datei

    Hallo zusammen,

    ich verarbeite mit einem RPG Programm eine CSV Datei.
    Jetzt hat sich herausgestellt das in einem Feld
    z.B. folgender Wert auftaucht:

    8,22485567837319e-03

    Der Wert soll in ein numerisches 7,3 Feld.

    Hat jemand einen Tipp ? Oder sollte ich lieber die PC Jungs
    die die Datei erstellen das ändern lassen .

    Gruss
    Michael

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Die Build-In heißt hier %FLOAT !
    Diese kann dann gekapselt werden:

    mydec = %dec(%float(MyChar):15:5);
    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
    Jan 2001
    Beiträge
    833
    Hallo Baldur,

    ich habe mir folgendes Demo Programm erstellt:




    dParm s 2000

    dP1 s 7 2

    c eval Parm = '8,22485567837319e-03'
    c eval P1 = %dec(%float(%trim(parm))
    c :7 :2)
    c p1 dsply

    c seton lr




    Allerdings enthält die Variable P1 nur den Wert 0

    Was mache ich hier falsch ?

    Gruss
    Michael

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Also 8,22..e-03 = 0,00822...

    Erklärt das das ?
    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. #5
    Registriert seit
    Jan 2001
    Beiträge
    833
    Oje oje


    ich schäme mich ja so

    Gruss
    Michael

  6. #6
    Registriert seit
    Dec 2000
    Beiträge
    138
    hallo,

    ich würde auch gerne eine csv.datei mit rpg einlesen, bin aber nicht mehr auf dem neuesten stand der programmierung und leicht eingerostet und wie das mit dem stmf's überhaupt geht...

    kann mir jemand ein schnelles rpg-gerüst zukommen lassen?

    hintergrund: csv-datei liegt im ifs in einem unterverzeichnis /tmp/asdf/xy.csv.

    die datei enthält 2 spalten, artikel und menge (ja, es hat mit inventur zu tun...):
    4711;1;
    4712;45;
    4713;0;

    und das ganze würde ich gerne einlesen und in unser ERP injizieren, das aus ganz normalen physischen files besteht.

    danke schon jetzt im voraus!

    lg, karin

  7. #7
    Registriert seit
    Jan 2001
    Beiträge
    833

    Wink

    Hallo Karin,

    hier eine kleine Anweisung wie man es machen könnte

    Eine ph Tabelle mit den zwei Feldern anlegen

    CREATE TABLE TESTCSV(ARTIKEL CHAR (10 ) NOT NULL WITH DEFAULT, QTY
    DEC (7 , 0) NOT NULL WITH DEFAULT)

    dann den Befehl
    CPYFRMIMPF FROMSTMF('/asmtool/test/testfile.csv') TOFILE(MK/TESTCS
    V) RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(';') RPLNULLVAL(*FLDDFT)

    Damit stehen in der Tabelle deine Werte und Du brauchst
    ( nur ) noch dein Übernahmeprogramm schreiben.

    Gruss
    Michael

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    das CPYTOIMPF Gerödel kann man sich schenken, wenn man das Streamfile direkt liest (gibt es auch eine Quelle für ein fertiges Service Programm auf meiner Open Source Seite).

    mfg

    Dieter Bender

    Zitat Zitat von mk
    Hallo Karin,

    hier eine kleine Anweisung wie man es machen könnte

    Eine ph Tabelle mit den zwei Feldern anlegen

    CREATE TABLE TESTCSV(ARTIKEL CHAR (10 ) NOT NULL WITH DEFAULT, QTY
    DEC (7 , 0) NOT NULL WITH DEFAULT)

    dann den Befehl
    CPYFRMIMPF FROMSTMF('/asmtool/test/testfile.csv') TOFILE(MK/TESTCS
    V) RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(';') RPLNULLVAL(*FLDDFT)

    Damit stehen in der Tabelle deine Werte und Du brauchst
    ( nur ) noch dein Übernahmeprogramm schreiben.

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

  9. #9
    Registriert seit
    Dec 2000
    Beiträge
    138
    hallo!

    erst mal danke für die antworten!!

    das mit create table und cpyfromimpf habe ich probiert, klappt wunderbar, reicht auch für's erste völlig aus.

    das mit den sourcen zum sofort-einlesen aus dem ifs ist mir heute morgen noch zu heftig, dachte, das wäre einfacher...

    nochmals vielen dank und schöne feiertage!

    lg, karin

  10. #10
    Registriert seit
    Jan 2001
    Beiträge
    833
    Hallo Karin,

    für solche Übernahmeaktionen habe ich extra das Tool
    CreateOSDb erstellt. Damit kannst Du direkt eine Exceldatei
    auf der AS/400 einlesen und sofort ein Programm mit angeben.
    Somit läuft dann alles automatisch ab.
    Vielleicht ist es etwas für dich.

    Frage: Was machen denn eure VARPG Aktivitäten.
    Gruss
    Michael

Similar Threads

  1. Datei im IFS auf iSeries verschlüsseln
    By jo400 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 21-10-06, 17:57
  2. kein Konstantes Ergebnis bei CRTDUPOBJ und Datei m.RI
    By deni87991 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 19-10-06, 13:55
  3. Excel Datei mit RPG und POI/HSSF in A4
    By haertl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 30-05-06, 13:36
  4. Datei aus IFS holen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 15-05-06, 13:47
  5. IFS Datei berechtigungen
    By PGMR in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 15-06-05, 15:37

Berechtigungen

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