DBA Data[Home] [Help]

PACKAGE BODY: APPS.DPP_VENDORMERGE_GRP

Source


1 PACKAGE BODY DPP_VENDORMERGE_GRP AS
2 /* $Header: dppgmrgb.pls 120.1 2007/11/27 09:23:51 sdasan noship $ */
3 
4 	G_PKG_NAME      CONSTANT VARCHAR2(30):='DPP_VENDORMERGE_GRP';
5 
6 	-----------------------------------------------------------------------
7 
8 	-- PROCEDURE
9 
10 	--   Merge_Vendor
11 
12 	--
13 
14 	-- HISTORY
15 
16 	--   26-Nov-2007  jajose  Created
17 
18 	-----------------------------------------------------------------------
19 
20 	PROCEDURE Merge_Vendor
21 
22 	(    p_api_version			IN            NUMBER
23 
24 		,p_init_msg_list		IN            VARCHAR2 default FND_API.G_FALSE
25 
26 		,p_commit				IN            VARCHAR2 default FND_API.G_FALSE
27 
28 		,p_validation_level		IN            NUMBER   default FND_API.G_VALID_LEVEL_FULL
29 
30 		,p_return_status		OUT	NOCOPY    VARCHAR2
31 
32 		,p_msg_count			OUT	NOCOPY    NUMBER
33 
34 		,p_msg_data			    OUT	NOCOPY    VARCHAR2
35 
36 		,p_vendor_id			IN            NUMBER
37 
38 		,p_dup_vendor_id		IN            NUMBER
39 
40 		,p_vendor_site_id		IN            NUMBER
41 
42 		,p_dup_vendor_site_id   IN            NUMBER
43 
44 		,p_party_id				IN            NUMBER
45 
46 		,p_dup_party_id		    IN            NUMBER
47 
48 		,p_party_site_id		IN            NUMBER
49 
50 		,p_dup_party_site_id    IN            NUMBER
51 
52 	)
53 
54 	IS
55 
56         l_api_name            CONSTANT VARCHAR2(30) := 'MERGE_VENDOR';
57 
58         l_api_version	      CONSTANT NUMBER       := 1.0;
59 
60         l_row_count		      NUMBER;
61 
62 	BEGIN
63 
64 	    p_return_status := FND_API.G_RET_STS_SUCCESS;
65 
66 
67 
68         IF NOT FND_API.Compatible_API_Call (  l_api_version,
69 
70                                               p_api_version,
71 
72                                               l_api_name,
73 
74                                               G_PKG_NAME)
75 
76         THEN
77 
78             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
79 
80         END IF;
81 
82 
83 
84         -- Initialize API message list if necessary.
85 
86         -- Initialize message list if p_init_msg_list is set to TRUE.
87 
88         IF FND_API.to_Boolean( p_init_msg_list) THEN
89 
90            FND_MSG_PUB.initialize;
91 
92         END IF;
93 
94 
95 
96 		UPDATE DPP_TRANSACTION_HEADERS_ALL
97 
98 		SET vendor_id = p_vendor_id,
99 
100 				vendor_site_id = p_vendor_site_id,
101 
102 				last_update_date = hz_utility_pub.last_update_date,
103 
104 				last_updated_by = hz_utility_pub.user_id,
105 
106 				last_update_login = hz_utility_pub.last_update_login,
107 
108 				program_application_id = hz_utility_pub.program_application_id,
109 
110 				program_id = hz_utility_pub.program_id,
111 
112 				program_update_date = sysdate
113 
114 		WHERE   vendor_id = p_dup_vendor_id
115 
116 			AND vendor_site_id = p_dup_vendor_site_id;
117 
118 		IF SQL%FOUND THEN
119 
120 		   p_return_status := FND_API.G_RET_STS_SUCCESS;
121 
122 		   l_row_count := SQL%ROWCOUNT;
123 
124 		ELSE
125 
126 		   l_row_count := 0;
127 
128 		END IF;
129 
130 		-- Prepare message name
131 
132 		FND_MESSAGE.SET_NAME('DPP','DPP_VENDOR_MERGE');
133 
134 		FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
135 
136 		FND_MESSAGE.SET_TOKEN('TABLE_NAME','DPP_TRANSACTION_HEADERS_ALL');
137 
138 		-- Add message to API message list.
139 
140 		FND_MSG_PUB.Add;
141 
142 
143 
144 		-- Get message count and if 1, return message data.
145 
146 		FND_MSG_PUB.Count_And_Get
147 
148 		(  p_count         	=>      p_msg_count,
149 		   p_data          	=>      p_msg_data
150 
151 		);
152 
153 
154 	    IF p_dup_vendor_id <> p_vendor_id THEN
155 
156 			UPDATE DPP_TRANSACTION_HEADERS_LOG
157 
158 			SET vendor_id = p_vendor_id,
159 
160 					vendor_site_id = p_vendor_site_id,
161 
162 					last_update_date = hz_utility_pub.last_update_date,
163 
164 					last_updated_by = hz_utility_pub.user_id,
165 
166 					last_update_login = hz_utility_pub.last_update_login
167 
168 			WHERE   vendor_id = p_dup_vendor_id
169 
170 					AND vendor_site_id = p_dup_vendor_site_id;
171 
172 			IF SQL%FOUND THEN
173 
174 			   p_return_status := FND_API.G_RET_STS_SUCCESS;
175 
176 			   l_row_count := SQL%ROWCOUNT;
177 
178 			ELSE
179 
180 			   l_row_count := 0;
181 
182 			END IF;
183 
184 			-- Prepare message name
185 
186 			FND_MESSAGE.SET_NAME('DPP','DPP_VENDOR_MERGE');
187 
188 			FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
189 
190 			FND_MESSAGE.SET_TOKEN('TABLE_NAME','DPP_TRANSACTION_HEADERS_LOG');
191 
192 			-- Add message to API message list.
193 
194 			FND_MSG_PUB.Add;
195 
196 
197 
198 			-- Get message count and if 1, return message data.
199 
200 			FND_MSG_PUB.Count_And_Get
201 
202 			(  p_count         	=>      p_msg_count,
203 
204 			   p_data          	=>      p_msg_data
205 
206 			);
207 
208 
209 
210 			UPDATE DPP_TXN_HEADERS_INT_ALL
211 
212 			SET     vendor_id = p_vendor_id,
213 
214 					vendor_site_id = p_vendor_site_id,
215 
216 					last_update_date = hz_utility_pub.last_update_date,
217 
218 					last_updated_by = hz_utility_pub.user_id,
219 
220 					last_update_login = hz_utility_pub.last_update_login,
221 
222 					program_application_id = hz_utility_pub.program_application_id,
223 
224 					program_id = hz_utility_pub.program_id,
225 
226 					program_update_date = sysdate
227 
228 			WHERE   vendor_id = p_dup_vendor_id
229 
230 					AND vendor_site_id = p_dup_vendor_site_id;
231 
232 
233 			IF SQL%FOUND THEN
234 
235 			   p_return_status := FND_API.G_RET_STS_SUCCESS;
236 
237 			   l_row_count := SQL%ROWCOUNT;
238 
239 			ELSE
240 
241 			   l_row_count := 0;
242 
243 			END IF;
244 
245 			-- Prepare message name
246 
247 			FND_MESSAGE.SET_NAME('DPP','DPP_VENDOR_MERGE');
248 
249 			FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
250 
251 			FND_MESSAGE.SET_TOKEN('TABLE_NAME','DPP_TXN_HEADERS_INT_ALL');
252 
253 			-- Add message to API message list.
254 
255 			FND_MSG_PUB.Add;
256 
257 
258 			-- Get message count and if 1, return message data.
259 
260 			FND_MSG_PUB.Count_And_Get
261 
262 			(  p_count         	=>      p_msg_count,
263 
264 			   p_data          	=>      p_msg_data
265 
266 			);
267 
268 
269 
270       END IF;
271 
272 
273 
274 	EXCEPTION
275 
276 	  WHEN OTHERS THEN
277 
278 		 ROLLBACK ;
279 
280 		 p_return_status :=  FND_API.G_RET_STS_ERROR;
281 
282 		 FND_MSG_PUB.Count_And_Get
283 
284 			   ( p_count =>  p_msg_count,
285 
286 				 p_data  =>  p_msg_data
287 
288 			   );
289 
290 
291 
292 	END Merge_Vendor;
293 
294 END DPP_VENDORMERGE_GRP;