DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBC_GRANT_GROUPS_PKG

Source


1 PACKAGE BODY Ibc_Grant_Groups_Pkg AS
2 /* $Header: ibctggrb.pls 115.1 2002/11/13 23:46:28 vicho ship $ */
3 
4 -- MODIFICATION HISTORY
5 -- Person            Date        Comments
6 -- ---------         ------      ------------------------------------------
7 -- vicho	     11/05/2002     Remove G_MISS defaulting on UPDATE_ROW
8 
9 
10 PROCEDURE INSERT_ROW (
11   PX_ROWID IN OUT NOCOPY VARCHAR2,
12   P_GRANT_GROUP_ID IN NUMBER,
13   P_OBJECT_VERSION_NUMBER IN NUMBER,
14   p_CREATION_DATE IN DATE,
15   p_CREATED_BY IN NUMBER,
16   p_LAST_UPDATE_DATE IN DATE,
17   p_LAST_UPDATED_BY IN NUMBER,
18   p_LAST_UPDATE_LOGIN IN NUMBER
19 ) IS
20   CURSOR C IS SELECT ROWID FROM IBC_GRANT_GROUPS
21     WHERE GRANT_GROUP_ID = P_GRANT_GROUP_ID
22     ;
23 BEGIN
24   INSERT INTO IBC_GRANT_GROUPS (
25     OBJECT_VERSION_NUMBER,
26     GRANT_GROUP_ID,
27     CREATION_DATE,
28     CREATED_BY,
29     LAST_UPDATE_DATE,
30     LAST_UPDATED_BY,
31     LAST_UPDATE_LOGIN
32   ) VALUES (
33     P_OBJECT_VERSION_NUMBER,
34     P_GRANT_GROUP_ID,
35     DECODE(p_creation_date, FND_API.G_MISS_DATE, SYSDATE, NULL, SYSDATE,p_creation_date),
36     DECODE(p_created_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,NULL, FND_GLOBAL.user_id, p_created_by),
37     DECODE(p_last_update_date, FND_API.G_MISS_DATE, SYSDATE, NULL, SYSDATE,p_last_update_date),
38     DECODE(p_last_updated_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,NULL, FND_GLOBAL.user_id, p_last_updated_by),
39     DECODE(p_last_update_login, FND_API.G_MISS_NUM, FND_GLOBAL.login_id,NULL, FND_GLOBAL.login_id, p_last_update_login)
40   );
41 
42   OPEN c;
43   FETCH c INTO PX_ROWID;
44   IF (c%NOTFOUND) THEN
45     CLOSE c;
46     RAISE NO_DATA_FOUND;
47   END IF;
48   CLOSE c;
49 
50 END INSERT_ROW;
51 
52 PROCEDURE LOCK_ROW (
53   P_GRANT_GROUP_ID IN NUMBER,
54   P_OBJECT_VERSION_NUMBER IN NUMBER
55 ) IS
56   CURSOR c IS SELECT
57       OBJECT_VERSION_NUMBER
58     FROM IBC_GRANT_GROUPS
59     WHERE GRANT_GROUP_ID = P_GRANT_GROUP_ID
60     FOR UPDATE OF GRANT_GROUP_ID NOWAIT;
61   recinfo c%ROWTYPE;
62 
63 BEGIN
64   OPEN c;
65   FETCH c INTO recinfo;
66   IF (c%NOTFOUND) THEN
67     CLOSE c;
68     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
69     app_exception.raise_exception;
70   END IF;
71   CLOSE c;
72   IF (    (recinfo.OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER)
73   ) THEN
74     NULL;
75   ELSE
76     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
77     app_exception.raise_exception;
78   END IF;
79 
80   RETURN;
81 END LOCK_ROW;
82 
83 PROCEDURE UPDATE_ROW (
84   P_GRANT_GROUP_ID IN NUMBER,
85   p_OBJECT_VERSION_NUMBER    IN  NUMBER,
86   p_LAST_UPDATED_BY	IN  NUMBER,
87   p_LAST_UPDATE_DATE    IN  DATE,
88   p_LAST_UPDATE_LOGIN    IN  NUMBER
89 ) IS
90 BEGIN
91   UPDATE IBC_GRANT_GROUPS SET
92     OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
93     last_update_date = DECODE(p_last_update_date, FND_API.G_MISS_DATE, SYSDATE,
94                               NULL, SYSDATE, p_last_update_date),
95     last_updated_by = DECODE(p_last_updated_by, FND_API.G_MISS_NUM,
96                              FND_GLOBAL.user_id, NULL, FND_GLOBAL.user_id,
97                              p_last_updated_by),
98     last_update_login = DECODE(p_last_update_login, FND_API.G_MISS_NUM,
99                              FND_GLOBAL.login_id, NULL, FND_GLOBAL.login_id,
100                              p_last_update_login)
101   WHERE GRANT_GROUP_ID = P_GRANT_GROUP_ID
102   AND object_version_number = DECODE(p_object_version_number,
103                                      FND_API.G_MISS_NUM,object_version_number,
104                                      NULL,object_version_number,
105                                      p_object_version_number);
106 
107   IF (SQL%NOTFOUND) THEN
108     RAISE NO_DATA_FOUND;
109   END IF;
110 
111 END UPDATE_ROW;
112 
113 PROCEDURE DELETE_ROW (
114   P_GRANT_GROUP_ID IN NUMBER
115 ) IS
116 BEGIN
117 
118   DELETE FROM IBC_GRANT_GROUPS
119   WHERE GRANT_GROUP_ID = P_GRANT_GROUP_ID;
120 
121   IF (SQL%NOTFOUND) THEN
122     RAISE NO_DATA_FOUND;
123   END IF;
124 END DELETE_ROW;
125 
126 END Ibc_Grant_Groups_Pkg;