|
Put the *LOCK IN instruction into a loop and use the error indicator, to exit the loop. Unless you have a process that keeps the lock on the data area for a long time, this should only iterate a few times. If using V5R2 or above, you could use the Monitor Opcode and try again from there. C DOU not *inoe C *LOCK IN myDataarea OE C ENDDO Thanks, Mark Mark D. Walter Senior Programmer/Analyst CCX, Inc. mwalter@xxxxxxxxxx http://www.ccxinc.com "Brown, Keith (MAN-Corporate)" <Keith.Brown@cox. To com> "'rpg400-l@xxxxxxxxxxxx'" Sent by: <rpg400-l@xxxxxxxxxxxx> rpg400-l-bounces@ cc midrange.com Subject Data Area Locking 05/09/2005 02:30 PM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@midrang e.com> We use a data to maintain an unique ID number - Application RPG programs call a dedicated RPG program that uses the data area to generate a new ID. The RPG program to generate the ID uses the data area in the following manner: 1.) retrieve the data-area to import the current ID number 2.) increment the current ID number by one to generate a new ID and 3.) update the data-area for the new ID number 4.) release the data area. On occasion we get the following sequence of messages when the RPG program that locks the data-area is unable to execute the IN operation against the data-area: MCH5802 20 Lock operation for object &1 not satisfied. RNQ0431 99 Data area &6 was allocated to another process (C G D F) The RPG program will go into MSGW until the RNQ0431 message is answered. I have tried to use the Error Indicator and Error extender on the IN operation to prevent the message wait state be no such luck. What can I do to prevent the programs from going into the message wait state when unable to allocate the data area? I thought using the error indicator/extender on the IN operation would prevent the MSGW; much like what happens on database file I/O operations. Thanks, Keith -- 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.
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.