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