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
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
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
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
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:
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:
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:
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);
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;
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;
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,
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,
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,
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(
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,
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,
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),
657: END IF;
658:
659: END Translate_Row;
660:
661: END RG_DSS_DIMENSIONS_PKG;