DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_ROLE_CONTROLS_PKG

Source


1 PACKAGE BODY pa_role_controls_pkg AS
2  /* $Header: PAXPRRCB.pls 120.1 2005/08/19 17:17:51 mwasowic noship $ */
3 
4 -- INSERT ROW -----------------------------------------
5 PROCEDURE INSERT_ROW (
6  X_ROWID                        IN OUT     NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
7  X_ROLE_CONTROL_CODE            IN         VARCHAR2,
8  X_PROJECT_ROLE_ID              IN         NUMBER,
9  X_LAST_UPDATE_DATE             IN         DATE,
10  X_LAST_UPDATED_BY              IN         NUMBER,
11  X_CREATION_DATE                IN         DATE,
12  X_CREATED_BY                   IN         NUMBER,
13  X_LAST_UPDATE_LOGIN            IN         NUMBER
14 ) IS
15 
16       CURSOR    c
17       IS
18       SELECT    rowid
19       FROM      pa_role_controls
20       WHERE     role_control_code = x_role_control_code
21       AND       project_role_id  = x_project_role_id;
22 
23 
24 
25 BEGIN
26 
27 INSERT INTO pa_role_controls (
28  ROLE_CONTROL_CODE,
29  PROJECT_ROLE_ID,
30  LAST_UPDATE_DATE,
31  LAST_UPDATED_BY,
32  CREATION_DATE,
33  CREATED_BY,
34  LAST_UPDATE_LOGIN,
35  RECORD_VERSION_NUMBER
36 ) VALUES (
37  X_ROLE_CONTROL_CODE,
38  X_PROJECT_ROLE_ID,
39  X_LAST_UPDATE_DATE,
40  X_LAST_UPDATED_BY,
41  X_CREATION_DATE,
42  X_CREATED_BY,
43  X_LAST_UPDATE_LOGIN,
44  1
45  );
46 
47   OPEN  c;
48   FETCH c INTO x_rowid;
49   IF (c%NOTFOUND)
50   THEN
51     CLOSE c;
52     RAISE NO_DATA_FOUND;
53   END IF;
54   CLOSE c;
55 
56 END INSERT_ROW;
57 
58 
59 -- LOCK ROW ------------------------------------------
60 PROCEDURE LOCK_ROW (
61  X_ROWID                        IN OUT     NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
62  X_RECORD_VERSION_NUMBER        IN         NUMBER
63 ) IS
64 
65 	CURSOR c
66 	IS
67         SELECT *
68         FROM   pa_role_controls
69         WHERE  rowid = X_Rowid
70         FOR UPDATE OF role_control_code, project_role_id NOWAIT;
71 
72         Recinfo c%ROWTYPE;
73 
74 BEGIN
75 
76         OPEN c;
77         FETCH c INTO Recinfo;
78         IF (c%NOTFOUND)
79         THEN
80             CLOSE c;
81             FND_MESSAGE.Set_Name('FND','FORM_RECORD_DELETED');
82             APP_EXCEPTION.Raise_Exception;
83         END IF;
84         CLOSE c;
85 
86 
87         IF ( ( (Recinfo.RECORD_VERSION_NUMBER  = X_RECORD_VERSION_NUMBER)
88                       OR ( (Recinfo.RECORD_VERSION_NUMBER IS NULL)
89                           AND (X_RECORD_VERSION_NUMBER IS NULL)))
90            )
91         THEN
92               RETURN;
93         ELSE
94               FND_MESSAGE.Set_Name('FND','FORM_RECORD_CHANGED');
95               APP_EXCEPTION.Raise_Exception;
96         END IF;
97 
98 END LOCK_ROW;
99 
100 
101 -- UPDATE ROW -----------------------------------------
102 PROCEDURE UPDATE_ROW (
103  X_ROWID                        IN OUT     NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
104  X_ROLE_CONTROL_CODE            IN         VARCHAR2,
105  X_PROJECT_ROLE_ID              IN         NUMBER,
106  X_LAST_UPDATE_DATE             IN         DATE,
107  X_LAST_UPDATED_BY              IN         NUMBER,
108  X_CREATION_DATE                IN         DATE,
109  X_CREATED_BY                   IN         NUMBER,
110  X_LAST_UPDATE_LOGIN            IN         NUMBER
111 ) IS
112 
113 BEGIN
114 
115         UPDATE pa_role_controls
116         SET     ROLE_CONTROL_CODE      =X_ROLE_CONTROL_CODE,
117                 PROJECT_ROLE_ID        =X_PROJECT_ROLE_ID,
118                 LAST_UPDATE_DATE       =X_LAST_UPDATE_DATE,
119                 LAST_UPDATED_BY        =X_LAST_UPDATED_BY,
120                 CREATION_DATE          =X_CREATION_DATE,
121                 CREATED_BY             =X_CREATED_BY,
122                 LAST_UPDATE_LOGIN      =X_LAST_UPDATE_LOGIN,
123                 RECORD_VERSION_NUMBER  = (RECORD_VERSION_NUMBER +1)
124         WHERE rowid = X_Rowid;
125 
126         IF (SQL%NOTFOUND)
127         THEN
128              RAISE NO_DATA_FOUND;
129         END IF;
130 
131 END UPDATE_ROW;
132 
133 
134 -- DELETE ROW -----------------------------------------
135 PROCEDURE DELETE_ROW (X_Rowid VARCHAR2)
136 IS
137 BEGIN
138 
139         DELETE FROM pa_role_controls
140         WHERE rowid = X_Rowid;
141 
142         IF (SQL%NOTFOUND)
143         THEN
144               RAISE NO_DATA_FOUND;
145         END IF;
146 
147 END Delete_Row;
148 
149 
150 END pa_role_controls_pkg;