[NEWSboard IBMi Forum]
  1. #1
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365

    Subfile-Grenze

    Hallo Forum

    Ich gebe in einem RPG-Programm gleichzeitig 2 Subfiles aus
    um verschiedene Sichten anzuzeigen.
    Mir ist bekannt, dass die Satzanzahl je Subfile auf 9999 begrenzt ist.

    Das Pgm. bricht ab beim Schreiben in die zweite SUbfile:
    "Empfängerwert zu klein, um Ergebnis zu halten."
    "E/A-Fehler CPF5257 in Datei YTFSIS10 erkannt."
    Der Subfile-Satz ist 8192.


    Gibt es bei der Verwendung mehrerer Subfiles eine
    weitere Grenze? Satzlänge, Anzahl Felder??

    Gruß
    Joe

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Es können max. 12 Subfiles gleichzeitig in einer DSPF aktiv sein, je Subfile sind max. 16MB möglich, so dass jeder SFL-Satz ca. 1,5KB lang sein kann.

    Im Joblog muss es aber zur Meldung "Empfängerwert" weitere Hinweise geben.
    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
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Es können max. 12 Subfiles gleichzeitig in einer DSPF aktiv sein, je Subfile sind max. 16MB möglich, so dass jeder SFL-Satz ca. 1,5KB lang sein kann.

    Im Joblog muss es aber zur Meldung "Empfängerwert" weitere Hinweise geben.
    Hallo
    Ich habe den Fehler noch einmal produziert und erhalte folgendes Ergebnis:
    Von Programm . . . . . . . . . : cblabranch
    An Programm . . . . . . . . . : QSFPUT
    An Bibliothek . . . . . . . : QSYS
    Instruktion . . . . . . . . : 00AC

    ILE RPG/400-FORMATIERTER SPEICHERAUSZUG
    Länge des letzten Satzes . . . . . . . : 155
    Tatsächliche Satzlänge . . . . . . . . : 155
    Relative Satznummer in der Subdatei . : 8192
    Erste Satznummer in der Subdatei . . . : 0
    Größe der Subdatei . . . . . . . . . . : -32768


    Ein zu kleines Empfängerfeld konnte ich nicht ermitteln.
    Die Satzlänge von 155 Byte dürfte auch keine Probleme machen.

    Ich habe danach mal nach "cblabranch" gesucht und bin im Forum bei Thema "Empfängerwert zu klein" und der
    Antwort: (raten Sie mal von wem)

    " Die Meldung ist eindeutig ein COBOL-Problem, dass Überlauffehler nicht abgefangen sind. Die Meldung ist vielleicht etwas unklar.
    Schau im COBOL-Prog. nach, was die Anweisung 30 denn macht (Umwandlungsliste)."

    fündig geworden.

    In meinem Pgm. (SQLRPGLE) gibt es kein COBOL.

    Noch eine Idee?

    Gruß und vielen Dank erstmal
    Joe

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Trotzdem nochmal, irgendeine Variable scheint da nun mal zu klein zu sein.
    Bei welchem Befehl im Programm passiert dies denn ?
    Wie sind die benötigten Variablen deklariert ?
    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
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Trotzdem nochmal, irgendeine Variable scheint da nun mal zu klein zu sein.
    Bei welchem Befehl im Programm passiert dies denn ?
    Wie sind die benötigten Variablen deklariert ?
    Hallo.

    Die Ausgabe sieht wie folgt aus:

    Rechnen,rechnen,rechnen
    WRITE SUBFILE1
    WRITE SUBFILE2

    Der Fehler kommt beim Schreiben in SUBFILE2


    Wenn ich in der gleichen Routine entweder nur SUBFILE1 oder
    nur SUBFILE2 schreibe, läuft das Programm fehlerfrei. d.h. in den Rechenoperationen kann der Fehler mit zu kleinem Ergebnisfeld nicht auftreten.

    Nächster Versuch:
    Alle Subfile-Felder vor dem write mit 0 bzw. blank initialisieren bringt den gleiche Fehler.

    Die fehlerhafte Subfile-Satznummer ist immer 8192, egal welche Daten zur Anzeige selektiert werde.

    Bin absolut ratlos.

    Joe

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    Hast Du Dir eigentlich mal einen Dump gezogen und die Feld-Inhalte beim Abbruch angeschaut?
    Vielleicht ist ja der Subfile-Zähler übergelaufen oder ein Hidden-Feld.

    Birgitta
    Birgitta Hauser

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

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Wichtig beim WRITE ist das befüllen der SFLRNR (siehe F-Bestimmungen)!

    Ansonsten würde ich es halt mit weniger Sätzen probieren, denn sag mahl ehrlich, wer schaut sich denn tatsächlich mal 8000 Sätze an.
    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

  8. #8
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Wichtig beim WRITE ist das befüllen der SFLRNR (siehe F-Bestimmungen)!

    Ansonsten würde ich es halt mit weniger Sätzen probieren, denn sag mahl ehrlich, wer schaut sich denn tatsächlich mal 8000 Sätze an.

    Hallo und Danke erstmal für die Hilfe.

    "Wer schaut sich das denn an?" So argumentiere ich normalerweise auch.
    Hier handelt es sich aber um Subfiles die nach einer
    GUI-sierung ins EXCEL übernommen werden. Da benötige ich diese Grösse.
    Ich werde die Ausgabe aber tatsächlich auf 8000 Sätze begrenzen müssen, sofern ich die Fehlerursache nicht finde.


    Zum DUMP: Woraus resultiert die
    Größe der Subdatei . . . . . . . . . . : -32768

    Gruß
    Joe

  9. #9
    Registriert seit
    Jan 2008
    Beiträge
    90
    Zitat Zitat von Joe Beitrag anzeigen
    Hallo und Danke erstmal für die Hilfe.

    "Wer schaut sich das denn an?" So argumentiere ich normalerweise auch.
    Hier handelt es sich aber um Subfiles die nach einer
    GUI-sierung ins EXCEL übernommen werden. Da benötige ich diese Grösse.
    Ich werde die Ausgabe aber tatsächlich auf 8000 Sätze begrenzen müssen, sofern ich die Fehlerursache nicht finde.


    Zum DUMP: Woraus resultiert die
    Größe der Subdatei . . . . . . . . . . : -32768

    Gruß
    Joe

    Hi Joe!

    Selbiges Problem hatte ich auch mal.
    Hab dann eine Maske mit div. Auswahlkriterien vorgeschalten und bei Überschreiten der Anzahl eine Fehlermeldung ausgegeben, daß eben die Auswahl eingeschränkt werden solle.

    Gruß,
    Günter

Similar Threads

  1. Cursor in Subfile - Cobol
    By Anette in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 24-07-06, 20:52
  2. KEYED DATA QUEUES SUBFILE DESCEND RPGLE
    By borwegen in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 30-06-06, 09:04
  3. subfile erste seite
    By steven_r in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 30-05-06, 07:58
  4. Subfile Drop
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 22-05-06, 13:56
  5. Subfile aus einer Subfile?
    By Toschie in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 08-06-05, 14:21

Berechtigungen

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