DBA Data[Home] [Help]

PACKAGE BODY: APPS.ECX_TP_MERGE_PKG

Source


1 package body ECX_TP_MERGE_PKG as
2 /* $Header: ECXPMRGB.pls 115.7 2003/07/01 21:20:18 rdiwan ship $ */
3 --
4 -- Procedure: ecx_party_merge
5 --
6 -- Description: This routine takes care of the party merge for ECX_TP_HEADERS
7 -- table
8 
9 
10 PROCEDURE ecx_party_merge(p_Entity_name			IN	VARCHAR2,
11    			   p_from_id			IN	NUMBER,
12    			   x_to_id			OUT	NOCOPY NUMBER,
13 		       	   p_From_FK_id			IN	NUMBER,
14    			   p_To_FK_id			IN	NUMBER,
15 			   p_Parent_Entity_name		IN	VARCHAR2,
16 		           p_Batch_id		 	IN	NUMBER,
17 		           p_Batch_Party_id		IN	NUMBER,
18 		           x_return_status	        OUT	NOCOPY VARCHAR2
19  			  ) is
20 BEGIN
21 
22     x_return_status := FND_API.G_RET_STS_SUCCESS;
23 
24     -- If parent has not changed
25     IF (p_From_FK_id = p_To_FK_id) THEN
26     	x_to_id := p_from_id;
27     	return;
28     END IF;
29 
30     -- update ECX_TP_HEADERS for the merge
31     UPDATE ECX_TP_HEADERS
32     SET    party_id 		= p_To_FK_id,
33            last_updated_by	= hz_utility_pub.user_id,
34            last_update_login	= hz_utility_pub.last_update_login
35     WHERE  party_id             = p_From_FK_id
36     AND    party_type           in ('C', 'E', 'CARRIER');
37 
38     -- update ECX_DOCLOGS for the merge
39     UPDATE ECX_DOCLOGS
40     SET    partyid              = to_char(p_To_FK_id)
41     WHERE  partyid              = to_char(p_From_FK_id)
42     AND    party_type           in ('C', 'E', 'CARRIER');
43 
44     -- update ECX_OUTBOUND_LOGS for the merge
45     UPDATE ECX_OUTBOUND_LOGS
46     SET    party_id              = to_char(p_To_FK_id)
47     WHERE  party_id              = to_char(p_From_FK_id)
48     AND    party_type            in ('C', 'E', 'CARRIER');
49 
50 EXCEPTION
51     WHEN OTHERS THEN
52     	FND_MESSAGE.SET_NAME('ECX', 'ECX_MERGE_UNEXPECTED_ERROR');
53     	FND_MESSAGE.SET_TOKEN('ERROR_CODE', SQLCODE);
54     	FND_MESSAGE.SET_TOKEN('ERROR_MESSAGE', SQLERRM);
55     	FND_MSG_PUB.add;
56         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
57 END ecx_party_merge;
58 
59 PROCEDURE ecx_party_sites_merge(
60   			   p_Entity_name		IN	VARCHAR2,
61    			   p_from_id			IN	NUMBER,
62    			   x_to_id			OUT	NOCOPY NUMBER,
63 		       	   p_From_FK_id			IN	NUMBER,
64    			   p_To_FK_id			IN	NUMBER,
65 			   p_Parent_Entity_name		IN	VARCHAR2,
66 		           p_Batch_id		 	IN	NUMBER,
67 		           p_Batch_Party_id		IN	NUMBER,
68 		           x_return_status	        OUT	NOCOPY VARCHAR2
69  			  ) is
70 BEGIN
71 
72     x_return_status := FND_API.G_RET_STS_SUCCESS;
73 
74     -- If parent has not changed
75     IF (p_From_FK_id = p_To_FK_id) THEN
76     	x_to_id := p_from_id;
77     	return;
78     END IF;
79 
80     -- update ECX_TP_HEADERS for the merge
81     UPDATE ECX_TP_HEADERS
82     SET    party_site_id 	= p_To_FK_id,
83            last_updated_by	= hz_utility_pub.user_id,
84            last_update_login	= hz_utility_pub.last_update_login
85     WHERE  party_site_id        = p_From_FK_id
86     AND    party_type           in ('C', 'E', 'CARRIER');
87 
88     -- update ECX_DOCLOGS for the merge
89     UPDATE ECX_DOCLOGS
90     SET    party_site_id   = to_char(p_To_FK_id)
91     WHERE  party_site_id   = to_char(p_From_FK_id)
92     AND    party_type      in ('C', 'E', 'CARRIER');
93 
94     -- update ECX_OUTBOUND_LOGS for the merge
95     UPDATE ECX_OUTBOUND_LOGS
96     SET    party_site_id   = to_char(p_To_FK_id)
97     WHERE  party_site_id   = to_char(p_From_FK_id)
98     AND    party_type      in ('C', 'E', 'CARRIER');
99 
100 EXCEPTION
101     WHEN OTHERS THEN
102     	FND_MESSAGE.SET_NAME('ECX', 'ECX_MERGE_UNEXPECTED_ERROR');
103     	FND_MESSAGE.SET_TOKEN('ERROR_CODE', SQLCODE);
104     	FND_MESSAGE.SET_TOKEN('ERROR_MESSAGE', SQLERRM);
105     	FND_MSG_PUB.add;
106         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
107 END ecx_party_sites_merge;
108 END ECX_TP_MERGE_PKG;