DBA Data[Home] [Help]

PACKAGE BODY: APPS.ISG_XMLG_UTIL

Source


1 package body ISG_XMLG_UTIL as
2 /* $Header: ISGECXUTILB.pls 120.3 2011/07/18 10:36:27 rajeevkk noship $ */
3 
4      procedure enqueue_message(
5       ecx_message_type IN VARCHAR2 default NULL,
6       ecx_message_standard IN VARCHAR2 default NULL,
7       ecx_transaction_type IN VARCHAR2 default NULL,
8       ecx_transaction_subtype IN VARCHAR2 default NULL,
9       ecx_document_number IN VARCHAR2 default NULL,
10       ecx_partyid IN VARCHAR2 default NULL,
11       ecx_party_site_id IN VARCHAR2 default NULL,
12       ecx_username IN VARCHAR2 default NULL,
13       ecx_payload IN CLOB default NULL,
14       ecx_msgid out nocopy VARCHAR2
15     ) is
16 
17         R_ECX_MESSAGE_TYPE VARCHAR2(200) := ecx_message_type;
18         R_ECX_MESSAGE_STANDARD VARCHAR2(200) := ecx_message_standard;
19         R_ECX_TRANSACTION_TYPE VARCHAR2(200) := ecx_transaction_type;
20         R_ECX_TRANSACTION_SUBTYPE VARCHAR2(200) := ecx_transaction_subtype;
21         R_ECX_DOCUMENT_NUMBER VARCHAR2(200) := ecx_document_number;
22         R_ECX_PARTYID VARCHAR2(200) := ecx_partyid;
23         R_ECX_PARTY_SITE_ID VARCHAR2(200) := ecx_party_site_id;
24         R_ECX_USERNAME VARCHAR2(200) := ecx_username;
25 		--R_ECX_PAYLOAD VARCHAR2(4000) := ecx_payload;
26 		R_ECX_PAYLOAD CLOB := ecx_payload;
27 
28 
29         R_ECX_MSG_BODY_PAYLOAD CLOB;
30         R_ECX_HEADER sys.AQ$_JMS_HEADER;
31 		R_ECX_MESSAGE sys.AQ$_JMS_TEXT_MESSAGE;
32 		l_enqueue_options    dbms_aq.enqueue_options_t;
33 		l_message_properties dbms_aq.message_properties_t;
34 
35 
36 		date_time VARCHAR2(100);
37 		agent_name VARCHAR2(240);
38 
39 		ecx_msgid_raw RAW(16);
40 
41 		--R_ISVALID VARCHAR2(10);
42 		R_ISVALID VARCHAR2(200);
43 		--R_TP_HEADER_ID NUMBER(35);
44 		R_TP_HEADER_ID DOUBLE PRECISION;
45 		R_ERR_CODE VARCHAR2(50);
46 		R_ERR_MESSAGE VARCHAR2(200);
47 		R_CHECK_ERR_MESSAGE VARCHAR2(200);
48 		R_RAISE_EXCEPTION VARCHAR2(10);
49 		INVALID_TP_SETUP EXCEPTION;
50 		TP_SETUP_ERROR EXCEPTION;
51 
52      begin
53 
54 		R_ISVALID := ECX_Trading_Partner_PVT.validateTPUser(R_ECX_TRANSACTION_TYPE,
55 										R_ECX_TRANSACTION_SUBTYPE,
56 										R_ECX_MESSAGE_STANDARD,
57 										R_ECX_MESSAGE_TYPE,
58 										R_ECX_PARTY_SITE_ID,
59 										R_ECX_USERNAME,
60 										R_TP_HEADER_ID,
61 										R_ERR_CODE,
62 										R_ERR_MESSAGE
63 										);
64 		R_CHECK_ERR_MESSAGE := NVL(R_ERR_MESSAGE,'R_SUCCESSFULL');
65 
66 
67 		IF R_CHECK_ERR_MESSAGE = 'R_SUCCESSFULL' THEN
68 			R_RAISE_EXCEPTION := 'FALSE';
69 		ELSE
70 			R_RAISE_EXCEPTION :='TRUE';
71 		END IF;
72 
73 		IF  R_RAISE_EXCEPTION='TRUE' THEN
74 			RAISE INVALID_TP_SETUP;
75 		END IF;
76 
77        	-- Fetching date_time to pass as BES_EVENT_KEY
78 		SELECT TO_CHAR(SYSDATE,'DD-MM-YYY:HH24-MI-SS') INTO date_time FROM DUAL;
79 		SELECT SUBSTR(ADDRESS,INSTR(ADDRESS,'.',1,1)+1) INTO agent_name FROM WF_AGENTS WHERE NAME = 'WF_WS_JMS_IN';
80 
81 		R_ECX_HEADER :=  sys.AQ$_JMS_HEADER(NULL, NULL, NULL, NULL, NULL, NULL,
82                   sys.AQ$_JMS_USERPROPARRAY(
83 						  sys.AQ$_JMS_USERPROPERTY('BES_EVENT_NAME',100,'oracle.apps.fnd.wf.ws.inbound.xmltx.receive', NULL, 27),
84 						  --sys.AQ$_JMS_USERPROPERTY('BES_EVENT_KEY', 100, '-621902048', NULL, 27),
85 						  sys.AQ$_JMS_USERPROPERTY('BES_EVENT_KEY', 100, date_time, NULL, 27),
86 						  sys.AQ$_JMS_USERPROPERTY('BES_PRIORITY', 200, NULL, 1, 23),
87 						  sys.AQ$_JMS_USERPROPERTY('BES_PAYLOAD_OBJECT', 100, 'false', NULL, 27),
88 						  --sys.AQ$_JMS_USERPROPERTY('BES_FROM_AGENT', 100,'[email protected]', NULL, 27),
89 						  sys.AQ$_JMS_USERPROPERTY('BES_FROM_AGENT', 100,agent_name, NULL, 27),
90 						  --sys.AQ$_JMS_USERPROPERTY('BES_TO_AGENT', 100,'[email protected]', NULL, 27),
91 						  sys.AQ$_JMS_USERPROPERTY('BES_TO_AGENT', 100,agent_name, NULL, 27),
92                           sys.AQ$_JMS_USERPROPERTY('ECX_MESSAGE_TYPE', 100, R_ECX_MESSAGE_TYPE, NULL, 27),
93                           sys.AQ$_JMS_USERPROPERTY('ECX_MESSAGE_STANDARD', 100,R_ECX_MESSAGE_STANDARD, NULL, 27),
94                           sys.AQ$_JMS_USERPROPERTY('ECX_TRANSACTION_TYPE', 100, R_ECX_TRANSACTION_TYPE, NULL, 27),
95                           --sys.AQ$_JMS_USERPROPERTY('ECX_TRANSACTION_TYPE', 100, 'ECX', NULL, 27),
96                           sys.AQ$_JMS_USERPROPERTY('ECX_TRANSACTION_SUBTYPE', 100, R_ECX_TRANSACTION_SUBTYPE, NULL, 27),
97 						  --sys.AQ$_JMS_USERPROPERTY('ECX_TRANSACTION_SUBTYPE', 100, 'CBODO', NULL, 27),
98                           sys.AQ$_JMS_USERPROPERTY('ECX_DOCUMENT_NUMBER', 100,R_ECX_DOCUMENT_NUMBER, NULL, 27),
99                           sys.AQ$_JMS_USERPROPERTY('ECX_PARTY_ID', 100, R_ECX_PARTYID, NULL, 27),
100                           sys.AQ$_JMS_USERPROPERTY('ECX_PARTY_SITE_ID', 100,R_ECX_PARTY_SITE_ID , NULL, 27),
101 						  sys.AQ$_JMS_USERPROPERTY('ECX_USERNAME', 100,R_ECX_USERNAME , NULL, 27),
102 						  sys.AQ$_JMS_USERPROPERTY('UserId', 100, '0', NULL, 27),
103                           sys.AQ$_JMS_USERPROPERTY('WS_PORT_OPERATION', 100, 'ReceiveDocument' , NULL, 27)
104 						  --sys.AQ$_JMS_USERPROPERTY('ECX_ATTACHMENTS',100, NULL, NULL, 27)
105 						  --sys.AQ$_JMS_USERPROPERTY('ECX_TRIGGER_ID', 100, '37192', NULL, 27)
106                           )
107                      );
108         --R_ECX_MSG_BODY_PAYLOAD := xmltype(R_ECX_PAYLOAD).getClobVal();
109 		R_ECX_MSG_BODY_PAYLOAD := R_ECX_PAYLOAD;
110         R_ECX_MESSAGE := sys.AQ$_JMS_TEXT_MESSAGE(R_ECX_HEADER,null,null,null);
111         R_ECX_MESSAGE.set_text(R_ECX_MSG_BODY_PAYLOAD);
112 		WF_EVENT.raise(
113 			p_event_name => 'oracle.apps.fnd.wf.ws.inbound.xmltx.receive',
114 			p_event_key => date_time,
115 			p_parameters => NULL
116 			);
117 
118 		DBMS_AQ.ENQUEUE
119 			(queue_name => 'APPLSYS.WF_WS_JMS_IN',
120 			enqueue_options    => l_enqueue_options,
121 			message_properties => l_message_properties,
122 			payload => R_ECX_MESSAGE,
123 			msgid => ecx_msgid_raw);
124 
125 		ecx_msgid := '' || ecx_msgid_raw;
126 
127 		EXCEPTION
128 			WHEN INVALID_TP_SETUP THEN
129 			ecx_msgid :='EXCEPTION::ERROR CODE='||R_ERR_CODE||',ERROR MESSAGE='||R_ERR_MESSAGE;
130 			raise TP_SETUP_ERROR;
131 			--ROLLBACK;
132      end enqueue_message;
133 end ISG_XMLG_UTIL;