DBA Data[Home] [Help]

PACKAGE BODY: APPS.GL_DEFAS_RESP_ASSIGN_PKG

Source


1 PACKAGE BODY gl_defas_resp_assign_pkg AS
2 /* $Header: glistrab.pls 120.5 2005/09/02 10:35:14 adesu ship $ */
3 
4   PROCEDURE Insert_Row(
5                        X_Rowid                 IN OUT NOCOPY VARCHAR2,
6                        X_Definition_Access_Set_Id   IN NUMBER,
7                        X_Security_Group_Id     IN NUMBER,
8                        X_Responsibility_Id     IN NUMBER,
9                        X_Application_Id        IN NUMBER,
10                        X_Last_Update_Date      IN DATE,
11                        X_Last_Updated_By       IN NUMBER,
12                        X_Last_Update_Login     IN NUMBER,
13                        X_Creation_Date         IN DATE,
14                        X_Created_By            IN NUMBER,
15                        X_Status_Code           IN VARCHAR2,
16                        X_Request_Id            IN VARCHAR2,
17                        X_Attribute1            IN VARCHAR2,
18                        X_Attribute2            IN VARCHAR2,
19                        X_Attribute3            IN VARCHAR2,
20                        X_Attribute4            IN VARCHAR2,
21                        X_Attribute5            IN VARCHAR2,
22                        X_Attribute6            IN VARCHAR2,
23                        X_Attribute7            IN VARCHAR2,
24                        X_Attribute8            IN VARCHAR2,
25                        X_Attribute9            IN VARCHAR2,
26                        X_Attribute10           IN VARCHAR2,
27                        X_Attribute11           IN VARCHAR2,
28                        X_Attribute12           IN VARCHAR2,
29                        X_Attribute13           IN VARCHAR2,
30                        X_Attribute14           IN VARCHAR2,
31                        X_Attribute15           IN VARCHAR2,
32                        X_Context               IN VARCHAR2,                                           X_Default_Flag          IN VARCHAR2,
33                        X_Default_View_Flag     IN VARCHAR2,
34                        X_Default_Use_Flag      IN VARCHAR2,
35                        X_Default_Modify_Flag   IN VARCHAR2
36                       ) IS
37        CURSOR C IS
38        SELECT rowid
39        FROM gl_defas_resp_assign
40        WHERE definition_access_set_id = X_Definition_Access_Set_Id
41        AND   application_id = X_Application_Id
42        AND   responsibility_id = X_Responsibility_Id;
43 
44   BEGIN
45        INSERT INTO gl_defas_resp_assign(
46        security_group_id,
47        application_id,
48        responsibility_id,
49        definition_access_set_id,
50        last_update_date,
51        last_updated_by,
52        last_update_login,
53        creation_date,
54        created_by,
55        status_code,
56        request_id,
57        attribute1,
58        attribute2,
59        attribute3,
60        attribute4,
61        attribute5,
62        attribute6,
63        attribute7,
64        attribute8,
65        attribute9,
66        attribute10,
67        attribute11,
68        attribute12,
69        attribute13,
70        attribute14,
71        attribute15,
72        context,
73        default_flag,
74        default_view_access_flag,
75        default_use_access_flag,
76        default_modify_access_flag)
77        VALUES(
78        X_Security_Group_Id,
79        X_Application_Id,
80        X_Responsibility_Id,
81        X_Definition_Access_Set_Id,
82        X_Last_Update_Date,
83        X_Last_Updated_By,
84        X_Last_Update_Login,
85        X_Creation_Date,
86        X_Created_By,
87        X_Status_Code,
88        X_Request_Id,
89        X_Attribute1,
90        X_Attribute2,
91        X_Attribute3,
92        X_Attribute4,
93        X_Attribute5,
94        X_Attribute6,
95        X_Attribute7,
96        X_Attribute8,
97        X_Attribute9,
98        X_Attribute10,
99        X_Attribute11,
100        X_Attribute12,
101        X_Attribute13,
102        X_Attribute14,
103        X_Attribute15,
104        X_Context,
105        X_Default_Flag,
106        X_Default_View_Flag,
107        X_Default_Use_Flag,
108        X_Default_Modify_Flag);
109 
110        OPEN C;
111        FETCH C INTO X_Rowid;
112        if (C%NOTFOUND) then
113        CLOSE C;
114        RAISE NO_DATA_FOUND;
115        end if;
116        CLOSE C;
117 
118   END Insert_Row;
119 
120 
121   PROCEDURE Lock_Row(
122                        X_Rowid                 IN OUT NOCOPY VARCHAR2,
123                        X_Definition_Access_Set_Id   IN NUMBER,
124                        X_Security_Group_Id     IN NUMBER,
125                        X_Responsibility_Id     IN NUMBER,
126                        X_Application_Id        IN NUMBER,
127                        X_Last_Update_Date      IN DATE,
128                        X_Last_Updated_By       IN NUMBER,
129                        X_Last_Update_Login     IN NUMBER,
130                        X_Creation_Date         IN DATE,
131                        X_Created_By            IN NUMBER,
132                        X_Status_Code           IN VARCHAR2,
133                        X_Request_Id            IN VARCHAR2,
134                        X_Attribute1            IN VARCHAR2,
135                        X_Attribute2            IN VARCHAR2,
136                        X_Attribute3            IN VARCHAR2,
137                        X_Attribute4            IN VARCHAR2,
138                        X_Attribute5            IN VARCHAR2,
139                        X_Attribute6            IN VARCHAR2,
140                        X_Attribute7            IN VARCHAR2,
141                        X_Attribute8            IN VARCHAR2,
142                        X_Attribute9            IN VARCHAR2,
143                        X_Attribute10           IN VARCHAR2,
144                        X_Attribute11           IN VARCHAR2,
145                        X_Attribute12           IN VARCHAR2,
146                        X_Attribute13           IN VARCHAR2,
147                        X_Attribute14           IN VARCHAR2,
148                        X_Attribute15           IN VARCHAR2,
149                        X_Context               IN VARCHAR2,
150                        X_Default_Flag          IN VARCHAR2,
151                        X_Default_View_Flag     IN VARCHAR2,
152                        X_Default_Use_Flag      IN VARCHAR2,
153                        X_Default_Modify_Flag   IN VARCHAR2
154                       ) IS
155       CURSOR C IS
156        SELECT *
157        FROM gl_defas_resp_assign
158        WHERE rowid = X_Rowid
159        FOR UPDATE of Definition_Access_Set_Id NOWAIT;
160       Recinfo C%ROWTYPE;
161       l_request_id     NUMBER(15);
162       l_call_status    BOOLEAN;
163       l_rphase         VARCHAR2(80);
164       l_rstatus        VARCHAR2(80);
165       l_dphase         VARCHAR2(30);
166       l_dstatus        VARCHAR2(30);
167       l_message        VARCHAR2(240);
168 
169   BEGIN
170      IF(X_Request_Id IS NOT NULL) THEN
171         l_request_id := X_Request_Id;
172         l_call_status :=
173         FND_CONCURRENT.GET_REQUEST_STATUS(request_id     => l_request_id,
174                                           appl_shortname => 'SQLGL',
175                                           program        => 'GL',
176                                           phase          => l_rphase,
177                                           status         => l_rstatus,
178                                           dev_phase      => l_dphase,
179                                           dev_status     => l_dstatus,
180                                           message        => l_message);
181 
182         IF (l_dphase = 'RUNNING') THEN
183             FND_MESSAGE.Set_Name('GL', 'GL_LEDGER_RECORD_PROC_BY_FLAT');
184             APP_EXCEPTION.Raise_Exception;
185         END IF;
186      END IF;
187 
188      OPEN C;
189      FETCH C INTO Recinfo;
190      if (C%NOTFOUND) then
191         CLOSE C;
192         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
193         APP_EXCEPTION.RAISE_EXCEPTION;
194      end if;
195      CLOSE C;
196 
197      if (
198            (   (Recinfo.definition_access_set_id = X_Definition_Access_Set_Id)
199             OR (    (Recinfo.definition_access_set_id IS NULL)
200                 AND (X_Definition_Access_Set_Id IS NULL)))
201        AND (   (Recinfo.security_group_id = X_Security_Group_Id)
202             OR (    (Recinfo.security_group_id IS NULL)
203                 AND (X_Security_Group_Id IS NULL)))
204        AND (   (Recinfo.application_id = X_Application_Id)
205             OR (    (Recinfo.application_id IS NULL)
206                 AND (X_Application_Id IS NULL)))
207        AND (   (Recinfo.responsibility_id = X_Responsibility_Id)
208             OR (    (Recinfo.responsibility_Id IS NULL)
209                 AND (X_Responsibility_Id IS NULL)))
210        AND (   (Recinfo.last_update_date = X_Last_Update_Date)
211             OR (    (Recinfo.last_update_date IS NULL)
212                 AND (X_Last_Update_Date IS NULL)))
213        AND (   (Recinfo.last_updated_by = X_Last_Updated_By)
214             OR (    (Recinfo.last_updated_by IS NULL)
215                 AND (X_Last_Updated_By IS NULL)))
216        AND (   (Recinfo.last_update_login = X_Last_Update_Login)
217             OR (    (Recinfo.last_update_login IS NULL)
218                 AND (X_Last_Update_Login IS NULL)))
219        AND (   (Recinfo.creation_date = X_Creation_Date)
220             OR (    (Recinfo.creation_date IS NULL)
221                 AND (X_Creation_Date IS NULL)))
222        AND (   (Recinfo.created_by = X_Created_By)
223             OR (    (Recinfo.created_by IS NULL)
224                 AND (X_Created_By IS NULL)))
225        AND (   (Recinfo.status_code = X_Status_Code)
226             OR (    (Recinfo.status_code IS NULL)
227                 AND (X_Status_Code IS NULL)))
228        AND (   (Recinfo.request_id = X_Request_Id)
229             OR (    (Recinfo.request_id IS NULL)
230                 AND (X_Request_Id IS NULL)))
231        AND (   (Recinfo.attribute1 = X_Attribute1)
232             OR (    (Recinfo.attribute1 IS NULL)
233                 AND (X_Attribute1 IS NULL)))
234        AND (   (Recinfo.attribute2 = X_Attribute2)
235             OR (    (Recinfo.attribute2 IS NULL)
236                 AND (X_Attribute2 IS NULL)))
237        AND (   (Recinfo.attribute3 = X_Attribute3)
238             OR (    (Recinfo.attribute3 IS NULL)
239                 AND (X_Attribute3 IS NULL)))
240        AND (   (Recinfo.attribute4 = X_Attribute4)
241             OR (    (Recinfo.attribute4 IS NULL)
242                 AND (X_Attribute4 IS NULL)))
243        AND (   (Recinfo.attribute5 = X_Attribute5)
244             OR (    (Recinfo.attribute5 IS NULL)
245                 AND (X_Attribute5 IS NULL)))
246        AND (   (Recinfo.attribute6 = X_Attribute6)
247             OR (    (Recinfo.attribute6 IS NULL)
248                 AND (X_Attribute6 IS NULL)))
249        AND (   (Recinfo.attribute7 = X_Attribute7)
250             OR (    (Recinfo.attribute7 IS NULL)
251                 AND (X_Attribute7 IS NULL)))
252        AND (   (Recinfo.attribute8 = X_Attribute8)
253             OR (    (Recinfo.attribute8 IS NULL)
254                 AND (X_Attribute8 IS NULL)))
255        AND (   (Recinfo.attribute9 = X_Attribute9)
256             OR (    (Recinfo.attribute9 IS NULL)
257                 AND (X_Attribute9 IS NULL)))
258        AND (   (Recinfo.attribute10 = X_Attribute10)
259             OR (    (Recinfo.attribute10 IS NULL)
260                 AND (X_Attribute10 IS NULL)))
261        AND (   (Recinfo.attribute11 = X_Attribute11)
262             OR (    (Recinfo.attribute11 IS NULL)
263                 AND (X_Attribute11 IS NULL)))
264        AND (   (Recinfo.attribute12 = X_Attribute12)
265             OR (    (Recinfo.attribute12 IS NULL)
266                 AND (X_Attribute12 IS NULL)))
267        AND (   (Recinfo.attribute13 = X_Attribute13)
268             OR (    (Recinfo.attribute13 IS NULL)
269                 AND (X_Attribute13 IS NULL)))
270        AND (   (Recinfo.attribute14 =X_Attribute14)
271             OR (    (Recinfo.attribute14 IS NULL)
272                 AND (X_Attribute14 IS NULL)))
273        AND (   (Recinfo.attribute15 = X_Attribute15)
274             OR (    (Recinfo.attribute15 IS NULL)
275                 AND (X_Attribute15 IS NULL)))
276        AND (   (Recinfo.context = X_Context)
277             OR (    (Recinfo.context IS NULL)
278                 AND (X_Context IS NULL)))
279        AND (   (Recinfo.default_flag = X_Default_Flag)
280             OR (    (Recinfo.default_flag IS NULL)
281                 AND (X_Default_Flag IS NULL)))
282        AND (   (Recinfo.default_view_access_flag = X_Default_View_Flag)
283             OR (    (Recinfo.default_view_access_flag IS NULL)
284                 AND (X_Default_View_Flag IS NULL)))
285        AND (   (Recinfo.default_use_access_flag = X_Default_Use_Flag)
286             OR (    (Recinfo.default_use_access_flag IS NULL)
287                 AND (X_Default_Use_Flag IS NULL)))
288        AND (   (Recinfo.default_modify_access_flag = X_Default_Modify_Flag)
289             OR (    (Recinfo.default_modify_access_flag IS NULL)
290                 AND (X_Default_Modify_Flag IS NULL)))
291       ) then
292        return;
293     else
294        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
295        APP_EXCEPTION.RAISE_EXCEPTION;
296     end if;
297 
298   END Lock_Row;
299 
300   PROCEDURE Update_Row(
301                        X_Rowid                 IN OUT NOCOPY VARCHAR2,
302                        X_Last_Update_Date      IN DATE,
303                        X_Last_Updated_By       IN NUMBER,
304                        X_Last_Update_Login     IN NUMBER,
305                        X_Status_Code           IN VARCHAR2,
306                        X_Request_Id            IN VARCHAR2,
307                        X_Attribute1            IN VARCHAR2,
308                        X_Attribute2            IN VARCHAR2,
309                        X_Attribute3            IN VARCHAR2,
310                        X_Attribute4            IN VARCHAR2,
311                        X_Attribute5            IN VARCHAR2,
312                        X_Attribute6            IN VARCHAR2,
313                        X_Attribute7            IN VARCHAR2,
314                        X_Attribute8            IN VARCHAR2,
315                        X_Attribute9            IN VARCHAR2,
316                        X_Attribute10           IN VARCHAR2,
317                        X_Attribute11           IN VARCHAR2,
318                        X_Attribute12           IN VARCHAR2,
319                        X_Attribute13           IN VARCHAR2,
320                        X_Attribute14           IN VARCHAR2,
321                        X_Attribute15           IN VARCHAR2,
322                        X_Context               IN VARCHAR2,
323                        X_Default_Flag          IN VARCHAR2,
324                        X_Default_View_Flag     IN VARCHAR2,
325                        X_Default_Use_Flag      IN VARCHAR2,
326                        X_Default_Modify_Flag   IN VARCHAR2
327                       ) IS
328   BEGIN
329   UPDATE gl_defas_resp_assign
330   SET last_update_date = X_Last_Update_Date,
331       last_updated_by = X_Last_Updated_By,
332       last_update_login = X_Last_Update_Login,
333       status_code = X_Status_Code,
334       request_id = X_Request_Id,
335       attribute1 = X_Attribute1,
336       attribute2 = X_Attribute2,
337       attribute3 = X_Attribute3,
338       attribute4 = X_Attribute4,
339       attribute5 = X_Attribute5,
340       attribute6 = X_Attribute6,
341       attribute7 = X_Attribute7,
342       attribute8 = X_Attribute8,
343       attribute9 = X_Attribute9,
344       attribute10 = X_Attribute10,
345       attribute11 = X_Attribute11,
346       attribute12 = X_Attribute12,
347       attribute13 = X_Attribute13,
348       attribute14 = X_Attribute14,
349       attribute15 = X_Attribute15,
350       context = X_Context,
351       default_flag = X_Default_Flag,
352       default_view_access_flag = X_Default_View_Flag,
353       default_use_access_flag = X_Default_Use_Flag,
354       default_modify_access_flag = X_Default_Modify_Flag
355   WHERE rowid = X_Rowid;
356 
357   if (SQL%NOTFOUND) then
358       Raise NO_DATA_FOUND;
359   end if;
360 
361   END Update_Row;
362 
363 
364   PROCEDURE Delete_Row(X_Rowid       VARCHAR2) IS
365   BEGIN
366      UPDATE GL_DEFAS_RESP_ASSIGN
367      SET status_code = 'D'
368      WHERE rowid = X_Rowid;
369 
370      if SQL%NOTFOUND then
371      RAISE NO_DATA_FOUND;
372      end if;
373 
374   END Delete_Row;
375 
376 
377   PROCEDURE check_unique_set(X_Definition_Access_Set_Id NUMBER,
378                              X_Application_Id         NUMBER,
379                              X_Responsibility_Id      NUMBER,
380                              X_Security_Group_Id      NUMBER)IS
381 
382   CURSOR c_dup IS
383       SELECT 'Duplicate'
384       FROM   GL_DEFAS_RESP_ASSIGN r
385       WHERE  r.application_id = X_Application_Id
386       AND    r.responsibility_Id = X_Responsibility_Id
387       AND    r.security_group_id = X_Security_Group_Id
388       AND    r.definition_access_set_id = X_Definition_Access_Set_Id
389       AND    (r.status_code <>'D' or r.status_code is null);
390 
391     dummy VARCHAR2(100);
392 
393   BEGIN
394     OPEN  c_dup;
395     FETCH c_dup INTO dummy;
396 
397     IF c_dup%FOUND THEN
398       CLOSE c_dup;
399       fnd_message.set_name( 'SQLGL', 'GL_DEFAS_ASSIGN_RESP_DUP' );
400       app_exception.raise_exception;
401     END IF;
402 
403     CLOSE c_dup;
404 
405   EXCEPTION
406     WHEN app_exceptions.application_exception THEN
407       RAISE;
408     WHEN OTHERS THEN
409       fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
410       fnd_message.set_token('PROCEDURE',
411         'GL_DEFAS_RESP_ASSIGN_PKG.check_unique_set');
412       RAISE;
413 
414   END check_unique_set;
415 
416 
417 END gl_defas_resp_assign_pkg;