View Full Version : 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
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.
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
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 ?
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
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
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.
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
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