The below problem will occur when we use LSR buffering for KSDS file in CICS.
Step 1: A successful EXEC CICS STARTBR is issued for a KSDS file
Step 2:
Successsive READ NEXT is issued for the same dataset
Step 3:
After checking the condition , a decision is made to update or
delete
the record read on the READ NEXT operation and an EXEC CICS READ
UPDATE
or EXEC CICS DELETE is issued.
The
above operation will lockout the task and force it to hang and the
reason
is :
The CI's
that are accessed by a task or enqueued (locked) in an LSR buffer
pool and
dequeued (released) either when the task is finished or an explicit
release
request is issued. So in the above example the CI's will be locked
during
the READ NEXT operation and the CI's won't be released until the
ENDBR
command is issued. So when you try to update or delete the record ,
the
record sitting in the CI is not available for the same task again and
so
the task
will hang till purged or cancelled by CICS which will cause the
ACYA
abend.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.