DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEM_MSTEMAIL_ACCOUNTS_PVT

Source


1 PACKAGE BODY IEM_MSTEMAIL_ACCOUNTS_PVT as
2 /* $Header: iemvmacb.pls 120.2 2005/08/03 16:18:36 appldev noship $*/
3 
4 G_PKG_NAME CONSTANT varchar2(30) :='IEM_MSTEMAIL_ACCOUNTS_PVT ';
5 
6 PROCEDURE encrypt_password(
7         P_Api_Version_Number 	  IN NUMBER,
8         P_Init_Msg_List  		  IN VARCHAR2,
9         P_Commit    			  IN VARCHAR2,
10 	p_email_account_id	              IN NUMBER,
11         p_raw_data	              IN VARCHAR2,
12         x_msg_count   		      OUT NOCOPY  NUMBER,
13         x_return_status  		  OUT NOCOPY  VARCHAR2,
14         x_msg_data   			  OUT NOCOPY  VARCHAR2)
15 
16 IS
17     l_api_name              VARCHAR2(255):='encrypt_password';
18     l_api_version_number    NUMBER:=1.0;
19     l_encrypted_data		VARCHAR2(4000);
20     l_encrypted_key		VARCHAR2(4000);
21     l_return_status         VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
22     l_msg_count             NUMBER := 0;
23     l_msg_data              VARCHAR2(2000);
24 
25     PASSWORD_NOT_ENCRYPTED 	EXCEPTION;
26 
27    BEGIN
28     -- Standard Start of API savepoint
29     SAVEPOINT IEM_EncryptPassword_PVT;
30 
31     -- Standard call to check for call compatibility.
32     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
33            p_api_version_number,
34            l_api_name,
35            G_PKG_NAME)
36     THEN
37         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
38     END IF;
39 
40     -- Initialize message list if p_init_msg_list is set to TRUE.
41     IF FND_API.to_Boolean( p_init_msg_list ) THEN
42         FND_MSG_PUB.initialize;
43     END IF;
44 
45     -- Initialize API return status to SUCCESS
46     x_return_status := FND_API.G_RET_STS_SUCCESS;
47 
48     -- API begins
49 	/*iem_utils_pvt.IEM_EncryptPassword(p_api_version_number => 1.0,
50 					  p_init_msg_list => FND_API.G_FALSE,
51              			 	  p_commit         => FND_API.G_FALSE,
52                                       p_raw_data => p_raw_data,
53                                       x_encrypted_data => l_encrypted_data,
54                                       x_encrypted_key => l_encrypted_key,
55                                       x_msg_count => l_msg_count,
56 				      x_return_status => l_return_status,
57                                       x_msg_data => l_msg_data);
58 
59 	if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
60         	raise PASSWORD_NOT_ENCRYPTED;
61  	end if;
62 
63 	update iem_mstemail_accounts set user_password=l_encrypted_data, encrypt_key=l_encrypted_key where email_account_id=p_email_account_id;
64 */
65 	fnd_vault.put('IEM', to_char(p_email_account_id), p_raw_data);
66 
67      -- Standard Check Of p_commit.
68 	IF FND_API.To_Boolean(p_commit) THEN
69 		COMMIT WORK;
70 	END IF;
71 
72     -- Standard callto get message count and if count is 1, get message info.
73     FND_MSG_PUB.Count_And_Get
74 			( p_count =>  x_msg_count,
75                  p_data  =>    x_msg_data
76 			);
77 
78 EXCEPTION
79  /*   WHEN PASSWORD_NOT_ENCRYPTED THEN
80         ROLLBACK TO IEM_EncryptPassword_PVT;
81         x_return_status := FND_API.G_RET_STS_ERROR ;
82         FND_MESSAGE.SET_NAME('IEM', 'IEM_PASSWORD_NOT_ENCRYPTED');
83 
84         --FND_MESSAGE.ADD;
85         FND_MSG_PUB.Count_And_Get( p_count =>      x_msg_count,
86                                   p_data  =>      x_msg_data );
87 */
88     WHEN FND_API.G_EXC_ERROR THEN
89         ROLLBACK TO IEM_EncryptPassword_PVT;
90        x_return_status := FND_API.G_RET_STS_ERROR ;
91        FND_MSG_PUB.Count_And_Get( p_count =>      x_msg_count,
92                                   p_data  =>      x_msg_data );
93     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
94         ROLLBACK TO IEM_EncryptPassword_PVT;
95         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
96         FND_MSG_PUB.Count_And_Get( p_count =>      x_msg_count,
97                                   p_data  =>      x_msg_data );
98 
99     WHEN OTHERS THEN
100         ROLLBACK TO IEM_EncryptPassword_PVT;
101                 x_return_status := FND_API.G_RET_STS_ERROR;
102 
103         IF FND_MSG_PUB.Check_Msg_Level
104                 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
105         THEN
106                 FND_MSG_PUB.Add_Exc_Msg
107                     (G_PKG_NAME, l_api_name);
108         END IF;
109 
110         FND_MSG_PUB.Count_And_Get
111                 (p_count => x_msg_count,
112                 p_data => x_msg_data
113             );
114 END encrypt_password;
115 
116 
117 
118 
119 PROCEDURE decrypt_password(
120         P_Api_Version_Number 	  IN NUMBER,
121         P_Init_Msg_List  		  IN VARCHAR2,
122         P_Commit    			  IN VARCHAR2,
123         p_email_account_id              IN NUMBER,
124         x_decrypted_data  	      OUT NOCOPY  VARCHAR2,
125         x_msg_count   		      OUT NOCOPY  NUMBER,
126         x_return_status  		  OUT NOCOPY  VARCHAR2,
127         x_msg_data   			  OUT NOCOPY  VARCHAR2)
128 
129 IS
130     l_api_name              VARCHAR2(255):='decrypt_password';
131     l_api_version_number    NUMBER:=1.0;
132 
133     l_decrypted_data        VARCHAR2(200);
134 
135     l_msg_index_out	number;
136   --  l_input_data	varchar2(2000);
137 
138     l_return_status         VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
139     l_msg_count             NUMBER := 0;
140     l_msg_data              VARCHAR2(2000);
141 
142    PASSWORD_NOT_DECRYPTED	EXCEPTION;
143 
144 BEGIN
145     -- Standard Start of API savepoint
146     SAVEPOINT IEM_DecryptPassword_PVT;
147 
148     -- Standard call to check for call compatibility.
149     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
150            p_api_version_number,
151            l_api_name,
152            G_PKG_NAME)
153     THEN
154         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
155     END IF;
156 
157     -- Initialize message list if p_init_msg_list is set to TRUE.
158     IF FND_API.to_Boolean( p_init_msg_list ) THEN
159         FND_MSG_PUB.initialize;
160     END IF;
161 
162     -- Initialize API return status to SUCCESS
163     x_return_status := FND_API.G_RET_STS_SUCCESS;
164 
165 
166 /*	select user_password, encrypt_key into l_user_password, l_encrypt_key from iem_mstemail_accounts where email_account_id=p_email_account_id;
167 
168 	iem_utils_pvt.IEM_DecryptPassword(p_api_version_number => 1.0,
169 					  p_init_msg_list => FND_API.G_FALSE,
170              			 	  p_commit         => FND_API.G_FALSE,
171                                       p_input_data => l_user_password,
172 				      p_decrypted_key => l_encrypt_key,
173                                       x_decrypted_data => x_decrypted_data,
174                                       x_msg_count => l_msg_count,
175 				      x_return_status => l_return_status,
176                                       x_msg_data => l_msg_data);
177 
178 	if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
179         	raise PASSWORD_NOT_DECRYPTED;
180  	end if;
181 */
182 	x_decrypted_data := fnd_vault.get('IEM', to_char(p_email_account_id));
183 
184     -- Standard Check Of p_commit.
185 	IF FND_API.To_Boolean(p_commit) THEN
186 		COMMIT WORK;
187 	END IF;
188 
189     -- Standard callto get message count and if count is 1, get message info.
190        FND_MSG_PUB.Count_And_Get
191 			( p_count =>  x_msg_count,
192                  p_data  =>    x_msg_data
193 			);
194 
195     IF (x_msg_count >= 1) THEN
196     	--Only one error
197     	FND_MSG_PUB.Get(p_msg_index => FND_MSG_PUB.G_FIRST,
198                     p_encoded=>'F',
199                     p_data=>x_msg_data,
200                    p_msg_index_out=>l_msg_index_out);
201 
202     END IF;
203 
204 EXCEPTION
205  /*   WHEN PASSWORD_NOT_DECRYPTED THEN
206         ROLLBACK TO IEM_DecryptPassword_PVT;
207         x_return_status := FND_API.G_RET_STS_ERROR ;
208         FND_MESSAGE.SET_NAME('IEM', 'IEM_PASSWORD_NOT_DECRYPTED');
209 
210         --FND_MESSAGE.ADD;
211         FND_MSG_PUB.Count_And_Get( p_count =>      x_msg_count,
212                                   p_data  =>      x_msg_data );
213 */
214     WHEN FND_API.G_EXC_ERROR THEN
215         ROLLBACK TO IEM_DecryptPassword_PVT;
216        x_return_status := FND_API.G_RET_STS_ERROR ;
217        FND_MSG_PUB.Count_And_Get( p_count =>      x_msg_count,
218                                   p_data  =>      x_msg_data );
219 
220     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
221         ROLLBACK TO IEM_DecryptPassword_PVT;
222         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
223         FND_MSG_PUB.Count_And_Get( p_count =>      x_msg_count,
224                                p_data  =>      x_msg_data );
225 
226     WHEN OTHERS THEN
227 
228         ROLLBACK TO IEM_DecryptPassword_PVT;
229                 x_return_status := FND_API.G_RET_STS_ERROR;
230         IF FND_MSG_PUB.Check_Msg_Level
231                 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
232         THEN
233                 FND_MSG_PUB.Add_Exc_Msg
234                     (G_PKG_NAME, l_api_name);
235         END IF;
236 
237         FND_MSG_PUB.Count_And_Get
238                 (p_count => x_msg_count,
239                 p_data => x_msg_data
240             );
241     END decrypt_password;
242 
243 
244 END IEM_MSTEMAIL_ACCOUNTS_PVT;