[Home] [Help]
PACKAGE BODY: APPS.RG_DSS_DIMENSIONS_PKG
Source
1 PACKAGE BODY RG_DSS_DIMENSIONS_PKG AS
2 /* $Header: rgiddimb.pls 120.5 2004/09/20 06:34:53 adesu ship $ */
3 --
4 -- Name
5 -- RG_DSS_DIMENSIONS_PKG
6 -- Purpose
7 -- to include all server side procedures AND packages for table
8 -- rg_dss_dimensions
9 -- Notes
10 --
11 -- History
12 -- 06/16/95 A Chen Created
13 --
14
15 /* Variables */
16
17 G_Account_Column_Name VARCHAR2(30);
18
19
20 --
21 -- PRIVATE FUNCTIONS
22 -- None.
23 --
24 -- PUBLIC FUNCTIONS
25 --
26 PROCEDURE get_cache_data(COAId NUMBER,
27 AccountingSegmentColumn IN OUT NOCOPY VARCHAR2) IS
28 BEGIN
29 IF (NOT fnd_flex_apis.get_segment_column(101,
30 'GL#',
31 COAId,
32 'GL_ACCOUNT',
33 AccountingSegmentColumn)) THEN
34 FND_MESSAGE.set_name('SQLGL', 'GL_NO_ACCOUNT_SEG_DEFINED');
35 APP_EXCEPTION.raise_exception;
36 END IF;
37 G_Account_Column_Name := AccountingSegmentColumn;
38 END get_cache_data;
39
40
41 FUNCTION used_in_frozen_system(X_Dimension_Id NUMBER) RETURN NUMBER IS
42 dummy NUMBER;
43 BEGIN
44 SELECT 1
45 INTO dummy
46 FROM dual
47 WHERE NOT EXISTS
48 (SELECT 1
49 FROM rg_dss_systems sys,
50 rg_dss_system_variables svr,
51 rg_dss_var_dimensions vdm,
52 rg_dss_dimensions dim
53 WHERE dim.dimension_id = X_Dimension_Id
54 AND dim.dimension_id = vdm.dimension_id
55 AND vdm.variable_id = svr.variable_id
56 AND svr.system_id = sys.system_id
57 AND sys.freeze_flag = 'Y');
58 RETURN(0);
59 EXCEPTION
60 WHEN NO_DATA_FOUND THEN
61 RETURN(1);
62 END used_in_frozen_system;
63
64
65 PROCEDURE check_unique_name(X_rowid VARCHAR2,
66 X_name VARCHAR2) IS
67 dummy NUMBER;
68 BEGIN
69 SELECT 1
70 INTO dummy
71 FROM dual
72 WHERE NOT EXISTS
73 (SELECT 1
74 FROM rg_dss_dimensions
75 WHERE name = X_name
76 AND ((X_rowid IS NULL) OR (rowid <> X_rowid))
77 );
78
79 EXCEPTION
80 WHEN NO_DATA_FOUND THEN
81 FND_MESSAGE.set_name('RG','RG_FORMS_OBJECT_EXISTS');
82 FND_MESSAGE.set_token('OBJECT', 'RG_DSS_DIMENSION',TRUE);
83 APP_EXCEPTION.raise_exception;
84 END check_unique_name;
85
86
87 PROCEDURE check_unique_object_name(X_rowid VARCHAR2,
88 X_object_name VARCHAR2) IS
89 dummy NUMBER;
90 BEGIN
91 SELECT 1
92 INTO dummy
93 FROM dual
94 WHERE NOT EXISTS
95 (SELECT 1
96 FROM rg_dss_dimensions
97 WHERE object_name = X_object_name
98 AND ((X_rowid IS NULL) OR (rowid <> X_rowid))
99 );
100
101 EXCEPTION
102 WHEN NO_DATA_FOUND THEN
103 FND_MESSAGE.set_name('RG','RG_FORMS_OBJECT_EXISTS');
104 FND_MESSAGE.set_token('OBJECT','RG_DSS_OBJECT_NAME',TRUE);
105 APP_EXCEPTION.raise_exception;
106 END check_unique_object_name;
107
108
109 PROCEDURE check_unique_object_prefix(
110 X_rowid VARCHAR2,
111 X_object_prefix VARCHAR2) IS
112 dummy NUMBER;
113 BEGIN
114 SELECT 1
115 INTO dummy
116 FROM dual
117 WHERE NOT EXISTS
118 (SELECT 1
119 FROM rg_dss_dimensions
120 WHERE object_prefix = X_object_prefix
121 AND ((X_rowid IS NULL) OR (rowid <> X_rowid))
122 );
123
124 EXCEPTION
125 WHEN NO_DATA_FOUND THEN
126 FND_MESSAGE.set_name('RG','RG_FORMS_OBJECT_EXISTS');
127 FND_MESSAGE.set_token('OBJECT','RG_DSS_OBJECT_PREFIX',TRUE);
128 APP_EXCEPTION.raise_exception;
129 END check_unique_object_prefix;
130
131
132 PROCEDURE check_unique(X_Rowid VARCHAR2,
133 X_Name VARCHAR2,
134 X_Object_Name VARCHAR2,
135 X_Object_Prefix VARCHAR2) IS
136 BEGIN
137 check_unique_name(X_Rowid, X_Name);
138 check_unique_object_name(X_Rowid, X_Object_Name);
139 check_unique_object_prefix(X_Rowid, X_Object_Prefix);
140 END check_unique;
141
142
143 PROCEDURE check_references(X_dimension_id NUMBER) IS
144 dummy NUMBER;
145 BEGIN
146 SELECT 1
147 INTO dummy
148 FROM dual
149 WHERE NOT EXISTS
150 (SELECT 1
151 FROM rg_dss_var_dimensions
152 WHERE dimension_id = X_dimension_id
153 UNION ALL
154 SELECT 1
155 FROM rg_dss_hierarchies
156 WHERE dimension_id = X_dimension_id
157 );
158
159 EXCEPTION
160 WHEN NO_DATA_FOUND THEN
161 FND_MESSAGE.set_name('RG','RG_DSS_REF_DIMENSION');
162 APP_EXCEPTION.raise_exception;
163 END check_references;
164
165
166 FUNCTION get_new_id RETURN NUMBER IS
167 next_dimension_id NUMBER;
168 BEGIN
169 SELECT rg_dss_dimensions_s.nextval
170 INTO next_dimension_id
171 FROM dual;
172
173 RETURN (next_dimension_id);
174 END get_new_id;
175
176
177 FUNCTION num_details(X_Dimension_Id NUMBER) RETURN NUMBER IS
178 NumRecords NUMBER;
179 BEGIN
180 SELECT COUNT(dimension_id)
181 INTO NumRecords
182 FROM rg_dss_dim_segments
183 WHERE dimension_id = X_dimension_id;
184
185 RETURN(NumRecords);
186 END num_details;
187
188
189 PROCEDURE set_dimension_type(
190 X_Dimension_Id NUMBER,
191 X_Dimension_Type IN OUT NOCOPY VARCHAR2,
192 Num_Records NUMBER DEFAULT NULL) IS
193 NumRecords NUMBER;
194 RangeSetId NUMBER;
195 ApplicationColumnName VARCHAR2(30);
196 AccountType VARCHAR2(1);
197 BEGIN
198 NumRecords := NVL(Num_Records, num_details(X_Dimension_Id));
199
200 IF (NumRecords = 1) THEN
201 /* There is only one record; check its range_set_id */
202 SELECT range_set_id, application_column_name, account_type
203 INTO RangeSetId, ApplicationColumnName, AccountType
204 FROM rg_dss_dim_segments
205 WHERE dimension_id = X_dimension_id;
206
207 IF (RangeSetId IS NULL) THEN
208 /* If account segment, then account_type = All => type = 'P',
209 * account_type <> All => type = 'S'
210 */
211 IF ((ApplicationColumnName = G_Account_Column_Name) AND
212 (AccountType <> 'F')) THEN
213 X_Dimension_Type := 'S';
214 ELSE
215 X_Dimension_Type := 'P';
216 END IF;
217 ELSE
218 X_Dimension_Type := 'S';
219 END IF;
220 ELSIF (NumRecords > 1) THEN
221 X_Dimension_Type := 'M';
222 ELSE
223 NULL;
224 END IF;
225 END set_dimension_type;
226
227
228 PROCEDURE pre_insert(X_Rowid VARCHAR2,
229 X_Name VARCHAR2,
230 X_Object_Name VARCHAR2,
231 X_Object_Prefix VARCHAR2,
232 X_Level_Code VARCHAR2,
233 X_Dimension_Id IN OUT NOCOPY NUMBER,
234 X_Dimension_Type IN OUT NOCOPY VARCHAR2) IS
235 NumRecords NUMBER;
236 BEGIN
237 check_unique(X_Rowid, X_Name, X_Object_Name, X_Object_Prefix);
238
239 IF (X_dimension_id IS NULL) THEN
240 X_Dimension_Id := get_new_id;
241 END IF;
242
243 /* Ensure that there are detail records and set dimension_type */
244 NumRecords := num_details(X_Dimension_Id);
245 IF (NumRecords = 0) THEN
246 /* No rows returned - Error: at least one detail must exist */
247 FND_MESSAGE.set_name('RG','RG_DSS_DETAIL_REQUIRED');
248 APP_EXCEPTION.raise_exception;
249 ELSIF (NumRecords > 1 AND X_Level_Code = 'S') THEN
250 FND_MESSAGE.set_name('RG','RG_DSS_SUM_DIM_VIOL');
251 APP_EXCEPTION.raise_exception;
252 ELSE
253 set_dimension_type(X_Dimension_Id, X_Dimension_Type, NumRecords);
254 END IF;
255 END pre_insert;
256
257
258 PROCEDURE pre_update(X_Level_Code VARCHAR2,
259 X_Dimension_Id NUMBER) IS
260 NumRecords NUMBER;
261 BEGIN
262 IF (RG_DSS_DIMENSIONS_PKG.used_in_frozen_system(X_Dimension_Id) = 1) THEN
263 -- can't modify a dimension that is used in a frozen system
264 FND_MESSAGE.set_name('RG', 'RG_DSS_FROZEN_SYSTEM');
265 FND_MESSAGE.set_token('OBJECT', 'RG_DSS_DIMENSION', TRUE);
266 APP_EXCEPTION.raise_exception;
267 END IF;
268
269 IF (X_Level_Code = 'S') THEN
270 NumRecords := num_details(X_Dimension_Id);
271 IF (NumRecords > 1 ) THEN
272 FND_MESSAGE.set_name('RG','RG_DSS_SUM_DIM_VIOL');
273 APP_EXCEPTION.raise_exception;
274 END IF;
275 END IF;
276
277 END pre_update;
278
279
280 PROCEDURE pre_delete(X_Dimension_Id NUMBER) IS
281 BEGIN
282 IF (RG_DSS_DIMENSIONS_PKG.used_in_frozen_system(X_Dimension_Id) = 1) THEN
283 -- can't modify a dimension that is used in a frozen system
284 FND_MESSAGE.set_name('RG', 'RG_DSS_FROZEN_SYSTEM');
285 FND_MESSAGE.set_token('OBJECT', 'RG_DSS_DIMENSION', TRUE);
286 APP_EXCEPTION.raise_exception;
287 END IF;
288 END pre_delete;
289
290 PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
291 X_Dimension_Id NUMBER,
292 X_Name VARCHAR2,
293 X_Object_Name VARCHAR2,
294 X_Object_Prefix VARCHAR2,
295 X_Value_Prefix VARCHAR2,
296 X_Row_Label VARCHAR2,
297 X_Column_Label VARCHAR2,
298 X_Selector_Label VARCHAR2,
299 X_Level_Code VARCHAR2,
300 X_Dimension_Type VARCHAR2,
301 X_Dimension_By_Currency VARCHAR2,
302 X_Last_Update_Date DATE,
303 X_Last_Updated_By NUMBER,
304 X_Creation_Date DATE,
305 X_Created_By NUMBER,
306 X_Last_Update_Login NUMBER,
307 X_Id_Flex_Code VARCHAR2,
308 X_Id_Flex_Num NUMBER,
309 X_Description VARCHAR2,
310 X_Context VARCHAR2,
311 X_Attribute1 VARCHAR2,
312 X_Attribute2 VARCHAR2,
313 X_Attribute3 VARCHAR2,
314 X_Attribute4 VARCHAR2,
315 X_Attribute5 VARCHAR2,
316 X_Attribute6 VARCHAR2,
317 X_Attribute7 VARCHAR2,
318 X_Attribute8 VARCHAR2,
319 X_Attribute9 VARCHAR2,
320 X_Attribute10 VARCHAR2,
321 X_Attribute11 VARCHAR2,
322 X_Attribute12 VARCHAR2,
323 X_Attribute13 VARCHAR2,
324 X_Attribute14 VARCHAR2,
325 X_Attribute15 VARCHAR2
326 ) IS
327 CURSOR C IS SELECT rowid FROM rg_dss_dimensions
328 WHERE dimension_id = X_Dimension_Id;
329 BEGIN
330 INSERT INTO rg_dss_dimensions(
331 dimension_id,
332 name,
333 object_name,
334 object_prefix,
335 value_prefix,
336 row_label,
337 column_label,
338 selector_label,
339 level_code,
340 dimension_type,
341 dimension_by_currency,
342 last_update_date,
343 last_updated_by,
344 creation_date,
345 created_by,
346 last_update_login,
347 id_flex_code,
348 id_flex_num,
349 description,
350 context,
351 attribute1,
352 attribute2,
353 attribute3,
354 attribute4,
355 attribute5,
356 attribute6,
357 attribute7,
358 attribute8,
359 attribute9,
360 attribute10,
361 attribute11,
362 attribute12,
363 attribute13,
364 attribute14,
365 attribute15
366 ) VALUES (
367 X_Dimension_Id,
368 X_Name,
369 X_Object_Name,
370 X_Object_Prefix,
371 X_Value_Prefix,
372 X_Row_Label,
373 X_Column_Label,
374 X_Selector_Label,
375 X_Level_Code,
376 X_Dimension_Type,
377 X_Dimension_By_Currency,
378 X_Last_Update_Date,
379 X_Last_Updated_By,
380 X_Creation_Date,
381 X_Created_By,
382 X_Last_Update_Login,
383 X_Id_Flex_Code,
384 X_Id_Flex_Num,
385 X_Description,
386 X_Context,
387 X_Attribute1,
388 X_Attribute2,
389 X_Attribute3,
390 X_Attribute4,
391 X_Attribute5,
392 X_Attribute6,
393 X_Attribute7,
394 X_Attribute8,
395 X_Attribute9,
396 X_Attribute10,
397 X_Attribute11,
398 X_Attribute12,
399 X_Attribute13,
400 X_Attribute14,
401 X_Attribute15
402 );
403
404 OPEN C;
405 FETCH C INTO X_Rowid;
406 if (C%NOTFOUND) then
407 CLOSE C;
408 Raise NO_DATA_FOUND;
409 end if;
410 CLOSE C;
411 END Insert_Row;
412
413
414 PROCEDURE Update_Row(X_Rowid VARCHAR2,
415 X_Dimension_Id NUMBER,
416 X_Name VARCHAR2,
417 X_Object_Name VARCHAR2,
418 X_Object_Prefix VARCHAR2,
419 X_Value_Prefix VARCHAR2,
420 X_Row_Label VARCHAR2,
421 X_Column_Label VARCHAR2,
422 X_Selector_Label VARCHAR2,
423 X_Level_Code VARCHAR2,
424 X_Dimension_Type VARCHAR2,
425 X_Dimension_By_Currency VARCHAR2,
426 X_Last_Update_Date DATE,
427 X_Last_Updated_By NUMBER,
428 X_Last_Update_Login NUMBER,
429 X_Id_Flex_Code VARCHAR2,
433 X_Attribute1 VARCHAR2,
430 X_Id_Flex_Num NUMBER,
431 X_Description VARCHAR2,
432 X_Context VARCHAR2,
434 X_Attribute2 VARCHAR2,
435 X_Attribute3 VARCHAR2,
436 X_Attribute4 VARCHAR2,
437 X_Attribute5 VARCHAR2,
438 X_Attribute6 VARCHAR2,
439 X_Attribute7 VARCHAR2,
440 X_Attribute8 VARCHAR2,
441 X_Attribute9 VARCHAR2,
442 X_Attribute10 VARCHAR2,
443 X_Attribute11 VARCHAR2,
444 X_Attribute12 VARCHAR2,
445 X_Attribute13 VARCHAR2,
446 X_Attribute14 VARCHAR2,
447 X_Attribute15 VARCHAR2
448 ) IS
449 BEGIN
450 UPDATE rg_dss_dimensions
451 SET
452 dimension_id = X_Dimension_Id,
453 name = X_Name,
454 object_name = X_Object_Name,
455 object_prefix = X_Object_Prefix,
456 value_prefix = X_Value_Prefix,
457 row_label = X_Row_Label,
458 column_label = X_Column_Label,
459 selector_label = X_Selector_Label,
460 level_code = X_Level_Code,
461 dimension_type = X_Dimension_Type,
462 dimension_by_currency = X_Dimension_By_Currency,
463 last_update_date = X_Last_Update_Date,
464 last_updated_by = X_Last_Updated_By,
465 last_update_login = X_Last_Update_Login,
466 id_flex_code = X_Id_Flex_Code,
467 id_flex_num = X_Id_Flex_Num,
468 description = X_Description,
469 context = X_Context,
470 attribute1 = X_Attribute1,
471 attribute2 = X_Attribute2,
472 attribute3 = X_Attribute3,
473 attribute4 = X_Attribute4,
474 attribute5 = X_Attribute5,
475 attribute6 = X_Attribute6,
476 attribute7 = X_Attribute7,
477 attribute8 = X_Attribute8,
478 attribute9 = X_Attribute9,
479 attribute10 = X_Attribute10,
480 attribute11 = X_Attribute11,
481 attribute12 = X_Attribute12,
482 attribute13 = X_Attribute13,
483 attribute14 = X_Attribute14,
484 attribute15 = X_Attribute15
485 WHERE rowid = X_Rowid;
486
487 if (SQL%NOTFOUND) then
488 Raise NO_DATA_FOUND;
489 end if;
490 END Update_Row;
491
492 PROCEDURE Load_Row( X_Dimension_Id NUMBER,
493 X_Name VARCHAR2,
494 X_Object_Name VARCHAR2,
495 X_Object_Prefix VARCHAR2,
496 X_Value_Prefix VARCHAR2,
497 X_Row_Label VARCHAR2,
498 X_Column_Label VARCHAR2,
499 X_Selector_Label VARCHAR2,
500 X_Level_Code VARCHAR2,
501 X_Dimension_Type VARCHAR2,
502 X_Dimension_By_Currency VARCHAR2,
503 X_Id_Flex_Code VARCHAR2,
504 X_Id_Flex_Num NUMBER,
505 X_Description VARCHAR2,
506 X_Context VARCHAR2,
507 X_Attribute1 VARCHAR2,
508 X_Attribute2 VARCHAR2,
509 X_Attribute3 VARCHAR2,
510 X_Attribute4 VARCHAR2,
511 X_Attribute5 VARCHAR2,
512 X_Attribute6 VARCHAR2,
513 X_Attribute7 VARCHAR2,
514 X_Attribute8 VARCHAR2,
515 X_Attribute9 VARCHAR2,
516 X_Attribute10 VARCHAR2,
517 X_Attribute11 VARCHAR2,
518 X_Attribute12 VARCHAR2,
519 X_Attribute13 VARCHAR2,
520 X_Attribute14 VARCHAR2,
524 user_id number := 0;
521 X_Attribute15 VARCHAR2,
522 X_Owner VARCHAR2,
523 X_Force_Edits VARCHAR2) IS
525 v_rowid rowid := null;
526 BEGIN
527
528 -- validate input parameters
529 IF ( X_Dimension_Id IS NULL OR X_Name IS NULL ) THEN
530 fnd_message.set_name('SQLGL', 'GL_LOAD_ROW_NO_DATA');
531 app_exception.raise_exception;
532 END IF;
533
534 IF (X_Owner = 'SEED') THEN
535 user_id := 1;
536 END IF;
537
538 BEGIN
539
540 /* Check if the row exists in the database. If it does, retrieves
541 the creation date for update_row. */
542 SELECT rowid
543 into v_rowid
544 FROM rg_dss_dimensions
545 WHERE dimension_id = X_Dimension_Id;
546 EXCEPTION
547 WHEN NO_DATA_FOUND THEN
548 RG_DSS_DIMENSIONS_PKG.Insert_Row(
549 X_Rowid => v_rowid,
550 X_Dimension_Id => X_Dimension_Id,
551 X_Name => X_Name,
552 X_Object_Name => X_Object_Name,
553 X_Object_Prefix => X_Object_Prefix,
554 X_Value_Prefix => X_Value_Prefix,
555 X_Row_Label => X_Row_Label,
556 X_Column_Label => X_Column_Label,
557 X_Selector_Label => X_Selector_Label,
558 X_Level_Code => X_Level_Code,
559 X_Dimension_Type => X_Dimension_Type,
560 X_Dimension_By_Currency=> X_Dimension_By_Currency,
561 X_Last_Update_Date => sysdate,
562 X_Last_Updated_By => user_id,
563 X_Creation_Date => sysdate,
564 X_Created_By => user_id,
565 X_Last_Update_Login => 0,
566 X_Id_Flex_Code => X_Id_Flex_Code,
567 X_Id_Flex_Num => X_Id_Flex_Num,
568 X_Description => X_Description,
569 X_Context => X_Context,
570 X_Attribute1 => X_Attribute1,
571 X_Attribute2 => X_Attribute2,
572 X_Attribute3 => X_Attribute3,
573 X_Attribute4 => X_Attribute4,
574 X_Attribute5 => X_Attribute5,
575 X_Attribute6 => X_Attribute6,
576 X_Attribute7 => X_Attribute7,
577 X_Attribute8 => X_Attribute8,
578 X_Attribute9 => X_Attribute9,
579 X_Attribute10 => X_Attribute10,
580 X_Attribute11 => X_Attribute11,
581 X_Attribute12 => X_Attribute12,
582 X_Attribute13 => X_Attribute13,
583 X_Attribute14 => X_Attribute14,
584 X_Attribute15 => X_Attribute15);
585 return;
586 END;
587
588 IF ( user_id = 1 or X_Force_Edits = 'Y' ) THEN
589 RG_DSS_DIMENSIONS_PKG.Update_Row(
590 X_Rowid => v_rowid,
591 X_Dimension_Id => X_Dimension_Id,
592 X_Name => X_Name,
593 X_Object_Name => X_Object_Name,
594 X_Object_Prefix => X_Object_Prefix,
595 X_Value_Prefix => X_Value_Prefix,
596 X_Row_Label => X_Row_Label,
597 X_Column_Label => X_Column_Label,
598 X_Selector_Label => X_Selector_Label,
599 X_Level_Code => X_Level_Code,
600 X_Dimension_Type => X_Dimension_Type,
601 X_Dimension_By_Currency=> X_Dimension_By_Currency,
602 X_Last_Update_Date => sysdate,
603 X_Last_Updated_By => user_id,
604 X_Last_Update_Login => 0,
605 X_Id_Flex_Code => X_Id_Flex_Code,
606 X_Id_Flex_Num => X_Id_Flex_Num,
607 X_Description => X_Description,
608 X_Context => X_Context,
609 X_Attribute1 => X_Attribute1,
610 X_Attribute2 => X_Attribute2,
611 X_Attribute3 => X_Attribute3,
612 X_Attribute4 => X_Attribute4,
613 X_Attribute5 => X_Attribute5,
614 X_Attribute6 => X_Attribute6,
615 X_Attribute7 => X_Attribute7,
616 X_Attribute8 => X_Attribute8,
617 X_Attribute9 => X_Attribute9,
618 X_Attribute10 => X_Attribute10,
619 X_Attribute11 => X_Attribute11,
620 X_Attribute12 => X_Attribute12,
621 X_Attribute13 => X_Attribute13,
622 X_Attribute14 => X_Attribute14,
623 X_Attribute15 => X_Attribute15);
624 END IF;
625 END Load_Row;
626
627 PROCEDURE Translate_Row( X_Dimension_Id NUMBER,
628 X_Name VARCHAR2,
629 X_Description VARCHAR2,
630 X_Owner VARCHAR2,
631 X_Force_Edits VARCHAR2) IS
632 user_id number := 0;
633 BEGIN
634
635 IF (X_Owner = 'SEED') THEN
636 user_id := 1;
637 END IF;
638
639 IF ( user_id = 1 or X_Force_Edits = 'Y' ) THEN
640 UPDATE rg_dss_dimensions
641 SET
642 dimension_id = X_Dimension_Id,
643 name = nvl(X_Name, name),
644 description = nvl(X_Description, description),
645 last_update_date = sysdate,
646 last_updated_by = user_id,
647 last_Update_login = 0
648 WHERE dimension_id = X_Dimension_Id
649 AND userenv('LANG') =
650 ( SELECT language_code
651 FROM FND_LANGUAGES
652 WHERE installed_flag = 'B' );
653 /*If base language is not set to the language being uploaded, then do nothing*/
654 IF SQL%NOTFOUND THEN
655 NULL;
656 END IF;
657 END IF;
658
659 END Translate_Row;
660
661 END RG_DSS_DIMENSIONS_PKG;