42: IF (get_id_for_name%NOTFOUND)
43: THEN
44: FND_MESSAGE.Set_Name('AHL','AHL_PC_UNIT_NOT_FOUND');
45: FND_MSG_PUB.ADD;
46: RAISE FND_API.G_EXC_ERROR;
47: ELSE
48: p_x_assos_rec.unit_item_id := l_unit_id;
49: END IF;
50: CLOSE get_id_for_name;
74: IF (get_id_for_name%NOTFOUND)
75: THEN
76: FND_MESSAGE.Set_Name('AHL','AHL_PC_ITEM_NOT_FOUND');
77: FND_MSG_PUB.ADD;
78: RAISE FND_API.G_EXC_ERROR;
79: ELSE
80: p_x_assos_rec.unit_item_id := l_part_id;
81: END IF;
82: CLOSE get_id_for_name;
88: -- Declare Procedures --
89: ------------------------
90: PROCEDURE PROCESS_ASSOCIATIONS (
91: p_api_version IN NUMBER,
92: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
93: p_commit IN VARCHAR2 := FND_API.G_FALSE,
94: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
95: p_module_type IN VARCHAR2 := NULL,
96: p_x_assos_tbl IN OUT NOCOPY AHL_PC_ASSOCIATION_PUB.PC_ASSOS_TBL,
89: ------------------------
90: PROCEDURE PROCESS_ASSOCIATIONS (
91: p_api_version IN NUMBER,
92: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
93: p_commit IN VARCHAR2 := FND_API.G_FALSE,
94: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
95: p_module_type IN VARCHAR2 := NULL,
96: p_x_assos_tbl IN OUT NOCOPY AHL_PC_ASSOCIATION_PUB.PC_ASSOS_TBL,
97: x_return_status OUT NOCOPY VARCHAR2,
90: PROCEDURE PROCESS_ASSOCIATIONS (
91: p_api_version IN NUMBER,
92: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
93: p_commit IN VARCHAR2 := FND_API.G_FALSE,
94: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
95: p_module_type IN VARCHAR2 := NULL,
96: p_x_assos_tbl IN OUT NOCOPY AHL_PC_ASSOCIATION_PUB.PC_ASSOS_TBL,
97: x_return_status OUT NOCOPY VARCHAR2,
98: x_msg_count OUT NOCOPY NUMBER,
107: -- Standard start of API savepoint
108: SAVEPOINT PROCESS_ASSOCIATION_PUB;
109:
110: -- Standard call to check for call compatibility
111: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
112: THEN
113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114: END IF;
115:
109:
110: -- Standard call to check for call compatibility
111: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
112: THEN
113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114: END IF;
115:
116: -- Initialize message list if p_init_msg_list is set to TRUE
117: IF FND_API.To_Boolean(p_init_msg_list)
113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114: END IF;
115:
116: -- Initialize message list if p_init_msg_list is set to TRUE
117: IF FND_API.To_Boolean(p_init_msg_list)
118: THEN
119: FND_MSG_PUB.Initialize;
120: END IF;
121:
119: FND_MSG_PUB.Initialize;
120: END IF;
121:
122: -- Initialize API return status to success
123: x_return_status := FND_API.G_RET_STS_SUCCESS;
124:
125: IF G_DEBUG='Y' THEN
126: AHL_DEBUG_PUB.ENABLE_DEBUG;
127: END IF;
154:
155: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
156: (
157: p_api_version => l_api_version,
158: p_init_msg_list => FND_API.G_FALSE,
159: p_commit => FND_API.G_FALSE,
160: p_validation_level => p_validation_level,
161: p_x_assos_rec => p_x_assos_tbl(i),
162: x_return_status => x_return_status,
155: AHL_PC_ASSOCIATION_PVT.ATTACH_UNIT
156: (
157: p_api_version => l_api_version,
158: p_init_msg_list => FND_API.G_FALSE,
159: p_commit => FND_API.G_FALSE,
160: p_validation_level => p_validation_level,
161: p_x_assos_rec => p_x_assos_tbl(i),
162: x_return_status => x_return_status,
163: x_msg_count => x_msg_count,
177:
178: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
179: (
180: p_api_version => l_api_version,
181: p_init_msg_list => FND_API.G_FALSE,
182: p_commit => FND_API.G_FALSE,
183: p_validation_level => p_validation_level,
184: p_x_assos_rec => p_x_assos_tbl(i),
185: x_return_status => x_return_status,
178: AHL_PC_ASSOCIATION_PVT.ATTACH_ITEM
179: (
180: p_api_version => l_api_version,
181: p_init_msg_list => FND_API.G_FALSE,
182: p_commit => FND_API.G_FALSE,
183: p_validation_level => p_validation_level,
184: p_x_assos_rec => p_x_assos_tbl(i),
185: x_return_status => x_return_status,
186: x_msg_count => x_msg_count,
203:
204: AHL_PC_ASSOCIATION_PVT.DETACH_UNIT
205: (
206: p_api_version => l_api_version,
207: p_init_msg_list => FND_API.G_FALSE,
208: p_commit => FND_API.G_FALSE,
209: p_validation_level => p_validation_level,
210: p_x_assos_rec => p_x_assos_tbl(i),
211: x_return_status => x_return_status,
204: AHL_PC_ASSOCIATION_PVT.DETACH_UNIT
205: (
206: p_api_version => l_api_version,
207: p_init_msg_list => FND_API.G_FALSE,
208: p_commit => FND_API.G_FALSE,
209: p_validation_level => p_validation_level,
210: p_x_assos_rec => p_x_assos_tbl(i),
211: x_return_status => x_return_status,
212: x_msg_count => x_msg_count,
226:
227: AHL_PC_ASSOCIATION_PVT.DETACH_ITEM
228: (
229: p_api_version => l_api_version,
230: p_init_msg_list => FND_API.G_FALSE,
231: p_commit => FND_API.G_FALSE,
232: p_validation_level => p_validation_level,
233: p_x_assos_rec => p_x_assos_tbl(i),
234: x_return_status => x_return_status,
227: AHL_PC_ASSOCIATION_PVT.DETACH_ITEM
228: (
229: p_api_version => l_api_version,
230: p_init_msg_list => FND_API.G_FALSE,
231: p_commit => FND_API.G_FALSE,
232: p_validation_level => p_validation_level,
233: p_x_assos_rec => p_x_assos_tbl(i),
234: x_return_status => x_return_status,
235: x_msg_count => x_msg_count,
242:
243: -- Check Error Message stack.
244: x_msg_count := FND_MSG_PUB.count_msg;
245: IF x_msg_count > 0 THEN
246: RAISE FND_API.G_EXC_ERROR;
247: END IF;
248:
249: -- Standard check for p_commit
250: IF FND_API.To_Boolean (p_commit)
246: RAISE FND_API.G_EXC_ERROR;
247: END IF;
248:
249: -- Standard check for p_commit
250: IF FND_API.To_Boolean (p_commit)
251: THEN
252: COMMIT WORK;
253: END IF;
254:
254:
255: -- Standard call to get message count and if count is 1, get message info
256: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
257: p_data => x_msg_data,
258: p_encoded => fnd_api.g_false );
259:
260: EXCEPTION
261: WHEN FND_API.G_EXC_ERROR THEN
262: x_return_status := FND_API.G_RET_STS_ERROR;
257: p_data => x_msg_data,
258: p_encoded => fnd_api.g_false );
259:
260: EXCEPTION
261: WHEN FND_API.G_EXC_ERROR THEN
262: x_return_status := FND_API.G_RET_STS_ERROR;
263: Rollback to PROCESS_ASSOCIATION_PUB;
264: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
265: p_data => x_msg_data,
258: p_encoded => fnd_api.g_false );
259:
260: EXCEPTION
261: WHEN FND_API.G_EXC_ERROR THEN
262: x_return_status := FND_API.G_RET_STS_ERROR;
263: Rollback to PROCESS_ASSOCIATION_PUB;
264: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
265: p_data => x_msg_data,
266: p_encoded => fnd_api.g_false );
262: x_return_status := FND_API.G_RET_STS_ERROR;
263: Rollback to PROCESS_ASSOCIATION_PUB;
264: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
265: p_data => x_msg_data,
266: p_encoded => fnd_api.g_false );
267:
268: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
269: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
270: Rollback to PROCESS_ASSOCIATION_PUB;
264: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
265: p_data => x_msg_data,
266: p_encoded => fnd_api.g_false );
267:
268: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
269: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
270: Rollback to PROCESS_ASSOCIATION_PUB;
271: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
272: p_data => x_msg_data,
265: p_data => x_msg_data,
266: p_encoded => fnd_api.g_false );
267:
268: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
269: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
270: Rollback to PROCESS_ASSOCIATION_PUB;
271: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
272: p_data => x_msg_data,
273: p_encoded => fnd_api.g_false );
269: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
270: Rollback to PROCESS_ASSOCIATION_PUB;
271: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
272: p_data => x_msg_data,
273: p_encoded => fnd_api.g_false );
274:
275: WHEN OTHERS THEN
276: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
277: Rollback to PROCESS_ASSOCIATION_PUB;
272: p_data => x_msg_data,
273: p_encoded => fnd_api.g_false );
274:
275: WHEN OTHERS THEN
276: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
277: Rollback to PROCESS_ASSOCIATION_PUB;
278: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
279: THEN
280: fnd_msg_pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
282: p_error_text => SUBSTR(SQLERRM,1,240) );
283: END IF;
284: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
285: p_data => x_msg_data,
286: p_encoded => fnd_api.g_false );
287:
288: END PROCESS_ASSOCIATIONS;
289:
290: PROCEDURE PROCESS_DOCUMENT (
288: END PROCESS_ASSOCIATIONS;
289:
290: PROCEDURE PROCESS_DOCUMENT (
291: p_api_version IN NUMBER,
292: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
293: p_commit IN VARCHAR2 := FND_API.G_FALSE,
294: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
295: p_module_type IN VARCHAR2 := NULL,
296: p_x_assos_tbl IN OUT NOCOPY AHL_DI_ASSO_DOC_GEN_PUB.association_tbl,
289:
290: PROCEDURE PROCESS_DOCUMENT (
291: p_api_version IN NUMBER,
292: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
293: p_commit IN VARCHAR2 := FND_API.G_FALSE,
294: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
295: p_module_type IN VARCHAR2 := NULL,
296: p_x_assos_tbl IN OUT NOCOPY AHL_DI_ASSO_DOC_GEN_PUB.association_tbl,
297: x_return_status OUT NOCOPY VARCHAR2,
290: PROCEDURE PROCESS_DOCUMENT (
291: p_api_version IN NUMBER,
292: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
293: p_commit IN VARCHAR2 := FND_API.G_FALSE,
294: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
295: p_module_type IN VARCHAR2 := NULL,
296: p_x_assos_tbl IN OUT NOCOPY AHL_DI_ASSO_DOC_GEN_PUB.association_tbl,
297: x_return_status OUT NOCOPY VARCHAR2,
298: x_msg_count OUT NOCOPY NUMBER,
308: -- Standard start of API savepoint
309: SAVEPOINT PROCESS_DOCUMENT_PUB;
310:
311: -- Standard call to check for call compatibility
312: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
313: THEN
314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315: END IF;
316:
310:
311: -- Standard call to check for call compatibility
312: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
313: THEN
314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315: END IF;
316:
317: -- Initialize message list if p_init_msg_list is set to TRUE
318: IF FND_API.To_Boolean(p_init_msg_list)
314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315: END IF;
316:
317: -- Initialize message list if p_init_msg_list is set to TRUE
318: IF FND_API.To_Boolean(p_init_msg_list)
319: THEN
320: FND_MSG_PUB.Initialize;
321: END IF;
322:
320: FND_MSG_PUB.Initialize;
321: END IF;
322:
323: -- Initialize API return status to success
324: x_return_status := FND_API.G_RET_STS_SUCCESS;
325:
326: IF G_DEBUG='Y' THEN
327: AHL_DEBUG_PUB.ENABLE_DEBUG;
328: END IF;
329:
330: AHL_PC_ASSOCIATION_PVT.PROCESS_DOCUMENT
331: (
332: p_api_version => l_api_version,
333: p_init_msg_list => FND_API.G_FALSE,
334: p_commit => FND_API.G_FALSE,
335: p_validation_level => p_validation_level,
336: p_module_type => p_module_type,
337: p_x_assos_tbl => p_x_assos_tbl,
330: AHL_PC_ASSOCIATION_PVT.PROCESS_DOCUMENT
331: (
332: p_api_version => l_api_version,
333: p_init_msg_list => FND_API.G_FALSE,
334: p_commit => FND_API.G_FALSE,
335: p_validation_level => p_validation_level,
336: p_module_type => p_module_type,
337: p_x_assos_tbl => p_x_assos_tbl,
338: x_return_status => x_return_status,
342:
343: -- Check Error Message stack.
344: x_msg_count := FND_MSG_PUB.count_msg;
345: IF x_msg_count > 0 THEN
346: RAISE FND_API.G_EXC_ERROR;
347: END IF;
348:
349: -- Standard check for p_commit
350: IF FND_API.To_Boolean (p_commit)
346: RAISE FND_API.G_EXC_ERROR;
347: END IF;
348:
349: -- Standard check for p_commit
350: IF FND_API.To_Boolean (p_commit)
351: THEN
352: COMMIT WORK;
353: END IF;
354:
354:
355: -- Standard call to get message count and if count is 1, get message info
356: FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
357: p_data => x_msg_data,
358: p_encoded => fnd_api.g_false );
359:
360: EXCEPTION
361: WHEN FND_API.G_EXC_ERROR THEN
362: x_return_status := FND_API.G_RET_STS_ERROR;
357: p_data => x_msg_data,
358: p_encoded => fnd_api.g_false );
359:
360: EXCEPTION
361: WHEN FND_API.G_EXC_ERROR THEN
362: x_return_status := FND_API.G_RET_STS_ERROR;
363: Rollback to PROCESS_DOCUMENT_PUB;
364: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
365: p_data => x_msg_data,
358: p_encoded => fnd_api.g_false );
359:
360: EXCEPTION
361: WHEN FND_API.G_EXC_ERROR THEN
362: x_return_status := FND_API.G_RET_STS_ERROR;
363: Rollback to PROCESS_DOCUMENT_PUB;
364: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
365: p_data => x_msg_data,
366: p_encoded => fnd_api.g_false );
362: x_return_status := FND_API.G_RET_STS_ERROR;
363: Rollback to PROCESS_DOCUMENT_PUB;
364: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
365: p_data => x_msg_data,
366: p_encoded => fnd_api.g_false );
367:
368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
369: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
370: Rollback to PROCESS_DOCUMENT_PUB;
364: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
365: p_data => x_msg_data,
366: p_encoded => fnd_api.g_false );
367:
368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
369: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
370: Rollback to PROCESS_DOCUMENT_PUB;
371: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
372: p_data => x_msg_data,
365: p_data => x_msg_data,
366: p_encoded => fnd_api.g_false );
367:
368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
369: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
370: Rollback to PROCESS_DOCUMENT_PUB;
371: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
372: p_data => x_msg_data,
373: p_encoded => fnd_api.g_false );
369: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
370: Rollback to PROCESS_DOCUMENT_PUB;
371: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
372: p_data => x_msg_data,
373: p_encoded => fnd_api.g_false );
374:
375: WHEN OTHERS THEN
376: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
377: Rollback to PROCESS_DOCUMENT_PUB;
372: p_data => x_msg_data,
373: p_encoded => fnd_api.g_false );
374:
375: WHEN OTHERS THEN
376: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
377: Rollback to PROCESS_DOCUMENT_PUB;
378: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
379: THEN
380: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
382: p_error_text => SUBSTR(SQLERRM, 1, 240));
383: END IF;
384: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
385: p_data => x_msg_data,
386: p_encoded => fnd_api.g_false );
387:
388: END PROCESS_DOCUMENT;
389:
390: END AHL_PC_ASSOCIATION_PUB;