[Home] [Help]
PACKAGE BODY: APPS.ASN_PARTY_MERGE_PVT
Source
1 PACKAGE BODY ASN_PARTY_MERGE_PVT AS
2 /* $Header: asnvpmgb.pls 120.2 2005/09/13 15:44:00 rradhakr noship $ */
3
4
5 G_PKG_NAME CONSTANT VARCHAR2(30):='ASN_PARTY_MERGE_PVT';
6 G_FILE_NAME CONSTANT VARCHAR2(12):='ASNVPMGB.pls';
7
8 G_PROC_NAME CONSTANT VARCHAR2(25) := 'MERGE_ACCOUNT_PLANS';
9
10 /* Logging related constants */
11 G_PROC_LEVEL NUMBER := FND_LOG.LEVEL_PROCEDURE;
12 G_STMT_LEVEL NUMBER := FND_LOG.LEVEL_STATEMENT;
13 G_EXCP_LEVEL NUMBER := FND_LOG.LEVEL_EXCEPTION;
14 G_DEBUG_LEVEL NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
15
16
17
18 PROCEDURE MERGE_ACCOUNT_PLANS
19 (
20 p_entity_name IN VARCHAR2,
21 p_from_id IN NUMBER,
22 x_to_id OUT NOCOPY NUMBER,
23 p_from_fk_id IN NUMBER,
24 p_to_fk_id IN NUMBER,
25 p_parent_entity_name IN VARCHAR2,
26 p_batch_id IN NUMBER,
27 p_batch_party_id IN NUMBER,
28 x_return_status OUT NOCOPY VARCHAR2
29 )
30 IS
31
32 l_api_name CONSTANT VARCHAR2(30) := 'MERGE_ACCOUNT_PLANS';
33 l_api_version CONSTANT NUMBER := 1.0;
34 l_account_plan_id NUMBER(10);
35
36 CURSOR c_merge_acctplan IS
37 SELECT 1
38 FROM as_ap_account_plans
39 WHERE cust_party_id = p_from_fk_id
40 FOR UPDATE NOWAIT;
41
42 CURSOR c_account_plan IS
43 SELECT account_plan_id
44 FROM as_ap_account_plans
45 WHERE cust_party_id = p_to_fk_id;
46
47
48 BEGIN
49
50 IF (G_PROC_LEVEL >= G_DEBUG_LEVEL) THEN
51 FND_LOG.String(G_PROC_LEVEL,
52 G_PROC_NAME,
53 'begin');
54 END IF;
55
56 x_return_status := FND_API.G_RET_STS_SUCCESS;
57
58 IF p_from_fk_id = p_to_fk_id THEN
59 x_to_id := p_from_id;
60 RETURN;
61 END IF;
62
63 IF p_from_fk_id <> p_to_fk_id THEN
64 IF p_parent_entity_name = 'HZ_PARTIES' THEN
65 OPEN c_account_plan;
66 FETCH c_account_plan into l_account_plan_id;
67 IF c_account_plan%NOTFOUND THEN
68 OPEN c_merge_acctplan;
69 CLOSE c_merge_acctplan;
70 UPDATE as_ap_account_plans
71 SET cust_party_id = p_to_fk_id,
72 last_update_date = hz_utility_pub.last_update_date,
73 last_updated_by = hz_utility_pub.user_id,
74 last_update_login = hz_utility_pub.last_update_login
75 WHERE cust_party_id = p_from_fk_id;
76 END IF;
77 CLOSE c_account_plan;
78 END IF;
79 END IF;
80 EXCEPTION
81 WHEN OTHERS THEN
82
83 x_return_status := FND_API.G_RET_STS_ERROR;
84
85 IF (G_PROC_LEVEL >= G_DEBUG_LEVEL) THEN
86 FND_LOG.String(G_PROC_LEVEL,
87 G_PROC_NAME,
88 'Return Status'|| x_return_status
89 ||' '|| SQLCODE ||'Error'
90 ||substr(SQLERRM,1,1950));
91 END IF;
92 RAISE;
93
94 END MERGE_ACCOUNT_PLANS;
95 END;