[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;