|
> -----Original Message----- > From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On > Behalf Of fkolmann@revlon.com.au > Sent: Thursday, February 10, 2000 9:35 PM > To: RPG400-L@midrange.com > Subject: CHAIN or READ without lock > > > Thought I would check if others have experience something like this. > > The CHAIN or READ without lock is a new function (well sort of) , but do > you know it also READS LOCKED records. > > We had duplicate invoice numbers in our order processing application. > It was caused by the 'N' (no lock ) on a CHAIN op. > I checked the manual and if you read the fine print, yes you can read a > LOCKED record with > a CHAIN or READ even if the file is opened for UPDATE, provided you use > a N to request a > read without lock. > Personally I stay away from the read without lock. This is exactly how I would expect it to work. If this behaviour is what is causing your duplicate invoice numbers, then I respectfully suggest that you re-think your application design. One common method of obtaining unique invoice numbers would be as follows: FILEA - Tailoring file that stores the next available invoice number. FILEB - Invoice Master 1) Chain to FILEA with a record lock. 2) Retrieve next available invoice number. 3) Chain to FILEB without a record lock to test for duplicate invoice number. 4) If duplicate found, increment next available invoice number & repeat. 5) Once you have a unique invoice#, write invoice header record to FILEB. 6) Increment next available invoice number. 7) Commit changes. Of course, standard error handling is required for lock timeouts, invoice# rollover etc. Regards, John Taylor Canada +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.