481: END IF;
482:
483: --SALOGAN added the following for Complex Mx - Begin
484: --Launching workflow notification if the NR type is AHL_REMOVAL_NON_ROUTINE
485: IF(p_x_nonroutine_rec.type_id = fnd_profile.value('AHL_REMOVAL_NON_ROUTINE')) THEN
486: IF (G_DEBUG_STMT >= G_DEBUG_LEVEL) THEN
487: FND_LOG.string(G_DEBUG_STMT, l_debug_module,
488: 'before calling Launch_NR_Notification with arguments: '||
489: ' p_sr_incident_id > '||p_x_nonroutine_rec.incident_id);
2964: IS
2965: SELECT sr_incident_number
2966: FROM AHL_SR_NON_ROUTINES_V
2967: WHERE UE_CSI_INSTANCE_ID = c_instance_id
2968: AND nvl2(fnd_profile.VALUE('AHL_REMOVAL_NON_ROUTINE'), SR_INCIDENT_TYPE_ID, 1) = nvl(fnd_profile.VALUE('AHL_REMOVAL_NON_ROUTINE'),2)
2969: AND SR_INCIDENT_STATUS NOT IN ('Canceled', 'Cancelled by User', 'Closed');
2970:
2971: --Cursor to find duplicate Removal NR for same instance during update
2972: CURSOR upd_duplicate_removal_nr(c_instance_id IN NUMBER, c_sr_incident_id IN NUMBER)
2973: IS
2974: SELECT sr_incident_number
2975: FROM AHL_SR_NON_ROUTINES_V
2976: WHERE UE_CSI_INSTANCE_ID = c_instance_id
2977: AND nvl2(fnd_profile.VALUE('AHL_REMOVAL_NON_ROUTINE'), SR_INCIDENT_TYPE_ID, 1) = nvl(fnd_profile.VALUE('AHL_REMOVAL_NON_ROUTINE'),2)
2978: AND SR_INCIDENT_STATUS NOT IN ('Canceled', 'Cancelled by User', 'Closed')
2979: AND SR_INCIDENT_ID NOT IN (c_sr_incident_id);
2980: --SALOGAN added the following for Complex Mx - End
2981:
3033: FND_MSG_PUB.ADD;
3034: END;
3035: ELSIF (p_x_nonroutine_rec.type_id is null or p_x_nonroutine_rec.type_id = FND_API.G_MISS_NUM)
3036: THEN
3037: p_x_nonroutine_rec.type_id := fnd_profile.value('AHL_PRD_SR_TYPE');
3038:
3039: IF (p_x_nonroutine_rec.type_id is null or p_x_nonroutine_rec.type_id = FND_API.G_MISS_NUM)
3040: THEN
3041: FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_UMP_NR_TYPE_NULL');
3059: FND_MSG_PUB.ADD;
3060: END;
3061: ELSIF (p_x_nonroutine_rec.status_id is null or p_x_nonroutine_rec.status_id = FND_API.G_MISS_NUM)
3062: THEN
3063: p_x_nonroutine_rec.status_id := nvl(fnd_profile.value('AHL_PRD_SR_STATUS'), G_SR_OPEN_STATUS_ID);
3064: END IF;
3065:
3066: -- Validate and default SR severity
3067: IF (p_x_nonroutine_rec.severity_name is not null and p_x_nonroutine_rec.severity_name <> FND_API.G_MISS_CHAR)
3079: FND_MSG_PUB.ADD;
3080: END;
3081: ELSIF (p_x_nonroutine_rec.severity_id is null or p_x_nonroutine_rec.severity_id = FND_API.G_MISS_NUM)
3082: THEN
3083: p_x_nonroutine_rec.severity_id := fnd_profile.value('AHL_PRD_SR_SEVERITY');
3084:
3085: IF (p_x_nonroutine_rec.severity_id is null or p_x_nonroutine_rec.severity_id = FND_API.G_MISS_NUM)
3086: THEN
3087: FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_UMP_NR_SEVERITY_NULL');
3214: -- Bug # 6447467 -- start
3215: -- Check if resolution_code is not null. If resolution_code
3216: -- is null then return error message.
3217:
3218: IF ( nvl(fnd_profile.value('AHL_SR_RESL_CODE_COMP'), 'N') = 'Y') THEN
3219:
3220: IF ( p_x_nonroutine_rec.resolution_code IS NULL OR
3221: p_x_nonroutine_rec.resolution_code = FND_API.G_MISS_CHAR) THEN
3222:
3242: END IF;
3243:
3244: --SALOGAN added the following for Complex Mx - Begin
3245: -- Validate if the instance has duplicate Removal NR
3246: IF(p_x_nonroutine_rec.type_id = fnd_profile.value('AHL_REMOVAL_NON_ROUTINE')) THEN
3247: OPEN cr_duplicate_removal_nr(p_x_nonroutine_rec.instance_id);
3248: FETCH cr_duplicate_removal_nr into l_c_nr_num;
3249: IF(cr_duplicate_removal_nr%FOUND) THEN
3250: FND_MESSAGE.SET_NAME(G_APP_NAME,'AHL_CAM_DUP_REM_NR');
3302: -- Bug # 6447467 -- start
3303: -- Check if resolution_code is not null. If resolution_code
3304: -- is null then return error message.
3305:
3306: IF ( nvl(fnd_profile.value('AHL_SR_RESL_CODE_COMP'), 'N') = 'Y') THEN
3307:
3308: IF ( p_x_nonroutine_rec.resolution_code IS NULL OR
3309: p_x_nonroutine_rec.resolution_code = FND_API.G_MISS_CHAR) THEN
3310:
3323: END IF;
3324:
3325: --SALOGAN added the following for Complex Mx - Begin
3326: -- Validate if the instance has duplicate Removal NR
3327: IF(p_x_nonroutine_rec.type_id = fnd_profile.value('AHL_REMOVAL_NON_ROUTINE')) THEN
3328: OPEN upd_duplicate_removal_nr(p_x_nonroutine_rec.instance_id, p_x_nonroutine_rec.incident_id);
3329: FETCH upd_duplicate_removal_nr into l_c_nr_num;
3330: IF(upd_duplicate_removal_nr%FOUND) THEN
3331: FND_MESSAGE.SET_NAME(G_APP_NAME,'AHL_CAM_DUP_REM_NR');
3398: SELECT INCIDENT_TYPE_ID
3399: FROM cs_incident_types_vl
3400: where INCIDENT_SUBTYPE = 'INC'
3401: AND CMRO_FLAG = 'Y'
3402: AND incident_type_id=fnd_profile.value('AHL_MCL_M_AND_O_SR_TYPE')
3403: AND trunc(sysdate) between trunc(nvl(start_date_active,sysdate))
3404: AND trunc(nvl(end_date_active,sysdate));
3405:
3406: -- query m and o procedures.