DBA Data[Home] [Help]

PACKAGE BODY: APPS.RG_REPORT_DISPLAY_SETS_PKG

Source


1 PACKAGE BODY RG_REPORT_DISPLAY_SETS_PKG AS
2 /*  $Header: rgirdpsb.pls 120.2 2002/11/14 03:01:06 djogg ship $  */
3   --
4   -- PUBLIC FUNCTIONS
5   --
6 
7   PROCEDURE check_unique( X_rowid VARCHAR2,
8                           X_name  VARCHAR2 ) IS
9     dummy    NUMBER;
10   BEGIN
11     select 1 into dummy from dual
12     where not exists
13       (select 1 from rg_report_display_sets
14        where name = X_name
15          and ((X_rowid IS NULL) OR (rowid <> X_rowid)));
16     EXCEPTION
17       WHEN NO_DATA_FOUND THEN
18         fnd_message.set_name('RG','RG_FORMS_OBJECT_EXISTS');
19         fnd_message.set_token('OBJECT','RG_REPORT_DISPLAY_SET',TRUE);
20         app_exception.raise_exception;
21   END check_unique;
22 
23   PROCEDURE check_references(X_report_display_set_id NUMBER) IS
24     dummy NUMBER;
25   BEGIN
26     select 1 into dummy from dual
27     where not exists
28       (select 1 from rg_reports
29        where report_display_set_id = X_report_display_set_id);
30     EXCEPTION
31       WHEN NO_DATA_FOUND THEN
32         fnd_message.set_name('RG','RG_FORMS_REF_OBJECT');
33         fnd_message.set_token('OBJECT','RG_REPORT_DISPLAY_SET', TRUE);
34         app_exception.raise_exception;
35   END check_references;
36 
37   FUNCTION check_display_exists(X_report_display_set_id NUMBER)
38   RETURN BOOLEAN IS
39     dummy NUMBER;
40   BEGIN
41     select 1 into dummy from dual
42     where not exists
43       (select 1
44        from rg_report_displays
45        where report_display_set_id = X_report_display_set_id);
46     RETURN (FALSE);
47 
48     EXCEPTION
49       WHEN NO_DATA_FOUND THEN
50         RETURN (TRUE);
51   END check_display_exists;
52 
53   FUNCTION check_displays_row_set(X_rowid VARCHAR2,
54                                   X_report_display_set_id NUMBER,
55                                   X_row_set_id_saved NUMBER)
56   RETURN BOOLEAN IS
57     dummy NUMBER;
58   BEGIN
59 --  check whether at least one of the display options of this display
60 --  set uses a row group which references the same row set as this
61 --  display set does.
62     select 1 into dummy from dual
63     where not exists
64      (select 1
65       from rg_report_displays       dpo,
66            rg_report_display_groups dpg
67       where dpo.row_group_id = dpg.report_display_group_id
68         and dpo.report_display_set_id = X_report_display_set_id
69         and dpg.row_set_id = nvl(X_row_set_id_saved,-1)
70         and X_rowid IS NOT NULL);
71     RETURN (FALSE);
72 
73     EXCEPTION
74       WHEN NO_DATA_FOUND THEN
75         RETURN (TRUE);
76   END check_displays_row_set;
77 
78   FUNCTION check_reports_row_set(X_rowid VARCHAR2,
79                                   X_report_display_set_id NUMBER,
80                                   X_row_set_id NUMBER,
81                                   X_row_set_id_saved NUMBER)
82   RETURN BOOLEAN IS
83     dummy NUMBER;
84   BEGIN
85 --  check if there is any report that uses this display set uses
86 --  the old row set and if any report that references a row set
87 --  other than the new row set
88 --
89     select 1 into dummy from dual
90     where not exists
91      (select 1
92       from rg_reports
93       where report_display_set_id = X_report_display_set_id
94         and row_set_id = nvl(X_row_set_id_saved,row_set_id)
95         and row_set_id <> nvl(X_row_set_id,row_set_id)
96         and X_rowid IS NOT NULL);
97     RETURN (FALSE);
98 
99     EXCEPTION
100       WHEN NO_DATA_FOUND THEN
101           RETURN (TRUE);
102   END check_reports_row_set;
103 
104   FUNCTION check_displays_column_set(X_rowid VARCHAR2,
105                                     X_report_display_set_id NUMBER,
106                                     X_column_set_id_saved NUMBER)
107   RETURN BOOLEAN IS
108     dummy NUMBER;
109   BEGIN
110 --  check whether at least one of the display options of this display
111 --  set uses a column group which references the same column set as this
112 --  display set does.  If so, column set
113 --  update is not allowed
114 --
115     select 1 into dummy from dual
116     where not exists
117      (select 1
118       from rg_report_displays       dpo,
119            rg_report_display_groups dpg
120       where dpo.column_group_id = dpg.report_display_group_id
121         and dpo.report_display_set_id = X_report_display_set_id
122         and dpg.column_set_id = nvl(X_column_set_id_saved,-1)
123         and X_rowid IS NOT NULL);
124       RETURN (FALSE);
125 
126     EXCEPTION
127       WHEN NO_DATA_FOUND THEN
128         RETURN (TRUE);
129   END check_displays_column_set;
130 
131 
132   FUNCTION check_reports_column_set(X_rowid VARCHAR2,
133                                     X_report_display_set_id NUMBER,
134                                     X_column_set_id NUMBER,
135                                     X_column_set_id_saved NUMBER)
136   RETURN BOOLEAN IS
137     dummy NUMBER;
138   BEGIN
139 --  check if there is any report that uses this display set uses
140 --  the old column set and if any report that references a column set
141 --  other than the new column set.  If so,
142 --  column set update is not allowed
143 --
144     select 1 into dummy from dual
145     where not exists
146      (select 1
147       from rg_reports
148       where report_display_set_id = X_report_display_set_id
149         and column_set_id = nvl(X_column_set_id_saved,column_set_id)
150         and column_set_id <> nvl(X_column_set_id,column_set_id)
151         and X_rowid IS NOT NULL);
152     RETURN (FALSE);
153 
154     EXCEPTION
155       WHEN NO_DATA_FOUND THEN
156         RETURN (TRUE);
157   END check_reports_column_set;
158 
159   FUNCTION get_unique_id RETURN NUMBER IS
160     next_id NUMBER;
161   BEGIN
162     select rg_report_display_sets_s.nextval
163     into next_id
164     from dual;
165 
166     RETURN (next_id);
167   END get_unique_id;
168 
169 
170 PROCEDURE insert_row(X_rowid                         IN OUT NOCOPY VARCHAR2,
171                      X_report_display_set_id                NUMBER,
172                      X_name                                 VARCHAR2,
173                      X_description                          VARCHAR2,
174                      X_row_set_id                           NUMBER,
175                      X_column_set_id                        NUMBER,
176                      X_creation_date                        DATE,
177                      X_created_by                           NUMBER,
178                      X_last_update_date                     DATE,
179                      X_last_updated_by                      NUMBER,
180                      X_last_update_login                    NUMBER,
181                      X_context                              VARCHAR2,
182                      X_attribute1                           VARCHAR2,
183                      X_attribute2                           VARCHAR2,
184                      X_attribute3                           VARCHAR2,
185                      X_attribute4                           VARCHAR2,
186                      X_attribute5                           VARCHAR2,
187                      X_attribute6                           VARCHAR2,
188                      X_attribute7                           VARCHAR2,
189                      X_attribute8                           VARCHAR2,
190                      X_attribute9                           VARCHAR2,
191                      X_attribute10                          VARCHAR2,
192                      X_attribute11                          VARCHAR2,
193                      X_attribute12                          VARCHAR2,
194                      X_attribute13                          VARCHAR2,
195                      X_attribute14                          VARCHAR2,
196                      X_attribute15                          VARCHAR2) IS
197   CURSOR C IS SELECT rowid FROM rg_report_display_sets
198               WHERE report_display_set_id = X_report_display_set_id;
199   BEGIN
200     INSERT INTO rg_report_display_sets
201     (report_display_set_id         ,
202      name                          ,
203      description                   ,
204      row_set_id                    ,
205      column_set_id                 ,
206      creation_date                 ,
207      created_by                    ,
208      last_update_date              ,
209      last_updated_by               ,
210      last_update_login             ,
211      context                       ,
212      attribute1                    ,
213      attribute2                    ,
214      attribute3                    ,
215      attribute4                    ,
216      attribute5                    ,
217      attribute6                    ,
218      attribute7                    ,
219      attribute8                    ,
220      attribute9                    ,
221      attribute10                   ,
222      attribute11                   ,
223      attribute12                   ,
224      attribute13                   ,
225      attribute14                   ,
226      attribute15                   )
227      VALUES
228     (X_report_display_set_id         ,
229      X_name                          ,
230      X_description                   ,
231      X_row_set_id                    ,
232      X_column_set_id                 ,
233      X_creation_date                 ,
234      X_created_by                    ,
235      X_last_update_date              ,
236      X_last_updated_by               ,
237      X_last_update_login             ,
238      X_context                       ,
239      X_attribute1                    ,
240      X_attribute2                    ,
241      X_attribute3                    ,
242      X_attribute4                    ,
243      X_attribute5                    ,
244      X_attribute6                    ,
245      X_attribute7                    ,
246      X_attribute8                    ,
247      X_attribute9                    ,
248      X_attribute10                   ,
249      X_attribute11                   ,
250      X_attribute12                   ,
251      X_attribute13                   ,
252      X_attribute14                   ,
253      X_attribute15                   );
254 
255   OPEN C;
256   FETCH C INTO X_rowid;
257   IF (C%NOTFOUND) THEN
258     CLOSE C;
259     RAISE NO_DATA_FOUND;
260   END IF;
261   CLOSE C;
262 END insert_row;
263 
264 PROCEDURE lock_row(X_rowid                         IN OUT NOCOPY VARCHAR2,
265                    X_report_display_set_id                NUMBER,
266                    X_name                                 VARCHAR2,
267                    X_description                          VARCHAR2,
268                    X_row_set_id                           NUMBER,
269                    X_column_set_id                        NUMBER,
270                    X_context                              VARCHAR2,
271                    X_attribute1                           VARCHAR2,
272                    X_attribute2                           VARCHAR2,
273                    X_attribute3                           VARCHAR2,
274                    X_attribute4                           VARCHAR2,
275                    X_attribute5                           VARCHAR2,
276                    X_attribute6                           VARCHAR2,
277                    X_attribute7                           VARCHAR2,
278                    X_attribute8                           VARCHAR2,
279                    X_attribute9                           VARCHAR2,
280                    X_attribute10                          VARCHAR2,
281                    X_attribute11                          VARCHAR2,
282                    X_attribute12                          VARCHAR2,
283                    X_attribute13                          VARCHAR2,
284                    X_attribute14                          VARCHAR2,
285                    X_attribute15                          VARCHAR2) IS
286   CURSOR C IS
287       SELECT *
288       FROM   rg_report_display_sets
289       WHERE  rowid = X_rowid
290       FOR UPDATE OF name       NOWAIT;
291   Recinfo C%ROWTYPE;
292 BEGIN
293   OPEN C;
294   FETCH C INTO Recinfo;
295   IF (C%NOTFOUND) THEN
296     CLOSE C;
297     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
298     APP_EXCEPTION.RAISE_EXCEPTION;
299   END IF;
300   CLOSE C;
301 
302   IF (
303           (   (Recinfo.report_display_set_id = X_report_display_set_id)
304            OR (    (Recinfo.report_display_set_id IS NULL)
305                AND (X_report_display_set_id IS NULL)))
306       AND (   (Recinfo.name = X_name)
307            OR (    (Recinfo.name IS NULL)
308                AND (X_name IS NULL)))
309       AND (   (Recinfo.description = X_description)
310            OR (    (Recinfo.description IS NULL)
311                AND (X_description IS NULL)))
312       AND (   (Recinfo.row_set_id = X_row_set_id)
313            OR (    (Recinfo.row_set_id IS NULL)
314                AND (X_row_set_id IS NULL)))
315       AND (   (Recinfo.column_set_id = X_column_set_id)
316            OR (    (Recinfo.column_set_id IS NULL)
317                AND (X_column_set_id IS NULL)))
318       AND (   (Recinfo.context = X_context)
319            OR (    (Recinfo.context IS NULL)
320                AND (X_context IS NULL)))
321       AND (   (Recinfo.attribute1 = X_attribute1)
322            OR (    (Recinfo.attribute1 IS NULL)
323                AND (X_attribute1 IS NULL)))
324       AND (   (Recinfo.attribute2 = X_attribute2)
325            OR (    (Recinfo.attribute2 IS NULL)
326                AND (X_attribute2 IS NULL)))
327       AND (   (Recinfo.attribute3 = X_attribute3)
328            OR (    (Recinfo.attribute3 IS NULL)
329                AND (X_attribute3 IS NULL)))
330       AND (   (Recinfo.attribute4 = X_attribute4)
331            OR (    (Recinfo.attribute4 IS NULL)
332                AND (X_attribute4 IS NULL)))
333       AND (   (Recinfo.attribute5 = X_attribute5)
334            OR (    (Recinfo.attribute5 IS NULL)
335                AND (X_attribute5 IS NULL)))
336       AND (   (Recinfo.attribute6 = X_attribute6)
337            OR (    (Recinfo.attribute6 IS NULL)
338                AND (X_attribute6 IS NULL)))
339       AND (   (Recinfo.attribute7 = X_attribute7)
340            OR (    (Recinfo.attribute7 IS NULL)
341                AND (X_attribute7 IS NULL)))
342       AND (   (Recinfo.attribute8 = X_attribute8)
343            OR (    (Recinfo.attribute8 IS NULL)
344                AND (X_attribute8 IS NULL)))
345       AND (   (Recinfo.attribute9 = X_attribute9)
346            OR (    (Recinfo.attribute9 IS NULL)
347                AND (X_attribute9 IS NULL)))
348       AND (   (Recinfo.attribute10 = X_attribute10)
349            OR (    (Recinfo.attribute10 IS NULL)
350                AND (X_attribute10 IS NULL)))
351       AND (   (Recinfo.attribute11 = X_attribute11)
352            OR (    (Recinfo.attribute11 IS NULL)
353                AND (X_attribute11 IS NULL)))
354       AND (   (Recinfo.attribute12 = X_attribute12)
355            OR (    (Recinfo.attribute12 IS NULL)
356                AND (X_attribute12 IS NULL)))
357       AND (   (Recinfo.attribute13 = X_attribute13)
358            OR (    (Recinfo.attribute13 IS NULL)
359                AND (X_attribute13 IS NULL)))
360       AND (   (Recinfo.attribute14 = X_attribute14)
361            OR (    (Recinfo.attribute4 IS NULL)
362                AND (X_attribute14 IS NULL)))
363       AND (   (Recinfo.attribute15 = X_attribute15)
364            OR (    (Recinfo.attribute15 IS NULL)
365                AND (X_attribute15 IS NULL)))
366           ) THEN
370     APP_EXCEPTION.RAISE_EXCEPTION;
367     RETURN;
368   ELSE
369     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
371   END IF;
372 END lock_row;
373 
374 PROCEDURE update_row(X_rowid                         IN OUT NOCOPY VARCHAR2,
375                      X_report_display_set_id                NUMBER,
376                      X_name                                 VARCHAR2,
377                      X_description                          VARCHAR2,
378                      X_row_set_id                           NUMBER,
379                      X_column_set_id                        NUMBER,
380                      X_last_update_date                     DATE,
381                      X_last_updated_by                      NUMBER,
382                      X_last_update_login                    NUMBER,
383                      X_context                              VARCHAR2,
384                      X_attribute1                           VARCHAR2,
385                      X_attribute2                           VARCHAR2,
386                      X_attribute3                           VARCHAR2,
387                      X_attribute4                           VARCHAR2,
388                      X_attribute5                           VARCHAR2,
389                      X_attribute6                           VARCHAR2,
390                      X_attribute7                           VARCHAR2,
391                      X_attribute8                           VARCHAR2,
392                      X_attribute9                           VARCHAR2,
393                      X_attribute10                          VARCHAR2,
394                      X_attribute11                          VARCHAR2,
395                      X_attribute12                          VARCHAR2,
396                      X_attribute13                          VARCHAR2,
397                      X_attribute14                          VARCHAR2,
398                      X_attribute15                          VARCHAR2) IS
399 BEGIN
400   UPDATE rg_report_display_sets
401   SET report_display_set_id    =   X_report_display_set_id       ,
402       name                     =   X_name                        ,
403       description              =   X_description                 ,
404       row_set_id               =   X_row_set_id                  ,
405       column_set_id            =   X_column_set_id               ,
406       last_update_date         =   X_last_update_date            ,
407       last_updated_by          =   X_last_updated_by             ,
408       last_update_login        =   X_last_update_login           ,
409       context                  =   X_context                     ,
410       attribute1               =   X_attribute1                  ,
411       attribute2               =   X_attribute2                  ,
412       attribute3               =   X_attribute3                  ,
413       attribute4               =   X_attribute4                  ,
414       attribute5               =   X_attribute5                  ,
415       attribute6               =   X_attribute6                  ,
416       attribute7               =   X_attribute7                  ,
417       attribute8               =   X_attribute8                  ,
418       attribute9               =   X_attribute9                  ,
419       attribute10              =   X_attribute10                 ,
420       attribute11              =   X_attribute11                 ,
421       attribute12              =   X_attribute12                 ,
422       attribute13              =   X_attribute13                 ,
423       attribute14              =   X_attribute14                 ,
424       attribute15              =   X_attribute15
425   WHERE rowid = X_rowid;
426 
427   IF (SQL%NOTFOUND) THEN
428     RAISE NO_DATA_FOUND;
429   END IF;
430 END update_row;
431 
432 PROCEDURE delete_row(X_rowid VARCHAR2) IS
433 BEGIN
434   DELETE FROM rg_report_display_sets
435   WHERE  rowid = X_rowid;
436 
437   IF (SQL%NOTFOUND) THEN
438     RAISE NO_DATA_FOUND;
439   END IF;
440 END delete_row;
441 
442 END RG_REPORT_DISPLAY_SETS_PKG;