-
 Zitat von Domeus
Hallo.
Wir haben in einem Programm eine DO Schleife mit einem read. Nun kommt es hier öfters mal vor, dass einzelne Sätze ein LOCK haben weil da gerade ein Benutzer mit arbeitet. Das ist ok und normal und wir haben nach dem Read eingebaut, dass er dann automatisch auf den nächsten Satz ein setll macht und dann mit dem read weiter.
Allerdings bleibt es bei dem read im Falle eines LOCKs ziemlich lange stehen und wartet, was hier nicht nötig ist. Er könnte dann theoretisch direkt weiter. Kann man irgendwie diese Wartezeit einstellen oder ganz entfernen (natürlich nur für dieses eine read - nicht systemweit)?
Gruß
Sebastian
... rekord löffel exzem kann das nicht. Nimm SQL und Locklevel read commited, dann werden gesperrte Sätze überlesen.
D*B
-
Guten Morgen und danke schon mal für eure Antworten.
Die ganze Problematik betrifft unser Lagersystem. Hier haben wir alles unterteilt in LAGER, REIHE, FELD, HOEHE. Diese Werte sind blöderweise 3A (warum? keine Ahnung - Uralt). Und die Daten werden auch noch rechtsbündig geschrieben. Heisst die Werte für die Lagerorte sehen dann z.B. so aus:
LAGER ' 60'
REIHE '100'
FELD ' 15'
HOEHE ' 50'
Nun liest diese Programm einen Lagerort nach dem anderen durch und prüft hier bestimmte Werte und ändert diese unter Umständen. Sollte ein Satz gerade gesperrt sein, dann nimmt er den Wert für HOEHE, wandelt diesen in DEC 3. Addiert dann eins drauf 50 -> 51 und schriebt ihn dann mit EVALR und %char() zurück in die HOEHE Variable und macht damit ein setll. Dadurch wird beim nächsten Lagerort positioniert und dann geht das weiter. Falls HOEHE bei 999 ankommt dann wird diese auf ' 1' gesetzt und dafür dann FELD um eins erhöht. Und so arbeitet sich das Programm durch das ganze Lager.
Ist halt alles ziemlich alt und man würde es wahrscheinlich heuet anders gestalten, aber an der Grundlogik können wir da nichts mehr ändern.
-
Dann kannst du vor Aufruf des Programmes, über ein CLP, nur für dieses einen OVRDBF machen um die Satzwartezeit z.B. auf 5 Sekunden zu reduzieren.
Beim Lesen würde ich die N-Funktion (NoLock) benutzen wie oben geschrieben, nur beim erforderlichen Chain/Update würde dann die verkürzte Wartezeit zuschlagen.
-
Alles klar. Das hilft mir weiter. Vielen Dank!
Similar Threads
-
By ILEMax in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 11-12-18, 09:53
-
By Power8 in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 12-09-17, 13:23
-
By DeadlyPunch in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 25-02-09, 14:33
-
By kruxelwuz in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 18-02-05, 08:16
-
By Stefan_R in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 19-11-01, 16:07
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks