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