IBM AS/400 manual Record Locking

Models: AS/400

1 489
Download 489 pages 47.95 Kb
Page 300
Image 300
Record Locking

Record Locking

Record Locking

When a record is read by a program, it is read in one of two mod update. If a program reads a record for update, a lock is placed Another program cannot read the same record for update until the firs releases that lock. If a program reads a record for input, no lock record. A record that is locked by one program can be read for inp program.

In RPG IV programs, you use an

update

file

to read

records for

up

read from a file with a type other than update

can

be

read

for

default, any record that is read from an update

file

 

will

be

read

update files, you can specify

that

a

record be

read

for

input

by

input operations CHAIN, READ, READE, READP, or READPE and

specifying

an

 

 

operation code extender (N) in

the

operation

code

field

following

the

name.

 

 

 

 

 

 

 

 

 

 

 

When a record is locked by an RPG IV program, that lock remains until following occurs:

¹ the record is updated.

¹ the record is deleted.

¹ another record is read from the file (either for inquiry or upda

¹ a SETLL or SETGT operation is performed against the file

¹ an UNLOCK operation is performed against the file.

¹an output operation defined by an output specification with no fie included is performed against the file.

Note: An output operation that adds a record to a file does not r record lock being released.

If your program reads a record for update and that record is lock program in your job or through another job, your read operation will w record is unlocked (except in the case of shared files, see “Sharing Path” on page 277). If the wait time exceeds that specified on the parameter of the file, an exception occurs. If your program does no

exception (RNX1218)

then

the

default error

handler is

given

control

whe

lock timeout

occurs,

an RNQ1218 inquiry message will

be

issued. One

of

options listed

for

this message is to retry the

operation

on

which

th

occurred.

This

will

cause

the

operation on

which

the

timeout

occurred

issued, allowing the program to continue as if the record lock timeout occurred. Note that if the file has an INFSR specified in which an

performed

on the

file

before

the default error handler is given cont

results

can

occur

if

the

input

operation that is retried is a seque

since

the

file cursor

may

have

been modified.

Note: Subprocedures do not get inquiry message, and so this situation s handled by using an error indicator on the read operation and c status 1218 following the read.

If no changes are required to a locked record, you can release it state, without modifying the file cursor, by using the UNLOCK operation essing output operations defined by output specifications with no fiel

276 ILE RPG for AS/400 Programmer's Guide

Page 300
Image 300
IBM AS/400 manual Record Locking