DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_VENDORMERGE_GRP

Source


1 PACKAGE BODY INV_VendorMerge_GRP AS
2 /* $Header: INVTCASB.pls 120.1 2006/03/15 11:33:59 kgnanamu noship $ */
3 /*==========================================================================+
4 |   Copyright (c) 1997 Oracle Corporation Redwood Shores, California, USA   |
5 |                          All rights reserved.                             |
6 +===========================================================================+
7 |                                                                           |
8 | File Name    : INVTCASB.pls                                               |
9 | Description  : This package contains functions called by                  |
10 |                Suppliers Merge program.                                   |
11 | Bug          : 4541401                                                    |
12 | Creator      : Karthik Gnanamurthy        03/15/2006                      |
13 +===========================================================================*/
14 
15    G_PKG_NAME              CONSTANT VARCHAR2(30) := 'INV_VendorMerge_GRP';
16 
17    PROCEDURE Merge_Vendor (
18       p_api_version            IN            NUMBER,
19       p_init_msg_list          IN            VARCHAR2 default FND_API.G_FALSE,
20       p_commit                 IN            VARCHAR2 default FND_API.G_FALSE,
21       p_validation_level       IN            NUMBER   default FND_API.G_VALID_LEVEL_FULL,
22       p_return_status          OUT  NOCOPY   VARCHAR2,
23       p_msg_count              OUT  NOCOPY   NUMBER,
24       p_msg_data               OUT  NOCOPY   VARCHAR2,
25       p_vendor_id              IN            NUMBER,
26       p_dup_vendor_id          IN            NUMBER,
27       p_vendor_site_id         IN            NUMBER,
28       p_dup_vendor_site_id     IN            NUMBER,
29       p_party_id               IN            NUMBER,
30       p_dup_party_id           IN            NUMBER,
31       p_party_site_id          IN            NUMBER,
32       p_dup_party_site_id      IN            NUMBER) IS
33 
34       l_api_version                 CONSTANT NUMBER := 1.0;
35       l_api_name                    CONSTANT VARCHAR2(30) := 'Merge_Vendor';
36 
37    BEGIN
38 
39       if not FND_API.Compatible_API_Call
40         (       l_api_version,
41                 p_api_version,
42                 l_api_name,
43                 G_PKG_NAME)
44       then
45          raise FND_API.G_EXC_UNEXPECTED_ERROR;
46       end if;
47 
48       p_return_status := fnd_api.g_ret_sts_success;
49 
50       /*
51       ** Following tables have reference to vendor and are candidates for
52       ** vendor merge:
53       **
54       ** MTL_INTERCOMPANY_PARAMETERS via: MTL_INTERCO_PARAMETERS_FK03
55       ** MTL_KANBAN_CARDS            via: MTL_KANBAN_CARDS_FK8
56       ** MTL_KANBAN_CARD_ACTIVITY    via: MTL_KANBAN_CARD_ACTIVITY_FK9
57       ** MTL_KANBAN_PULL_SEQUENCES   via: MTL_KANBAN_PULL_SEQUNECES_FK5
58       ** MTL_SERIAL_NUMBERS          via: MTL_SERIAL_NUMBERS_FK11
59       */
60 
61       update MTL_INTERCOMPANY_PARAMETERS
62       set vendor_id   = p_vendor_id
63       where vendor_id = p_dup_vendor_id;
64 
65       update MTL_KANBAN_CARDS
66       set supplier_id   = p_vendor_id
67       where supplier_id = p_dup_vendor_id;
68 
69       update MTL_KANBAN_CARD_ACTIVITY
70       set supplier_id   = p_vendor_id
71       where supplier_id = p_dup_vendor_id;
72 
73       update MTL_KANBAN_PULL_SEQUENCES
74       set supplier_id   = p_vendor_id
75       where supplier_id = p_dup_vendor_id;
76 
77       update MTL_SERIAL_NUMBERS
78       set original_unit_vendor_id   = p_vendor_id
79       where original_unit_vendor_id = p_dup_vendor_id;
80 
81       /*
82       ** Following tables have reference to vendor site and are candidates for
83       ** vendor merge:
84       **
85       ** MTL_INTERCOMPANY_PARAMETERS via: MTL_INTERCO_PARAMETERS_FK04
86       ** MTL_KANBAN_CARDS            via: MTL_KANBAN_CARDS_FK9
87       ** MTL_KANBAN_CARD_ACTIVITY    via: MTL_KANBAN_CARD_ACTIVITY_FK10
88       ** MTL_KANBAN_PULL_SEQUENCES   via: MTL_KANBAN_PULL_SEQUENCES_FK6
89       */
90 
91       update MTL_INTERCOMPANY_PARAMETERS
92       set vendor_site_id   = p_vendor_site_id
93       where vendor_site_id = p_dup_vendor_site_id;
94 
95       update MTL_KANBAN_CARDS
96       set supplier_site_id = p_vendor_site_id
97       where supplier_site_id = p_dup_vendor_site_id;
98 
99       update MTL_KANBAN_CARD_ACTIVITY
100       set supplier_site_id = p_vendor_site_id
101       where supplier_site_id = p_dup_vendor_site_id;
102 
103       update MTL_KANBAN_PULL_SEQUENCES
104       set supplier_site_id = p_vendor_site_id
105       where supplier_site_id = p_dup_vendor_site_id;
106 
107       --  Get message count and data
108       FND_MSG_PUB.Count_And_Get
109       (   p_count   => p_msg_count,
110           p_data    => p_msg_data
111       );
112 
113       if (p_commit = FND_API.G_TRUE) then
114          commit;
115       end if;
116 
117    EXCEPTION
118       WHEN OTHERS THEN
119          fnd_message.set_name('AR', 'HZ_MERGE_SQL_ERROR');
120          fnd_message.set_token('ERROR', sqlerrm);
121          fnd_msg_pub.add;
122          p_return_status := fnd_api.g_ret_sts_unexp_error;
123 
124    END Merge_Vendor;
125 
126 END INV_VendorMerge_GRP;