[Home] [Help]
PACKAGE BODY: APPS.PN_VENDORMERGE_GRP
Source
1 PACKAGE BODY PN_VendorMerge_GRP AS
2 /* $Header: pngvdrb.pls 120.1.12020000.1 2012/07/30 12:58:07 ppenumar 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 UPDATE pn_payment_terms
46 SET vendor_id = p_vendor_id,
47 vendor_site_id = p_vendor_site_id,
48 last_updated_by = p_last_updated_by,
49 last_update_date = sysdate
50 WHERE vendor_id = p_dup_vendor_id
51 AND vendor_site_id = p_dup_vendor_site_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 AND vendor_site_id = p_dup_vendor_site_id;
73
74 -- Prepare message name
75 FND_MESSAGE.SET_NAME('PN','PN_PAYMENT_ITEMS');
76 IF SQL%FOUND THEN
77 x_return_status := FND_API.G_RET_STS_SUCCESS;
78 l_row_count := SQL%ROWCOUNT;
79 ELSE
80 l_row_count := 0;
81 END IF;
82 FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
83 -- Add message to API message list.
84 FND_MSG_PUB.Add;
85
86
87 UPDATE pn_term_templates
88 SET vendor_id = p_vendor_id,
89 vendor_site_id = p_vendor_site_id,
90 last_updated_by = p_last_updated_by,
91 last_update_date = sysdate
92 WHERE vendor_id = p_dup_vendor_id
93 AND vendor_site_id = p_dup_vendor_site_id;
94
95 -- Prepare message name
96 FND_MESSAGE.SET_NAME('PN','PN_TERM_TEMPLATES');
97 IF SQL%FOUND THEN
98 x_return_status := FND_API.G_RET_STS_SUCCESS;
99 l_row_count := SQL%ROWCOUNT;
100 ELSE
101 l_row_count := 0;
102 END IF;
103 FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
104 -- Add message to API message list.
105 FND_MSG_PUB.Add;
106
107 UPDATE pn_payment_terms_history
108 SET vendor_id = p_vendor_id,
109 vendor_site_id = p_vendor_site_id,
110 last_updated_by = p_last_updated_by,
111 last_update_date = sysdate
112 WHERE vendor_id = p_dup_vendor_id
113 AND vendor_site_id = p_dup_vendor_site_id;
114
115 -- Prepare message name
116 FND_MESSAGE.SET_NAME('PN','PN_PAYMENT_TERMS_HISTORY');
117 IF SQL%FOUND THEN
118 x_return_status := FND_API.G_RET_STS_SUCCESS;
119 l_row_count := SQL%ROWCOUNT;
120 ELSE
121 l_row_count := 0;
122 END IF;
123 FND_MESSAGE.SET_TOKEN('ROWS_UPDATED',l_row_count);
124 -- Add message to API message list.
125 FND_MSG_PUB.Add;
126
127 -- Get message count and if 1, return message data.
128 FND_MSG_PUB.Count_And_Get
129 ( p_count => x_msg_count,
130 p_data => x_msg_data
131 );
132
133
134
135 EXCEPTION
136
137 WHEN OTHERS THEN
138 ROLLBACK ;
139 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
140 FND_MSG_PUB.Count_And_Get
141 ( p_count => x_msg_count,
142 p_data => x_msg_data
143 );
144
145 END Merge_Vendor;
146
147 END PN_VendorMerge_GRP;
148