DBA Data[Home] [Help]

PACKAGE BODY: APPS.UMX_PARTY_MERGE

Source


1 PACKAGE  BODY UMX_PARTY_MERGE AS
2 /* $Header: UMXPMRGB.pls 115.1 2004/07/27 18:54:16 cmehta noship $ */
3 
4 PROCEDURE MERGE_PARTIES
5           (
6             p_entity_name         IN    VARCHAR2,
7             p_from_id		  IN    NUMBER,
8             p_to_id		  OUT   NOCOPY   NUMBER,
9             p_from_fk_id          IN    NUMBER,
10             p_to_fk_id	          IN    NUMBER,
11             p_parent_entity_name  IN    VARCHAR2,
12             p_batch_id		  IN    NUMBER,
13             p_batch_party_id      IN    NUMBER,
14             p_return_status       out NOCOPY   Varchar2
15 	  ) IS
16 
17 CURSOR GET_STATUS IS SELECT STATUS_CODE FROM UMX_REG_REQUESTS
18 WHERE REQUESTED_FOR_PARTY_ID = p_from_fk_id
19 and status_code = 'PENDING';
20 l_status_code UMX_REG_REQUESTS.STATUS_CODE%TYPE;
21 
22 BEGIN
23 
24     -- Set the return status to success unless an error occurs
25     p_return_status := FND_API.G_RET_STS_SUCCESS;
26 
27     -- Check for the request status. If it is Pending, don't allow the merge
28     open GET_STATUS;
29     fetch GET_STATUS into l_status_code;
30     if GET_STATUS%FOUND then
31         p_return_status := FND_API.G_RET_STS_ERROR;
32 	FND_MESSAGE.SET_NAME('FND','UMX_MERGE_NOT_ALLOWED');
33 	FND_MSG_PUB.ADD;
34         close GET_STATUS;
35 	return;
36     else
37         close GET_STATUS;
38     end if;
39 
40     -- If the parent has not changed, no need to do anything
41 
42     if p_from_FK_id = p_to_FK_id  then
43 
44        return;
45 
46     else
47 
48         if  p_parent_entity_name = 'HZ_PARTIES' then
49              -- Update the table with the new party_id
50              update umx_reg_requests set requested_for_party_id = p_To_FK_id,
51                                last_update_date = hz_utility_pub.last_update_date,
52       			 	last_updated_by = hz_utility_pub.user_id,
53      			 	last_update_login = hz_utility_pub.last_update_login
54                                 where requested_for_party_id = p_From_FK_id;
55              return;
56         end if;
57     end if;
58 
59 EXCEPTION
60   WHEN OTHERS THEN
61 		FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
62     		FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
63     		FND_MSG_PUB.ADD;
64     		p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
65 
66 END MERGE_PARTIES;
67 
68 end UMX_PARTY_MERGE;