To me, this sounds like a task that is tailor made for iSeries Journaling. Rather than trying to serialize the file access, just use the system to journal the change and then run a daily job to retrieve, analyze, report, and clean out the Journal log. The techniques and methods for doing all this are well known and well supported. :)
If you really need serialized access, as in normal file locking won't work, you might want to look at CICS, which excels at doing just that, making each file operation absolutely atomic while preserving the appearance of concurrent access.
Else, if you are just looking for a temporary, or a "quick and dirty" solution, what you are suggesting should work okay. Look up techniques for "optimistic record locking" on Google for a bunch of ideas of how to do what you are thinking of. Optimistic locking has to do exactly the process you are describing.
Hope that helps just a bit. Very interesting question, please post how you do decide to resolve it.
Yours
-Paul
On Aug 01, 2014, at 07:52 AM, "(WalzCraft) Jerry Forss" <JForss@xxxxxxxxxxxxx> wrote:
Hi All,
I want to create a "new" standard here in which all access to a file (Inquiry and Update) are done through a single pgm.
Let's call it FMMasterR for file MASTER.
My display pgm gets the record from FMMasterR. It is maintained and returned to FMMasterR as a DS (Parm_DS). I chain to MASTER receiving it into a Old_DS. I can compare Parm_DS to Old_DS to see that something changed. I can get the field names in the file easy enough loading into an array. What I want to do spin through the fields finding what changed. Something like
If Parm_DS.Field(1) < > Old_DS.Field(1). I then can write to a maintenance log of specific field changes. I know someone does field level maintenance logging so I am looking for some guidance on the best approach. Being I have the fields, length and pos I suppose I could try and compare doing a substring on the entire length of the file.
I am just playing and trying to come up with some ideas.
Thanks!!
Subject to Change Notice:
WalzCraft reserves the right to improve designs, and to change specifications without notice.
Confidentiality Notice:
This message and any attachments may contain confidential and privileged information that is protected by law. The information contained herein is transmitted for the sole use of the intended recipient(s) and should "only" pertain to "WalzCraft" company matters. If you are not the intended recipient or designated agent of the recipient of such information, you are hereby notified that any use, dissemination, copying or retention of this email or the information contained herein is strictly prohibited and may subject you to penalties under federal and/or state law. If you received this email in error, please notify the sender immediately and permanently delete this email. Thank You;
WalzCraft PO Box 1748 La Crosse, WI. 54602-1748
www.walzcraft.com<
http://www.walzcraft.com/ > Phone... 800-237-1326
As an Amazon Associate we earn from qualifying purchases.