[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    5

    FETCH n ROws in einzelne Felder einer DS

    Hallo,

    komme mit meinen Kenntnissen gerade nicht weiter!
    Habe eine extern definierte Datenstruktur die im Cobol-Pgm per DDS eingebunden wird.

    Nun soll, je nach definiertem/geöffneten Cursor, unterschiedliche Felder dieser DFS beim Fetch gefüllt werden. Das klappt auch soweit.

    Wenn ich aber z.B. 8 Zeilen auf einmal fetchen will ist das Referenzieren einzelner Felder nicht mehr möglich.
    DIE DS:
    01 LT00-SATZ.
    02 ARRAY OCCURS 8 INDEXED BY DI-IDX.
    COPY DDS-ALL-FORMATS OF LT00PF.
    05 LT00PF-RECORD PIC X(390).
    05 LT00R REDEFINES LT00PF-RECORD.
    06 FELD1 pic X(30).
    Von Ort
    06 FELD2 PIC X(30).
    Nach Ort

    Der Cursor: DECLARE C_SUMMEN1 SCROLL CURSOR FOR

    SELECT FELD1, FELD2,
    SUM(FELD3),
    SUM(FELD4)
    FROM SQLRESULT
    GROUP BY
    FELD1, FELD2

    der Fetch: EXEC SQL
    FETCH C_SUMMEN1 FOR 8 ROWS
    INTO
    :FELD1 , :FELD2
    END-EXEC

    Der Precompiler meldet das die Felder nicht definiert bzw. nicht verwendbar sind.

    Was mache ich falsch??

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.258
    Beim Fetch mehrerer Zeilen ist nur die Angabe einer Struktur erlaubt:

    FETCH C_SUMMEN1 FOR 8 ROWS
    INTO
    :ARRAY
    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
    Sep 2005
    Beiträge
    5

    FETCH n ROws in einzelne Felder einer DS

    Danke für die prompte Antwort.
    Schade das das nicht geht
    Da hätte ich noch lange tüfteln können.

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.288
    was in jedem Fall geht:

    select Feld1, Feld2, Feld3
    into :myAry

    select '', Feld2, ''
    into :myAry

    passen in das selbe Array of structure

    damit müsste das doch gehen, wenn ich die Frage richtig verstehe.

    mfg

    Dieter Bender

    Zitat Zitat von pedro-zapata
    Danke für die prompte Antwort.
    Schade das das nicht geht
    Da hätte ich noch lange tüfteln können.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    5

    FETCH n ROws in einzelne Felder einer DS

    Das geht, aber mein Ziel war es Bildschirmweise (20 Zeilen) im Block zu füllen.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.288
    geht doch auch mit:

    declare cursor c1 as
    select Feld1, Feld2, Feld3
    ...

    declare cursor c2 as
    select '', Feld2, ''
    ...
    fetch c1 for 20 rows
    into :myAry

    und ebenso

    fetch c2 for 20 rows into :myAry

    auch die entsprechenden Summen würden da passen

    mfg

    Dieter Bender
    Zitat Zitat von BenderD
    was in jedem Fall geht:

    select Feld1, Feld2, Feld3
    into :myAry

    select '', Feld2, ''
    into :myAry

    passen in das selbe Array of structure

    damit müsste das doch gehen, wenn ich die Frage richtig verstehe.

    mfg

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

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.258
    Ich glaube, dass liegt hier in der COPY-Anweisung.
    Beim Fetch in ein Array MUSS folgende Definitione forliegen:

    05 MyArray occurs 20.
    10 Field1 pic ...
    10 Field2 pic ...

    Der COPY fügt eine Stufe dazwischen.
    Ausserdem weiß ich nicht, ob der SQL-Pre-Compiler überhaupt mit dieser Form des COPY zurechtkommt.
    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. Brauche Hilfe zu FETCH xxx USING DESCRIPTOR
    By AndreasH in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 08-05-15, 13:09
  2. DS Übergabe
    By Squall in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 24-10-06, 08:44
  3. Group und fetch first xx rows
    By linguin in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 04-08-06, 10:38
  4. Einzelne DB Tabellen sichern
    By CAL in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 23-06-06, 09:03
  5. Gezonte Felder aus Bildschirm-/Druckdateien intern gepackt
    By Xanas in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 13-06-06, 14:38

Berechtigungen

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