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