DBA Data[Home] [Help]

PACKAGE BODY: APPS.CHV_VENDORMERGE_GRP

Source


1 PACKAGE BODY CHV_VendorMerge_GRP AS
2 /* $Header: chvgvdrb.pls 120.0 2005/07/29 22:38:50 atsingh noship $ */
3 
4 G_PKG_NAME 	CONSTANT VARCHAR2(30):='CHV_VendorMerge_GRP';
5 
6 Procedure Merge_Vendor( p_api_version        IN   NUMBER,
7 	                p_init_msg_list      IN   VARCHAR2 default
8                                              FND_API.G_FALSE,
9 	                p_commit             IN   VARCHAR2 default
10                                              FND_API.G_FALSE,
11 	                p_validation_level   IN   NUMBER  :=
12                                              FND_API.G_VALID_LEVEL_FULL,
13 	                x_return_status      OUT NOCOPY VARCHAR2,
14 	                x_msg_count          OUT NOCOPY NUMBER,
15 	                x_msg_data           OUT NOCOPY VARCHAR2,
16 	                p_vendor_id          IN   NUMBER,
17 	                p_vendor_site_id     IN   NUMBER,
18 	                p_dup_vendor_id      IN   NUMBER,
19 	                p_dup_vendor_site_id IN   NUMBER         )
20 
21  IS
22 
23         l_api_name	CONSTANT VARCHAR2(30)	:= 'Merge_Vendor';
24         l_api_version   CONSTANT NUMBER 	:= 1.0;
25         l_row_count	NUMBER;
26 
27  BEGIN
28 
29         --  Initialize API return status to success
30         x_return_status := FND_API.G_RET_STS_SUCCESS;
31 
32 
33 
34         -- Check for call compatibility.
35          IF NOT FND_API.Compatible_API_Call ( l_api_version  ,
36                                               p_api_version  ,
37                                               l_api_name     ,
38                                               G_PKG_NAME             )
39          THEN
40                 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
41          END IF;
42 
43          -- Initialize API message list if necessary.
44          -- Initialize message list if p_init_msg_list is set to TRUE.
45          IF FND_API.to_Boolean( p_init_msg_list) THEN
46                 FND_MSG_PUB.initialize;
47          END IF;
48 
49          -- modify  CHV_SCHEDULE_HEADERS
50          UPDATE CHV_SCHEDULE_HEADERS
51          SET    vendor_id      = p_vendor_id,
52                 vendor_site_id = p_vendor_site_id
53          WHERE  vendor_id      = p_dup_vendor_id
54          AND    vendor_site_id = p_dup_vendor_site_id ;
55 
56          -- Prepare message name
57          FND_MESSAGE.SET_NAME('CHV', 'CHV_SCHEDULE_HEADERS');
58 	 IF SQL%FOUND THEN
59 		x_return_status := FND_API.G_RET_STS_SUCCESS;
60 		l_row_count := SQL%ROWCOUNT;
61 	 ELSE
62 
63 		l_row_count := 0;
64 	 END IF;
65 	 FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
66 	 -- Add message to API message list.
67 	 FND_MSG_PUB.Add;
68 
69 
70 
71          -- modify  CHV_CUM_ADJUSTMENTS
72          UPDATE CHV_CUM_ADJUSTMENTS
73          SET    vendor_id      = p_vendor_id,
74              	vendor_site_id = p_vendor_site_id
75          WHERE  vendor_id      = p_dup_vendor_id
76          AND    vendor_site_id = p_dup_vendor_site_id ;
77 
78          -- Prepare message name
79          FND_MESSAGE.SET_NAME('CHV','CHV_CUM_ADJUSTMENTS');
80 	 IF SQL%FOUND THEN
81 		x_return_status := FND_API.G_RET_STS_SUCCESS;
82 		l_row_count := SQL%ROWCOUNT;
83 	 ELSE
84 
85 		l_row_count := 0;
86 	END IF;
87 	FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
88 	-- Add message to API message list.
89 	FND_MSG_PUB.Add;
90 
91 	-- Get message count and if 1, return message data.
92 	FND_MSG_PUB.Count_And_Get
93 	(  	p_count         	=>      x_msg_count,
94 		p_data          	=>      x_msg_data
95 	);
96 
97 
98 
99 
100  EXCEPTION
101 
102                 WHEN OTHERS THEN
103                 ROLLBACK;
104 
105 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
106   		FND_MSG_PUB.Count_And_Get
107     		       ( p_count         =>      x_msg_count,
108         		 p_data          =>      x_msg_data
109     		       );
110 
111          END Merge_Vendor;
112 
113          END CHV_VendorMerge_GRP ;
114