5:
6: -- Create a new hierarchy type
7: PROCEDURE Create_Hierarchy_Type
8: (p_api_version IN NUMBER, -- required
9: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
10: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12: p_name IN CN_DIMENSIONS.NAME%TYPE,
13: p_base_table_id IN CN_OBJ_TABLES_V.TABLE_ID%TYPE,
6: -- Create a new hierarchy type
7: PROCEDURE Create_Hierarchy_Type
8: (p_api_version IN NUMBER, -- required
9: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
10: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12: p_name IN CN_DIMENSIONS.NAME%TYPE,
13: p_base_table_id IN CN_OBJ_TABLES_V.TABLE_ID%TYPE,
14: p_primary_key_id IN CN_OBJ_COLUMNS_V.COLUMN_ID%TYPE,
7: PROCEDURE Create_Hierarchy_Type
8: (p_api_version IN NUMBER, -- required
9: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
10: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12: p_name IN CN_DIMENSIONS.NAME%TYPE,
13: p_base_table_id IN CN_OBJ_TABLES_V.TABLE_ID%TYPE,
14: p_primary_key_id IN CN_OBJ_COLUMNS_V.COLUMN_ID%TYPE,
15: p_user_column_id IN CN_OBJ_COLUMNS_V.COLUMN_ID%TYPE,
31: BEGIN
32: -- Standard Start of API savepoint
33: SAVEPOINT Create_Hierarchy_Type;
34: -- Standard call to check for call compatibility.
35: IF NOT FND_API.Compatible_API_Call
36: (l_api_version ,
37: p_api_version ,
38: l_api_name ,
39: G_PKG_NAME )
37: p_api_version ,
38: l_api_name ,
39: G_PKG_NAME )
40: THEN
41: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
42: END IF;
43: -- Initialize message list if p_init_msg_list is set to TRUE.
44: IF FND_API.to_Boolean( p_init_msg_list ) THEN
45: FND_MSG_PUB.initialize;
40: THEN
41: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
42: END IF;
43: -- Initialize message list if p_init_msg_list is set to TRUE.
44: IF FND_API.to_Boolean( p_init_msg_list ) THEN
45: FND_MSG_PUB.initialize;
46: END IF;
47: -- Initialize API return status to success
48: x_return_status := FND_API.G_RET_STS_SUCCESS;
44: IF FND_API.to_Boolean( p_init_msg_list ) THEN
45: FND_MSG_PUB.initialize;
46: END IF;
47: -- Initialize API return status to success
48: x_return_status := FND_API.G_RET_STS_SUCCESS;
49:
50: -- API body
51: -- call the original forms API (CNDIHY.fmb -> CNDIHY2s/b.pls)
52:
54: select count(1) into l_count from cn_dimensions where name = p_name and org_id = p_org_id; --R12 MOAC change
55: if l_count > 0 then
56: FND_MESSAGE.SET_NAME('CN', 'CN_NAME_NOT_UNIQUE');
57: FND_MSG_PUB.ADD;
58: RAISE FND_API.G_EXC_ERROR;
59: end if;
60:
61: select count(1) into l_count_tl
62: from cn_dimensions_all_tl T, fnd_languages L
67:
68: if l_count_tl > 0 then
69: FND_MESSAGE.SET_NAME('CN', 'CN_NAME_NOT_UNIQUE');
70: FND_MSG_PUB.ADD;
71: RAISE FND_API.G_EXC_ERROR;
72: end if;
73:
74: -- get dimension ID
75: x_dimension_id := CN_DIMENSIONS_PKG.New_Dimension;
100:
101: -- End of API body.
102:
103: -- Standard check of p_commit.
104: IF FND_API.To_Boolean( p_commit ) THEN
105: COMMIT WORK;
106: END IF;
107: -- Standard call to get message count and if count is 1, get message info.
108: FND_MSG_PUB.Count_And_Get
107: -- Standard call to get message count and if count is 1, get message info.
108: FND_MSG_PUB.Count_And_Get
109: (p_count => x_msg_count ,
110: p_data => x_msg_data ,
111: p_encoded => FND_API.G_FALSE );
112: EXCEPTION
113: WHEN FND_API.G_EXC_ERROR THEN
114: ROLLBACK TO Create_Hierarchy_Type;
115: x_return_status := FND_API.G_RET_STS_ERROR ;
109: (p_count => x_msg_count ,
110: p_data => x_msg_data ,
111: p_encoded => FND_API.G_FALSE );
112: EXCEPTION
113: WHEN FND_API.G_EXC_ERROR THEN
114: ROLLBACK TO Create_Hierarchy_Type;
115: x_return_status := FND_API.G_RET_STS_ERROR ;
116: FND_MSG_PUB.count_and_get
117: (p_count => x_msg_count ,
111: p_encoded => FND_API.G_FALSE );
112: EXCEPTION
113: WHEN FND_API.G_EXC_ERROR THEN
114: ROLLBACK TO Create_Hierarchy_Type;
115: x_return_status := FND_API.G_RET_STS_ERROR ;
116: FND_MSG_PUB.count_and_get
117: (p_count => x_msg_count ,
118: p_data => x_msg_data ,
119: p_encoded => FND_API.G_FALSE );
115: x_return_status := FND_API.G_RET_STS_ERROR ;
116: FND_MSG_PUB.count_and_get
117: (p_count => x_msg_count ,
118: p_data => x_msg_data ,
119: p_encoded => FND_API.G_FALSE );
120: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
121: ROLLBACK TO Create_Hierarchy_Type;
122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
123: FND_MSG_PUB.count_and_get
116: FND_MSG_PUB.count_and_get
117: (p_count => x_msg_count ,
118: p_data => x_msg_data ,
119: p_encoded => FND_API.G_FALSE );
120: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
121: ROLLBACK TO Create_Hierarchy_Type;
122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
123: FND_MSG_PUB.count_and_get
124: (p_count => x_msg_count ,
118: p_data => x_msg_data ,
119: p_encoded => FND_API.G_FALSE );
120: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
121: ROLLBACK TO Create_Hierarchy_Type;
122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
123: FND_MSG_PUB.count_and_get
124: (p_count => x_msg_count ,
125: p_data => x_msg_data ,
126: p_encoded => FND_API.G_FALSE );
122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
123: FND_MSG_PUB.count_and_get
124: (p_count => x_msg_count ,
125: p_data => x_msg_data ,
126: p_encoded => FND_API.G_FALSE );
127: WHEN OTHERS THEN
128: ROLLBACK TO Create_Hierarchy_Type;
129: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
130: IF FND_MSG_PUB.check_msg_level
125: p_data => x_msg_data ,
126: p_encoded => FND_API.G_FALSE );
127: WHEN OTHERS THEN
128: ROLLBACK TO Create_Hierarchy_Type;
129: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
130: IF FND_MSG_PUB.check_msg_level
131: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
132: THEN
133: FND_MSG_PUB.add_exc_msg
136: END IF;
137: FND_MSG_PUB.count_and_get
138: (p_count => x_msg_count ,
139: p_data => x_msg_data ,
140: p_encoded => FND_API.G_FALSE );
141: END Create_Hierarchy_Type;
142:
143: -- Update hierarchy type (only name is updateable)
144: PROCEDURE Update_Hierarchy_Type
142:
143: -- Update hierarchy type (only name is updateable)
144: PROCEDURE Update_Hierarchy_Type
145: (p_api_version IN NUMBER, -- required
146: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
147: p_commit IN VARCHAR2 := FND_API.G_FALSE,
148: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
149: p_dimension_id IN CN_DIMENSIONS.DIMENSION_ID%TYPE,
150: p_name IN CN_DIMENSIONS.NAME%TYPE,
143: -- Update hierarchy type (only name is updateable)
144: PROCEDURE Update_Hierarchy_Type
145: (p_api_version IN NUMBER, -- required
146: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
147: p_commit IN VARCHAR2 := FND_API.G_FALSE,
148: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
149: p_dimension_id IN CN_DIMENSIONS.DIMENSION_ID%TYPE,
150: p_name IN CN_DIMENSIONS.NAME%TYPE,
151: p_object_version_number IN OUT NOCOPY CN_DIMENSIONS.OBJECT_VERSION_NUMBER%TYPE,
144: PROCEDURE Update_Hierarchy_Type
145: (p_api_version IN NUMBER, -- required
146: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
147: p_commit IN VARCHAR2 := FND_API.G_FALSE,
148: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
149: p_dimension_id IN CN_DIMENSIONS.DIMENSION_ID%TYPE,
150: p_name IN CN_DIMENSIONS.NAME%TYPE,
151: p_object_version_number IN OUT NOCOPY CN_DIMENSIONS.OBJECT_VERSION_NUMBER%TYPE,
152: --R12 MOAC Changes--Start
170: BEGIN
171: -- Standard Start of API savepoint
172: SAVEPOINT Update_Hierarchy_Type;
173: -- Standard call to check for call compatibility.
174: IF NOT FND_API.Compatible_API_Call
175: (l_api_version ,
176: p_api_version ,
177: l_api_name ,
178: G_PKG_NAME )
176: p_api_version ,
177: l_api_name ,
178: G_PKG_NAME )
179: THEN
180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
181: END IF;
182: -- Initialize message list if p_init_msg_list is set to TRUE.
183: IF FND_API.to_Boolean( p_init_msg_list ) THEN
184: FND_MSG_PUB.initialize;
179: THEN
180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
181: END IF;
182: -- Initialize message list if p_init_msg_list is set to TRUE.
183: IF FND_API.to_Boolean( p_init_msg_list ) THEN
184: FND_MSG_PUB.initialize;
185: END IF;
186: -- Initialize API return status to success
187: x_return_status := FND_API.G_RET_STS_SUCCESS;
183: IF FND_API.to_Boolean( p_init_msg_list ) THEN
184: FND_MSG_PUB.initialize;
185: END IF;
186: -- Initialize API return status to success
187: x_return_status := FND_API.G_RET_STS_SUCCESS;
188:
189: -- API body
190: -- call the original forms API (CNDIHY.fmb -> CNDIHY2s/b.pls)
191: -- START LOCK ROW --
194: if (c%notfound) then
195: close c;
196: fnd_message.set_name('CN', 'CN_RECORD_DELETED');
197: fnd_msg_pub.add;
198: raise fnd_api.g_exc_error;
199: end if;
200: close c;
201:
202: -- validate name is unique
204: where name = p_name and dimension_id <> p_dimension_id and org_id = p_org_id; --R12 MOAC changes
205: if l_count > 0 then
206: FND_MESSAGE.SET_NAME('CN', 'CN_NAME_NOT_UNIQUE');
207: FND_MSG_PUB.ADD;
208: RAISE FND_API.G_EXC_ERROR;
209: end if;
210:
211: -- we cannot update the base table... fetch existing source_table_id
212: -- also do OBJECT_VERSION_NUMBER checking
215:
216: if (tlinfo.object_version_number <> p_object_version_number) then
217: fnd_message.set_name('CN', 'CN_RECORD_CHANGED');
218: fnd_msg_pub.add;
219: raise fnd_api.g_exc_error;
220: end if;
221: -- END LOCK ROW --
222:
223: cn_dimensions_pkg.update_row
237:
238: -- End of API body.
239:
240: -- Standard check of p_commit.
241: IF FND_API.To_Boolean( p_commit ) THEN
242: COMMIT WORK;
243: END IF;
244: -- Standard call to get message count and if count is 1, get message info.
245: FND_MSG_PUB.Count_And_Get
244: -- Standard call to get message count and if count is 1, get message info.
245: FND_MSG_PUB.Count_And_Get
246: (p_count => x_msg_count ,
247: p_data => x_msg_data ,
248: p_encoded => FND_API.G_FALSE );
249: EXCEPTION
250: WHEN FND_API.G_EXC_ERROR THEN
251: ROLLBACK TO Update_Hierarchy_Type;
252: x_return_status := FND_API.G_RET_STS_ERROR ;
246: (p_count => x_msg_count ,
247: p_data => x_msg_data ,
248: p_encoded => FND_API.G_FALSE );
249: EXCEPTION
250: WHEN FND_API.G_EXC_ERROR THEN
251: ROLLBACK TO Update_Hierarchy_Type;
252: x_return_status := FND_API.G_RET_STS_ERROR ;
253: FND_MSG_PUB.count_and_get
254: (p_count => x_msg_count ,
248: p_encoded => FND_API.G_FALSE );
249: EXCEPTION
250: WHEN FND_API.G_EXC_ERROR THEN
251: ROLLBACK TO Update_Hierarchy_Type;
252: x_return_status := FND_API.G_RET_STS_ERROR ;
253: FND_MSG_PUB.count_and_get
254: (p_count => x_msg_count ,
255: p_data => x_msg_data ,
256: p_encoded => FND_API.G_FALSE );
252: x_return_status := FND_API.G_RET_STS_ERROR ;
253: FND_MSG_PUB.count_and_get
254: (p_count => x_msg_count ,
255: p_data => x_msg_data ,
256: p_encoded => FND_API.G_FALSE );
257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
258: ROLLBACK TO Update_Hierarchy_Type;
259: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
260: FND_MSG_PUB.count_and_get
253: FND_MSG_PUB.count_and_get
254: (p_count => x_msg_count ,
255: p_data => x_msg_data ,
256: p_encoded => FND_API.G_FALSE );
257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
258: ROLLBACK TO Update_Hierarchy_Type;
259: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
260: FND_MSG_PUB.count_and_get
261: (p_count => x_msg_count ,
255: p_data => x_msg_data ,
256: p_encoded => FND_API.G_FALSE );
257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
258: ROLLBACK TO Update_Hierarchy_Type;
259: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
260: FND_MSG_PUB.count_and_get
261: (p_count => x_msg_count ,
262: p_data => x_msg_data ,
263: p_encoded => FND_API.G_FALSE );
259: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
260: FND_MSG_PUB.count_and_get
261: (p_count => x_msg_count ,
262: p_data => x_msg_data ,
263: p_encoded => FND_API.G_FALSE );
264: WHEN OTHERS THEN
265: ROLLBACK TO Update_Hierarchy_Type;
266: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
267: IF FND_MSG_PUB.check_msg_level
262: p_data => x_msg_data ,
263: p_encoded => FND_API.G_FALSE );
264: WHEN OTHERS THEN
265: ROLLBACK TO Update_Hierarchy_Type;
266: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
267: IF FND_MSG_PUB.check_msg_level
268: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
269: THEN
270: FND_MSG_PUB.add_exc_msg
273: END IF;
274: FND_MSG_PUB.count_and_get
275: (p_count => x_msg_count ,
276: p_data => x_msg_data ,
277: p_encoded => FND_API.G_FALSE );
278: END Update_Hierarchy_Type;
279:
280: -- Delete hierarchy type
281: PROCEDURE Delete_Hierarchy_Type
279:
280: -- Delete hierarchy type
281: PROCEDURE Delete_Hierarchy_Type
282: (p_api_version IN NUMBER, -- required
283: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
284: p_commit IN VARCHAR2 := FND_API.G_FALSE,
285: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
286: p_dimension_id IN CN_DIMENSIONS.DIMENSION_ID%TYPE,
287: --R12 MOAC Changes--Start
280: -- Delete hierarchy type
281: PROCEDURE Delete_Hierarchy_Type
282: (p_api_version IN NUMBER, -- required
283: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
284: p_commit IN VARCHAR2 := FND_API.G_FALSE,
285: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
286: p_dimension_id IN CN_DIMENSIONS.DIMENSION_ID%TYPE,
287: --R12 MOAC Changes--Start
288: p_org_id IN CN_DIMENSIONS.ORG_ID%TYPE,
281: PROCEDURE Delete_Hierarchy_Type
282: (p_api_version IN NUMBER, -- required
283: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
284: p_commit IN VARCHAR2 := FND_API.G_FALSE,
285: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
286: p_dimension_id IN CN_DIMENSIONS.DIMENSION_ID%TYPE,
287: --R12 MOAC Changes--Start
288: p_org_id IN CN_DIMENSIONS.ORG_ID%TYPE,
289: --R12 MOAC Changes--End
297: BEGIN
298: -- Standard Start of API savepoint
299: SAVEPOINT Delete_Hierarchy_Type;
300: -- Standard call to check for call compatibility.
301: IF NOT FND_API.Compatible_API_Call
302: (l_api_version ,
303: p_api_version ,
304: l_api_name ,
305: G_PKG_NAME )
303: p_api_version ,
304: l_api_name ,
305: G_PKG_NAME )
306: THEN
307: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
308: END IF;
309: -- Initialize message list if p_init_msg_list is set to TRUE.
310: IF FND_API.to_Boolean( p_init_msg_list ) THEN
311: FND_MSG_PUB.initialize;
306: THEN
307: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
308: END IF;
309: -- Initialize message list if p_init_msg_list is set to TRUE.
310: IF FND_API.to_Boolean( p_init_msg_list ) THEN
311: FND_MSG_PUB.initialize;
312: END IF;
313: -- Initialize API return status to success
314: x_return_status := FND_API.G_RET_STS_SUCCESS;
310: IF FND_API.to_Boolean( p_init_msg_list ) THEN
311: FND_MSG_PUB.initialize;
312: END IF;
313: -- Initialize API return status to success
314: x_return_status := FND_API.G_RET_STS_SUCCESS;
315:
316: -- API body
317: -- call the original forms API (CNDIHY.fmb -> CNDIHY2s/b.pls)
318: cn_dimensions_pkg.delete_row
323:
324: -- End of API body.
325:
326: -- Standard check of p_commit.
327: IF FND_API.To_Boolean( p_commit ) THEN
328: COMMIT WORK;
329: END IF;
330: -- Standard call to get message count and if count is 1, get message info.
331: FND_MSG_PUB.Count_And_Get
330: -- Standard call to get message count and if count is 1, get message info.
331: FND_MSG_PUB.Count_And_Get
332: (p_count => x_msg_count ,
333: p_data => x_msg_data ,
334: p_encoded => FND_API.G_FALSE );
335: EXCEPTION
336: WHEN FND_API.G_EXC_ERROR THEN
337: ROLLBACK TO Delete_Hierarchy_Type;
338: x_return_status := FND_API.G_RET_STS_ERROR ;
332: (p_count => x_msg_count ,
333: p_data => x_msg_data ,
334: p_encoded => FND_API.G_FALSE );
335: EXCEPTION
336: WHEN FND_API.G_EXC_ERROR THEN
337: ROLLBACK TO Delete_Hierarchy_Type;
338: x_return_status := FND_API.G_RET_STS_ERROR ;
339: FND_MSG_PUB.count_and_get
340: (p_count => x_msg_count ,
334: p_encoded => FND_API.G_FALSE );
335: EXCEPTION
336: WHEN FND_API.G_EXC_ERROR THEN
337: ROLLBACK TO Delete_Hierarchy_Type;
338: x_return_status := FND_API.G_RET_STS_ERROR ;
339: FND_MSG_PUB.count_and_get
340: (p_count => x_msg_count ,
341: p_data => x_msg_data ,
342: p_encoded => FND_API.G_FALSE );
338: x_return_status := FND_API.G_RET_STS_ERROR ;
339: FND_MSG_PUB.count_and_get
340: (p_count => x_msg_count ,
341: p_data => x_msg_data ,
342: p_encoded => FND_API.G_FALSE );
343: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
344: ROLLBACK TO Delete_Hierarchy_Type;
345: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
346: FND_MSG_PUB.count_and_get
339: FND_MSG_PUB.count_and_get
340: (p_count => x_msg_count ,
341: p_data => x_msg_data ,
342: p_encoded => FND_API.G_FALSE );
343: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
344: ROLLBACK TO Delete_Hierarchy_Type;
345: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
346: FND_MSG_PUB.count_and_get
347: (p_count => x_msg_count ,
341: p_data => x_msg_data ,
342: p_encoded => FND_API.G_FALSE );
343: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
344: ROLLBACK TO Delete_Hierarchy_Type;
345: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
346: FND_MSG_PUB.count_and_get
347: (p_count => x_msg_count ,
348: p_data => x_msg_data ,
349: p_encoded => FND_API.G_FALSE );
345: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
346: FND_MSG_PUB.count_and_get
347: (p_count => x_msg_count ,
348: p_data => x_msg_data ,
349: p_encoded => FND_API.G_FALSE );
350: WHEN OTHERS THEN
351: ROLLBACK TO Delete_Hierarchy_Type;
352: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
353: IF FND_MSG_PUB.check_msg_level
348: p_data => x_msg_data ,
349: p_encoded => FND_API.G_FALSE );
350: WHEN OTHERS THEN
351: ROLLBACK TO Delete_Hierarchy_Type;
352: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
353: IF FND_MSG_PUB.check_msg_level
354: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
355: THEN
356: FND_MSG_PUB.add_exc_msg
359: END IF;
360: FND_MSG_PUB.count_and_get
361: (p_count => x_msg_count ,
362: p_data => x_msg_data ,
363: p_encoded => FND_API.G_FALSE );
364: END Delete_Hierarchy_Type;
365:
366: -- Create head hierarchy
367: PROCEDURE Create_Head_Hierarchy
365:
366: -- Create head hierarchy
367: PROCEDURE Create_Head_Hierarchy
368: (p_api_version IN NUMBER, -- required
369: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
370: p_commit IN VARCHAR2 := FND_API.G_FALSE,
371: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
372: p_dimension_id IN CN_HEAD_HIERARCHIES.DIMENSION_ID%TYPE,
373: p_name IN CN_HEAD_HIERARCHIES.NAME%TYPE,
366: -- Create head hierarchy
367: PROCEDURE Create_Head_Hierarchy
368: (p_api_version IN NUMBER, -- required
369: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
370: p_commit IN VARCHAR2 := FND_API.G_FALSE,
371: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
372: p_dimension_id IN CN_HEAD_HIERARCHIES.DIMENSION_ID%TYPE,
373: p_name IN CN_HEAD_HIERARCHIES.NAME%TYPE,
374: --R12 MOAC Changes--Start
367: PROCEDURE Create_Head_Hierarchy
368: (p_api_version IN NUMBER, -- required
369: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
370: p_commit IN VARCHAR2 := FND_API.G_FALSE,
371: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
372: p_dimension_id IN CN_HEAD_HIERARCHIES.DIMENSION_ID%TYPE,
373: p_name IN CN_HEAD_HIERARCHIES.NAME%TYPE,
374: --R12 MOAC Changes--Start
375: p_org_id IN CN_HEAD_HIERARCHIES.ORG_ID%TYPE,
387: BEGIN
388: -- Standard Start of API savepoint
389: SAVEPOINT Create_Head_Hierarchy;
390: -- Standard call to check for call compatibility.
391: IF NOT FND_API.Compatible_API_Call
392: (l_api_version ,
393: p_api_version ,
394: l_api_name ,
395: G_PKG_NAME )
393: p_api_version ,
394: l_api_name ,
395: G_PKG_NAME )
396: THEN
397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
398: END IF;
399: -- Initialize message list if p_init_msg_list is set to TRUE.
400: IF FND_API.to_Boolean( p_init_msg_list ) THEN
401: FND_MSG_PUB.initialize;
396: THEN
397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
398: END IF;
399: -- Initialize message list if p_init_msg_list is set to TRUE.
400: IF FND_API.to_Boolean( p_init_msg_list ) THEN
401: FND_MSG_PUB.initialize;
402: END IF;
403: -- Initialize API return status to success
404: x_return_status := FND_API.G_RET_STS_SUCCESS;
400: IF FND_API.to_Boolean( p_init_msg_list ) THEN
401: FND_MSG_PUB.initialize;
402: END IF;
403: -- Initialize API return status to success
404: x_return_status := FND_API.G_RET_STS_SUCCESS;
405:
406: -- API body
407:
408: -- validate name is unique
414:
415: if l_count > 0 then
416: FND_MESSAGE.SET_NAME('CN', 'CN_NAME_NOT_UNIQUE');
417: FND_MSG_PUB.ADD;
418: RAISE FND_API.G_EXC_ERROR;
419: end if;
420:
421: -- call the original forms API (CNDIHY.fmb -> CNDIHY2s/b.pls)
422: x_head_hierarchy_id := CN_HEAD_HIERARCHIES_ALL_PKG.Default_Header;
437:
438: -- End of API body.
439:
440: -- Standard check of p_commit.
441: IF FND_API.To_Boolean( p_commit ) THEN
442: COMMIT WORK;
443: END IF;
444: -- Standard call to get message count and if count is 1, get message info.
445: FND_MSG_PUB.Count_And_Get
444: -- Standard call to get message count and if count is 1, get message info.
445: FND_MSG_PUB.Count_And_Get
446: (p_count => x_msg_count ,
447: p_data => x_msg_data ,
448: p_encoded => FND_API.G_FALSE );
449: EXCEPTION
450: WHEN FND_API.G_EXC_ERROR THEN
451: ROLLBACK TO Create_Head_Hierarchy;
452: x_return_status := FND_API.G_RET_STS_ERROR ;
446: (p_count => x_msg_count ,
447: p_data => x_msg_data ,
448: p_encoded => FND_API.G_FALSE );
449: EXCEPTION
450: WHEN FND_API.G_EXC_ERROR THEN
451: ROLLBACK TO Create_Head_Hierarchy;
452: x_return_status := FND_API.G_RET_STS_ERROR ;
453: FND_MSG_PUB.count_and_get
454: (p_count => x_msg_count ,
448: p_encoded => FND_API.G_FALSE );
449: EXCEPTION
450: WHEN FND_API.G_EXC_ERROR THEN
451: ROLLBACK TO Create_Head_Hierarchy;
452: x_return_status := FND_API.G_RET_STS_ERROR ;
453: FND_MSG_PUB.count_and_get
454: (p_count => x_msg_count ,
455: p_data => x_msg_data ,
456: p_encoded => FND_API.G_FALSE );
452: x_return_status := FND_API.G_RET_STS_ERROR ;
453: FND_MSG_PUB.count_and_get
454: (p_count => x_msg_count ,
455: p_data => x_msg_data ,
456: p_encoded => FND_API.G_FALSE );
457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
458: ROLLBACK TO Create_Head_Hierarchy;
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
460: FND_MSG_PUB.count_and_get
453: FND_MSG_PUB.count_and_get
454: (p_count => x_msg_count ,
455: p_data => x_msg_data ,
456: p_encoded => FND_API.G_FALSE );
457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
458: ROLLBACK TO Create_Head_Hierarchy;
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
460: FND_MSG_PUB.count_and_get
461: (p_count => x_msg_count ,
455: p_data => x_msg_data ,
456: p_encoded => FND_API.G_FALSE );
457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
458: ROLLBACK TO Create_Head_Hierarchy;
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
460: FND_MSG_PUB.count_and_get
461: (p_count => x_msg_count ,
462: p_data => x_msg_data ,
463: p_encoded => FND_API.G_FALSE );
459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
460: FND_MSG_PUB.count_and_get
461: (p_count => x_msg_count ,
462: p_data => x_msg_data ,
463: p_encoded => FND_API.G_FALSE );
464: WHEN OTHERS THEN
465: ROLLBACK TO Create_Head_Hierarchy;
466: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
467: IF FND_MSG_PUB.check_msg_level
462: p_data => x_msg_data ,
463: p_encoded => FND_API.G_FALSE );
464: WHEN OTHERS THEN
465: ROLLBACK TO Create_Head_Hierarchy;
466: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
467: IF FND_MSG_PUB.check_msg_level
468: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
469: THEN
470: FND_MSG_PUB.add_exc_msg
473: END IF;
474: FND_MSG_PUB.count_and_get
475: (p_count => x_msg_count ,
476: p_data => x_msg_data ,
477: p_encoded => FND_API.G_FALSE );
478: END Create_Head_Hierarchy;
479:
480: -- Update head hierarchy (only name is updateable)
481: PROCEDURE Update_Head_Hierarchy
479:
480: -- Update head hierarchy (only name is updateable)
481: PROCEDURE Update_Head_Hierarchy
482: (p_api_version IN NUMBER, -- required
483: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
484: p_commit IN VARCHAR2 := FND_API.G_FALSE,
485: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
486: p_head_hierarchy_id IN CN_HEAD_HIERARCHIES.HEAD_HIERARCHY_ID%TYPE,
487: p_name IN CN_HEAD_HIERARCHIES.NAME%TYPE,
480: -- Update head hierarchy (only name is updateable)
481: PROCEDURE Update_Head_Hierarchy
482: (p_api_version IN NUMBER, -- required
483: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
484: p_commit IN VARCHAR2 := FND_API.G_FALSE,
485: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
486: p_head_hierarchy_id IN CN_HEAD_HIERARCHIES.HEAD_HIERARCHY_ID%TYPE,
487: p_name IN CN_HEAD_HIERARCHIES.NAME%TYPE,
488: p_object_version_number IN OUT NOCOPY CN_HEAD_HIERARCHIES.OBJECT_VERSION_NUMBER%TYPE,
481: PROCEDURE Update_Head_Hierarchy
482: (p_api_version IN NUMBER, -- required
483: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
484: p_commit IN VARCHAR2 := FND_API.G_FALSE,
485: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
486: p_head_hierarchy_id IN CN_HEAD_HIERARCHIES.HEAD_HIERARCHY_ID%TYPE,
487: p_name IN CN_HEAD_HIERARCHIES.NAME%TYPE,
488: p_object_version_number IN OUT NOCOPY CN_HEAD_HIERARCHIES.OBJECT_VERSION_NUMBER%TYPE,
489: --R12 MOAC Changes--Start
509: BEGIN
510: -- Standard Start of API savepoint
511: SAVEPOINT Update_Head_Hierarchy;
512: -- Standard call to check for call compatibility.
513: IF NOT FND_API.Compatible_API_Call
514: (l_api_version ,
515: p_api_version ,
516: l_api_name ,
517: G_PKG_NAME )
515: p_api_version ,
516: l_api_name ,
517: G_PKG_NAME )
518: THEN
519: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
520: END IF;
521: -- Initialize message list if p_init_msg_list is set to TRUE.
522: IF FND_API.to_Boolean( p_init_msg_list ) THEN
523: FND_MSG_PUB.initialize;
518: THEN
519: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
520: END IF;
521: -- Initialize message list if p_init_msg_list is set to TRUE.
522: IF FND_API.to_Boolean( p_init_msg_list ) THEN
523: FND_MSG_PUB.initialize;
524: END IF;
525: -- Initialize API return status to success
526: x_return_status := FND_API.G_RET_STS_SUCCESS;
522: IF FND_API.to_Boolean( p_init_msg_list ) THEN
523: FND_MSG_PUB.initialize;
524: END IF;
525: -- Initialize API return status to success
526: x_return_status := FND_API.G_RET_STS_SUCCESS;
527:
528: -- API body
529:
530: -- call the original forms API (CNDIHY.fmb -> CNDIHY2s/b.pls)
535: if (c%notfound) then
536: close c;
537: fnd_message.set_name('CN', 'CN_RECORD_DELETED');
538: fnd_msg_pub.add;
539: raise fnd_api.g_exc_error;
540: end if;
541: close c;
542:
543: if (tlinfo.object_version_number <> p_object_version_number) then
542:
543: if (tlinfo.object_version_number <> p_object_version_number) then
544: fnd_message.set_name('CN', 'CN_RECORD_CHANGED');
545: fnd_msg_pub.add;
546: raise fnd_api.g_exc_error;
547: end if;
548: -- END LOCK ROW --
549:
550: -- validate name is unique
556: and head_hierarchy_id <> p_head_hierarchy_id;
557: if l_count > 0 then
558: FND_MESSAGE.SET_NAME('CN', 'CN_NAME_NOT_UNIQUE');
559: FND_MSG_PUB.ADD;
560: RAISE FND_API.G_EXC_ERROR;
561: end if;
562:
563: cn_head_hierarchies_all_pkg.update_row
564: (X_HEAD_HIERARCHY_ID => p_head_hierarchy_id,
576: -- End of API body.
577:
578: -- Standard check of p_commit.
579:
580: IF FND_API.To_Boolean( p_commit ) THEN
581: COMMIT WORK;
582: END IF;
583: -- Standard call to get message count and if count is 1, get message info.
584: FND_MSG_PUB.Count_And_Get
583: -- Standard call to get message count and if count is 1, get message info.
584: FND_MSG_PUB.Count_And_Get
585: (p_count => x_msg_count ,
586: p_data => x_msg_data ,
587: p_encoded => FND_API.G_FALSE );
588: EXCEPTION
589: WHEN FND_API.G_EXC_ERROR THEN
590: ROLLBACK TO Update_Head_Hierarchy;
591: x_return_status := FND_API.G_RET_STS_ERROR ;
585: (p_count => x_msg_count ,
586: p_data => x_msg_data ,
587: p_encoded => FND_API.G_FALSE );
588: EXCEPTION
589: WHEN FND_API.G_EXC_ERROR THEN
590: ROLLBACK TO Update_Head_Hierarchy;
591: x_return_status := FND_API.G_RET_STS_ERROR ;
592: FND_MSG_PUB.count_and_get
593: (p_count => x_msg_count ,
587: p_encoded => FND_API.G_FALSE );
588: EXCEPTION
589: WHEN FND_API.G_EXC_ERROR THEN
590: ROLLBACK TO Update_Head_Hierarchy;
591: x_return_status := FND_API.G_RET_STS_ERROR ;
592: FND_MSG_PUB.count_and_get
593: (p_count => x_msg_count ,
594: p_data => x_msg_data ,
595: p_encoded => FND_API.G_FALSE );
591: x_return_status := FND_API.G_RET_STS_ERROR ;
592: FND_MSG_PUB.count_and_get
593: (p_count => x_msg_count ,
594: p_data => x_msg_data ,
595: p_encoded => FND_API.G_FALSE );
596: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
597: ROLLBACK TO Update_Head_Hierarchy;
598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
599: FND_MSG_PUB.count_and_get
592: FND_MSG_PUB.count_and_get
593: (p_count => x_msg_count ,
594: p_data => x_msg_data ,
595: p_encoded => FND_API.G_FALSE );
596: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
597: ROLLBACK TO Update_Head_Hierarchy;
598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
599: FND_MSG_PUB.count_and_get
600: (p_count => x_msg_count ,
594: p_data => x_msg_data ,
595: p_encoded => FND_API.G_FALSE );
596: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
597: ROLLBACK TO Update_Head_Hierarchy;
598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
599: FND_MSG_PUB.count_and_get
600: (p_count => x_msg_count ,
601: p_data => x_msg_data ,
602: p_encoded => FND_API.G_FALSE );
598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
599: FND_MSG_PUB.count_and_get
600: (p_count => x_msg_count ,
601: p_data => x_msg_data ,
602: p_encoded => FND_API.G_FALSE );
603: WHEN OTHERS THEN
604: ROLLBACK TO Update_Head_Hierarchy;
605: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
606: IF FND_MSG_PUB.check_msg_level
601: p_data => x_msg_data ,
602: p_encoded => FND_API.G_FALSE );
603: WHEN OTHERS THEN
604: ROLLBACK TO Update_Head_Hierarchy;
605: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
606: IF FND_MSG_PUB.check_msg_level
607: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
608: THEN
609: FND_MSG_PUB.add_exc_msg
612: END IF;
613: FND_MSG_PUB.count_and_get
614: (p_count => x_msg_count ,
615: p_data => x_msg_data ,
616: p_encoded => FND_API.G_FALSE );
617: END Update_Head_Hierarchy;
618:
619: -- Delete head hierarchy
620: PROCEDURE Delete_Head_Hierarchy
618:
619: -- Delete head hierarchy
620: PROCEDURE Delete_Head_Hierarchy
621: (p_api_version IN NUMBER, -- required
622: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
623: p_commit IN VARCHAR2 := FND_API.G_FALSE,
624: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
625: p_head_hierarchy_id IN CN_HEAD_HIERARCHIES.HEAD_HIERARCHY_ID%TYPE,
626: --R12 MOAC Changes--Start
619: -- Delete head hierarchy
620: PROCEDURE Delete_Head_Hierarchy
621: (p_api_version IN NUMBER, -- required
622: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
623: p_commit IN VARCHAR2 := FND_API.G_FALSE,
624: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
625: p_head_hierarchy_id IN CN_HEAD_HIERARCHIES.HEAD_HIERARCHY_ID%TYPE,
626: --R12 MOAC Changes--Start
627: p_org_id IN CN_HEAD_HIERARCHIES.ORG_ID%TYPE,
620: PROCEDURE Delete_Head_Hierarchy
621: (p_api_version IN NUMBER, -- required
622: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
623: p_commit IN VARCHAR2 := FND_API.G_FALSE,
624: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
625: p_head_hierarchy_id IN CN_HEAD_HIERARCHIES.HEAD_HIERARCHY_ID%TYPE,
626: --R12 MOAC Changes--Start
627: p_org_id IN CN_HEAD_HIERARCHIES.ORG_ID%TYPE,
628: --R12 MOAC Changes--End
636: BEGIN
637: -- Standard Start of API savepoint
638: SAVEPOINT Delete_Head_Hierarchy;
639: -- Standard call to check for call compatibility.
640: IF NOT FND_API.Compatible_API_Call
641: (l_api_version ,
642: p_api_version ,
643: l_api_name ,
644: G_PKG_NAME )
642: p_api_version ,
643: l_api_name ,
644: G_PKG_NAME )
645: THEN
646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
647: END IF;
648: -- Initialize message list if p_init_msg_list is set to TRUE.
649: IF FND_API.to_Boolean( p_init_msg_list ) THEN
650: FND_MSG_PUB.initialize;
645: THEN
646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
647: END IF;
648: -- Initialize message list if p_init_msg_list is set to TRUE.
649: IF FND_API.to_Boolean( p_init_msg_list ) THEN
650: FND_MSG_PUB.initialize;
651: END IF;
652: -- Initialize API return status to success
653: x_return_status := FND_API.G_RET_STS_SUCCESS;
649: IF FND_API.to_Boolean( p_init_msg_list ) THEN
650: FND_MSG_PUB.initialize;
651: END IF;
652: -- Initialize API return status to success
653: x_return_status := FND_API.G_RET_STS_SUCCESS;
654:
655: -- API body
656: -- call the original forms API (CNDIHY.fmb -> CNDIHY2s/b.pls)
657: cn_head_hierarchies_all_pkg.delete_row (p_head_hierarchy_id,
660: --R12 MOAC Changes--End
661: -- End of API body.
662:
663: -- Standard check of p_commit.
664: IF FND_API.To_Boolean( p_commit ) THEN
665: COMMIT WORK;
666: END IF;
667: -- Standard call to get message count and if count is 1, get message info.
668: FND_MSG_PUB.Count_And_Get
667: -- Standard call to get message count and if count is 1, get message info.
668: FND_MSG_PUB.Count_And_Get
669: (p_count => x_msg_count ,
670: p_data => x_msg_data ,
671: p_encoded => FND_API.G_FALSE );
672: EXCEPTION
673: WHEN FND_API.G_EXC_ERROR THEN
674: ROLLBACK TO Delete_Head_Hierarchy;
675: x_return_status := FND_API.G_RET_STS_ERROR ;
669: (p_count => x_msg_count ,
670: p_data => x_msg_data ,
671: p_encoded => FND_API.G_FALSE );
672: EXCEPTION
673: WHEN FND_API.G_EXC_ERROR THEN
674: ROLLBACK TO Delete_Head_Hierarchy;
675: x_return_status := FND_API.G_RET_STS_ERROR ;
676: FND_MSG_PUB.count_and_get
677: (p_count => x_msg_count ,
671: p_encoded => FND_API.G_FALSE );
672: EXCEPTION
673: WHEN FND_API.G_EXC_ERROR THEN
674: ROLLBACK TO Delete_Head_Hierarchy;
675: x_return_status := FND_API.G_RET_STS_ERROR ;
676: FND_MSG_PUB.count_and_get
677: (p_count => x_msg_count ,
678: p_data => x_msg_data ,
679: p_encoded => FND_API.G_FALSE );
675: x_return_status := FND_API.G_RET_STS_ERROR ;
676: FND_MSG_PUB.count_and_get
677: (p_count => x_msg_count ,
678: p_data => x_msg_data ,
679: p_encoded => FND_API.G_FALSE );
680: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
681: ROLLBACK TO Delete_Head_Hierarchy;
682: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
683: FND_MSG_PUB.count_and_get
676: FND_MSG_PUB.count_and_get
677: (p_count => x_msg_count ,
678: p_data => x_msg_data ,
679: p_encoded => FND_API.G_FALSE );
680: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
681: ROLLBACK TO Delete_Head_Hierarchy;
682: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
683: FND_MSG_PUB.count_and_get
684: (p_count => x_msg_count ,
678: p_data => x_msg_data ,
679: p_encoded => FND_API.G_FALSE );
680: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
681: ROLLBACK TO Delete_Head_Hierarchy;
682: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
683: FND_MSG_PUB.count_and_get
684: (p_count => x_msg_count ,
685: p_data => x_msg_data ,
686: p_encoded => FND_API.G_FALSE );
682: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
683: FND_MSG_PUB.count_and_get
684: (p_count => x_msg_count ,
685: p_data => x_msg_data ,
686: p_encoded => FND_API.G_FALSE );
687: WHEN OTHERS THEN
688: ROLLBACK TO Delete_Head_Hierarchy;
689: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
690: IF FND_MSG_PUB.check_msg_level
685: p_data => x_msg_data ,
686: p_encoded => FND_API.G_FALSE );
687: WHEN OTHERS THEN
688: ROLLBACK TO Delete_Head_Hierarchy;
689: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
690: IF FND_MSG_PUB.check_msg_level
691: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
692: THEN
693: FND_MSG_PUB.add_exc_msg
696: END IF;
697: FND_MSG_PUB.count_and_get
698: (p_count => x_msg_count ,
699: p_data => x_msg_data ,
700: p_encoded => FND_API.G_FALSE );
701: END Delete_Head_Hierarchy;
702:
703:
704: -- Function to identify if the hierarchy is a revenue class hierarchy
720:
721: -- Create dimension hierarchy
722: PROCEDURE Create_Dim_Hierarchy
723: (p_api_version IN NUMBER, -- required
724: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
725: p_commit IN VARCHAR2 := FND_API.G_FALSE,
726: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
727: p_head_hierarchy_id IN CN_DIM_HIERARCHIES.HEADER_DIM_HIERARCHY_ID%TYPE,
728: p_start_date IN CN_DIM_HIERARCHIES.START_DATE%TYPE,
721: -- Create dimension hierarchy
722: PROCEDURE Create_Dim_Hierarchy
723: (p_api_version IN NUMBER, -- required
724: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
725: p_commit IN VARCHAR2 := FND_API.G_FALSE,
726: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
727: p_head_hierarchy_id IN CN_DIM_HIERARCHIES.HEADER_DIM_HIERARCHY_ID%TYPE,
728: p_start_date IN CN_DIM_HIERARCHIES.START_DATE%TYPE,
729: p_end_date IN CN_DIM_HIERARCHIES.END_DATE%TYPE,
722: PROCEDURE Create_Dim_Hierarchy
723: (p_api_version IN NUMBER, -- required
724: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
725: p_commit IN VARCHAR2 := FND_API.G_FALSE,
726: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
727: p_head_hierarchy_id IN CN_DIM_HIERARCHIES.HEADER_DIM_HIERARCHY_ID%TYPE,
728: p_start_date IN CN_DIM_HIERARCHIES.START_DATE%TYPE,
729: p_end_date IN CN_DIM_HIERARCHIES.END_DATE%TYPE,
730: p_root_node IN CN_DIM_HIERARCHIES.ROOT_NODE%TYPE, -- not used
745: BEGIN
746: -- Standard Start of API savepoint
747: SAVEPOINT Create_Dim_Hierarchy;
748: -- Standard call to check for call compatibility.
749: IF NOT FND_API.Compatible_API_Call
750: (l_api_version ,
751: p_api_version ,
752: l_api_name ,
753: G_PKG_NAME )
751: p_api_version ,
752: l_api_name ,
753: G_PKG_NAME )
754: THEN
755: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
756: END IF;
757: -- Initialize message list if p_init_msg_list is set to TRUE.
758: IF FND_API.to_Boolean( p_init_msg_list ) THEN
759: FND_MSG_PUB.initialize;
754: THEN
755: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
756: END IF;
757: -- Initialize message list if p_init_msg_list is set to TRUE.
758: IF FND_API.to_Boolean( p_init_msg_list ) THEN
759: FND_MSG_PUB.initialize;
760: END IF;
761: -- Initialize API return status to success
762: x_return_status := FND_API.G_RET_STS_SUCCESS;
758: IF FND_API.to_Boolean( p_init_msg_list ) THEN
759: FND_MSG_PUB.initialize;
760: END IF;
761: -- Initialize API return status to success
762: x_return_status := FND_API.G_RET_STS_SUCCESS;
763:
764: -- API body
765:
766: -- validate dates don't overlap
776: start_date <= nvl(p_end_date, start_date)));
777: if l_count > 0 then
778: FND_MESSAGE.SET_NAME('CN', 'CN_DATE_OVERLAP');
779: FND_MSG_PUB.ADD;
780: RAISE FND_API.G_EXC_ERROR;
781: end if;
782:
783: if p_end_date is not null and
784: p_end_date < p_start_date then
783: if p_end_date is not null and
784: p_end_date < p_start_date then
785: FND_MESSAGE.SET_NAME('CN', 'ALL_INVALID_PERIOD_RANGE');
786: FND_MSG_PUB.ADD;
787: RAISE FND_API.G_EXC_ERROR;
788: end if;
789:
790:
791: -- call new TH (original form used forms built in TH)
816:
817: -- End of API body.
818:
819: -- Standard check of p_commit.
820: IF FND_API.To_Boolean( p_commit ) THEN
821: COMMIT WORK;
822: END IF;
823: -- Standard call to get message count and if count is 1, get message info.
824: FND_MSG_PUB.Count_And_Get
823: -- Standard call to get message count and if count is 1, get message info.
824: FND_MSG_PUB.Count_And_Get
825: (p_count => x_msg_count ,
826: p_data => x_msg_data ,
827: p_encoded => FND_API.G_FALSE );
828: EXCEPTION
829: WHEN FND_API.G_EXC_ERROR THEN
830: ROLLBACK TO Create_Dim_Hierarchy;
831: x_return_status := FND_API.G_RET_STS_ERROR ;
825: (p_count => x_msg_count ,
826: p_data => x_msg_data ,
827: p_encoded => FND_API.G_FALSE );
828: EXCEPTION
829: WHEN FND_API.G_EXC_ERROR THEN
830: ROLLBACK TO Create_Dim_Hierarchy;
831: x_return_status := FND_API.G_RET_STS_ERROR ;
832: FND_MSG_PUB.count_and_get
833: (p_count => x_msg_count ,
827: p_encoded => FND_API.G_FALSE );
828: EXCEPTION
829: WHEN FND_API.G_EXC_ERROR THEN
830: ROLLBACK TO Create_Dim_Hierarchy;
831: x_return_status := FND_API.G_RET_STS_ERROR ;
832: FND_MSG_PUB.count_and_get
833: (p_count => x_msg_count ,
834: p_data => x_msg_data ,
835: p_encoded => FND_API.G_FALSE );
831: x_return_status := FND_API.G_RET_STS_ERROR ;
832: FND_MSG_PUB.count_and_get
833: (p_count => x_msg_count ,
834: p_data => x_msg_data ,
835: p_encoded => FND_API.G_FALSE );
836: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
837: ROLLBACK TO Create_Dim_Hierarchy;
838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
839: FND_MSG_PUB.count_and_get
832: FND_MSG_PUB.count_and_get
833: (p_count => x_msg_count ,
834: p_data => x_msg_data ,
835: p_encoded => FND_API.G_FALSE );
836: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
837: ROLLBACK TO Create_Dim_Hierarchy;
838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
839: FND_MSG_PUB.count_and_get
840: (p_count => x_msg_count ,
834: p_data => x_msg_data ,
835: p_encoded => FND_API.G_FALSE );
836: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
837: ROLLBACK TO Create_Dim_Hierarchy;
838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
839: FND_MSG_PUB.count_and_get
840: (p_count => x_msg_count ,
841: p_data => x_msg_data ,
842: p_encoded => FND_API.G_FALSE );
838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
839: FND_MSG_PUB.count_and_get
840: (p_count => x_msg_count ,
841: p_data => x_msg_data ,
842: p_encoded => FND_API.G_FALSE );
843: WHEN OTHERS THEN
844: ROLLBACK TO Create_Dim_Hierarchy;
845: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
846: IF FND_MSG_PUB.check_msg_level
841: p_data => x_msg_data ,
842: p_encoded => FND_API.G_FALSE );
843: WHEN OTHERS THEN
844: ROLLBACK TO Create_Dim_Hierarchy;
845: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
846: IF FND_MSG_PUB.check_msg_level
847: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
848: THEN
849: FND_MSG_PUB.add_exc_msg
852: END IF;
853: FND_MSG_PUB.count_and_get
854: (p_count => x_msg_count ,
855: p_data => x_msg_data ,
856: p_encoded => FND_API.G_FALSE );
857: END Create_Dim_Hierarchy;
858:
859: -- Update dimension hierarchy (only dates are updateable)
860: PROCEDURE Update_Dim_Hierarchy
858:
859: -- Update dimension hierarchy (only dates are updateable)
860: PROCEDURE Update_Dim_Hierarchy
861: (p_api_version IN NUMBER, -- required
862: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
863: p_commit IN VARCHAR2 := FND_API.G_FALSE,
864: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
865: p_dim_hierarchy_id IN CN_DIM_HIERARCHIES.DIM_HIERARCHY_ID%TYPE,
866: p_start_date IN CN_DIM_HIERARCHIES.START_DATE%TYPE,
859: -- Update dimension hierarchy (only dates are updateable)
860: PROCEDURE Update_Dim_Hierarchy
861: (p_api_version IN NUMBER, -- required
862: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
863: p_commit IN VARCHAR2 := FND_API.G_FALSE,
864: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
865: p_dim_hierarchy_id IN CN_DIM_HIERARCHIES.DIM_HIERARCHY_ID%TYPE,
866: p_start_date IN CN_DIM_HIERARCHIES.START_DATE%TYPE,
867: p_end_date IN CN_DIM_HIERARCHIES.END_DATE%TYPE,
860: PROCEDURE Update_Dim_Hierarchy
861: (p_api_version IN NUMBER, -- required
862: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
863: p_commit IN VARCHAR2 := FND_API.G_FALSE,
864: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
865: p_dim_hierarchy_id IN CN_DIM_HIERARCHIES.DIM_HIERARCHY_ID%TYPE,
866: p_start_date IN CN_DIM_HIERARCHIES.START_DATE%TYPE,
867: p_end_date IN CN_DIM_HIERARCHIES.END_DATE%TYPE,
868: p_object_version_number IN OUT NOCOPY CN_DIM_HIERARCHIES.OBJECT_VERSION_NUMBER%TYPE,
883: BEGIN
884: -- Standard Start of API savepoint
885: SAVEPOINT Update_Dim_Hierarchy;
886: -- Standard call to check for call compatibility.
887: IF NOT FND_API.Compatible_API_Call
888: (l_api_version ,
889: p_api_version ,
890: l_api_name ,
891: G_PKG_NAME )
889: p_api_version ,
890: l_api_name ,
891: G_PKG_NAME )
892: THEN
893: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
894: END IF;
895: -- Initialize message list if p_init_msg_list is set to TRUE.
896: IF FND_API.to_Boolean( p_init_msg_list ) THEN
897: FND_MSG_PUB.initialize;
892: THEN
893: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
894: END IF;
895: -- Initialize message list if p_init_msg_list is set to TRUE.
896: IF FND_API.to_Boolean( p_init_msg_list ) THEN
897: FND_MSG_PUB.initialize;
898: END IF;
899: -- Initialize API return status to success
900: x_return_status := FND_API.G_RET_STS_SUCCESS;
896: IF FND_API.to_Boolean( p_init_msg_list ) THEN
897: FND_MSG_PUB.initialize;
898: END IF;
899: -- Initialize API return status to success
900: x_return_status := FND_API.G_RET_STS_SUCCESS;
901:
902: -- API body
903: -- validate dates don't overlap with another dim hierarchy under the
904: -- same head hierarchy
915: if p_end_date is not null and
916: p_end_date < p_start_date then
917: FND_MESSAGE.SET_NAME('CN', 'ALL_INVALID_PERIOD_RANGE');
918: FND_MSG_PUB.ADD;
919: RAISE FND_API.G_EXC_ERROR;
920: end if;
921:
922: select count(1) into l_count
923: from cn_dim_hierarchies
932: start_date <= nvl(p_end_date, start_date)));
933: if l_count > 0 then
934: FND_MESSAGE.SET_NAME('CN', 'CN_DATE_OVERLAP');
935: FND_MSG_PUB.ADD;
936: RAISE FND_API.G_EXC_ERROR;
937: end if;
938:
939:
940: -- call to insert rows into notify log
977: --Increase version
978: p_object_version_number := p_object_version_number + 1;
979:
980: -- Standard check of p_commit.
981: IF FND_API.To_Boolean( p_commit ) THEN
982: COMMIT WORK;
983: END IF;
984: -- Standard call to get message count and if count is 1, get message info.
985: FND_MSG_PUB.Count_And_Get
984: -- Standard call to get message count and if count is 1, get message info.
985: FND_MSG_PUB.Count_And_Get
986: (p_count => x_msg_count ,
987: p_data => x_msg_data ,
988: p_encoded => FND_API.G_FALSE );
989: EXCEPTION
990: WHEN FND_API.G_EXC_ERROR THEN
991: ROLLBACK TO Update_Dim_Hierarchy;
992: x_return_status := FND_API.G_RET_STS_ERROR ;
986: (p_count => x_msg_count ,
987: p_data => x_msg_data ,
988: p_encoded => FND_API.G_FALSE );
989: EXCEPTION
990: WHEN FND_API.G_EXC_ERROR THEN
991: ROLLBACK TO Update_Dim_Hierarchy;
992: x_return_status := FND_API.G_RET_STS_ERROR ;
993: FND_MSG_PUB.count_and_get
994: (p_count => x_msg_count ,
988: p_encoded => FND_API.G_FALSE );
989: EXCEPTION
990: WHEN FND_API.G_EXC_ERROR THEN
991: ROLLBACK TO Update_Dim_Hierarchy;
992: x_return_status := FND_API.G_RET_STS_ERROR ;
993: FND_MSG_PUB.count_and_get
994: (p_count => x_msg_count ,
995: p_data => x_msg_data ,
996: p_encoded => FND_API.G_FALSE );
992: x_return_status := FND_API.G_RET_STS_ERROR ;
993: FND_MSG_PUB.count_and_get
994: (p_count => x_msg_count ,
995: p_data => x_msg_data ,
996: p_encoded => FND_API.G_FALSE );
997: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
998: ROLLBACK TO Update_Dim_Hierarchy;
999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1000: FND_MSG_PUB.count_and_get
993: FND_MSG_PUB.count_and_get
994: (p_count => x_msg_count ,
995: p_data => x_msg_data ,
996: p_encoded => FND_API.G_FALSE );
997: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
998: ROLLBACK TO Update_Dim_Hierarchy;
999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1000: FND_MSG_PUB.count_and_get
1001: (p_count => x_msg_count ,
995: p_data => x_msg_data ,
996: p_encoded => FND_API.G_FALSE );
997: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
998: ROLLBACK TO Update_Dim_Hierarchy;
999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1000: FND_MSG_PUB.count_and_get
1001: (p_count => x_msg_count ,
1002: p_data => x_msg_data ,
1003: p_encoded => FND_API.G_FALSE );
999: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1000: FND_MSG_PUB.count_and_get
1001: (p_count => x_msg_count ,
1002: p_data => x_msg_data ,
1003: p_encoded => FND_API.G_FALSE );
1004: WHEN OTHERS THEN
1005: ROLLBACK TO Update_Dim_Hierarchy;
1006: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1007: IF FND_MSG_PUB.check_msg_level
1002: p_data => x_msg_data ,
1003: p_encoded => FND_API.G_FALSE );
1004: WHEN OTHERS THEN
1005: ROLLBACK TO Update_Dim_Hierarchy;
1006: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1007: IF FND_MSG_PUB.check_msg_level
1008: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1009: THEN
1010: FND_MSG_PUB.add_exc_msg
1013: END IF;
1014: FND_MSG_PUB.count_and_get
1015: (p_count => x_msg_count ,
1016: p_data => x_msg_data ,
1017: p_encoded => FND_API.G_FALSE );
1018: END Update_Dim_Hierarchy;
1019:
1020: -- Delete dimension hierarchy
1021: PROCEDURE Delete_Dim_Hierarchy
1019:
1020: -- Delete dimension hierarchy
1021: PROCEDURE Delete_Dim_Hierarchy
1022: (p_api_version IN NUMBER, -- required
1023: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1024: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1025: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1026: p_dim_hierarchy_id IN CN_DIM_HIERARCHIES.DIM_HIERARCHY_ID%TYPE,
1027: --R12 MOAC Changes--Start
1020: -- Delete dimension hierarchy
1021: PROCEDURE Delete_Dim_Hierarchy
1022: (p_api_version IN NUMBER, -- required
1023: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1024: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1025: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1026: p_dim_hierarchy_id IN CN_DIM_HIERARCHIES.DIM_HIERARCHY_ID%TYPE,
1027: --R12 MOAC Changes--Start
1028: p_org_id IN CN_DIM_HIERARCHIES.ORG_ID%TYPE,
1021: PROCEDURE Delete_Dim_Hierarchy
1022: (p_api_version IN NUMBER, -- required
1023: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1024: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1025: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1026: p_dim_hierarchy_id IN CN_DIM_HIERARCHIES.DIM_HIERARCHY_ID%TYPE,
1027: --R12 MOAC Changes--Start
1028: p_org_id IN CN_DIM_HIERARCHIES.ORG_ID%TYPE,
1029: --R12 MOAC Changes--End
1040: BEGIN
1041: -- Standard Start of API savepoint
1042: SAVEPOINT Delete_Dim_Hierarchy;
1043: -- Standard call to check for call compatibility.
1044: IF NOT FND_API.Compatible_API_Call
1045: (l_api_version ,
1046: p_api_version ,
1047: l_api_name ,
1048: G_PKG_NAME )
1046: p_api_version ,
1047: l_api_name ,
1048: G_PKG_NAME )
1049: THEN
1050: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1051: END IF;
1052: -- Initialize message list if p_init_msg_list is set to TRUE.
1053: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1054: FND_MSG_PUB.initialize;
1049: THEN
1050: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1051: END IF;
1052: -- Initialize message list if p_init_msg_list is set to TRUE.
1053: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1054: FND_MSG_PUB.initialize;
1055: END IF;
1056: -- Initialize API return status to success
1057: x_return_status := FND_API.G_RET_STS_SUCCESS;
1053: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1054: FND_MSG_PUB.initialize;
1055: END IF;
1056: -- Initialize API return status to success
1057: x_return_status := FND_API.G_RET_STS_SUCCESS;
1058:
1059: -- API body
1060:
1061: -- get head hierarchy ID, start date and end date
1087:
1088: -- End of API body.
1089:
1090: -- Standard check of p_commit.
1091: IF FND_API.To_Boolean( p_commit ) THEN
1092: COMMIT WORK;
1093: END IF;
1094: -- Standard call to get message count and if count is 1, get message info.
1095: FND_MSG_PUB.Count_And_Get
1094: -- Standard call to get message count and if count is 1, get message info.
1095: FND_MSG_PUB.Count_And_Get
1096: (p_count => x_msg_count ,
1097: p_data => x_msg_data ,
1098: p_encoded => FND_API.G_FALSE );
1099: EXCEPTION
1100: WHEN FND_API.G_EXC_ERROR THEN
1101: ROLLBACK TO Delete_Dim_Hierarchy;
1102: x_return_status := FND_API.G_RET_STS_ERROR ;
1096: (p_count => x_msg_count ,
1097: p_data => x_msg_data ,
1098: p_encoded => FND_API.G_FALSE );
1099: EXCEPTION
1100: WHEN FND_API.G_EXC_ERROR THEN
1101: ROLLBACK TO Delete_Dim_Hierarchy;
1102: x_return_status := FND_API.G_RET_STS_ERROR ;
1103: FND_MSG_PUB.count_and_get
1104: (p_count => x_msg_count ,
1098: p_encoded => FND_API.G_FALSE );
1099: EXCEPTION
1100: WHEN FND_API.G_EXC_ERROR THEN
1101: ROLLBACK TO Delete_Dim_Hierarchy;
1102: x_return_status := FND_API.G_RET_STS_ERROR ;
1103: FND_MSG_PUB.count_and_get
1104: (p_count => x_msg_count ,
1105: p_data => x_msg_data ,
1106: p_encoded => FND_API.G_FALSE );
1102: x_return_status := FND_API.G_RET_STS_ERROR ;
1103: FND_MSG_PUB.count_and_get
1104: (p_count => x_msg_count ,
1105: p_data => x_msg_data ,
1106: p_encoded => FND_API.G_FALSE );
1107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1108: ROLLBACK TO Delete_Dim_Hierarchy;
1109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1110: FND_MSG_PUB.count_and_get
1103: FND_MSG_PUB.count_and_get
1104: (p_count => x_msg_count ,
1105: p_data => x_msg_data ,
1106: p_encoded => FND_API.G_FALSE );
1107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1108: ROLLBACK TO Delete_Dim_Hierarchy;
1109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1110: FND_MSG_PUB.count_and_get
1111: (p_count => x_msg_count ,
1105: p_data => x_msg_data ,
1106: p_encoded => FND_API.G_FALSE );
1107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1108: ROLLBACK TO Delete_Dim_Hierarchy;
1109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1110: FND_MSG_PUB.count_and_get
1111: (p_count => x_msg_count ,
1112: p_data => x_msg_data ,
1113: p_encoded => FND_API.G_FALSE );
1109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1110: FND_MSG_PUB.count_and_get
1111: (p_count => x_msg_count ,
1112: p_data => x_msg_data ,
1113: p_encoded => FND_API.G_FALSE );
1114: WHEN OTHERS THEN
1115: ROLLBACK TO Delete_Dim_Hierarchy;
1116: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1117: IF FND_MSG_PUB.check_msg_level
1112: p_data => x_msg_data ,
1113: p_encoded => FND_API.G_FALSE );
1114: WHEN OTHERS THEN
1115: ROLLBACK TO Delete_Dim_Hierarchy;
1116: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1117: IF FND_MSG_PUB.check_msg_level
1118: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1119: THEN
1120: FND_MSG_PUB.add_exc_msg
1123: END IF;
1124: FND_MSG_PUB.count_and_get
1125: (p_count => x_msg_count ,
1126: p_data => x_msg_data ,
1127: p_encoded => FND_API.G_FALSE );
1128: END Delete_Dim_Hierarchy;
1129:
1130: -- Create edge
1131: PROCEDURE Create_Edge
1129:
1130: -- Create edge
1131: PROCEDURE Create_Edge
1132: (p_api_version IN NUMBER, -- required
1133: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1134: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1135: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1136: p_dim_hierarchy_id IN CN_HIERARCHY_EDGES.DIM_HIERARCHY_ID%TYPE,
1137: p_parent_value_id IN CN_HIERARCHY_EDGES.PARENT_VALUE_ID%TYPE,
1130: -- Create edge
1131: PROCEDURE Create_Edge
1132: (p_api_version IN NUMBER, -- required
1133: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1134: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1135: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1136: p_dim_hierarchy_id IN CN_HIERARCHY_EDGES.DIM_HIERARCHY_ID%TYPE,
1137: p_parent_value_id IN CN_HIERARCHY_EDGES.PARENT_VALUE_ID%TYPE,
1138: p_name IN CN_HIERARCHY_NODES.NAME%TYPE,
1131: PROCEDURE Create_Edge
1132: (p_api_version IN NUMBER, -- required
1133: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1134: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1135: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1136: p_dim_hierarchy_id IN CN_HIERARCHY_EDGES.DIM_HIERARCHY_ID%TYPE,
1137: p_parent_value_id IN CN_HIERARCHY_EDGES.PARENT_VALUE_ID%TYPE,
1138: p_name IN CN_HIERARCHY_NODES.NAME%TYPE,
1139: p_external_id IN CN_HIERARCHY_NODES.EXTERNAL_ID%TYPE,
1180: BEGIN
1181: -- Standard Start of API savepoint
1182: SAVEPOINT Create_Edge;
1183: -- Standard call to check for call compatibility.
1184: IF NOT FND_API.Compatible_API_Call
1185: (l_api_version ,
1186: p_api_version ,
1187: l_api_name ,
1188: G_PKG_NAME )
1186: p_api_version ,
1187: l_api_name ,
1188: G_PKG_NAME )
1189: THEN
1190: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1191: END IF;
1192: -- Initialize message list if p_init_msg_list is set to TRUE.
1193: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1194: FND_MSG_PUB.initialize;
1189: THEN
1190: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1191: END IF;
1192: -- Initialize message list if p_init_msg_list is set to TRUE.
1193: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1194: FND_MSG_PUB.initialize;
1195: END IF;
1196: -- Initialize API return status to success
1197: x_return_status := FND_API.G_RET_STS_SUCCESS;
1193: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1194: FND_MSG_PUB.initialize;
1195: END IF;
1196: -- Initialize API return status to success
1197: x_return_status := FND_API.G_RET_STS_SUCCESS;
1198:
1199: -- API body
1200: -- call the original forms API (CNDIHY.fmb -> CNDIHY2s/b.pls)
1201: BEGIN
1217: fnd_message.set_token('REV_CLASS_NAME_PARENT', l_par_name);
1218: fnd_message.set_token('REV_CLASS_NAME_CHILD', p_name);
1219: fnd_message.set_token('PERIODS', l_start_date || ' - ' || l_end_date);
1220: FND_MSG_PUB.ADD;
1221: RAISE FND_API.G_EXC_ERROR;
1222: END IF;
1223: CLOSE dup_rev_classes;
1224: END IF;
1225:
1236: EXCEPTION
1237: WHEN DUP_VAL_ON_INDEX THEN
1238: FND_MESSAGE.SET_NAME('CN', 'HIER_NO_DIAMONDS');
1239: FND_MSG_PUB.ADD;
1240: RAISE FND_API.G_EXC_ERROR;
1241: END;
1242:
1243: -- End of API body.
1244:
1242:
1243: -- End of API body.
1244:
1245: -- Standard check of p_commit.
1246: IF FND_API.To_Boolean( p_commit ) THEN
1247: COMMIT WORK;
1248: END IF;
1249: -- Standard call to get message count and if count is 1, get message info.
1250: FND_MSG_PUB.Count_And_Get
1249: -- Standard call to get message count and if count is 1, get message info.
1250: FND_MSG_PUB.Count_And_Get
1251: (p_count => x_msg_count ,
1252: p_data => x_msg_data ,
1253: p_encoded => FND_API.G_FALSE );
1254: EXCEPTION
1255: WHEN FND_API.G_EXC_ERROR THEN
1256: ROLLBACK TO Create_Edge;
1257: x_return_status := FND_API.G_RET_STS_ERROR ;
1251: (p_count => x_msg_count ,
1252: p_data => x_msg_data ,
1253: p_encoded => FND_API.G_FALSE );
1254: EXCEPTION
1255: WHEN FND_API.G_EXC_ERROR THEN
1256: ROLLBACK TO Create_Edge;
1257: x_return_status := FND_API.G_RET_STS_ERROR ;
1258: FND_MSG_PUB.count_and_get
1259: (p_count => x_msg_count ,
1253: p_encoded => FND_API.G_FALSE );
1254: EXCEPTION
1255: WHEN FND_API.G_EXC_ERROR THEN
1256: ROLLBACK TO Create_Edge;
1257: x_return_status := FND_API.G_RET_STS_ERROR ;
1258: FND_MSG_PUB.count_and_get
1259: (p_count => x_msg_count ,
1260: p_data => x_msg_data ,
1261: p_encoded => FND_API.G_FALSE );
1257: x_return_status := FND_API.G_RET_STS_ERROR ;
1258: FND_MSG_PUB.count_and_get
1259: (p_count => x_msg_count ,
1260: p_data => x_msg_data ,
1261: p_encoded => FND_API.G_FALSE );
1262: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1263: ROLLBACK TO Create_Edge;
1264: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1265: FND_MSG_PUB.count_and_get
1258: FND_MSG_PUB.count_and_get
1259: (p_count => x_msg_count ,
1260: p_data => x_msg_data ,
1261: p_encoded => FND_API.G_FALSE );
1262: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1263: ROLLBACK TO Create_Edge;
1264: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1265: FND_MSG_PUB.count_and_get
1266: (p_count => x_msg_count ,
1260: p_data => x_msg_data ,
1261: p_encoded => FND_API.G_FALSE );
1262: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1263: ROLLBACK TO Create_Edge;
1264: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1265: FND_MSG_PUB.count_and_get
1266: (p_count => x_msg_count ,
1267: p_data => x_msg_data ,
1268: p_encoded => FND_API.G_FALSE );
1264: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1265: FND_MSG_PUB.count_and_get
1266: (p_count => x_msg_count ,
1267: p_data => x_msg_data ,
1268: p_encoded => FND_API.G_FALSE );
1269: WHEN OTHERS THEN
1270: ROLLBACK TO Create_Edge;
1271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1272: IF FND_MSG_PUB.check_msg_level
1267: p_data => x_msg_data ,
1268: p_encoded => FND_API.G_FALSE );
1269: WHEN OTHERS THEN
1270: ROLLBACK TO Create_Edge;
1271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1272: IF FND_MSG_PUB.check_msg_level
1273: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1274: THEN
1275: FND_MSG_PUB.add_exc_msg
1278: END IF;
1279: FND_MSG_PUB.count_and_get
1280: (p_count => x_msg_count ,
1281: p_data => x_msg_data ,
1282: p_encoded => FND_API.G_FALSE );
1283: END Create_Edge;
1284:
1285: -- Delete edge
1286: PROCEDURE Delete_Edge
1284:
1285: -- Delete edge
1286: PROCEDURE Delete_Edge
1287: (p_api_version IN NUMBER, -- required
1288: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1289: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1290: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1291: p_dim_hierarchy_id IN CN_HIERARCHY_EDGES.DIM_HIERARCHY_ID%TYPE,
1292: p_value_id IN CN_HIERARCHY_EDGES.VALUE_ID%TYPE,
1285: -- Delete edge
1286: PROCEDURE Delete_Edge
1287: (p_api_version IN NUMBER, -- required
1288: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1289: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1290: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1291: p_dim_hierarchy_id IN CN_HIERARCHY_EDGES.DIM_HIERARCHY_ID%TYPE,
1292: p_value_id IN CN_HIERARCHY_EDGES.VALUE_ID%TYPE,
1293: p_parent_value_id IN CN_HIERARCHY_EDGES.PARENT_VALUE_ID%TYPE,
1286: PROCEDURE Delete_Edge
1287: (p_api_version IN NUMBER, -- required
1288: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1289: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1290: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1291: p_dim_hierarchy_id IN CN_HIERARCHY_EDGES.DIM_HIERARCHY_ID%TYPE,
1292: p_value_id IN CN_HIERARCHY_EDGES.VALUE_ID%TYPE,
1293: p_parent_value_id IN CN_HIERARCHY_EDGES.PARENT_VALUE_ID%TYPE,
1294: --R12 MOAC Changes--Start
1306: BEGIN
1307: -- Standard Start of API savepoint
1308: SAVEPOINT Delete_Edge;
1309: -- Standard call to check for call compatibility.
1310: IF NOT FND_API.Compatible_API_Call
1311: (l_api_version ,
1312: p_api_version ,
1313: l_api_name ,
1314: G_PKG_NAME )
1312: p_api_version ,
1313: l_api_name ,
1314: G_PKG_NAME )
1315: THEN
1316: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1317: END IF;
1318: -- Initialize message list if p_init_msg_list is set to TRUE.
1319: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1320: FND_MSG_PUB.initialize;
1315: THEN
1316: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1317: END IF;
1318: -- Initialize message list if p_init_msg_list is set to TRUE.
1319: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1320: FND_MSG_PUB.initialize;
1321: END IF;
1322: -- Initialize API return status to success
1323: x_return_status := FND_API.G_RET_STS_SUCCESS;
1319: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1320: FND_MSG_PUB.initialize;
1321: END IF;
1322: -- Initialize API return status to success
1323: x_return_status := FND_API.G_RET_STS_SUCCESS;
1324:
1325: -- API body
1326:
1327: -- make sure the root is not being deleted
1336:
1337: if l_ext_id is null then
1338: FND_MESSAGE.SET_NAME('CN', 'HIER_NO_DELETE_ROOT');
1339: FND_MSG_PUB.ADD;
1340: RAISE FND_API.G_EXC_ERROR;
1341: end if;
1342: end if;
1343:
1344: -- make sure the edge still exists
1353:
1354: if l_count = 0 then
1355: fnd_message.set_name('CN', 'CN_RECORD_DELETED');
1356: fnd_msg_pub.add;
1357: raise fnd_api.g_exc_error;
1358: end if;
1359:
1360: CN_DIHY_TWO_API_PKG.Cascade_Delete
1361: (X_value_id => p_value_id,
1365:
1366: -- End of API body.
1367:
1368: -- Standard check of p_commit.
1369: IF FND_API.To_Boolean( p_commit ) THEN
1370: COMMIT WORK;
1371: END IF;
1372: -- Standard call to get message count and if count is 1, get message info.
1373: FND_MSG_PUB.Count_And_Get
1372: -- Standard call to get message count and if count is 1, get message info.
1373: FND_MSG_PUB.Count_And_Get
1374: (p_count => x_msg_count ,
1375: p_data => x_msg_data ,
1376: p_encoded => FND_API.G_FALSE );
1377: EXCEPTION
1378: WHEN FND_API.G_EXC_ERROR THEN
1379: ROLLBACK TO Delete_Edge;
1380: x_return_status := FND_API.G_RET_STS_ERROR ;
1374: (p_count => x_msg_count ,
1375: p_data => x_msg_data ,
1376: p_encoded => FND_API.G_FALSE );
1377: EXCEPTION
1378: WHEN FND_API.G_EXC_ERROR THEN
1379: ROLLBACK TO Delete_Edge;
1380: x_return_status := FND_API.G_RET_STS_ERROR ;
1381: FND_MSG_PUB.count_and_get
1382: (p_count => x_msg_count ,
1376: p_encoded => FND_API.G_FALSE );
1377: EXCEPTION
1378: WHEN FND_API.G_EXC_ERROR THEN
1379: ROLLBACK TO Delete_Edge;
1380: x_return_status := FND_API.G_RET_STS_ERROR ;
1381: FND_MSG_PUB.count_and_get
1382: (p_count => x_msg_count ,
1383: p_data => x_msg_data ,
1384: p_encoded => FND_API.G_FALSE );
1380: x_return_status := FND_API.G_RET_STS_ERROR ;
1381: FND_MSG_PUB.count_and_get
1382: (p_count => x_msg_count ,
1383: p_data => x_msg_data ,
1384: p_encoded => FND_API.G_FALSE );
1385: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1386: ROLLBACK TO Delete_Edge;
1387: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1388: FND_MSG_PUB.count_and_get
1381: FND_MSG_PUB.count_and_get
1382: (p_count => x_msg_count ,
1383: p_data => x_msg_data ,
1384: p_encoded => FND_API.G_FALSE );
1385: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1386: ROLLBACK TO Delete_Edge;
1387: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1388: FND_MSG_PUB.count_and_get
1389: (p_count => x_msg_count ,
1383: p_data => x_msg_data ,
1384: p_encoded => FND_API.G_FALSE );
1385: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1386: ROLLBACK TO Delete_Edge;
1387: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1388: FND_MSG_PUB.count_and_get
1389: (p_count => x_msg_count ,
1390: p_data => x_msg_data ,
1391: p_encoded => FND_API.G_FALSE );
1387: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1388: FND_MSG_PUB.count_and_get
1389: (p_count => x_msg_count ,
1390: p_data => x_msg_data ,
1391: p_encoded => FND_API.G_FALSE );
1392: WHEN OTHERS THEN
1393: ROLLBACK TO Delete_Edge;
1394: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1395: IF FND_MSG_PUB.check_msg_level
1390: p_data => x_msg_data ,
1391: p_encoded => FND_API.G_FALSE );
1392: WHEN OTHERS THEN
1393: ROLLBACK TO Delete_Edge;
1394: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1395: IF FND_MSG_PUB.check_msg_level
1396: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1397: THEN
1398: FND_MSG_PUB.add_exc_msg
1401: END IF;
1402: FND_MSG_PUB.count_and_get
1403: (p_count => x_msg_count ,
1404: p_data => x_msg_data ,
1405: p_encoded => FND_API.G_FALSE );
1406: END Delete_Edge;
1407:
1408: -- export
1409: PROCEDURE Export
1559: x_return_status => l_return_status,
1560: x_msg_count => l_msg_count,
1561: x_msg_data => l_msg_data);
1562:
1563: IF l_return_status <> fnd_api.g_ret_sts_success THEN
1564: CN_IMPORT_PVT.update_imp_headers
1565: (p_imp_header_id => p_imp_header_id,
1566: p_status_code => 'FAIL',
1567: p_failed_row => l_rowcount);
1570: (p_message_text => 'Export threw exception : rts sts ' ||
1571: l_return_status,
1572: p_message_type => 'ERROR');
1573:
1574: my_message := fnd_msg_pub.get(p_encoded => FND_API.g_false);
1575: while (my_message is not null) loop
1576: l_message := l_message || my_message || '; ';
1577: my_message := fnd_msg_pub.get(p_encoded => FND_API.g_false);
1578: end loop;
1573:
1574: my_message := fnd_msg_pub.get(p_encoded => FND_API.g_false);
1575: while (my_message is not null) loop
1576: l_message := l_message || my_message || '; ';
1577: my_message := fnd_msg_pub.get(p_encoded => FND_API.g_false);
1578: end loop;
1579:
1580: cn_message_pkg.write
1581: (p_message_text => l_message,
1610: -- Commit all imports
1611: COMMIT;
1612:
1613: EXCEPTION
1614: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1615: retcode := 2 ;
1616: cn_message_pkg.end_batch(l_process_audit_id);
1617: FND_MSG_PUB.count_and_get
1618: (p_count => l_msg_count ,
1616: cn_message_pkg.end_batch(l_process_audit_id);
1617: FND_MSG_PUB.count_and_get
1618: (p_count => l_msg_count ,
1619: p_data => errbuf ,
1620: p_encoded => FND_API.G_FALSE
1621: );
1622:
1623: WHEN OTHERS THEN
1624: err_num := SQLCODE;
1633: END IF;
1634: FND_MSG_PUB.count_and_get
1635: (p_count => l_msg_count ,
1636: p_data => errbuf ,
1637: p_encoded => FND_API.G_FALSE
1638: );
1639: END IF;
1640:
1641: cn_message_pkg.set_error(l_api_name,errbuf);