[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