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