DBA Data[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