09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Dequeue Features<br />

end;<br />

/<br />

IF (deq_cust_data.country = ’Canada’ OR<br />

deq_cust_data.country = ’Mexico’ ) THEN<br />

dopt.dequeue_mode := dbms_aq.REMOVE_NODATA;<br />

dopt.msgid := deq_msgid;<br />

dbms_aq.dequeue(<br />

queue_name => qname,<br />

dequeue_options => dopt,<br />

message_properties => mprop,<br />

payload => deq_order_nodata,<br />

msgid => deq_msgid);<br />

commit;<br />

8-72 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong><br />

dbms_output.put_line(’ **** next booked order **** ’);<br />

dbms_output.put_line(’order_no: ’ || deq_order_data.orderno ||<br />

’ book_title: ’ || deq_book_data.title ||<br />

’ quantity: ’ || deq_item_data.quantity);<br />

dbms_output.put_line(’ship_state: ’ || deq_cust_data.state ||<br />

’ ship_country: ’ || deq_cust_data.country ||<br />

’ ship_order_type: ’ || deq_order_data.ordertype);<br />

END IF;<br />

commit;<br />

dopt.dequeue_mode := DBMS_AQ.LOCKED;<br />

dopt.msgid := NULL;<br />

dopt.navigation := dbms_aq.NEXT_MESSAGE;<br />

EXCEPTION<br />

WHEN no_messages THEN<br />

dbms_output.put_line (’ ---- NO MORE BOOKED ORDERS ---- ’);<br />

new_orders := FALSE;<br />

END;<br />

END LOOP;<br />

CONNECT EXECUTE on get_northamerican_orders to OS;<br />

CONNECT ES/ES;<br />

/* Browse all booked orders for East_Shipping: */<br />

EXECUTE BOLADM.shipping_bookedorder_deq(’East_Shipping’, DBMS_AQ.BROWSE);<br />

CONNECT OS/OS;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!