[Home] [Help]
PACKAGE BODY: APPS.MWA_UTL_SM_PKG
Source
1 PACKAGE BODY MWA_UTL_SM_PKG AS
2 /* $Header: MWASMGRB.pls 120.1 2005/06/10 11:55:35 appldev $ */
3
4 Procedure Get_Users
5 (num_of_users OUT nocopy INTEGER,
6 user_table OUT nocopy t_user_table,
7 status OUT nocopy VARCHAR2,
8 status_msg OUT nocopy VARCHAR2,
9 server_host IN VARCHAR2,
10 server_port IN VARCHAR2,
11 proxy_host IN VARCHAR2,
12 user_name IN VARCHAR2,
13 password IN VARCHAR2
14 ) AS
15
16 request_string varchar2(256);
17 users varchar2(2000);
18 done boolean;
19 curtIndex integer;
20 tempString varchar2(2000);
21
22 begin
23 request_string := 'http://' || server_host || ':' || server_port || '/';
24 request_string := request_string || user_name || ',' || password || ',_,';
25 request_string := request_string || 'USERS' || fnd_global.local_chr(13);
26 users := utl_http.request(request_string, proxy_host);
27
28 curtIndex := instr(users, 'FAIL');
29 -- dbms_output.put_line('curtIndex of string FAIL is ' || curtIndex);
30 if (curtIndex > 0) then
31 -- dbms_output.put_line('failed');
32 status := 'E';
33 status_msg := users;
34 else
35 -- users is a newline-separated string of users
36 -- dbms_output.put_line('output of Get_Users is ' || users);
37 num_of_users := 0;
38 done := false;
39
40 while (NOT done) LOOP
41 -- string comparison uses '='
42 if (users = fnd_global.local_chr(10)) then
43 -- dbms_output.put_line('No more users....done!');
44 done := true;
45 status := 'S';
46 else
47 curtIndex := instr(users, fnd_global.local_chr(10));
48 -- dbms_output.put_line('curtIndex is ' || curtIndex);
49 tempString := substr(users, 0, curtIndex-1);
50 -- dbms_output.put_line('tempString is ' || tempString);
51 users := substr(users, curtIndex+1);
52 num_of_users := num_of_users + 1;
53 -- dbms_output.put_line('after chopping off users is ' || users);
54 user_table(num_of_users) := tempString;
55 end if;
56 END LOOP;
57 end if;
58
59 end Get_Users;
60
61 Procedure Send_Message
62 (status OUT nocopy VARCHAR2,
63 status_msg OUT nocopy VARCHAR2,
64 server_host IN VARCHAR2,
65 server_port IN VARCHAR2,
66 proxy_host IN VARCHAR2,
67 user_name IN VARCHAR2,
68 password IN VARCHAR2,
69 recipient IN VARCHAR2,
70 message IN VARCHAR2
71 ) AS
72
73 request_string varchar2(4096);
74 result varchar2(2000);
75 curtIndex integer;
76 begin
77 request_string := 'http://' || server_host || ':' || server_port || '/';
78 request_string := request_string || user_name || ',' || password || ',_,';
79 request_string := request_string || 'MESSAGE ' || recipient || ' ';
80 request_string := request_string || message || fnd_global.local_chr(13);
81 result := utl_http.request(request_string, proxy_host);
82 -- dbms_output.put_line('output of Send_Message is ' || result);
83 curtIndex := instr(result, 'FAIL');
84 -- dbms_output.put_line('curtIndex of string FAIL is ' || curtIndex);
85
86 if (curtIndex > 0) then
87 -- dbms_output.put_line('failed');
88 status := 'E';
89 status_msg := result;
90 else
91 curtIndex := instr(result, 'NOSUCHUSER');
92 if (curtIndex > 0) then
93 -- dbms_output.put_line('no such user');
94 status := 'E';
95 status_msg := result;
96 else
97 status := 'S';
98 end if;
99 end if;
100 end Send_Message;
101
102 END MWA_UTL_SM_PKG;