0% found this document useful (0 votes)
122 views

Task Details Project Number LOV: Go - Block Go - Item When-Validate-Item When-Timer-Expired When-Timer-Expired

This document discusses overcoming restrictions on using GO_BLOCK or GO_ITEM in a WHEN-VALIDATE-ITEM trigger. It describes using a WHEN-TIMER-EXPIRED trigger to call a procedure containing the GO_BLOCK. A timer is created with a short duration in the WHEN-VALIDATE-ITEM trigger, causing the WHEN-TIMER-EXPIRED trigger to immediately call the procedure and allow navigation to another block.

Uploaded by

Sarfaraz Ahmed
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views

Task Details Project Number LOV: Go - Block Go - Item When-Validate-Item When-Timer-Expired When-Timer-Expired

This document discusses overcoming restrictions on using GO_BLOCK or GO_ITEM in a WHEN-VALIDATE-ITEM trigger. It describes using a WHEN-TIMER-EXPIRED trigger to call a procedure containing the GO_BLOCK. A timer is created with a short duration in the WHEN-VALIDATE-ITEM trigger, causing the WHEN-TIMER-EXPIRED trigger to immediately call the procedure and allow navigation to another block.

Uploaded by

Sarfaraz Ahmed
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1

Project NumberLOV

Task Details

Task
Number

Task
Name

DESCRIP
TION

SERVICE_TYPE
_CODE

ACCRUAL_ME
THOD

Usually there is a restriction on using GO_BLOCK or GO_ITEM on a WHEN-VALIDATE-ITEM.


However there are a couple of ways to overcome this. One way is to use a WHEN-TIMEREXPIRED trigger. Here is how-

WHEN-TIMER-EXPIRED
Begin
if GET_APPLICATION_PROPERTY(TIMER_NAME) = 'NEW_TIMER' then
CALL_PROG_UNIT(); --This is your Procedure that calls the GO_BLOCK
/*Do rest of validation here*/
end if;
END;
WHEN-VALIDATE-ITEM
DECLARE
timer_id TIMER;
Begin
timer_id := CREATE_TIMER('NEW_TIMER',1,NO_REPEAT); --set a short timer so that the
WHEN-TIMER-EXPIRED trigger is fired immediately
End;
What happens is - This will create & expire the timer as soon as the CREATE_TIMER function
is called and then the form level trigger WHEN-TIMER-EXPIRED will check the expired timer
name and call your program unit that has the GO_BLOCK. Hope this helps.

You might also like