[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    331
    Moin,


    das mit den /36 Daten kenne ich leider zur genüge. Damit kämpfen wir auch, die Dateien enthalten alles was so eine /36 Datei enthalten kann:



    • Satzarten
    • undefiniertes, von dem keiner mehr was weiss
    • Datumsangaben in allen Variationen und (Un-) Gültigkeiten
    • blanks in gepackten Felder und gezonten Feldern usw.


    Sollte dir die genaue interne Struktur bekannt sein, dann versuche folgendes: Triggerprogramm anklemmen, das Programm mach dann eine Korrektur mit SQL update /36 Datei set substr(Feld , von , länge) = : Neuer Wert.


    Ist sicherlich nicht schön, aber funzt gut.

    mfg

    DKSPROFI

  2. #2
    Registriert seit
    Jan 2003
    Beiträge
    302
    Zitat Zitat von DKSPROFI Beitrag anzeigen
    Moin,


    das mit den /36 Daten kenne ich leider zur genüge. Damit kämpfen wir auch, die Dateien enthalten alles was so eine /36 Datei enthalten kann:



    • Satzarten
    • undefiniertes, von dem keiner mehr was weiss
    • Datumsangaben in allen Variationen und (Un-) Gültigkeiten
    • blanks in gepackten Felder und gezonten Feldern usw.


    Sollte dir die genaue interne Struktur bekannt sein, dann versuche folgendes: Triggerprogramm anklemmen, das Programm mach dann eine Korrektur mit SQL update /36 Datei set substr(Feld , von , länge) = : Neuer Wert.


    Ist sicherlich nicht schön, aber funzt gut.

    mfg

    DKSPROFI
    Die Strukturen der Dateien habe ich.
    Ich schiebe den Satz in eine DS ohne Felder und prüfe dann im von-bis Bereich der num. Felder den Inhalt auf x'40' oder auch x'00'.
    Wenn fehlerhaft, korrigiere ich den von-bis Bereich und schiebe die DS ohne Felder in die DS für die extern beschriebene Datei, bevor ich den Satz schreibe.

    Vg.

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wenn du das im Trigger machst, kannst du dir die Schieberei ja sparen.
    Die Triggerinfo übergibt dir eine relative Adresse zum Puffer.
    Somit kannst du folgendes tun:

    dcl-s basBI pointer;
    dcl-s basAI pointer;

    dcl-ds BI based(basBI);
    end-ds;

    dcl-ds AI based(basAI);
    end-ds;

    basBI = %addr(Triggerinfo) + Triggerinfo.OrigOffset;
    basAI = %addr(Triggerinfo) + Triggerinfo.NewOffset;

    Somit kannst du auch mehrere Strukturen auf derselben Adresse basieren lassen:

    dcl-ds BIChar based(basBI);
    end-ds;

    dcl-ds AIChar based(basAI);
    end-ds;

    D.h., in AIChar prüfst du, und in AI schreibst du.
    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

  4. #4
    Registriert seit
    Jan 2003
    Beiträge
    302
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Wenn du das im Trigger machst, kannst du dir die Schieberei ja sparen.
    Die Triggerinfo übergibt dir eine relative Adresse zum Puffer.
    Somit kannst du folgendes tun:

    dcl-s basBI pointer;
    dcl-s basAI pointer;

    dcl-ds BI based(basBI);
    end-ds;

    dcl-ds AI based(basAI);
    end-ds;

    basBI = %addr(Triggerinfo) + Triggerinfo.OrigOffset;
    basAI = %addr(Triggerinfo) + Triggerinfo.NewOffset;

    Somit kannst du auch mehrere Strukturen auf derselben Adresse basieren lassen:

    dcl-ds BIChar based(basBI);
    end-ds;

    dcl-ds AIChar based(basAI);
    end-ds;

    D.h., in AIChar prüfst du, und in AI schreibst du.

    Cool :=) Danke. Vg.

Similar Threads

  1. Doktorspiele oder wie erstelle ich ein SQL-Trigger
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 17-07-20, 12:03
  2. *.csv oder *.txt mit einer Datensatz-Größe von mehr als 32 MB
    By votch in forum NEWSboard Programmierung
    Antworten: 17
    Letzter Beitrag: 03-02-20, 12:42
  3. SQL Update - Nur den ersten Satz ändern
    By svente in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 22-08-18, 16:34
  4. Trigger sperrt Datensatz
    By Peet in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 31-05-17, 10:41
  5. Update (rewrite und/oder write) wird nicht aktiv
    By woy in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 26-03-15, 08:49

Berechtigungen

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