DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_MESSAGE

Source


1 package body JTF_Message as
2 /* $Header: JTFQMSGB.pls 115.6 2002/02/14 05:47:38 appldev ship $ */
3 
4 -------------------------------------------------------------------
5  G_PKJ_NAME        CONSTANT	VARCHAR2(25) := 'JTF_Message';
6 
7 
8 Procedure get_prod_info( p_apps_short_name     varchar2,
9                          x_schema        Out varchar2 ) IS
10  l_schema  varchar2(30);
11  l_status  varchar2(1);
12  l_industry varchar2(1);
13 begin
14     if ( FND_INSTALLATION.get_app_info(	p_apps_short_name, l_status, l_industry,
15 					l_schema  )  )  then
16 	x_schema := l_schema;
17     else
18 	raise_application_error(-20000, 'Failed to get Info for Product'||
19 			         p_apps_short_name );
20     end if;
21 end get_prod_info;
22 
23 
24 Procedure Queue_Message( p_prod_code		varchar2,
25 	    		 p_bus_obj_code		varchar2,
26 	    		 p_bus_obj_name		varchar2,
27 			 p_correlation		varchar2,
28 	    		 p_message		CLOB	) as
29 
30  l_message_obj	       SYSTEM.JTF_MSG_OBJ := SYSTEM.JTF_MSG_OBJ( empty_clob() );
31  l_enqueue_options 	dbms_aq.enqueue_options_t;
32  l_message_properties	dbms_aq.message_properties_t;
33  l_bo_Qname		varchar2(55) := 'JTF_DEF_QUEUE';
34  l_msg_id	 	RAW(16);
35  l_schema               varchar2(30);
36 
37 Begin
38 	Begin
39 		select  queue_name  into  l_bo_Qname
40 		from  JTF_MSG_OBJ_ROUTE
41 		where
42 			PRODUCT_CODE   =  p_prod_code  and
43 			BUS_OBJ_CODE   =  p_bus_obj_code and
44 			ACTIVE_FLAG    =  'Y'    and
45                         QUEUE_TYPE     = 'O' ;
46 			Exception
47 			  When  NO_DATA_FOUND then
48 				begin
49 				select  queue_name  into  l_bo_Qname
50 				from  JTF_PROD_MSG_ROUTE
51 				where
52 				PRODUCT_CODE  =  p_prod_code  and
53 				ACTIVE_FLAG   =  'Y'   and
54 				QUEUE_TYPE    = 'O';
55 				exception
56 					When NO_DATA_FOUND then
57 					   l_bo_Qname := 'JTF_DEF_QUEUE';
58 					when OTHERS then
59 					   NULL;
60 				end;
61 			  When OTHERS then
62 				NULL;
63         End;
64 
65 
66     get_prod_info( 'JTF', l_schema);
67 
68     l_bo_Qname := l_schema||'.'||l_bo_Qname;
69     l_message_obj.message := p_message;
70     l_message_properties.correlation := p_correlation;
71 
72     dbms_aq.enqueue(    queue_name         => l_bo_Qname ,
73    			enqueue_options    => l_enqueue_options ,
74    			message_properties => l_message_properties ,
75    			payload            => l_message_obj ,
76    			msgid              => l_msg_id );
77 
78 
79 
80 End Queue_Message;
81 
82 
83 END JTF_Message;