174: END IF;
175:
176: IF p_x_mr_relation_rec.RELATED_MR_TITLE IS NULL OR p_x_mr_relation_rec.RELATED_MR_TITLE=FND_API.G_MISS_CHAR
177: THEN
178: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_TITLE_NULL');
179: FND_MSG_PUB.ADD;
180: check_flag:='N';
181: ELSE
182: check_flag:='Y';
203: SELECT TITLE INTO l_title
204: FROM AHL_MR_HEADERS_B
205: WHERE MR_HEADER_ID=p_x_mr_relation_rec.MR_HEADER_ID;
206:
207: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATED_TITLE_INVAL');
208: FND_MESSAGE.SET_TOKEN('FIELD',l_title,false);
209: FND_MESSAGE.SET_TOKEN('RECORD', p_x_mr_relation_rec.RELATED_MR_TITLE, false);
210: FND_MSG_PUB.ADD;
211: ELSE
204: FROM AHL_MR_HEADERS_B
205: WHERE MR_HEADER_ID=p_x_mr_relation_rec.MR_HEADER_ID;
206:
207: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATED_TITLE_INVAL');
208: FND_MESSAGE.SET_TOKEN('FIELD',l_title,false);
209: FND_MESSAGE.SET_TOKEN('RECORD', p_x_mr_relation_rec.RELATED_MR_TITLE, false);
210: FND_MSG_PUB.ADD;
211: ELSE
212: p_x_mr_relation_rec.related_mr_header_id:=l_rel_mr_header_id;
205: WHERE MR_HEADER_ID=p_x_mr_relation_rec.MR_HEADER_ID;
206:
207: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATED_TITLE_INVAL');
208: FND_MESSAGE.SET_TOKEN('FIELD',l_title,false);
209: FND_MESSAGE.SET_TOKEN('RECORD', p_x_mr_relation_rec.RELATED_MR_TITLE, false);
210: FND_MSG_PUB.ADD;
211: ELSE
212: p_x_mr_relation_rec.related_mr_header_id:=l_rel_mr_header_id;
213: END IF;
242: START WITH RELATED_MR_HEADER_ID=P_RELATED_MR_HEADER_ID
243: CONNECT BY PRIOR RELATED_MR_HEADER_ID=MR_HEADER_ID;
244: EXCEPTION
245: WHEN l_cyclic_loop THEN
246: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATION_CYCLIC');
247: FND_MESSAGE.SET_TOKEN('RECORD', P_RELATED_MR_TITLE ,false);
248: FND_MSG_PUB.ADD;
249: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
250: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
243: CONNECT BY PRIOR RELATED_MR_HEADER_ID=MR_HEADER_ID;
244: EXCEPTION
245: WHEN l_cyclic_loop THEN
246: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATION_CYCLIC');
247: FND_MESSAGE.SET_TOKEN('RECORD', P_RELATED_MR_TITLE ,false);
248: FND_MSG_PUB.ADD;
249: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
250: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
251: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
321: END IF;
322: IF p_mr_relation_rec.MR_HEADER_ID IS NULL or
323: p_mr_relation_rec.MR_HEADER_ID=FND_API.G_MISS_NUM
324: THEN
325: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_HEADER_ID_NULL');
326: FND_MSG_PUB.ADD;
327: ELSE
328: OPEN Check_mr_header_stat(p_mr_relation_rec.mr_header_id);
329: FETCH Check_mr_header_stat INTO l_head_rec;
336: AHL_DEBUG_PUB.debug( 'mr_Status_code'||l_head_rec.mr_status_code,'+DEBUG_RELATIONS+');
337: END IF;
338: l_mr_check_flag:='Y';
339: ELSE
340: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_INVALID_MR_STATUS');
341: FND_MSG_PUB.ADD;
342: IF G_DEBUG='Y' THEN
343: AHL_DEBUG_PUB.debug( 'mr_Status_code'||l_head_rec.mr_status_code,'+DEBUG_RELATIONS+');
344: END IF;
346: END IF;
347:
348: IF ltrim(rtrim(l_head_rec.title))=rtrim(ltrim(p_mr_relation_rec.RELATED_MR_TITLE))
349: THEN
350: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATION_CYCLIC');
351: FND_MESSAGE.SET_TOKEN('RECORD',rtrim(ltrim(p_mr_relation_rec.RELATED_MR_TITLE)),false);
352: FND_MSG_PUB.ADD;
353: l_mr_check_flag:='N';
354: END IF;
347:
348: IF ltrim(rtrim(l_head_rec.title))=rtrim(ltrim(p_mr_relation_rec.RELATED_MR_TITLE))
349: THEN
350: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATION_CYCLIC');
351: FND_MESSAGE.SET_TOKEN('RECORD',rtrim(ltrim(p_mr_relation_rec.RELATED_MR_TITLE)),false);
352: FND_MSG_PUB.ADD;
353: l_mr_check_flag:='N';
354: END IF;
355:
353: l_mr_check_flag:='N';
354: END IF;
355:
356: ELSE
357: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_EDIT_STATUS_INVALID');
358: FND_MSG_PUB.ADD;
359: l_mr_check_flag:='N';
360: END IF;
361: CLOSE Check_mr_header_stat;
367: THEN
368: IF p_mr_relation_rec.RELATED_MR_HEADER_ID IS NULL OR
369: p_mr_relation_rec.RELATED_MR_HEADER_ID=FND_API.G_MISS_NUM
370: THEN
371: FND_MESSAGE.SET_NAME('AHL','AHL_MR_HEADER_ID_NULL');
372: FND_MSG_PUB.ADD;
373: ELSE
374: OPEN Check_mr_header_stat(p_mr_relation_rec.RELATED_MR_HEADER_ID);
375: FETCH Check_mr_header_stat INTO l_rel_head_rec;
380:
381: IF l_head_rec.TYPE_CODE='PROGRAM' and
382: p_mr_relation_rec.relationship_code='PARENT'
383: THEN
384: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_PROGRM_RELCODE_INV');
385: FND_MESSAGE.SET_TOKEN('FIELD', l_head_rec.TITLE,false);
386: FND_MSG_PUB.ADD;
387: ELSIF l_head_rec.TYPE_CODE='ACTIVITY' and p_mr_relation_rec.relationship_code='CHILD'
388: THEN
381: IF l_head_rec.TYPE_CODE='PROGRAM' and
382: p_mr_relation_rec.relationship_code='PARENT'
383: THEN
384: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_PROGRM_RELCODE_INV');
385: FND_MESSAGE.SET_TOKEN('FIELD', l_head_rec.TITLE,false);
386: FND_MSG_PUB.ADD;
387: ELSIF l_head_rec.TYPE_CODE='ACTIVITY' and p_mr_relation_rec.relationship_code='CHILD'
388: THEN
389: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_ACTVTY_RELCODE_INV');
385: FND_MESSAGE.SET_TOKEN('FIELD', l_head_rec.TITLE,false);
386: FND_MSG_PUB.ADD;
387: ELSIF l_head_rec.TYPE_CODE='ACTIVITY' and p_mr_relation_rec.relationship_code='CHILD'
388: THEN
389: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_ACTVTY_RELCODE_INV');
390: FND_MESSAGE.SET_TOKEN('FIELD', l_head_rec.TITLE,false);
391: FND_MSG_PUB.ADD;
392: END IF;
393:
386: FND_MSG_PUB.ADD;
387: ELSIF l_head_rec.TYPE_CODE='ACTIVITY' and p_mr_relation_rec.relationship_code='CHILD'
388: THEN
389: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_ACTVTY_RELCODE_INV');
390: FND_MESSAGE.SET_TOKEN('FIELD', l_head_rec.TITLE,false);
391: FND_MSG_PUB.ADD;
392: END IF;
393:
394: IF l_head_rec.TYPE_CODE='PROGRAM' and l_rel_head_rec.TYPE_CODE='PROGRAM'
392: END IF;
393:
394: IF l_head_rec.TYPE_CODE='PROGRAM' and l_rel_head_rec.TYPE_CODE='PROGRAM'
395: THEN
396: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_PROG_2_PROG_INV');
397: FND_MESSAGE.SET_TOKEN('FIELD', p_mr_relation_rec.RELATED_MR_TITLE,false);
398: FND_MSG_PUB.ADD;
399: ELSIF l_head_rec.TYPE_CODE='ACTIVITY' and l_rel_head_rec.TYPE_CODE='ACTIVITY'
400: THEN
393:
394: IF l_head_rec.TYPE_CODE='PROGRAM' and l_rel_head_rec.TYPE_CODE='PROGRAM'
395: THEN
396: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_PROG_2_PROG_INV');
397: FND_MESSAGE.SET_TOKEN('FIELD', p_mr_relation_rec.RELATED_MR_TITLE,false);
398: FND_MSG_PUB.ADD;
399: ELSIF l_head_rec.TYPE_CODE='ACTIVITY' and l_rel_head_rec.TYPE_CODE='ACTIVITY'
400: THEN
401: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_ACTV_2_ACTV_INV');
397: FND_MESSAGE.SET_TOKEN('FIELD', p_mr_relation_rec.RELATED_MR_TITLE,false);
398: FND_MSG_PUB.ADD;
399: ELSIF l_head_rec.TYPE_CODE='ACTIVITY' and l_rel_head_rec.TYPE_CODE='ACTIVITY'
400: THEN
401: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_ACTV_2_ACTV_INV');
402: FND_MESSAGE.SET_TOKEN('FIELD', p_mr_relation_rec.RELATED_MR_TITLE,false);
403: FND_MSG_PUB.ADD;
404: END IF;
405: END IF;
398: FND_MSG_PUB.ADD;
399: ELSIF l_head_rec.TYPE_CODE='ACTIVITY' and l_rel_head_rec.TYPE_CODE='ACTIVITY'
400: THEN
401: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_PM_ACTV_2_ACTV_INV');
402: FND_MESSAGE.SET_TOKEN('FIELD', p_mr_relation_rec.RELATED_MR_TITLE,false);
403: FND_MSG_PUB.ADD;
404: END IF;
405: END IF;
406: END IF;
412: THEN
413: IF (p_mr_relation_rec.MR_RELATIONSHIP_ID IS NULL OR
414: p_mr_relation_rec.MR_RELATIONSHIP_ID=FND_API.G_MISS_NUM)
415: THEN
416: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATIONSHIPID_NULL');
417: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_relation_rec.RELATED_MR_TITLE,false);
418: FND_MSG_PUB.ADD;
419: END IF;
420:
413: IF (p_mr_relation_rec.MR_RELATIONSHIP_ID IS NULL OR
414: p_mr_relation_rec.MR_RELATIONSHIP_ID=FND_API.G_MISS_NUM)
415: THEN
416: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATIONSHIPID_NULL');
417: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_relation_rec.RELATED_MR_TITLE,false);
418: FND_MSG_PUB.ADD;
419: END IF;
420:
421: IF (p_mr_relation_rec.OBJECT_VERSION_NUMBER IS NULL OR
420:
421: IF (p_mr_relation_rec.OBJECT_VERSION_NUMBER IS NULL OR
422: p_mr_relation_rec.OBJECT_vERSION_NUMBER=FND_API.G_MISS_NUM)
423: THEN
424: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_REL_OBJ_VERSION_NULL');
425: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_relation_rec.RELATED_MR_TITLE,false);
426: FND_MSG_PUB.ADD;
427: END IF;
428: END IF;
421: IF (p_mr_relation_rec.OBJECT_VERSION_NUMBER IS NULL OR
422: p_mr_relation_rec.OBJECT_vERSION_NUMBER=FND_API.G_MISS_NUM)
423: THEN
424: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_REL_OBJ_VERSION_NULL');
425: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_relation_rec.RELATED_MR_TITLE,false);
426: FND_MSG_PUB.ADD;
427: END IF;
428: END IF;
429:
445: IF check_uniq%found
446: THEN
447: IF p_mr_relation_rec.dml_operation='C'
448: THEN
449: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATION_DUPLICATE');
450: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_relation_rec.RELATED_MR_TITLE, false);
451: FND_MSG_PUB.ADD;
452: ELSIF P_mr_relation_rec.dml_operation='U'
453: THEN
446: THEN
447: IF p_mr_relation_rec.dml_operation='C'
448: THEN
449: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATION_DUPLICATE');
450: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_relation_rec.RELATED_MR_TITLE, false);
451: FND_MSG_PUB.ADD;
452: ELSIF P_mr_relation_rec.dml_operation='U'
453: THEN
454: IF l_rel_rec.MR_RELATIONSHIP_ID<>p_mr_relation_rec.MR_RELATIONSHIP_ID
452: ELSIF P_mr_relation_rec.dml_operation='U'
453: THEN
454: IF l_rel_rec.MR_RELATIONSHIP_ID<>p_mr_relation_rec.MR_RELATIONSHIP_ID
455: THEN
456: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATION_DUPLICATE');
457: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_relation_rec.RELATED_MR_TITLE, false);
458: FND_MSG_PUB.ADD;
459: END IF;
460: END IF;
453: THEN
454: IF l_rel_rec.MR_RELATIONSHIP_ID<>p_mr_relation_rec.MR_RELATIONSHIP_ID
455: THEN
456: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_RELATION_DUPLICATE');
457: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_relation_rec.RELATED_MR_TITLE, false);
458: FND_MSG_PUB.ADD;
459: END IF;
460: END IF;
461: END IF;
466: OPEN check_mo_proc(p_mr_relation_rec.MR_HEADER_ID);
467: FETCH check_mo_proc INTO l_dummy_char;
468: IF (check_mo_proc%FOUND)
469: THEN
470: FND_MESSAGE.SET_NAME('AHL', 'AHL_FMP_MRL_MO_PROC');
471: -- Relationships are not available for a Maintenance Requirement of (M) and (0) procedure program type.
472: FND_MSG_PUB.ADD;
473: END IF;
474: -- Tamal [MEL/CDL] -- End changes
635: where MR_RELATIONSHIP_ID = p_x_mr_relation_tbl(i).MR_RELATIONSHIP_ID
636: and OBJECT_VERSION_NUMBER=p_x_mr_relation_tbl(i).OBJECT_VERSION_NUMBER;
637:
638: if sql%rowcount=0 then
639: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_RECORD_CHANGED');
640: FND_MESSAGE.SET_TOKEN('FIELD',p_x_mr_relation_tbl(i).related_mr_title,false);
641: FND_MSG_PUB.ADD;
642: end if;
643: ELSIF p_x_mr_relation_tbl(i).DML_operation='U'
636: and OBJECT_VERSION_NUMBER=p_x_mr_relation_tbl(i).OBJECT_VERSION_NUMBER;
637:
638: if sql%rowcount=0 then
639: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_RECORD_CHANGED');
640: FND_MESSAGE.SET_TOKEN('FIELD',p_x_mr_relation_tbl(i).related_mr_title,false);
641: FND_MSG_PUB.ADD;
642: end if;
643: ELSIF p_x_mr_relation_tbl(i).DML_operation='U'
644: then
674: where MR_RELATIONSHIP_ID = p_x_mr_relation_tbl(i).MR_RELATIONSHIP_ID
675: and OBJECT_VERSION_NUMBER=p_x_mr_relation_tbl(i).OBJECT_VERSION_NUMBER;
676:
677: if sql%rowcount=0 then
678: FND_MESSAGE.SET_NAME('AHL','AHL_COM_RECORD_CHANGED');
679: FND_MSG_PUB.ADD;
680: end if;
681: END IF;
682: