61:
62: PROCEDURE Process_Doc_Association
63: (
64: p_api_version IN NUMBER := 1.0,
65: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
66: p_commit IN VARCHAR2 := FND_API.G_FALSE,
67: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
68: p_validate_only IN VARCHAR2 := FND_API.G_TRUE,
69: p_default IN VARCHAR2 := FND_API.G_FALSE,
62: PROCEDURE Process_Doc_Association
63: (
64: p_api_version IN NUMBER := 1.0,
65: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
66: p_commit IN VARCHAR2 := FND_API.G_FALSE,
67: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
68: p_validate_only IN VARCHAR2 := FND_API.G_TRUE,
69: p_default IN VARCHAR2 := FND_API.G_FALSE,
70: p_module_type IN VARCHAR2,
63: (
64: p_api_version IN NUMBER := 1.0,
65: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
66: p_commit IN VARCHAR2 := FND_API.G_FALSE,
67: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
68: p_validate_only IN VARCHAR2 := FND_API.G_TRUE,
69: p_default IN VARCHAR2 := FND_API.G_FALSE,
70: p_module_type IN VARCHAR2,
71: x_return_status OUT NOCOPY VARCHAR2,
64: p_api_version IN NUMBER := 1.0,
65: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
66: p_commit IN VARCHAR2 := FND_API.G_FALSE,
67: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
68: p_validate_only IN VARCHAR2 := FND_API.G_TRUE,
69: p_default IN VARCHAR2 := FND_API.G_FALSE,
70: p_module_type IN VARCHAR2,
71: x_return_status OUT NOCOPY VARCHAR2,
72: x_msg_count OUT NOCOPY NUMBER,
65: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
66: p_commit IN VARCHAR2 := FND_API.G_FALSE,
67: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
68: p_validate_only IN VARCHAR2 := FND_API.G_TRUE,
69: p_default IN VARCHAR2 := FND_API.G_FALSE,
70: p_module_type IN VARCHAR2,
71: x_return_status OUT NOCOPY VARCHAR2,
72: x_msg_count OUT NOCOPY NUMBER,
73: x_msg_data OUT NOCOPY VARCHAR2,
98: );
99: END IF;
100:
101: -- Initialize API return status to success
102: x_return_status:=FND_API.G_RET_STS_SUCCESS ;
103:
104: -- Standard Start of API savepoint
105: SAVEPOINT process_association_pvt;
106:
104: -- Standard Start of API savepoint
105: SAVEPOINT process_association_pvt;
106:
107: -- Standard call to check for call compatibility.
108: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
109: p_api_version,
110: l_api_name,G_PKG_NAME)
111: THEN
112: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
108: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
109: p_api_version,
110: l_api_name,G_PKG_NAME)
111: THEN
112: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
113: END IF;
114:
115: -- Initialize message list if p_init_msg_list is set to TRUE.
116: IF FND_API.to_boolean(p_init_msg_list)
112: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
113: END IF;
114:
115: -- Initialize message list if p_init_msg_list is set to TRUE.
116: IF FND_API.to_boolean(p_init_msg_list)
117: THEN
118: FND_MSG_PUB.initialize;
119: END IF;
120:
130: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
131: 'Error -- Application usage code is null'
132: );
133: END IF;
134: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
135: END IF;
136:
137: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
138: fnd_log.string
153: p_lookup_type => 'AHL_OBJECT_TYPE',
154: p_lookup_meaning => p_x_association_tbl(i).object_type_desc,
155: p_x_lookup_code => p_x_association_tbl(i).object_type_code
156: );
157: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
158: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
159: fnd_log.string
160: (
161: fnd_log.level_statement,
162: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
163: 'Error -- Invalid lookup specified'
164: );
165: END IF;
166: RAISE FND_API.G_EXC_ERROR;
167: END IF;
168:
169: IF p_x_association_tbl(i).mr_header_id IS NULL THEN
170: -- Function to convert mr_title,mr_version_number to id
173: p_mr_version_number => p_x_association_tbl(i).mr_version_number,
174: x_mr_header_id => p_x_association_tbl(i).mr_header_id,
175: x_return_status => x_return_status
176: );
177: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
178: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level)THEN
179: fnd_log.string
180: (
181: fnd_log.level_error,
182: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
183: 'Invalid MR Title, Version Number provided'
184: );
185: END IF;
186: RAISE FND_API.G_EXC_ERROR;
187: END IF;
188: END IF;
189:
190: --App usage code related code
188: END IF;
189:
190: --App usage code related code
191: IF p_x_association_tbl(i).mr_header_id IS NOT NULL OR
192: p_x_association_tbl(i).mr_header_id <> FND_API.G_MISS_NUM
193: THEN
194: OPEN mr_details_csr_type(p_x_association_tbl(i).mr_header_id);
195:
196: FETCH mr_details_csr_type into l_mr_rec;
206: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
207: 'Invalid MR Info..'
208: );
209: END IF;
210: RAISE FND_API.G_EXC_ERROR;
211: ELSE
212: -- Preventive Maintenance Code
213: IF G_APPLN_USAGE='PM'
214: THEN
224: 'Application usage code PM is invalid for MR with program type'||
225: l_mr_rec.type_code
226: );
227: END IF;
228: RAISE FND_API.G_EXC_ERROR;
229: END IF;
230: END IF;
231: END IF;
232: CLOSE mr_details_csr_type;
264: AHL_DI_ASSO_DOC_GEN_PUB.PROCESS_ASSOCIATION
265: (
266: p_api_version => p_api_version ,
267: p_init_msg_list => p_init_msg_list ,
268: p_commit => FND_API.G_FALSE ,
269: p_validation_level => p_validation_level ,
270: p_validate_only => p_validate_only ,
271: p_module_type => p_module_type ,
272: x_return_status => x_return_status ,
284: );
285: END IF;
286:
287: -- If any severe error occurs, then, abort API.
288: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
289: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
290: fnd_log.string
291: (
292: fnd_log.level_statement,
293: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
294: 'Invalid MR Title, Version Number provided'
295: );
296: END IF;
297: RAISE FND_API.G_EXC_ERROR;
298: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
299: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
300: fnd_log.string
301: (
294: 'Invalid MR Title, Version Number provided'
295: );
296: END IF;
297: RAISE FND_API.G_EXC_ERROR;
298: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
299: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
300: fnd_log.string
301: (
302: fnd_log.level_statement,
303: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
304: 'Invalid MR Title, Version Number provided'
305: );
306: END IF;
307: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
308: END IF;
309:
310: -- Standard check for p_commit
311: IF FND_API.To_Boolean (p_commit)
307: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
308: END IF;
309:
310: -- Standard check for p_commit
311: IF FND_API.To_Boolean (p_commit)
312: THEN
313: COMMIT;
314: END IF;
315:
322: );
323: END IF;
324:
325: EXCEPTION
326: WHEN FND_API.G_EXC_ERROR THEN
327: x_return_status := FND_API.G_RET_STS_ERROR;
328: Rollback to process_association_pvt;
329: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
330: p_data => x_msg_data,
323: END IF;
324:
325: EXCEPTION
326: WHEN FND_API.G_EXC_ERROR THEN
327: x_return_status := FND_API.G_RET_STS_ERROR;
328: Rollback to process_association_pvt;
329: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
330: p_data => x_msg_data,
331: p_encoded => fnd_api.g_false);
327: x_return_status := FND_API.G_RET_STS_ERROR;
328: Rollback to process_association_pvt;
329: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
330: p_data => x_msg_data,
331: p_encoded => fnd_api.g_false);
332: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
333: fnd_log.string
334: (
335: fnd_log.level_statement,
333: fnd_log.string
334: (
335: fnd_log.level_statement,
336: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
337: 'FND_API.G_EXC_ERROR!!'
338: );
339: END IF;
340:
341:
338: );
339: END IF;
340:
341:
342: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
343: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
344: Rollback to process_association_pvt;
345: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
346: p_data => x_msg_data,
339: END IF;
340:
341:
342: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
343: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
344: Rollback to process_association_pvt;
345: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
346: p_data => x_msg_data,
347: p_encoded => fnd_api.g_false);
343: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
344: Rollback to process_association_pvt;
345: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
346: p_data => x_msg_data,
347: p_encoded => fnd_api.g_false);
348: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
349: fnd_log.string
350: (
351: fnd_log.level_statement,
349: fnd_log.string
350: (
351: fnd_log.level_statement,
352: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
353: 'FND_API.G_EXC_UNEXPECTED_ERROR!!'
354: );
355: END IF;
356:
357: WHEN OTHERS THEN
354: );
355: END IF;
356:
357: WHEN OTHERS THEN
358: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
359: Rollback to process_association_pvt;
360: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
361: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
362: p_procedure_name => 'Process_Doc_Association',
363: p_error_text => SQLERRM);
364: END IF;
365: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
366: p_data => x_msg_data,
367: p_encoded => fnd_api.g_false);
368: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
369: fnd_log.string
370: (
371: fnd_log.level_statement,