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