Re: Опыт использования SETOBJACC

Главная Форумы IBM i (OS/400) Опыт использования SETOBJACC Re: Опыт использования SETOBJACC


Jevgeni Astanovski
Aliexpress INT

Я то как раз из-за этого параметра свой вопрос и сформулировал.
Вот что мануал пишет по поводу параметра DFTWAIT в атрибутах JOB:
Specifies, for the default maximum wait time, that processing
of a job is held until a system instruction that
requires a wait, such as a lock instruction, completes
running. This default wait time is used when a wait time
is not otherwise specified for a given situation.
Normally, this is the amount of time the system user is
willing to wait for the system before canceling the
If the wait time for any instruction is exceeded, an error
message can be either shown or automatically handled
by a Monitor Message (MONMSG) command.
The wait time specified for this parameter is ignored for
read operations to database files; to specify that attribute,
use the WAITRCD parameter of the appropriate
database command (create, change, or override) for a
physical, logical, or database file command.
И вот что они пишут по поводу WAITRCD:
Specifies the number of seconds that a program waits
for a record to be updated or deleted, or for a record
read in the commitment control environment with
LCKLVL(*ALL) specified. More information on record
locking is in the DB2 for AS/400 Database Programming
book. If the record is not allocated in the specified wait
time, an error message is sent to the program.
Это означает (как я понимаю), что если программа на RPG пытается писать запись, которая заблокирована, то у нее есть шанс узнать об этом грустном событии не ранее чем через 60 секунд.
Так как сказано в писании:
If the record is not allocated in the specified wait
time, an error message is sent to the program.

А значит пока это время не пройдет, ошибка не будет сгенерирована и даже если в программе есть обработчик, то он об этом просто не узнает…

Я думаю, что минутные “зависания” как раз отсюда….