I have a field called equip_code. has list of values
once the value is chosen I have this code

if arameter.EQUIP_USED_OTHERDRIVE is null then

case msgbox.show('Equip Code ', 'Equipment selected currently being used on drive - '
||v_drive_id
||chr(10)||'Please verify and contact Supervisor.'
||chr(10)||'Are you sure you want to continue?'
||chr(10)||'If Yes please enter comments in the comment box','note','NO', 'YES')
when ALERT_BUTTON2 then
arameter.EQUIP_USED_OTHERDRIVE := 'Y';

l_timer := Create_Timer('Nav_Timer2', 1, NO_REPEAT);

when ALERT_BUTTON1 then

arameter.EQUIP_USED_OTHERDRIVE := 'N';
:qc_equipment_used2.equip_code := null;
:qc_equipment_used2.equip_DESC := NULL;( at this point they can re-choose the equipment)
end case;
End if;

if arameter.NON_ASSIGNED_EQUIP_CODE is null then

case msgbox.show('Equip Code', 'Equip Code - '||:qc_equipment_used2.equip_code
||' Chosen is not assigned to your department.'
||chr(10)||'Are you sure you want to Continue?'
||chr(10)||'If Yes please enter comments in the comment box', 'note', 'NO', 'YES')
when ALERT_BUTTON2 then
arameter.NON_ASSIGNED_EQUIP_CODE := 'Y';

l_timer := Create_Timer('Nav_Timer3', 1, NO_REPEAT);

when ALERT_BUTTON1 then

arameter.NON_ASSIGNED_EQUIP_CODE := 'N';
:qc_equipment_used2.equip_code := NULL;
:qc_equipment_used2.equip_DESC := NULL;
End case;

in my code for when-timer-expired I have this code

IF ( Get_Application_Property(Timer_Name) = 'NAV_TIMER2' ) THEN
If arameter.EQUIP_USED_OTHERDRIVE = 'Y' then
go_item('qc_equipment_used2.V_EQUIP_USED_COMMENTS' );
End if;
ELSIF ( Get_Application_Property(Timer_Name) = 'NAV_TIMER3' ) THEN
If arameter.NON_ASSIGNED_EQUIP_CODE = 'Y' then
go_item('qc_equipment_used2.comments');
End if;
Else
go_item('qc_equipment_used2.procedure_button');
END IF;

What I need here is one message fires and then open the comment box that is there in the when-timer-expired.
Whats happening is the first message fires and does not go to the comment box. but the second message fires and then the first comment box opens. so go_item('qc_equipment_used2.comments'); fires here . But the second comment box does not come. go_item('qc_equipment_used2.V_EQUIP_USED_COMMENTS' ); does not fire.

I want the message and when user acknowledges, I want the go-item to fire so that the comment box comes. At the exit button the comment box I have this code

declare
v_open_reason varchar2(1000);

Begin
v_open_reason := strip_bad(:qc_equipment_used2.v_equip_used_comment s);

If v_open_reason is null then
msgbox.show('Comments', 'Comments cannot be Null. Please verify re-enter.', 'OK');
:qc_equipment_used2.v_equip_used_comments := null;
raise form_trigger_failure;
else
:qc_equipment_used2.v_equip_used_comments := v_open_reason;--||' - '|| :qc_daily.confirmed_user|| ' - ' ||TO_CHAR(SYSDATE, 'MM/DD/RRRR, HH24:MIS');
arameter.EQUIP_USED_OTHERDRIVE := 'N';
hide_window('equip2_used_comments');
go_item('qc_equipment_used2.equip_code');
execute_trigger('when-validate-trigger');
End if;
End;

But this is not hellening. Any help is appreciated.