[Home] [Help]
PACKAGE BODY: APPS.IEM_CLIENTLAUNCH_PUB
Source
1 PACKAGE BODY IEM_CLIENTLAUNCH_PUB as
2 /* $Header: iempuwqb.pls 120.2 2005/10/27 14:34:35 liangxia shipped $*/
3
4 --
5 --changed
6 -- Purpose: Maintain Launch Email Client
7 --
8 -- MODIFICATION HISTORY
9 -- Person Date Comments
10 -- Liang Xia 4/14/2003 Launched Message Component for INB, ACQ emails
11 -- Liang Xia 4/28/2003 Launching Inbound from node and subnode differently
12 -- Liang Xia 4/29/2003 Fixed bug unable to lauch Transfered message
13 -- Liang Xia 04/06/2005 Fixed GSCC sql.46 ( bug 4256769 )
14 -- Liang Xia 10/26/2005 Fixed bug 4692146
15 -- --------- ------ -------------------------------
16 PROCEDURE launchInbound ( p_ieu_media_data IN SYSTEM.IEU_UWQ_MEDIA_DATA_NST,
17 x_action_type OUT NOCOPY number,
18 x_action_name OUT NOCOPY varchar2,
19 x_action_param OUT NOCOPY varchar2,
20 x_msg_name OUT NOCOPY varchar2,
21 x_msg_param OUT NOCOPY varchar2,
22 x_dialog_style OUT NOCOPY number,
23 x_msg_appl_short_name OUT NOCOPY VARCHAR2
24 ) IS
25
26 l_name varchar2(500);
27 l_value varchar2(1996);
28 l_type varchar2(500);
29
30 logMessage varchar2(2000);
31 l_acct_id number;
32 l_acct_rt_class_id varchar2(30) := '-1';
33 l_resource_id varchar2(30);
34 l_classification_id number;
35 l_launched_node varchar2(100);
36
37 l_return_status VARCHAR2(200) := FND_API.G_RET_STS_SUCCESS;
38 l_msg_count NUMBER := 0;
39 l_msg_data VARCHAR2(2000);
40 BEGIN
41
42 -- Standard Start of API savepoint
43 SAVEPOINT launchInbound_pvt;
44
45
46 FND_LOG_REPOSITORY.init(null,null);
47
48 if( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
49 logMessage := '[ launchInbound begin ]';
50 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHINBOUND', logMessage);
51 end if;
52
53 for i in 1..p_ieu_media_data.count loop
54
55 if p_ieu_media_data(i).PARAM_NAME = 'IEU_PARAM_PK_COL' then
56 l_launched_node := p_ieu_media_data(i).PARAM_VALUE;
57 elsif p_ieu_media_data(i).PARAM_NAME = 'EMAIL_ACCOUNT_ID' then
58 l_acct_id := TO_NUMBER(p_ieu_media_data(i).PARAM_VALUE);
59 elsif p_ieu_media_data(i).PARAM_NAME = 'IEU_PARAM_PK_VALUE' then
60 l_acct_rt_class_id := p_ieu_media_data(i).PARAM_VALUE;
61 elsif p_ieu_media_data(i).PARAM_NAME = 'RESOURCE_ID' then
62 l_resource_id := p_ieu_media_data(i).PARAM_VALUE;
63 end if;
64
65 end loop;
66
67 if( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
68 logMessage := 'l_acct_id='||l_acct_id||' | l_acct_rt_class_id='||
69 l_acct_rt_class_id||' | l_resource_id='||l_resource_id||
70 ' | l_launched_node=' ||l_launched_node ;
71 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHINBOUND', logMessage);
72 end if;
73
74 if l_launched_node = 'EMAIL_ACCOUNT_ID' then
75 l_classification_id := '-1';
76 elsif l_launched_node = 'ACCOUNT_ROUTE_CLASS_ID' then
77 select route_classification_id into l_classification_id from iem_account_route_class
78 where account_route_class_id = l_acct_rt_class_id;
79 end if;
80
81 x_action_type := 2; --NULL;
82 x_action_name := 'IEM_MC_LAUNCHER';
83 x_action_param := 'appShortName=IEM&'||'act=getwork&'||'agentID='||l_resource_id
84 ||'&'||'accountID='||l_acct_id||'&'||'classificationID='||l_classification_id;
85
86 x_msg_name := null; --'IEM_NOT_FROM_UWQ_MSG';
87 x_msg_param := NULL;
88 x_dialog_style := IEU_DS_CONSTS_PUB.G_DS_NONE;
89 x_msg_appl_short_name := null;
90
91 /* End of Stub */
92 if( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
93 logMessage := '[ launchInbound end ]';
94 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHINBOUND', logMessage);
95 end if;
96
97 EXCEPTION
98 WHEN NO_DATA_FOUND THEN
99 ROLLBACK TO launchInbound_pvt;
100 if( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
101 logMessage := '[NO data found when query iem_account_route_class with l_acct_rt_class_id='||l_acct_rt_class_id||']';
102 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHINBOUND', logMessage);
103 end if;
104
105 WHEN FND_API.G_EXC_ERROR THEN
106 ROLLBACK TO launchInbound_pvt;
107 if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
108 logMessage := '[ FND_API.G_EXC_ERROR occur!!! ]';
109 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHINBOUND', logMessage);
110 end if;
111
112 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
113 ROLLBACK TO launchInbound_pvt;
114 if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
115 logMessage := '[ FND_API.G_EXC_UNEXPECTED_ERROR occur!!! ]';
116 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHINBOUND', logMessage);
117 end if;
118 WHEN OTHERS THEN
119 ROLLBACK TO launchInbound_pvt;
120 if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
121 logMessage := '[Other exception:' ||substr(sqlerrm,1,300)||']';
122 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHINBOUND', logMessage);
123 end if;
124
125 END launchInbound;
126
127
128
129 PROCEDURE launchAcquired( p_ieu_media_data IN SYSTEM.IEU_UWQ_MEDIA_DATA_NST,
130 x_action_type OUT NOCOPY number,
131 x_action_name OUT NOCOPY varchar2,
132 x_action_param OUT NOCOPY varchar2,
133 x_msg_name OUT NOCOPY varchar2,
134 x_msg_param OUT NOCOPY varchar2,
135 x_dialog_style OUT NOCOPY number,
136 x_msg_appl_short_name OUT NOCOPY VARCHAR2
137 ) IS
138
139 l_name varchar2(500);
140 l_value varchar2(1996);
141 l_type varchar2(500);
142 logMessage varchar2(2000);
143
144 l_acct_id varchar2(30);
145 l_resource_id varchar2(30);
146 l_msg_id varchar2(30);
147
148 l_classification_id iem_route_classifications.route_classification_id%type;
149 l_class_name iem_route_classifications.name%type;
150
151 l_rt_media_item_id IEM_RT_MEDIA_ITEMS.rt_media_item_id%type;
152
153 l_return_status VARCHAR2(200) := FND_API.G_RET_STS_SUCCESS;
154 l_msg_count NUMBER := 0;
155 l_msg_data VARCHAR2(2000);
156
157 BEGIN
158
159 -- Standard Start of API savepoint
160 SAVEPOINT launchInbound_pvt;
161 FND_LOG_REPOSITORY.init(null,null);
162
163 if( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
164 logMessage := '[ launchAcquired begin ]';
165 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHACQUIRED', logMessage);
166 end if;
167
168 for i in 1..p_ieu_media_data.count loop
169 if p_ieu_media_data(i).PARAM_NAME = 'EMAIL_ACCOUNT_ID' then
170 l_acct_id := p_ieu_media_data(i).PARAM_VALUE;
171 elsif p_ieu_media_data(i).PARAM_NAME = 'IEU_PARAM_PK_VALUE' then
172 l_msg_id := p_ieu_media_data(i).PARAM_VALUE;
173 elsif p_ieu_media_data(i).PARAM_NAME = 'RESOURCE_ID' then
174 l_resource_id := p_ieu_media_data(i).PARAM_VALUE;
175 end if;
176 end loop;
177
178 if( FND_LOG.LEVEL_STATEMENT>= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
179 logMessage := 'l_acct_id='||l_acct_id||' | l_msg_id='||l_msg_id||' | l_resource_id='||l_resource_id;
180 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUBLAUNCHACQUIRED', logMessage);
181 end if;
182
183 select route_classification_id, name
184 into l_classification_id, l_class_name
185 --from iem_route_classifications a, iem_post_mdts b
186 from iem_route_classifications a, iem_rt_proc_emails b
187 where a.route_classification_id = b.rt_classification_id
188 and b.message_id = l_msg_id;
189
190 select rt_media_item_id
191 into l_rt_media_item_id
192 from IEM_RT_MEDIA_ITEMs
193 where message_id = l_msg_id
194 and expire='N';
195
196 if( FND_LOG.LEVEL_STATEMENT>= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
197 logMessage := '[l_class_name='||l_class_name||' | l_rt_media_item_id='||l_rt_media_item_id||']';
198 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUBLAUNCHACQUIRED', logMessage);
199 end if;
200
201 x_action_type := 2;
202 x_action_name := 'IEM_MC_LAUNCHER';
203 x_action_param := 'appShortName=IEM&'||'act=openmsg&'||'agentID='||l_resource_id
204 ||'&'||'classificationID='||l_classification_id||'&'||'classificationName='||l_class_name ||'&'||'key='||l_rt_media_item_id||'&'||'imMsgID='||l_msg_id;
205
206 x_msg_name := NULL;
207 x_msg_param := NULL;
208 x_dialog_style := IEU_DS_CONSTS_PUB.G_DS_NONE;
209 x_msg_appl_short_name := NULL;
210
211 if( FND_LOG.LEVEL_STATEMENT>= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
212 logMessage := '[ launchAcquired End ]';
213 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHACQUIRED', logMessage);
214 end if;
215
216 /* End of Stub */
217
218
219 EXCEPTION
220 WHEN NO_DATA_FOUND THEN
221 ROLLBACK TO launchInbound_pvt;
222 if( FND_LOG.LEVEL_STATEMENT>= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
223 logMessage := '[NO data found when query iem_account_route_class,IEM_RT_MEDIA_ITEMs with l_msg_id='||l_msg_id||']';
224 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHACQUIRED', logMessage);
225 end if;
226
227 WHEN FND_API.G_EXC_ERROR THEN
228 ROLLBACK TO launchInbound_pvt;
229 if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
230 logMessage := '[FND_API.G_EXC_ERROR ]';
231 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHACQUIRED', logMessage);
232 end if;
233
234 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
235 ROLLBACK TO launchInbound_pvt;
236 if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
237 logMessage := '[FND_API.G_EXC_UNEXPECTED_ERROR]';
238 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHACQUIRED', logMessage);
239 end if;
240
241 WHEN OTHERS THEN
242 ROLLBACK TO launchInbound_pvt;
243 if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
244 logMessage := '[Other exception:' ||substr(sqlerrm,1,300)||']';
245 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_CLIENTLAUNCH_PUB.LAUNCHACQUIRED', logMessage);
246 end if;
247 END launchAcquired;
248
249
250 END IEM_CLIENTLAUNCH_PUB;