[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    1.975

    unbekannte Datei Feldweise in allg. gültige Tabelle schreiben

    Hallo *all
    ich suche eine Lösung für folgendes Problem

    Datei (unbekannt, nur Bsp.)

    PHP-Code:
    Feldnamen und Art
    N1  A3   A7   N4
    ,2     ...
    Inhalt
     1     aaa  Test   12
    ,15
    17    bbb   Hallo   09
    ,04

    Ziel
    Feldnamen und Art
    Lfnr7
    ,0    Feld10A    Inhalt128A

    Inhalt

    0000001   N1          1
    0000001   A3          aaa
    0000001   A7          Test
    0000001   N4
    ,2       12,15 
    0000002   N1          17
    0000002   A3           bbb
    0000002   A7           Hallo            
    0000002   N4
    ,2         9,04 
    Ich lese den Aufbau der Datei aus syscolumns
    bekomme also
    Feldname, Type, Länge und NK-Stellen

    Das den Feldinhalt muß ich nun je Name aus der Datei auslesen und dabei nach alpa casten

    lese also beim 1. Feld das Feld und die rrn mit optimize for 1 row
    alle weiteren Felder mit selektion auf die rrn
    und bei eof wieder das 1. Feld mit selektion rrn>letzte rrn

    würde das funktionieren?
    geht es einfacher?

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

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Funktionieren tut das, aber es wird ganz schön dauern.
    Die Frage ist doch, was du da so analysieren willst.

    Ich definiere mir eine DS
    d MyDs 32512
    d MyFields 256 dim(127)

    Nun stripst du deinen dynamischen SQL zusammen:

    cast(Feld1 as char(256)) concat cast(feld2 as char(256)) ....

    Anschließend machst du den Fetch in MyDs und hast die Inhalte im Array.
    Sind die Felder kürzer als 256 kannst du entsprechend mehr Felder bearbeiten.

    Ansonsten gibt es da halt noch eine SQLDA, die je Feld einen Descriptor hat in dem man einen Pointer auf eine Variable (%alloc) angeben kann. Damit kannst das Problem der Anzahl Felder und der festen Länge von 256 besser behandeln.
    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
    Jun 2001
    Beiträge
    1.975
    hat geklappt, knapp 100 Zeilen Code

    Könnte schneller sein aber für meine Zwecke völlig ausreichend.

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

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Was hat geklappt, deine Methode oder mein Vorschlag?
    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
    Jun 2001
    Beiträge
    1.975
    Meine Methode,
    hatte ja schon angefangen als ich den Post erfasste.
    Schien mir nur sehr kompliziert und aufwändig.
    Ist aber doch gut geworden.

    Eine andere Idee war, die Datei in XML um zu wandeln und das ein zu lesen.
    Aber ich mach zu selten XML, daher ist diese Lösung nun gut so.

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

Similar Threads

  1. Datensatz per Embedded SQL in Tabelle schreiben mit autogenerated Key
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 17-06-15, 14:51
  2. Sonderzeichenproblem beim Schreiben in i5-Tabelle (z.B. €)
    By Karlchen50 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 20-08-14, 14:14
  3. Von AS/400 direkt in MS-SQL-Server schreiben
    By Michael@Paff.de in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 28-04-02, 08:42
  4. Zur Zeit gültige IBM-Promos nutzen !
    By AS-Trade in forum NEWSboard Server & Hardware Markt
    Antworten: 0
    Letzter Beitrag: 08-09-01, 12:29
  5. Antworten: 10
    Letzter Beitrag: 09-03-01, 10:38

Berechtigungen

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