DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_DUP_MERGE_PARTIES_PKG

Source


1 PACKAGE BODY  HZ_DUP_MERGE_PARTIES_PKG AS
2 /*$Header: ARHDQDMB.pls 120.4 2005/06/16 21:10:36 jhuang noship $ */
3 
4 PROCEDURE Insert_Row(
5                       p_DUP_BATCH_ID      IN OUT          NOCOPY NUMBER,
6                       p_MERGE_FROM_ID     IN OUT          NOCOPY NUMBER,
7                       p_MERGE_TO_ID       IN OUT          NOCOPY NUMBER,
8                       p_CREATED_BY                        NUMBER,
9                       p_CREATION_DATE                     DATE,
10                       p_LAST_UPDATE_LOGIN                 NUMBER,
11                       p_LAST_UPDATE_DATE                  DATE,
12                       p_LAST_UPDATED_BY                   NUMBER)
13  IS
14 
15   BEGIN
16 
17    INSERT INTO HZ_DUP_MERGE_PARTIES(
18                 DUP_BATCH_ID,
19                 MERGE_FROM_ID,
20                 MERGE_TO_ID,
21                 CREATED_BY,
22                 CREATION_DATE,
23                 LAST_UPDATE_LOGIN,
24                 LAST_UPDATE_DATE,
25                 LAST_UPDATED_BY
26                )
27                VALUES (
28                 p_DUP_BATCH_ID,
29                 p_MERGE_FROM_ID,
30                 p_MERGE_TO_ID,
31                 hz_utility_v2pub.created_by,
32                 hz_utility_v2pub.creation_date,
33                 hz_utility_v2pub.last_update_login,
34                 hz_utility_v2pub.last_update_date,
35                 hz_utility_v2pub.last_updated_by
36               );
37 
38 End Insert_Row;
39 
40 
41 PROCEDURE Delete_Row(p_DUP_batch_id NUMBER,
42                      p_MERGE_FROM_ID   NUMBER,
43                      p_MERGE_TO_ID     NUMBER) IS
44 BEGIN
45    DELETE FROM hz_DUP_MERGE_PARTIES
46    where DUP_batch_id = p_DUP_batch_id
47    AND MERGE_FROM_ID = p_MERGE_FROM_ID
48    AND MERGE_TO_ID   = p_MERGE_TO_ID;
49    If (SQL%NOTFOUND) then
50        RAISE NO_DATA_FOUND;
51    End If;
52  END Delete_Row;
53 
54 PROCEDURE Lock_Row(
55                       p_DUP_BATCH_ID      IN OUT          NOCOPY NUMBER,
56                       p_MERGE_FROM_ID     IN OUT          NOCOPY NUMBER,
57                       p_MERGE_TO_ID       IN OUT          NOCOPY NUMBER,
58                       p_CREATED_BY                        NUMBER,
59                       p_CREATION_DATE                     DATE,
60                       p_LAST_UPDATE_LOGIN                 NUMBER,
61                       p_LAST_UPDATE_DATE                  DATE,
62                       p_LAST_UPDATED_BY                   NUMBER
63  ) IS
64 
65  CURSOR C IS
66  SELECT *
67  FROM hz_DUP_MERGE_PARTIES
68  WHERE DUP_batch_id  = p_DUP_batch_id
69  AND   MERGE_FROM_ID   = p_MERGE_FROM_ID
70  AND  MERGE_TO_ID      = P_MERGE_TO_ID
71  FOR UPDATE OF DUP_batch_id, MERGE_FROM_ID , MERGE_TO_ID NOWAIT;
72  Recinfo C%ROWTYPE;
73  BEGIN
74     OPEN C;
75     FETCH C INTO Recinfo;
76     If (C%NOTFOUND) then
77         CLOSE C;
78         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
79         APP_EXCEPTION.RAISE_EXCEPTION;
80     End If;
81     CLOSE C;
82 
83     if (
84           (   (Recinfo.DUP_BATCH_ID = p_DUP_BATCH_ID)
85            OR (     (Recinfo.DUP_BATCH_ID IS NULL)
86                 AND  (p_DUP_BATCH_ID IS NULL )))
87     AND   (   (Recinfo.MERGE_FROM_ID = p_MERGE_FROM_ID)
88            OR (      (Recinfo.MERGE_FROM_ID IS NULL)
89                 AND  (p_MERGE_FROM_ID IS NULL )))
90     AND   (   (Recinfo.MERGE_TO_ID = p_MERGE_TO_ID)
91            OR (      (Recinfo.MERGE_TO_ID IS NULL)
92                 AND  (p_MERGE_TO_ID IS NULL )))
93     AND    (     (Recinfo.CREATED_BY = p_CREATED_BY )
94              OR (     (Recinfo.CREATED_BY IS NULL)
95                  AND (p_CREATED_BY IS NULL )))
96     AND    (     (Recinfo.CREATION_DATE = p_CREATION_DATE)
97              OR (     (Recinfo.CREATION_DATE IS NULL)
98                  AND (p_CREATION_DATE  IS NULL )))
99     AND    (     (Recinfo.LAST_UPDATE_LOGIN= p_LAST_UPDATE_LOGIN)
100              OR (     (Recinfo.LAST_UPDATE_LOGIN  IS NULL)
101                  AND (p_LAST_UPDATE_LOGIN  IS NULL )))
102     AND    (     (Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
103              OR (     (Recinfo.LAST_UPDATE_DATE   IS NULL)
104                  AND (p_LAST_UPDATE_DATE  IS NULL )))
105     AND    (      (Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
106              OR (     (Recinfo.LAST_UPDATED_BY   IS NULL)
107                   AND (p_LAST_UPDATED_BY   IS NULL )))
108       ) then
109        return;
110    else
111        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
112        APP_EXCEPTION.RAISE_EXCEPTION;
113    End If;
114 END Lock_Row;
115 END HZ_DUP_MERGE_PARTIES_PKG;