Question : oracle query question

if :control.start_date = (sysdate-1) and :control.end_date = (sysdate-1) then
      If :control.p_seq_no != 1 then
           msgbox.show('Error', 'Bucket not generated for the chosen date range', 'error');
                 :control.p_seq_no := null;
                 go_item('control.p_seq_no');
       Else                                
          go_item('control.pb_run');  
      End if;
Elsif :control.start_date = (sysdate-2) and
     (:control.end_date between (sysdate-2) and (sysdate-1)) then
          If :control.p_seq_no not in ( 2,1) then
            msgbox.show('Error', 'Bucket not generated for the chosen date range', 'error');
          :control.p_seq_no := null;
          go_item('control.p_seq_no');
        Else                                
          go_item('control.pb_run');  
        End if;
End if;
-----------------------------
If start date and end date is sysdate-1 then only bucket 1 can be chosen, ie p_seq_no (report parameter)
If start date is sysdate-2 and end date is between sysdate-2 and sysdate-1 then only bucket 1 or 2 can be chosen. My query above does not display the message if I choose a wrong bucket and also on return key does not go to the next field. How can I make it to work?

Answer : oracle query question

oh..ok.. i did not that it is a parameter. i thought it is a control block item.

Then try this :

to_number(trim(:control.p_seq_no)) != 1

similarly,

to_number(trim(:control.p_seq_no)) not in (1,2)

Thanks
Random Solutions  
 
programming4us programming4us