COMMIT
Kesterson, Roger
Roger.Kesterson@mtdsw.com
Thu, 24 May 2001 08:11:55 -0700
Thanks for all the responses. It wasn't clear to me from reading the manual
that it is only for relational. We only use PH with RMS, so I guess that's
all I needed to know.
I am experiencing another strange problem. One thing we are using PH for
(PH 7.10.G2, OpenVMS 7.1) is to run a QUICK program in batch that acts as a
"server" for some data collection systems running on remote nodes. The
communication is via a combination of mailboxes and DECNET transparent
task-to-task. This setup, so far, appears to be very robust, and seems to
recover quickly and cleanly from network "glitches" which we experience on a
regular basis since one of our nodes is in Mexico, where the power grid and
data lines are quite unstable. But I digress.
The error is:
"Data access error. (LOAD_LISTS*01)?%RMS-F-FAC, record operation not
permitted by
specified file access (FAC)"
The LOAD_LISTS file is defined as:
FILE LOAD_LISTS DESIGNER OPEN WRITE SHARE
FILE LOAD_LISTS DESIGNER ALIAS LOAD_LISTS_REF OPEN READ SHARE
Even though the error message says (LOAD_LISTS*01), it is occurring in a
procedure that is trying to read from LOAD_LISTS_REF. It seems to only
occur after it writes a record to LOAD_LISTS for one request from the data
collection system, and then the very next request causes it to attempt to
read the same record from LOAD_LISTS_REF.
Here are the code snipets:
PROCEDURE INTERNAL PROCESS_TRC
BEGIN
LET T-TRAILER = (MBX_BUF OF MBXOUT)[1:9]
LET T-LOAD-LIST = (MBX_BUF OF MBXOUT)[10:6]
LET LOAD_LIST_NUMBER OF LOAD_LISTS = T-LOAD-LIST
LET TRAILER_NO OF LOAD_LISTS = T-TRAILER
LET DATE_TIME_CREATED OF LOAD_LISTS = &
ASCII(SYSDATE,8) + ASCII(SYSTIME,8)
PUT LOAD_LISTS RESET
END
PROCEDURE INTERNAL PROCESS_CMP
BEGIN
LET T-LOAD-LIST = (MBX_BUF OF MBXOUT)[1:6]
GET LOAD_LISTS_REF VIA LOAD_LIST_NUMBER &
USING T-LOAD-LIST OPTIONAL
IF ACCESSOK
THEN
BEGIN
.
.
.
END
END
So basically, PROCESS_TRC is called, followed fairly quickly by PROCESS_CMP,
using the same value for T-LOAD-LIST, and the program blows on the GET with
the above error. It seems like it might be a timing issue, because when the
program comes back up, the PROCESS_CMP works fine on the same load list
number.
Thanks,
Roger
> -----Original Message-----
> From: Kesterson, Roger [mailto:Roger.Kesterson@mtdsw.com]
> Sent: Wednesday, May 23, 2001 9:54 AM
> To: PowerHouse List Server (E-mail)
> Subject: COMMIT
>
>
> This might seem like a silly question, but when might one use a COMMIT
> command in QUICK?
>
> = = = = = = = = = = = = = = = = = = = = = = = = = = = =
> Mailing list: powerh-l@lists.swau.edu
> Subscribe: "subscribe" in message body to
> powerh-l-request@lists.swau.edu
> Unsubscribe: "unsubscribe" in message body to
> powerh-l-request@lists.swau.edu
> http://lists.swau.edu/mailman/listinfo/powerh-l
> This list is closed, thus to post to the list you must be a
> subscriber.
>