[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.752
    Wenn du die Tabelle per SQL erstellt hast, werden die Felder meist mit ALWNULL erstellt wenn du " not null" beim Create weglässt.
    Somit benötigst beim Fetch für jede Variable einen NULL-Anzeiger.
    Lässt du diese weg und nur eine Variable hat den NULL-Inhalt bekommst du einen negativen SQL-Code und der Fetch schlägt fehl.
    Im Joblog findest du aber auch eine Nachricht "NULL-Anzeiger erforderlich".
    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

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Somit benötigst beim Fetch für jede Variable einen NULL-Anzeiger.
    Soweit ich das sehe ist eine Indicator Array definiert und übergeben.
    Interessant wäre zu wissen, was SQLCODE und/oder SQLSTATE nach dem Fetch zurückliefern.
    Ich schätze mal "Feldüberlauf".

    Ich auf alle Fälle das (SQL) Datums-Format entweder im Compile-Befehl oder einem SET OPTION Statement am Anfang des Source Codes auf ein Format mit 4-stelligem Datum setzen.
    Ansonsten werden die SQL-Hilfvariablen für das Datum mit dem Job-Datums-Format (das meist ein nur 2-stelliges Jahr hat) generiert.
    Ich gehe davon aus, dass die eigentlichen Datums-Felder Werte enthalten (z.B. 0001-01-01), die nicht mit einem 2-stelligen Datums-Format abgebildet werden können.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Dec 2015
    Beiträge
    18
    die Felder wurden mit DATE/TIME NOT NULL bzw. DATE DEFAULT CURRENT_DATE oder TIME DEFAULT CURRENT_TIME erstellt.

    Wenn ich die Feldgruppe für die Anzeiger-Variablen fAnzVar weglasse, dann funktionert ist. Dann setzt auch der Precompiler die entsprechenden Eval-Anweisungen.

    Kann mir jemand diesen Zusammenhang erklären? Denn ich möchte sie ungern weglassen, da ich tatsächlich Spalten habe, die Null-Werte enthalten können.

  4. #4
    Registriert seit
    Dec 2015
    Beiträge
    18
    SQLCODE und SQLSTATE sind übrigens beide 0.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.752
    Nun, wie ist fAnzVar definiert?
    Bei einer DS als Ziel muss fAnzVar als Array definiert sein das mindestens so viele Elemente wie NULL-Felder enthalten muss, mehr ist erlaubt.
    Also

    D fAnzVar 5I 0 dim(10).

    Erkennt der Compiler kein Array, wird die DS als 1 Variable und fAnzVar als 1 Anzeiger angenommen.
    Im Listing dürfte dann nur 1 EVAL generiert sein.
    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. select into wie fetch next
    By Robi in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 22-05-15, 08:31
  2. fetch for 1000 Rws only
    By Robi in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 09-03-15, 16:56
  3. SQL TIME
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 17-03-14, 09:37
  4. IBMDA400 liefert keine Daten
    By JMH in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 15-01-14, 15:53
  5. %time() ??
    By Gimli in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 11-04-03, 13:44

Berechtigungen

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