DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEM_EMTA_ACCT_PVT

Source


1 PACKAGE BODY IEM_EMTA_ACCT_PVT AS
2 /* $Header: iemveacb.pls 120.5 2011/06/07 05:42:16 sanjrao ship $ */
3 
4 --
5 --
6 -- Purpose: Mantain EMTA admin related issue.
7 --
8 -- MODIFICATION HISTORY
9 -- Person      Date         Comments
10 --  Liang Xia  12/19/2005   Created
11 --  Liang Xia  02/08/2005   Schema change for password in account table: fnd_val
12 --  lkullamb   07/23/2009  Added an out parameter to return whether an account is SSL enabled or not
13 -- ---------   ------  ------------------------------------------
14 
15 -- Enter procedure, function bodies as shown below
16 G_PKG_NAME CONSTANT varchar2(30) :='IEM_EMTA_ACCT_PVT ';
17 G_created_updated_by   NUMBER:=TO_NUMBER (FND_PROFILE.VALUE('USER_ID')) ;
18 G_LAST_UPDATE_LOGIN    NUMBER:=TO_NUMBER (FND_PROFILE.VALUE('LOGIN_ID') ) ;
19 
20 
21 PROCEDURE LOAD_ACCOUNT_INFO(
22  		  				  	 p_api_version_number  IN   NUMBER,
23 		  					 p_init_msg_list       IN   VARCHAR2 := null,
24 		  					 p_commit              IN   VARCHAR2 := null,
25 		  					 p_email_account_id 		IN number,
26 		  					 X_USER_NAME 				OUT NOCOPY varchar2,
27 		  					 X_USER_PASSWORD 			OUT NOCOPY varchar2,
28 						  	 X_IN_HOST 					OUT NOCOPY varchar2,
29 		  					 X_IN_PORT 					OUT NOCOPY varchar2,
30 							 X_SSL_CONNECTION_FLAG                          OUT NOCOPY varchar2,
31 		  					 x_return_status       OUT  NOCOPY VARCHAR2,
32 		  					 x_msg_count    		OUT  NOCOPY NUMBER,
33 		  					 x_msg_data            OUT  NOCOPY VARCHAR2 )
34 	 is
35 	l_api_name        		VARCHAR2(255):='LOAD_ACCOUNT_INFO';
36 	l_api_version_number 	NUMBER:=1.0;
37 
38     l_return_status         VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
39     l_msg_count             NUMBER := 0;
40     l_msg_data              VARCHAR2(2000);
41 
42   l_user_name varchar2(100);
43   l_user_pwd varchar2(100);
44   l_encrypt_key varchar2(100);
45   l_in_host varchar2(256);
46   l_in_port varchar2(15);
47   l_ssl_connection_flag varchar2(2);
48   l_decrypted_pwd varchar2(256);
49 
50   l_is_acct_updated varchar2(1);
51   IEM_FAILED_DECRYPT_ACCT_PWD EXCEPTION;
52 	l_count 					 NUMBER;
53     errorMessage varchar2(2000);
54     logMessage varchar2(2000);
55 
56 BEGIN
57   -- Standard Start of API savepoint
58   SAVEPOINT		LOAD_ACCOUNT_INFO_PVT;
59 
60   -- Standard call to check for call compatibility.
61 
62   IF NOT FND_API.Compatible_API_Call (l_api_version_number,
63   				    p_api_version_number,
64   				    l_api_name,
65   				    G_PKG_NAME)
66   THEN
67   	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
68   END IF;
69 
70 
71     -- Initialize message list if p_init_msg_list is set to TRUE.
72    IF FND_API.to_Boolean( p_init_msg_list )
73    THEN
74      FND_MSG_PUB.initialize;
75    END IF;
76 
77    -- Initialize API return status to SUCCESS
78    x_return_status := FND_API.G_RET_STS_SUCCESS;
79 
80    --begins here
81 
82 	 --select user_name, user_password, encrypt_key, in_host, in_port
83 	 select user_name, in_host, in_port,ssl_connection_flag
84 	 into  l_user_name, l_in_host, l_in_port,l_ssl_connection_flag
85 	 from iem_mstemail_accounts where email_account_id = p_email_account_id ;
86 
87  	 l_decrypted_pwd := fnd_vault.get('IEM', p_email_account_id );
88 	 /*
89 
90 	 IEM_UTILS_PVT.IEM_DecryptPassword(
91 							p_api_version_number =>1.0,
92                      		p_init_msg_list => 'T',
93                     		p_commit => p_commit,
94         					p_input_data =>  l_user_pwd,
95 							p_decrypted_key => l_encrypt_key,
96         					x_decrypted_data => l_decrypted_pwd ,
97                             x_return_status =>l_return_status,
98                             x_msg_count   => l_msg_count,
99                             x_msg_data => l_msg_data);
100 
101 	 	if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
102              raise IEM_FAILED_DECRYPT_ACCT_PWD;
103      	end if;
104 
105 	*/
106 
107 	 X_USER_NAME := l_user_name;
108 	 X_USER_PASSWORD := l_decrypted_pwd;
109 	 X_IN_HOST := l_in_host;
110 	 X_IN_PORT := l_in_port;
111 	 X_SSL_CONNECTION_FLAG := l_ssl_connection_flag;
112 
113     -- Standard Check Of p_commit.
114     IF FND_API.To_Boolean(p_commit) THEN
115 		COMMIT WORK;
116 	END IF;
117 
118 
119     -- Standard callto get message count and if count is 1, get message info.
120        FND_MSG_PUB.Count_And_Get
121 			( p_count =>  x_msg_count,
122                  	p_data  =>    x_msg_data
123 			);
124 
125 EXCEPTION
126     WHEN IEM_FAILED_DECRYPT_ACCT_PWD THEN
127         ROLLBACK TO CHECK_IF_ACCOUNT_UPDATED_PVT;
128         x_return_status := FND_API.G_RET_STS_ERROR;
129 
130         FND_MESSAGE.SET_NAME('IEM', 'IEM_FAILED_DECRYPT_ACCT_PWD');
131 
132         FND_MSG_PUB.ADD;
133         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
134 
135 
136 	WHEN FND_API.G_EXC_ERROR THEN
137 		 ROLLBACK TO LOAD_ACCOUNT_INFO_PVT;
138        	 x_return_status := FND_API.G_RET_STS_ERROR ;
139        	 FND_MSG_PUB.Count_And_Get
140 
141 			( p_count => x_msg_count,
142               p_data  => x_msg_data
143 			);
144 
145    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
146 	   ROLLBACK TO LOAD_ACCOUNT_INFO_PVT;
147        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
148        FND_MSG_PUB.Count_And_Get
149 			( p_count => x_msg_count,
150               p_data  =>      x_msg_data
151 			);
152 
153    WHEN OTHERS THEN
154 	ROLLBACK TO LOAD_ACCOUNT_INFO_PVT;
155     x_return_status := FND_API.G_RET_STS_ERROR;
156 	IF 	FND_MSG_PUB.Check_Msg_Level
157 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
158 	THEN
159     	FND_MSG_PUB.Add_Exc_Msg
160 	    	(	G_PKG_NAME ,
161 	    		l_api_name
162 	    	);
163 	END IF;
164 
165 	FND_MSG_PUB.Count_And_Get
166     		( p_count         	=>      x_msg_count,
167         	p_data          	=>      x_msg_data
168 
169     		);
170 
171  END LOAD_ACCOUNT_INFO;
172 
173 END;