Consultor Eletrônico



Kbase P130300: Error 3161 when using PROCESS EVENTS
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   23/04/2008
Status: Unverified

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Versions

SYMPTOM(s):

Error 3161 when using PROCESS EVENTS

IO-Blocking trigger invalid from within GET of query/browse. (3161)

PROCESS EVENTS executed by external procedure called by Write trigger

CAUSE:

This is expected behavior because the PROCESS EVENTS statement causes all outstanding events to be processed without blocking for user input.
The error 3161 happens because a FIND or WRITE trigger fires during a QUERY/BROWSE because the QUERY does finds and may cause writes to the database, if such trigger contains an IO-BLOCK (prompt-for, update etc) that waits for input, then this error results. In this case the PROCESS EVENTS creates an implicit input which is not allowed -- there can be no "wait-for" occurring within a BROWSE action.

FIX:

Do not use PROCESS EVENTS within a Write trigger or a external procedure called by the Write Trigger.