create or replace procedure Receive_Order ( p_order in varchar2 )
is
v_verified_order varchar2(32767);
v_your_ref integer;
v_customer_id integer;
v_scu integer;
v_quantity integer;
begin
v_verified_order := Parse_Message.Verify_Format ( p_order, Tags.ordr );
v_customer_id := To_Number (
Parse_Message.Extract_Value ( v_verified_order, Tags.customer_id )
);
v_your_ref := To_Number (
Parse_Message.Extract_Value ( v_verified_order, Tags.our_ref )
);
v_scu := To_Number (
Parse_Message.Extract_Value ( v_verified_order, Tags.scu )
);
v_quantity := To_Number (
Parse_Message.Extract_Value ( v_verified_order, Tags.quantity )
);
insert into vendor_orders
( order_ref, customer_id, scu, quantity, order_date, status )
values
( v_your_ref, v_customer_id, v_scu, v_quantity, SYSDATE, 'new' );
Owa_Util.Mime_Header ( ccontent_type => 'text/xml' );
Htp.Print (
Tags.confirmation
|| Tags.your_ref || To_Char ( v_your_ref ) || Tags.Close ( Tags.your_ref )
|| Tags.date_received || To_Char ( SYSDATE, 'hh:mi:ss::DD-Mon-YYYY' )
|| Tags.Close ( Tags.date_received )
|| Tags.Close ( Tags.confirmation )
);
commit;
exception
when Parse_Message.Bad_Format then
rollback; Htp.Print ( 'Parse_Message.Bad_Format: ' || SQLERRM );
when others then
rollback; Htp.Print ( SQLERRM );
end Receive_Order;
/
Show Errors