DBA Data[Home] [Help]

PACKAGE BODY: APPS.DOM_WS_INTERFACE_PUB

Source


1 package body DOM_WS_INTERFACE_PUB AS
2 /*$Header: DOMPITFB.pls 120.8 2006/09/04 10:31:57 ysireesh noship $ */
3 
4 -- ------------------------------------------------------------
5 -- -------------- Global variables and constants --------------
6 -- ------------------------------------------------------------
7    G_PKG_NAME                CONSTANT  VARCHAR2(30) := 'DOM_WS_INTERFACE_PUB';
8    G_CURRENT_USER_ID                   NUMBER       :=  FND_GLOBAL.USER_ID;
9    G_CURRENT_LOGIN_ID                  NUMBER       :=  FND_GLOBAL.LOGIN_ID;
10    G_DOM_INTERFACE_JSP                 VARCHAR2(80) :=  '/OA_HTML/DOMInterface.jsp';
11 
12 -- ---------------------------------------------------------------------
13    -- For debugging purposes.
14    PROCEDURE mdebug (msg IN varchar2) IS
15      BEGIN
16       --dd_debug('DOM WS INTERFACE ' || msg);
17       --dbms_output.put_line('DOM WS INTERFACE :' || msg);
18       null;
19      END mdebug;
20 -- ---------------------------------------------------------------------
21 
22 
23 procedure call_dom_interface_jsp
24 (
25   p_param_query_string  IN VARCHAR2
26   ,x_return_status	     OUT	NOCOPY VARCHAR2
27   ,x_msg_count		       OUT	NOCOPY NUMBER
28   ,x_msg_data		         OUT	NOCOPY VARCHAR2
29 )
30 IS
31 
32 	 l_proxy varchar2(80);
33    l_request		UTL_HTTP.REQ;
34    l_response		UTL_HTTP.RESP;
35    l_name		VARCHAR2(255);
36    l_value		VARCHAR2(1023);
37    v_msg		VARCHAR2(80);
38    v_url		VARCHAR2(32767) := '/';
39    l_api_name  varchar2(80):='call_dom_interface_jsp';
40 
41    cookies		UTL_HTTP.COOKIE_TABLE;
42    my_session_id	BINARY_INTEGER;
43    secure		VARCHAR2(1);
44    proxy		VARCHAR2(250);
45 
46 
47 BEGIN
48 	  SELECT profile_option_value INTO proxy
49 	  FROM fnd_profile_option_values vl ,  FND_PROFILE_OPTIONS pr
50 		WHERE vl.profile_option_id = pr.profile_option_id
51 		AND pr.PROFILE_OPTION_NAME = 'WEB_PROXY_HOST';
52 
53 	--proxy := 'http://www-proxy.us.oracle.com';
54 
55 
56     UTL_HTTP.Set_Response_Error_Check ( enable => true );
57 
58     UTL_HTTP.Set_Detailed_Excp_Support ( enable => true );
59 
60 /*
61     UTL_HTTP.Set_Proxy (
62         proxy => proxy,
63         no_proxy_domains => '');
64         */
65 
66         v_url := fnd_profile.value('APPS_FRAMEWORK_AGENT');
67 --        v_url := 'http://qapache.us.oracle.com:6482';
68 
69         v_url := v_url || G_DOM_INTERFACE_JSP||'?'||p_param_query_string;
70 
71     l_request := Utl_Http.Begin_Request (
72                     url => v_url,
73                     method => 'POST',
74                     http_version => 'HTTP/1.1'
75                 );
76 
77 
78     l_response := UTL_HTTP.Get_Response ( r => l_request );
79     FOR i IN 1..UTL_HTTP.Get_Header_Count ( r => l_response )
80         LOOP
81           UTL_HTTP.Get_Header (
82           r => l_response,
83           n => i,
84           name => l_name,
85           value => l_value );
86         END LOOP;
87         BEGIN
88         LOOP
89           UTL_HTTP.Read_Text (
90           r => l_response,
91           data => v_msg );
92 
93         END LOOP;
94         EXCEPTION WHEN UTL_HTTP.End_Of_Body then null;
95       END;
96 
97       UTL_HTTP.End_Response ( r => l_response );
98 
99       x_return_status := FND_API.G_RET_STS_SUCCESS;
100 
101 
102       FND_MSG_PUB.Count_And_Get
103         (  	p_count        =>      x_msg_count,
104             p_data         =>      x_msg_data
105         );
106       EXCEPTION
107           /*
108             The exception handling illustrates the use of "pragma-ed" exceptions
109             like Utl_Http.Http_Client_Error. In a realistic example, the program
110             would use these when it coded explicit recovery actions.
111             Request_Failed is raised for all exceptions after calling
112             Utl_Http.Set_Detailed_Excp_Support ( enable=>false )
113 
114             And it is NEVER raised after calling with enable=>true
115           */
116           WHEN UTL_HTTP.Request_Failed THEN
117             mdebug ( 'Request_Failed: ' || Utl_Http.Get_Detailed_Sqlerrm );
118           /* raised by URL http://xxx.oracle.com/ */
119           WHEN UTL_HTTP.Http_Server_Error THEN
120             mdebug ( 'Http_Server_Error: ' || Utl_Http.Get_Detailed_Sqlerrm );
121           /* raised by URL /xxx */
122           when UTL_HTTP.Http_Client_Error THEN
123             mdebug ( 'Http_Client_Error: ' || Utl_Http.Get_Detailed_Sqlerrm );
124           /* code for all the other defined exceptions you can recover from */
125 
126            WHEN FND_API.G_EXC_ERROR THEN
127             ROLLBACK TO DOM_ADD_OFO_GROUP_MEMBER;
128             mdebug('.  CREATE_RELATIONSHIP:  Ending : Returning ''FND_API.G_EXC_ERROR''');
129             x_return_status := FND_API.G_RET_STS_ERROR;
130             FND_MSG_PUB.Count_And_Get
131                 (  	p_count        =>      x_msg_count,
132                     p_data         =>      x_msg_data
133                 );
134         WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
135              ROLLBACK TO EGO_CREATE_RELATIONSHIP;
136                  mdebug('.  CREATE_RELATIONSHIP:  Ending : Returning ''FND_API.G_EXC_UNEXPECTED_ERROR''');
137              x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
138             FND_MSG_PUB.Count_And_Get
139                 (  	p_count        =>      x_msg_count,
140                     p_data         =>      x_msg_data
141                 );
142         WHEN OTHERS THEN
143              x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
144             IF 	FND_MSG_PUB.Check_Msg_Level
145                 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
146             THEN
147                     FND_MSG_PUB.Add_Exc_Msg
148                         (	G_PKG_NAME,
149                             l_api_name
150                     );
151             END IF;
152             FND_MSG_PUB.Count_And_Get
153                 (  	p_count        =>      x_msg_count,
154                     p_data         =>      x_msg_data
155                 );
156             mdebug (SQLERRM);
157 
158 
159 END;
160 
161 
162 
163 ----------------------------------------------------------------------------
164 -- A. Add_OFO_Group_Member
165 ----------------------------------------------------------------------------
166 
167 procedure Add_OFO_Group_Member (
168    p_api_version	IN	NUMBER,
169    p_init_msg_list	IN	VARCHAR2,
170    p_commit		IN	VARCHAR2,
171    p_group_id      	IN	NUMBER,
172    p_member_id      	IN	NUMBER,
173    x_return_status	OUT	NOCOPY VARCHAR2,
174    x_msg_count		OUT	NOCOPY NUMBER,
175    x_msg_data		OUT	NOCOPY VARCHAR2
176    ) IS
177     ------------------------------------------------------------------------
178     -- Start OF comments
179     -- API name  : Add_OFO_Group_Member
180     -- TYPE      : Public
181     -- Pre-reqs  : None
182     -- FUNCTION  : Add a member to the corresponding OFO Group.
183     --
184     --
185     -- Parameters:
186     --     IN    : p_api_version		IN  NUMBER	(required)
187     --			API Version of this procedure
188     --             p_init_msg_level	IN  VARCHAR2	(optional)
189     --                  DEFAULT = FND_API.G_FALSE
190     --                  Indicates whether the message stack needs to be cleared
191     --             p_commit		IN  VARCHAR2	(optional)
192     --                  DEFAULT = FND_API.G_FALSE
193     --                  Indicates whether the data should be committed
194     --             p_group_id		IN  NUMBER	(required)
195     --			Group to which the member is being added
196     --			Eg., A Group
197     --             p_member_id	IN  VARCHAR2	(required)
198     --			Member which is to be added
199     --			Eg., PERSON
200     --
201     --     OUT   : x_return_status	OUT  NUMBER
202     --			Result of all the operations
203     --                    FND_API.G_RET_STS_SUCCESS if success
204     --                    FND_API.G_RET_STS_ERROR if error
205     --                    FND_API.G_RET_STS_UNEXP_ERROR if unexpected error
206     --             x_msg_count		OUT  NUMBER
207     --			number of messages in the message list
208     --             x_msg_data		OUT  VARCHAR2
209     --			  if number of messages is 1, then this parameter
210     --			contains the message itself
211     --
212     -- Called From:
213     --    ego_party_pub.add_group_member
214     --
215     -- Version: Current Version 1.0
216     -- Previous Version :  None
217     -- Notes  :
218     --
219     -- END OF comments
220     ------------------------------------------------------------------------
221 
222      l_Sysdate			   DATE		:= Sysdate;
223 
224      l_api_name		CONSTANT   VARCHAR2(30)	:= 'Add_OFO_Group_Member';
225      -- On addition of any Required parameters the major version needs
226      -- to change i.e. for eg. 1.X to 2.X.
227      -- On addition of any Optional parameters the minor version needs
228      -- to change i.e. for eg. X.6 to X.7.
229      l_api_version	CONSTANT    NUMBER 	:= 1.0;
230 
231      -- General variables
232 
233      l_success		BOOLEAN;       --boolean for descr. flex valiation
234 
235      l_group_name   VARCHAR2(100);
236      l_member_name  VARCHAR2(100); --my wild assumed length
237      l_logged_in    VARCHAR2(100);
238      l_name		VARCHAR2(255);
239      l_value		VARCHAR2(1023);
240      v_msg		VARCHAR2(80);
241 
242 
243      l_param_query_string  VARCHAR2(2000);
244 
245      CURSOR user_info is
246 	SELECT USER_NAME FROM fnd_user WHERE person_party_id = p_member_id;
247 
248   BEGIN
249     -- Standard Start of API savepoint
250     mdebug('.  ADD_OFO_GROUP_MEMBER:  ADD_OFO_GROUP_MEMBER .....1...... ');
251     IF NOT FND_API.Compatible_API_Call (l_api_version,
252                                           p_api_version,
253 					  l_api_name,
254 					  G_PKG_NAME)
255     THEN
256         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
257     END IF;
258     -- Initialize API message list if necessary.
259     -- Initialize message list if p_init_msg_list is set to TRUE.
260     IF FND_API.to_Boolean( NVL(p_init_msg_list, 'F') ) THEN
261     	FND_MSG_PUB.initialize;
262     END IF;
263 
264     mdebug(' in DOM WS interface ' || p_group_id || ' ' || p_member_id);
265 
266     SELECT GROUP_NAME INTO l_group_name FROM EGO_GROUPS_V WHERE GROUP_ID = p_group_id;
267 
268     --SELECT MEMBER_USER_NAME INTO l_member_name FROM EGO_GROUP_MEMBERS_V WHERE GROUP_ID = p_group_id AND  MEMBER_PERSON_ID = p_member_id;
269     --SELECT USER_NAME INTO l_member_name FROM fnd_user WHERE person_party_id = p_member_id;
270     --SELECT USER_NAME INTO l_logged_in FROM FND_USER WHERE USER_ID = G_CURRENT_USER_ID;
271 
272     FOR info_rec IN user_info LOOP
273 	    l_member_name := info_rec.USER_NAME;
274 	    SELECT us.user_name INTO l_logged_in
275 	    FROM hz_parties hz, fnd_user us
276 	    WHERE hz.created_by =   us.USER_ID
277 	    AND party_id = p_group_id;
278 
279 
280 	    mdebug ( 'l_group_name : ' || l_group_name );
281 	    mdebug ( 'l_member_name : ' || l_member_name );
282 	    mdebug ( 'l_logged_in : ' || l_logged_in );
283 
284 	    l_param_query_string:='opName=addUserToGroup&groupName=' || l_group_name || '&memberName=' || l_member_name || '&loggedInUser=' || l_logged_in;
285 	    call_dom_interface_jsp
286 	    (
287 	      p_param_query_string  =>l_param_query_string
288 	      ,x_return_status	     =>x_return_status
289 	      ,x_msg_count		       =>x_msg_count
290 	      ,x_msg_data		         =>x_msg_data
291 	    );
292 
293     END LOOP;
294 
295 END Add_OFO_Group_Member;
296 
297 --------------------------------------------------------------
298 procedure Update_Files_Document_Status (
299    p_api_version	      IN	NUMBER,
300    p_service_url        IN	VARCHAR2,
301    p_document_id      	IN	NUMBER,
302    p_status           	IN	VARCHAR2,
303    p_login_user_name    IN	VARCHAR2,
304    x_return_status	    OUT	NOCOPY VARCHAR2,
305    x_msg_count		      OUT	NOCOPY NUMBER,
306    x_msg_data		        OUT	NOCOPY VARCHAR2
307    )
308    IS
309 
310    l_api_name		CONSTANT   VARCHAR2(30)	:= 'Update_Files_Document_Status';
311    -- On addition of any Required parameters the major version needs
312    -- to change i.e. for eg. 1.X to 2.X.
313    -- On addition of any Optional parameters the minor version needs
314    -- to change i.e. for eg. X.6 to X.7.
315    l_api_version	CONSTANT    NUMBER 	:= 1.0;
316 
317    -- General variables
318 
319    l_success		BOOLEAN;
320    l_param_query_string  VARCHAR2(2000);
321 
322   BEGIN
323     -- Standard Start of API savepoint
324     IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,l_api_name,G_PKG_NAME)
325     THEN
326         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327     END IF;
328 
329 
330     l_param_query_string:='opName=updateDocStatus&docId='||p_document_id||'&status='||p_status||'&serviceUrl='||p_service_Url||'&loggedInUser='||p_login_user_name;
331     call_dom_interface_jsp
332     (
333       p_param_query_string  =>l_param_query_string
334       ,x_return_status	     =>x_return_status
335       ,x_msg_count		       =>x_msg_count
336       ,x_msg_data		         =>x_msg_data
337     );
338 
339 END Update_Files_Document_Status;
340 
341 --------------------------------------------------------------
342 
343 procedure Grant_Attachments_OCSRole (
344    p_api_version	    IN	NUMBER,
345    p_service_url        IN	VARCHAR2,
346    p_family_id      	IN	NUMBER,
347    p_role           	IN	VARCHAR2,
348    p_user_name          IN	VARCHAR2,
349    p_user_login         IN	VARCHAR2,
350    x_return_status	    OUT	NOCOPY VARCHAR2,
351    x_msg_count		      OUT	NOCOPY NUMBER,
352    x_msg_data		        OUT	NOCOPY VARCHAR2
353    )
354    IS
355 
356 
357    l_api_name		CONSTANT   VARCHAR2(30)	:= 'Grant_Attachments_OCSRole';
358    -- On addition of any Required parameters the major version needs
359    -- to change i.e. for eg. 1.X to 2.X.
360    -- On addition of any Optional parameters the minor version needs
361    -- to change i.e. for eg. X.6 to X.7.
362    l_api_version	CONSTANT    NUMBER 	:= 1.0;
363 
364    -- General variables
365 
366    l_success		BOOLEAN;
367    l_param_query_string  VARCHAR2(2000);
368 
369   BEGIN
370 
371     -- Standard Start of API savepoint
372     IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,l_api_name,G_PKG_NAME)
373     THEN
374         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
375     END IF;
376 
377 --    code_debug('YSIREESH: User id: '+FND_PROFILE.Value('USER_ID'));
378     l_param_query_string:='opName=grantAttachmentsOCSRole&familyId='||p_family_id||'&role='||p_role||'&serviceUrl=' || p_service_url || '&userToRole='||p_user_name||'&loggedInUser='||p_user_login;
379     call_dom_interface_jsp
380     (
381       p_param_query_string  =>l_param_query_string
382       ,x_return_status	     =>x_return_status
383       ,x_msg_count		       =>x_msg_count
384       ,x_msg_data		         =>x_msg_data
385     );
386 
387 END Grant_Attachments_OCSRole;
388 
389 procedure Remove_Attachments_OCSRole (
390    p_api_version	    IN	NUMBER,
391    p_service_url        IN	VARCHAR2,
392    p_family_id      	IN	NUMBER,
393    p_role           	IN	VARCHAR2,
394    p_user_name          IN	VARCHAR2,
395    p_user_login         IN	VARCHAR2,
396    x_return_status	    OUT	NOCOPY VARCHAR2,
397    x_msg_count		      OUT	NOCOPY NUMBER,
398    x_msg_data		        OUT	NOCOPY VARCHAR2
399    )
400    IS
401 
402    l_api_name		CONSTANT   VARCHAR2(30)	:= 'Remove_Attachments_OCSRole';
403    -- On addition of any Required parameters the major version needs
404    -- to change i.e. for eg. 1.X to 2.X.
405    -- On addition of any Optional parameters the minor version needs
406    -- to change i.e. for eg. X.6 to X.7.
407    l_api_version	CONSTANT    NUMBER 	:= 1.0;
408 
409    -- General variables
410 
411    l_success		BOOLEAN;
412    l_param_query_string  VARCHAR2(2000);
413 
414   BEGIN
415     -- Standard Start of API savepoint
416     IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,l_api_name,G_PKG_NAME)
417     THEN
418         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
419     END IF;
420 
421 
422     l_param_query_string:='opName=grantAttachmentsOCSRole&familyId='||p_family_id||'&role='||p_role||'&serviceUrl=' || p_service_url || '&userToRole='||p_user_name||'&loggedInUser='||p_user_login||'&addOrRemove=REMOVE';
423     call_dom_interface_jsp
424     (
425       p_param_query_string  =>l_param_query_string
426       ,x_return_status	     =>x_return_status
427       ,x_msg_count		       =>x_msg_count
428       ,x_msg_data		         =>x_msg_data
429     );
430 
431 END Remove_Attachments_OCSRole;
432 
433 
434 
435 
436 END DOM_WS_INTERFACE_PUB;