DBA Data[Home] [Help]

PACKAGE BODY: APPS.RG_REPORT_AXIS_SETS_PKG

Source


1 PACKAGE BODY RG_REPORT_AXIS_SETS_PKG AS
2 /* $Header: rgiraxsb.pls 120.9 2006/11/09 20:28:29 ticheng ship $ */
3 -- Name
4 --   rg_report_axis_sets_pkg
5 -- Purpose
6 --   to include all server side procedures and packages for table
7 --   rg_report_axis_sets
8 -- Notes
9 --
10 -- History
11 --   11/01/93	A Chen	Created
12 --
13 -- PRIVATE VARIABLES
14 --   None.
15 --
16 -- PRIVATE FUNCTIONS
17 --   None.
18 --
19 -- PUBLIC FUNCTIONS
20 --
21   PROCEDURE select_row(recinfo IN OUT NOCOPY rg_report_axis_sets%ROWTYPE) IS
22   BEGIN
23     select * INTO recinfo
24     from rg_report_axis_sets
25     where axis_set_id = recinfo.axis_set_id;
26   END select_row;
27 
28   PROCEDURE select_columns(X_axis_set_id NUMBER,
29                            X_name IN OUT NOCOPY VARCHAR2) IS
30     recinfo rg_report_axis_sets%ROWTYPE;
31   BEGIN
32     recinfo.axis_set_id := X_axis_set_id;
33     select_row(recinfo);
34     X_name := recinfo.name;
35   END select_columns;
36 
37   PROCEDURE update_structure_info(X_axis_set_id NUMBER,
38                        X_id_flex_code VARCHAR2,
39                        X_structure_id NUMBER) IS
40   BEGIN
41     UPDATE rg_report_axis_sets
42     SET    id_flex_code = X_id_flex_code,
43            structure_id = X_structure_id
44     WHERE  axis_set_id = NVL( X_axis_set_id, -1);
45   END update_structure_info;
46 
47   FUNCTION check_unique(X_rowid VARCHAR2,
48                          X_name VARCHAR2,
49                          X_axis_set_type VARCHAR2,
50                          X_application_id NUMBER) RETURN BOOLEAN IS
51      dummy   NUMBER;
52   BEGIN
53     select 1 into dummy from dual
54     where not exists
55       (select 1 from rg_report_axis_sets
56        where name = X_name
57          and axis_set_type = X_axis_set_type
58          and application_id = X_application_id
59          and ((X_rowid IS NULL) OR (rowid <> X_rowid)));
60 
61     RETURN (TRUE);
62 
63     EXCEPTION
64       WHEN NO_DATA_FOUND THEN
65         RETURN (FALSE);
66   END check_unique;
67 
68   PROCEDURE check_references(X_axis_set_id NUMBER, X_axis_set_type VARCHAR2) IS
69     object_name  VARCHAR2(80);
70     dummy        NUMBER;
71   BEGIN
72     IF (X_axis_set_type = 'R') THEN
73 
74       SELECT 1 INTO dummy FROM sys.dual
75       WHERE NOT EXISTS
76         (  SELECT 1
77            FROM   rg_reports
78            WHERE  row_set_id = X_axis_set_id
79          UNION
80            SELECT 1
81            FROM   rg_report_display_sets
82            WHERE  row_set_id = X_axis_set_id
83          UNION
84            SELECT 1
85            FROM   rg_report_display_groups
86            WHERE  row_set_id = X_axis_set_id
87         );
88 
89     ELSE
90 
91       SELECT 1 INTO dummy FROM sys.dual
92       WHERE NOT EXISTS
93         (  SELECT 1
94            FROM   rg_reports
95            WHERE  column_set_id = X_axis_set_id
96          UNION
97            SELECT 1
98            FROM   rg_report_display_sets
99            WHERE  column_set_id = X_axis_set_id
100          UNION
101            SELECT 1
102            FROM   rg_report_display_groups
103            WHERE  column_set_id = X_axis_set_id
104         );
105 
106     END IF;
107 
108     EXCEPTION
109       WHEN NO_DATA_FOUND THEN
110         fnd_message.set_name('RG','RG_FORMS_REF_OBJECT_AXS');
111         IF (X_axis_set_type = 'R') THEN
112           fnd_message.set_token('OBJECT', 'RG_ROW_SET',TRUE);
113         ELSE
114           fnd_message.set_token('OBJECT', 'RG_COLUMN_SET',TRUE);
115         END IF;
116         app_exception.raise_exception;
117   END check_references;
118 
119   FUNCTION get_nextval return number IS
120     next_group_id  NUMBER;
121   BEGIN
122     select rg_report_axis_sets_s.nextval
123     into   next_group_id
124     from   dual;
125 
126     RETURN (next_group_id);
127   END get_nextval;
128 
129 -- *********************************************************************
130 
131 -- The following procedures are necessary to handle the base view form.
132 
133 PROCEDURE insert_row(X_rowid                  IN OUT NOCOPY VARCHAR2,
134 		     X_application_id    		    NUMBER,
135  		     X_axis_set_id	      IN OUT NOCOPY NUMBER,
136       		     X_name				    VARCHAR2,
137  		     X_axis_set_type			    VARCHAR2,
138 		     X_security_flag                        VARCHAR2,
139 		     X_display_in_list_flag	            VARCHAR2,
140  		     X_period_set_name			    VARCHAR2,
141 		     X_description		            VARCHAR2,
142                      X_column_set_header                    VARCHAR2,
143 		     X_segment_name		            VARCHAR2,
144 		     X_id_flex_code		            VARCHAR2,
145 		     X_structure_id			    NUMBER,
146                      X_creation_date                        DATE,
147                      X_created_by                           NUMBER,
148                      X_last_update_date                     DATE,
149                      X_last_updated_by                      NUMBER,
150                      X_last_update_login                    NUMBER,
151                      X_context                              VARCHAR2,
152                      X_attribute1                           VARCHAR2,
153                      X_attribute2                           VARCHAR2,
154                      X_attribute3                           VARCHAR2,
155                      X_attribute4                           VARCHAR2,
156                      X_attribute5                           VARCHAR2,
157                      X_attribute6                           VARCHAR2,
158                      X_attribute7                           VARCHAR2,
159                      X_attribute8                           VARCHAR2,
160                      X_attribute9                           VARCHAR2,
161                      X_attribute10                          VARCHAR2,
162                      X_attribute11                          VARCHAR2,
163                      X_attribute12                          VARCHAR2,
164                      X_attribute13                          VARCHAR2,
165                      X_attribute14                          VARCHAR2,
166                      X_attribute15                          VARCHAR2,
167                      X_taxonomy_id                          NUMBER) IS
168   CURSOR C IS SELECT rowid FROM rg_report_axis_sets
169               WHERE axis_set_id = X_axis_set_id;
170   BEGIN
171     IF (NOT check_unique(X_rowid,
172                          X_name,
173                          X_axis_set_type,
174                          X_application_id)) THEN
175       FND_MESSAGE.set_name('RG','RG_FORMS_OBJECT_EXISTS');
176       IF (X_axis_set_type = 'R') THEN
177         FND_MESSAGE.set_token('OBJECT','RG_ROW_SET',TRUE);
178       ELSE
179         FND_MESSAGE.set_token('OBJECT','RG_COLUMN_SET',TRUE);
180       END IF;
181       APP_EXCEPTION.raise_exception;
182     END IF;
183 
184     IF (X_axis_set_id IS NULL) THEN
185       X_axis_set_id := get_nextval;
186     END IF;
187 
188     INSERT INTO rg_report_axis_sets
189     (application_id                ,
190      axis_set_id                   ,
191      name                          ,
192      axis_set_type                 ,
193      security_flag                 ,
194      display_in_list_flag          ,
195      period_set_name               ,
196      description                   ,
197      column_set_header             ,
198      segment_name                  ,
199      id_flex_code                  ,
200      structure_id                  ,
201      creation_date                 ,
202      created_by                    ,
203      last_update_date              ,
204      last_updated_by               ,
205      last_update_login             ,
206      context                       ,
207      attribute1                    ,
208      attribute2                    ,
209      attribute3                    ,
210      attribute4                    ,
211      attribute5                    ,
212      attribute6                    ,
213      attribute7                    ,
214      attribute8                    ,
215      attribute9                    ,
216      attribute10                   ,
217      attribute11                   ,
218      attribute12                   ,
219      attribute13                   ,
220      attribute14                   ,
221      attribute15                   ,
222      taxonomy_id)
223      VALUES
224     (X_application_id                ,
225      X_axis_set_id                   ,
226      X_name                          ,
227      X_axis_set_type                 ,
228      X_security_flag                 ,
229      X_display_in_list_flag          ,
230      X_period_set_name               ,
231      X_description                   ,
232      X_column_set_header             ,
233      X_segment_name                  ,
234      X_id_flex_code                  ,
235      X_structure_id                  ,
236      X_creation_date                 ,
237      X_created_by                    ,
238      X_last_update_date              ,
239      X_last_updated_by               ,
240      X_last_update_login             ,
241      X_context                       ,
242      X_attribute1                    ,
243      X_attribute2                    ,
244      X_attribute3                    ,
245      X_attribute4                    ,
246      X_attribute5                    ,
247      X_attribute6                    ,
248      X_attribute7                    ,
249      X_attribute8                    ,
250      X_attribute9                    ,
251      X_attribute10                   ,
252      X_attribute11                   ,
253      X_attribute12                   ,
254      X_attribute13                   ,
255      X_attribute14                   ,
256      X_attribute15                   ,
257      X_taxonomy_id);
258 
259   OPEN C;
260   FETCH C INTO X_rowid;
261   IF (C%NOTFOUND) THEN
262     CLOSE C;
263     RAISE NO_DATA_FOUND;
264   END IF;
265   CLOSE C;
266 END insert_row;
267 
268 PROCEDURE lock_row(X_rowid                                VARCHAR2,
269 		   X_application_id    		          NUMBER,
270  		   X_axis_set_id			  NUMBER,
271       		   X_name			          VARCHAR2,
272  	           X_axis_set_type			  VARCHAR2,
273 		   X_security_flag                        VARCHAR2,
274 		   X_display_in_list_flag	          VARCHAR2,
275  		   X_period_set_name			  VARCHAR2,
276 		   X_description		          VARCHAR2,
277                    X_column_set_header                    VARCHAR2,
278 		   X_segment_name		          VARCHAR2,
279 		   X_id_flex_code		          VARCHAR2,
280 		   X_structure_id			  NUMBER,
281                    X_context                              VARCHAR2,
282                    X_attribute1                           VARCHAR2,
283                    X_attribute2                           VARCHAR2,
284                    X_attribute3                           VARCHAR2,
285                    X_attribute4                           VARCHAR2,
286                    X_attribute5                           VARCHAR2,
287                    X_attribute6                           VARCHAR2,
288                    X_attribute7                           VARCHAR2,
289                    X_attribute8                           VARCHAR2,
290                    X_attribute9                           VARCHAR2,
291                    X_attribute10                          VARCHAR2,
292                    X_attribute11                          VARCHAR2,
293                    X_attribute12                          VARCHAR2,
294                    X_attribute13                          VARCHAR2,
295                    X_attribute14                          VARCHAR2,
296                    X_attribute15                          VARCHAR2,
297                    X_taxonomy_id                          NUMBER) IS
298   CURSOR C IS
299       SELECT *
300       FROM   rg_report_axis_sets
301       WHERE  rowid = X_rowid
302       FOR UPDATE OF name       NOWAIT;
303   Recinfo C%ROWTYPE;
304 BEGIN
305   OPEN C;
306   FETCH C INTO Recinfo;
307   IF (C%NOTFOUND) THEN
308     CLOSE C;
309     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
310     APP_EXCEPTION.RAISE_EXCEPTION;
311   END IF;
312   CLOSE C;
313 
314   IF (
315           (   (Recinfo.application_id = X_application_id)
316            OR (    (Recinfo.application_id IS NULL)
317                AND (X_application_id IS NULL)))
318       AND (   (Recinfo.axis_set_id = X_axis_set_id)
319            OR (    (Recinfo.axis_set_id IS NULL)
320                AND (X_axis_set_id IS NULL)))
321       AND (   (Recinfo.name = X_name)
322            OR (    (Recinfo.name IS NULL)
323                AND (X_name IS NULL)))
324       AND (   (Recinfo.axis_set_type = X_axis_set_type)
325            OR (    (Recinfo.axis_set_type IS NULL)
326                AND (X_axis_set_type IS NULL)))
327       AND (   (Recinfo.security_flag = X_security_flag)
328            OR (    (Recinfo.security_flag IS NULL)
329                AND (X_security_flag IS NULL)))
330       AND (   (Recinfo.display_in_list_flag = X_display_in_list_flag)
331            OR (    (Recinfo.display_in_list_flag IS NULL)
332                AND (X_display_in_list_flag IS NULL)))
333       AND (   (Recinfo.period_set_name = X_period_set_name)
334            OR (    (Recinfo.period_set_name IS NULL)
335                AND (X_period_set_name IS NULL)))
336       AND (   (Recinfo.description = X_description)
337            OR (    (Recinfo.description IS NULL)
338                AND (X_description IS NULL)))
339       AND (   (rtrim(Recinfo.column_set_header) = X_column_set_header)
340            OR (    (rtrim(Recinfo.column_set_header) IS NULL)
341                AND (X_column_set_header IS NULL)))
342       AND (   (Recinfo.segment_name = X_segment_name)
343            OR (    (Recinfo.segment_name IS NULL)
344                AND (X_segment_name IS NULL)))
345       AND (   (Recinfo.id_flex_code = X_id_flex_code)
346            OR (    (Recinfo.id_flex_code IS NULL)
347                AND (X_id_flex_code IS NULL)))
348       AND (   (Recinfo.structure_id = X_structure_id)
349            OR (    (Recinfo.structure_id IS NULL)
350                AND (X_structure_id IS NULL)))
351       AND (   (Recinfo.context = X_context)
352            OR (    (Recinfo.context IS NULL)
353                AND (X_context IS NULL)))
354       AND (   (Recinfo.attribute1 = X_attribute1)
355            OR (    (Recinfo.attribute1 IS NULL)
356                AND (X_attribute1 IS NULL)))
357       AND (   (Recinfo.attribute2 = X_attribute2)
358            OR (    (Recinfo.attribute2 IS NULL)
359                AND (X_attribute2 IS NULL)))
360       AND (   (Recinfo.attribute3 = X_attribute3)
361            OR (    (Recinfo.attribute3 IS NULL)
362                AND (X_attribute3 IS NULL)))
363       AND (   (Recinfo.attribute4 = X_attribute4)
364            OR (    (Recinfo.attribute4 IS NULL)
365                AND (X_attribute4 IS NULL)))
366       AND (   (Recinfo.attribute5 = X_attribute5)
367            OR (    (Recinfo.attribute5 IS NULL)
368                AND (X_attribute5 IS NULL)))
369       AND (   (Recinfo.attribute6 = X_attribute6)
370            OR (    (Recinfo.attribute6 IS NULL)
371                AND (X_attribute6 IS NULL)))
372       AND (   (Recinfo.attribute7 = X_attribute7)
373            OR (    (Recinfo.attribute7 IS NULL)
374                AND (X_attribute7 IS NULL)))
375       AND (   (Recinfo.attribute8 = X_attribute8)
376            OR (    (Recinfo.attribute8 IS NULL)
377                AND (X_attribute8 IS NULL)))
378       AND (   (Recinfo.attribute9 = X_attribute9)
379            OR (    (Recinfo.attribute9 IS NULL)
380                AND (X_attribute9 IS NULL)))
381       AND (   (Recinfo.attribute10 = X_attribute10)
382            OR (    (Recinfo.attribute10 IS NULL)
383                AND (X_attribute10 IS NULL)))
384       AND (   (Recinfo.attribute11 = X_attribute11)
385            OR (    (Recinfo.attribute11 IS NULL)
386                AND (X_attribute11 IS NULL)))
387       AND (   (Recinfo.attribute12 = X_attribute12)
388            OR (    (Recinfo.attribute12 IS NULL)
389                AND (X_attribute12 IS NULL)))
390       AND (   (Recinfo.attribute13 = X_attribute13)
391            OR (    (Recinfo.attribute13 IS NULL)
392                AND (X_attribute13 IS NULL)))
393       AND (   (Recinfo.attribute14 = X_attribute14)
394            OR (    (Recinfo.attribute14 IS NULL)
395                AND (X_attribute14 IS NULL)))
396       AND (   (Recinfo.attribute15 = X_attribute15)
397            OR (    (Recinfo.attribute15 IS NULL)
398                AND (X_attribute15 IS NULL)))
399       AND (   (Recinfo.taxonomy_id = X_taxonomy_id)
400            OR (    (Recinfo.taxonomy_id IS NULL)
401                AND (X_taxonomy_id IS NULL)))
402           ) THEN
403     RETURN;
404   ELSE
405     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
406     APP_EXCEPTION.RAISE_EXCEPTION;
407   END IF;
408 END lock_row;
409 
410 PROCEDURE update_row(X_rowid                  IN OUT NOCOPY VARCHAR2,
411 		     X_application_id    		    NUMBER,
412  		     X_axis_set_id			    NUMBER,
413       		     X_name				    VARCHAR2,
414  		     X_axis_set_type			    VARCHAR2,
415 		     X_security_flag                        VARCHAR2,
416 		     X_display_in_list_flag	            VARCHAR2,
417  		     X_period_set_name			    VARCHAR2,
418 		     X_description		            VARCHAR2,
419                      X_column_set_header                    VARCHAR2,
420 		     X_segment_name		            VARCHAR2,
421 		     X_id_flex_code		            VARCHAR2,
422 		     X_structure_id			    NUMBER,
423                      X_last_update_date                     DATE,
424                      X_last_updated_by                      NUMBER,
425                      X_last_update_login                    NUMBER,
426                      X_context                              VARCHAR2,
427                      X_attribute1                           VARCHAR2,
428                      X_attribute2                           VARCHAR2,
429                      X_attribute3                           VARCHAR2,
430                      X_attribute4                           VARCHAR2,
431                      X_attribute5                           VARCHAR2,
432                      X_attribute6                           VARCHAR2,
433                      X_attribute7                           VARCHAR2,
434                      X_attribute8                           VARCHAR2,
435                      X_attribute9                           VARCHAR2,
436                      X_attribute10                          VARCHAR2,
437                      X_attribute11                          VARCHAR2,
438                      X_attribute12                          VARCHAR2,
439                      X_attribute13                          VARCHAR2,
440                      X_attribute14                          VARCHAR2,
441                      X_attribute15                          VARCHAR2,
442                      X_taxonomy_id                          NUMBER) IS
443 BEGIN
444   UPDATE rg_report_axis_sets
445   SET application_id           =   X_application_id              ,
446       axis_set_id              =   X_axis_set_id                 ,
447       name                     =   X_name                        ,
448       axis_set_type            =   X_axis_set_type               ,
449       security_flag            =   X_security_flag               ,
450       display_in_list_flag     =   X_display_in_list_flag        ,
451       period_set_name          =   X_period_set_name             ,
452       description              =   X_description                 ,
453       column_set_header        =   X_column_set_header           ,
454       segment_name             =   X_segment_name                ,
455       id_flex_code             =   X_id_flex_code                ,
456       structure_id             =   X_structure_id                ,
457       last_update_date         =   X_last_update_date            ,
458       last_updated_by          =   X_last_updated_by             ,
459       last_update_login        =   X_last_update_login           ,
460       context                  =   X_context                     ,
461       attribute1               =   X_attribute1                  ,
462       attribute2               =   X_attribute2                  ,
463       attribute3               =   X_attribute3                  ,
464       attribute4               =   X_attribute4                  ,
465       attribute5               =   X_attribute5                  ,
466       attribute6               =   X_attribute6                  ,
467       attribute7               =   X_attribute7                  ,
468       attribute8               =   X_attribute8                  ,
469       attribute9               =   X_attribute9                  ,
470       attribute10              =   X_attribute10                 ,
471       attribute11              =   X_attribute11                 ,
472       attribute12              =   X_attribute12                 ,
473       attribute13              =   X_attribute13                 ,
474       attribute14              =   X_attribute14                 ,
475       attribute15              =   X_attribute15                 ,
476       taxonomy_id              =   X_taxonomy_id
477   WHERE rowid = X_rowid;
478 
479   IF (SQL%NOTFOUND) THEN
480     RAISE NO_DATA_FOUND;
481   END IF;
482 END update_row;
483 
484 PROCEDURE delete_row(X_rowid VARCHAR2,
485                       X_axis_set_id NUMBER) IS
486 BEGIN
487   rg_report_axes_pkg.delete_rows(X_axis_set_id);
488 
489   DELETE FROM rg_report_axis_sets
490   WHERE  rowid = X_rowid;
491 
492   IF (SQL%NOTFOUND) THEN
493     RAISE NO_DATA_FOUND;
494   END IF;
495 END delete_row;
496 
497 PROCEDURE Load_Row(
498 	   X_Application_Id  		        NUMBER,
499            X_Seeded_Name                        VARCHAR2,
500       	   X_Name		                VARCHAR2,
501  	   X_Axis_Set_Type                      VARCHAR2,
502 	   X_Display_In_List_Flag               VARCHAR2,
503 	   X_Description                        VARCHAR2,
504            X_Column_Set_Header                  VARCHAR2,
505 	   X_Segment_Name                       VARCHAR2,
506 	   X_Id_Flex_Code                       VARCHAR2,
507            X_Structure_Id                       NUMBER,
508 	   X_Context                            VARCHAR2,
509            X_Attribute1                         VARCHAR2,
510            X_Attribute2                         VARCHAR2,
511            X_Attribute3                         VARCHAR2,
512            X_Attribute4                         VARCHAR2,
513            X_Attribute5                         VARCHAR2,
514            X_Attribute6                         VARCHAR2,
515            X_Attribute7                         VARCHAR2,
516            X_Attribute8                         VARCHAR2,
517            X_Attribute9                         VARCHAR2,
518            X_Attribute10                        VARCHAR2,
519            X_Attribute11                        VARCHAR2,
520            X_Attribute12                        VARCHAR2,
521            X_Attribute13                        VARCHAR2,
522            X_Attribute14                        VARCHAR2,
523            X_Attribute15                        VARCHAR2,
524 	   X_Owner                              VARCHAR2,
525            X_Force_Edits                        VARCHAR2 ) IS
526 
527   user_id           NUMBER := 0;
528   v_axis_set_id     NUMBER(15);
529   v_creation_date   DATE;
530   v_last_updated_by NUMBER;
531   v_rowid           ROWID := null;
532   v_security_flag   VARCHAR2(1);
533 BEGIN
534     /* Make sure primary key is not null */
535 --    IF ( X_Axis_Set_Id is null ) THEN
536 --      fnd_message.set_name('SQLGL', 'GL_LOAD_ROW_NO_DATA');
537 --      app_exception.raise_exception;
538 --    END IF;
539 
540     /* Make sure to only load Seeded data */
541     IF (X_Seeded_Name IS NULL) THEN
542       fnd_message.set_name ('SQLGL','GL_LOAD_ROW_NO_DATA');
543       app_exception.raise_exception;
544     END IF;
545 
546     /* Set user id for seeded data */
547     IF (X_OWNER = 'SEED') THEN
548       user_id := 1;
549     END IF;
550 
551     BEGIN
552 
553       /* Retrieve creation date from existing rows */
554       SELECT axis_set_id, creation_date, last_updated_by,
555              rowid, security_flag
556       INTO   v_axis_set_id, v_creation_date, v_last_updated_by,
557              v_rowid, v_security_flag
558       FROM   RG_REPORT_AXIS_SETS
559       WHERE  SEEDED_NAME = X_Seeded_Name;
560 
561       /* Do not overwrite if it has been customized */
562       IF (v_last_updated_by <> 1) THEN
563         RETURN;
564       END IF;
565 
566       /*
567        * Update only if force_edits is 'Y' or owner = 'SEED'
568        */
569       IF ( user_id = 1 OR X_Force_Edits = 'Y' )  THEN
570         RG_REPORT_AXIS_SETS_PKG.update_row(
571 	    X_rowid	                  => v_rowid,
572    	    X_application_id              => X_Application_Id,
573 	    X_axis_set_id                 => v_axis_set_id,
574 	    X_security_flag               => v_security_flag,
575 	    X_name			  => X_Name,
576             X_axis_set_type               => X_Axis_Set_Type,
577             X_display_in_list_flag	  => X_Display_In_List_Flag,
578             X_period_set_name		  => null,
579             X_description		  => X_Description,
580             X_column_set_header           => X_Column_Set_Header,
581             X_segment_name		  => X_Segment_Name,
582             X_id_flex_code		  => X_Id_Flex_Code,
583 	    X_structure_id		  => X_Structure_Id,
584             X_last_update_date            => sysdate,
585             X_last_updated_by             => user_id,
586             X_last_update_login           => 0,
587             X_context                     => X_Context,
588             X_attribute1                  => X_Attribute1,
589             X_attribute2                  => X_Attribute2,
590             X_attribute3                  => X_Attribute3,
591             X_attribute4                  => X_Attribute4,
592             X_attribute5                  => X_Attribute5,
593             X_attribute6                  => X_Attribute6,
594             X_attribute7                  => X_Attribute7,
595             X_attribute8                  => X_Attribute8,
596             X_attribute9                  => X_Attribute9,
597             X_attribute10                 => X_Attribute10,
598             X_attribute11                 => X_Attribute11,
599             X_attribute12                 => X_Attribute12,
600             X_attribute13                 => X_Attribute13,
601             X_attribute14                 => X_Attribute14,
602             X_attribute15                 => X_Attribute15,
603             X_taxonomy_id                 => null
604           );
605       END IF;
606 
607     EXCEPTION
608       WHEN NO_DATA_FOUND THEN
609         /*
610 	 * If the row doesn't exist yet, call Insert_Row().
611          */
612         RG_REPORT_AXIS_SETS_PKG.insert_row(
613            X_rowid                => v_rowid,
614 	   X_application_id       => X_Application_Id,
615 	   X_axis_set_id	  => v_axis_set_id,
616 	   X_security_flag        => 'N',
617       	   X_name		  => X_Name,
618  	   X_axis_set_type        => X_Axis_Set_Type,
619 	   X_display_in_list_flag => X_Display_In_List_Flag,
620  	   X_period_set_name      => null,
621 	   X_description          => X_Description,
622            X_column_set_header    => X_Column_Set_Header,
623 	   X_segment_name         => X_Segment_Name,
624 	   X_id_flex_code         => X_Id_Flex_Code,
625            X_structure_id         => X_Structure_Id,
626            X_creation_date        => sysdate,
627            X_created_by           => user_id,
628            X_last_update_date     => sysdate,
629            X_last_updated_by      => user_id,
630            X_last_update_login    => 0,
631            X_context              => X_Context,
632            X_attribute1           => X_Attribute1,
633            X_attribute2           => X_Attribute2,
634            X_attribute3           => X_Attribute3,
635            X_attribute4           => X_Attribute4,
636            X_attribute5           => X_Attribute5,
637            X_attribute6           => X_Attribute6,
638            X_attribute7           => X_Attribute7,
639            X_attribute8           => X_Attribute8,
640            X_attribute9           => X_Attribute9,
641            X_attribute10          => X_Attribute10,
642            X_attribute11          => X_Attribute11,
643            X_attribute12          => X_Attribute12,
644            X_attribute13          => X_Attribute13,
645            X_attribute14          => X_Attribute14,
646            X_attribute15          => X_Attribute15,
647            X_taxonomy_id          => null);
648 
649       /* Bug 5648378: Make sure to also populate the seeded_name column
650        * for seeded data. */
651       UPDATE RG_REPORT_AXIS_SETS
652       SET SEEDED_NAME = X_Seeded_Name
653       WHERE rowid = v_rowid;
654     END;
655 END Load_Row;
656 
657 
658 PROCEDURE Translate_Row (
659     X_Name           VARCHAR2,
660     X_Description    VARCHAR2,
661     X_Seeded_Name    VARCHAR2,
662     X_Owner          VARCHAR2,
663     X_Force_Edits    VARCHAR2 ) IS
664   user_id number := 0;
665 BEGIN
666 
667     IF (X_OWNER = 'SEED') THEN
668       user_id := 1;
669     END IF;
670 
671     /*
672      * Update only if force_edits is 'Y' or owner = 'SEED'
673      */
674     IF ( user_id = 1 or X_Force_Edits = 'Y' ) THEN
675       UPDATE RG_REPORT_AXIS_SETS
676       SET
677           name              = X_Name,
678 	  description       = X_Description,
679           last_update_date  = sysdate,
680 	  last_updated_by   = user_id,
681 	  last_Update_login = 0
682       WHERE
683           seeded_name = X_Seeded_Name
684       AND
685           userenv('LANG') =
686           ( SELECT language_code
687             FROM  FND_LANGUAGES
688             WHERE  installed_flag = 'B' );
689 
690     END IF;
691 
692 END Translate_Row;
693 
694 END RG_REPORT_AXIS_SETS_PKG;