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