PDA

View Full Version : SFLSIZ - Fehlermeldung CPF5043



christian_lettner
01-02-07, 15:13
Hallo, kann mir bitte jemand sehr dringend helfen.

Wir haben einen Subfile, welcher automatisch befüllt wird.
SFLSIZ = 999
SFLPAG = 1
SFLINZ
SFLRNA

Bisher konnten immer über 4000 Records erstellt werden.

Heute bekomme ich allerdings die Fehlermeldung CPF5043 Datensatz paßt nicht in Subdatei.

Ich kann SFLSIZ leider nicht auf über 3000 erhöhen, da ich sonnst Fehler CPF0674 Subfile in File too large erhalte.

Hat jemand eine Idee, woran das liegen könnte? Mein Kollege, der das gemacht hat ist leider auf Urlaub und nicht erreichbar.

Danke für eure baldige Hilfe!

mfg Chris

Fuerchau
01-02-07, 15:28
Normalerweise können 9999 Sätze in der SFL gespeichert werden, wobei der Platz allerdings 16MB nicht übersteigen darf.
Innerhalb einer DSPF dürfen nur max. 12 SFL's gleichzeitig geöffnet sein.

SFLINZ sollte normalerweise mit Bezugszahl definiert sein, weil dann mit dieser BZ SFLSIZ leere Sätze initialisiert werden können (diese können dann per CHAIN/UPDAT BEARBEITET WERDEN).

Benötigt man diese Funktion nicht, kann SFLINZ entfallen.

Wichtig ist nur, dass SFLSIZ mindestens 1 größer als SFLPAG (sichtbarer Bereich) ist, man kann trotzdem 9999 Sätze schreiben.

Prüfe mal per DSPFFD die Satzlänge der SFL und teile 16MB durch diese Länge.

christian_lettner
01-02-07, 16:07
Danke für die wie immer 1a-Hilfe!

Genau das wars.
SFLINZ ist eh mit BZ gesteuert (hab ich vergessen dazuzuschreiben)

Gibt es irrgend einen Trick die 16MB-Grenze zu umgehen.
Wir benötigen in dem SFL eine unzahl von Hilfsfeldern, ... und es wäre toll, wenn wir uns einen Workfile ersparren könnten.

Vielleicht fällt euch ja auch noch dazu was ein.

mfg Chris

Fuerchau
01-02-07, 16:27
Nein, diese Grenze ist nicht umgehbar.
Wenn da soviele Hilfsfelder in die SFL gestellt werden, ist eher die Frage, ob das Design korrekt ist.
Meist benötigt man doch nur die Schlüssel um bei tatsächlicher Verwendung dann auf die Daten zuzugreifen.

Ausserdem, wer guckt sich 3000 SFL-Sätze auch tatsächlich an ?
In solchen Fällen würde ich dem Bediener eher eine weitere Suchhilfe (Filter) anbieten und eine Meldung ausgeben, dass das wohl etwas viele Daten sind.