Sorry, the contents of my file are misleading. The time isn't part of the reference number.
ArchiveFile
Product Client Ref Time
Product1 Client1 RefNo1 10:41:57
Product2 Client2 RefNo1 10:41:57
Summing up, 2 jobs writing to the same file. One job is quicker than the other. The first job calculates the data to write, tests to see it doesn't already exist and writes the data. In RPG, how should we prevent another job from doing the same and writing the same data before the first one?
-----Message d'origine-----
De : rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] De la part de David FOXWELL
Envoyé : mercredi 19 novembre 2008 09:33
À : RPG programming on the AS400 / iSeries
Objet : problem with duplicate records
Hi,
Two users have managed to create the same archive reference number while creating two different clients.
Like this :
ArchiveFile
Product1 Client1 RefNo1 10:41:57(time)
Product2 Client2 RefNo1 10:41:57
The program would crash if the problem occurred with the same product. As it is 2 users in different services created the records at the same time.
The user enters the client details and hits the enter key.
The program writes the client to the client file then calls an external procedure to find an unused archive number then write this number to the archive file.
The client files look like this
Product1_clients
Client1 created at 10:41:53
Product2_clients
Client2 created at 10:41:56
I'm assuming that the creation of client1 took so long that the creation of client2 caught up. The same time in the ArchiveFile is just a hazard.
I can think of ways to fix it, but I'd rather ask what are we doing wrong?
Thanks.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.