Anmelden

View Full Version : KEYED DATA QUEUES SUBFILE DESCEND RPGLE



borwegen
30-06-06, 08:08
Hallo, ich habe ein kleines Problem,
ich benutze für meine one-page Subfiles gekeyte Data Queues. Jetzt gibt es das Problem beim lesen der Data Queue wenn ich im Subfile nach Belegnummern absteigend sortiere.

Es werden alle geänderten Sätze aus dem Subfile in die Data Queue geschrieben (wenn man blättert von verschiedenen Seiten), erst bei Druck der Eingabetaste werden die Daten aus der Data Queue verarbeitet.

Der Schlüssel ist firma,niederlassung, belegnummer absteigend

Einträge in der Data Queue
1|200|12
1|200|04
1|200|10

Er liest als erstes den Satz 1|200|4

Wie kann ich es jetzt hinkriegen das meine Data Queue so gelesen wird.
Einträge in der Data Queue?

1|200|12
1|200|10
1|200|04

Mfg VBO

Fuerchau
30-06-06, 08:16
Siehe folgendes API:
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/apis/obj2.htm?resultof=%22%71%72%63%76%64%74%61%71%22%2 0

Eine absteigende Sortierung wird da leider nicht unterstützt.

Warum benutzt du keine PF-Arbeitsdatei ?

borwegen
30-06-06, 08:21
Ist die flexibelste Art mit einem Subfile zu arbeiten, kann halt in einen Subfile in dem immer nur eine Seite geladen wird über mehrere Seiten blättern auswählen, alles kein Problem solange ich nicht ne absteigende Sortierung drin habe, suche da verzweifelt nach ner Lösung ohne mein Standard-Subfile komplett umzuschreiben.

Fuerchau
30-06-06, 09:02
Ich denke, an Stelle der DTAQ musst du deine Methoden auf eine PF (1 Key, 1 Feld) umstellen. Dies ist genauso einfach und flexibel da du mit SETLL,READ und SETGT,READP arbeiten kannst.

B.Hauser
30-06-06, 09:04
Hi,

bei solchen variablen Subfiles verwende ich eine geschlüsselte DataQueue, in der nur die Auswahl Optionen und eine eindeutige Kennung des Satzes als Schlüssel verwendet werden). Beim ReadC werden zunächst die Sätze in die DataQueue geschrieben. Bei Datenfreigabe wird nur die DataQueue ausgelesen und Verarbeitet.

Die Datensätze lade ich zunächst in eine Array-Datenstruktur oder Mehrfach-Datenstruktur (meist in einem Rutsch über einen multiple Row-Fetch in SQL), die ich dann je nach Bedarf vorwärts oder rückwärts auslese und die Sätze in der Subfile ausgebe. Zu jedem Satz wird geprüft, ob ein entsprechender Eintrag in der DataQueue steht, und die Option beim Füllen der Subfile-Seite übernommen.

Vielleicht nicht besonders schön, aber funktioniert.

Birgitta