0% found this document useful (0 votes)
149 views1 page

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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views1 page

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
We take content rights seriously. If you suspect this is your content, claim it here.
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