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