46: AND SYSDATE BETWEEN NVL( start_date_active, SYSDATE ) AND
47: NVL( end_date_active, SYSDATE );
48:
49: BEGIN
50: x_return_status := FND_API.G_RET_STS_SUCCESS;
51:
52: IF ( p_lookup_type IS NULL OR
53: p_lookup_type = FND_API.G_MISS_CHAR ) THEN
54: x_return_status := FND_API.G_RET_STS_ERROR;
49: BEGIN
50: x_return_status := FND_API.G_RET_STS_SUCCESS;
51:
52: IF ( p_lookup_type IS NULL OR
53: p_lookup_type = FND_API.G_MISS_CHAR ) THEN
54: x_return_status := FND_API.G_RET_STS_ERROR;
55: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
56: RETURN;
57: END IF;
50: x_return_status := FND_API.G_RET_STS_SUCCESS;
51:
52: IF ( p_lookup_type IS NULL OR
53: p_lookup_type = FND_API.G_MISS_CHAR ) THEN
54: x_return_status := FND_API.G_RET_STS_ERROR;
55: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
56: RETURN;
57: END IF;
58:
56: RETURN;
57: END IF;
58:
59: IF ( ( p_lookup_meaning IS NULL OR
60: p_lookup_meaning = FND_API.G_MISS_CHAR ) AND
61: ( p_x_lookup_code IS NULL OR
62: p_x_lookup_code = FND_API.G_MISS_CHAR ) ) THEN
63: x_return_status := FND_API.G_RET_STS_ERROR;
64: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
58:
59: IF ( ( p_lookup_meaning IS NULL OR
60: p_lookup_meaning = FND_API.G_MISS_CHAR ) AND
61: ( p_x_lookup_code IS NULL OR
62: p_x_lookup_code = FND_API.G_MISS_CHAR ) ) THEN
63: x_return_status := FND_API.G_RET_STS_ERROR;
64: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
65: RETURN;
66: END IF;
59: IF ( ( p_lookup_meaning IS NULL OR
60: p_lookup_meaning = FND_API.G_MISS_CHAR ) AND
61: ( p_x_lookup_code IS NULL OR
62: p_x_lookup_code = FND_API.G_MISS_CHAR ) ) THEN
63: x_return_status := FND_API.G_RET_STS_ERROR;
64: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
65: RETURN;
66: END IF;
67:
65: RETURN;
66: END IF;
67:
68: IF ( ( p_lookup_meaning IS NULL OR
69: p_lookup_meaning = FND_API.G_MISS_CHAR ) AND
70: ( p_x_lookup_code IS NOT NULL AND
71: p_x_lookup_code <> FND_API.G_MISS_CHAR ) ) THEN
72:
73: OPEN get_rec_from_id( p_lookup_type, p_x_lookup_code );
67:
68: IF ( ( p_lookup_meaning IS NULL OR
69: p_lookup_meaning = FND_API.G_MISS_CHAR ) AND
70: ( p_x_lookup_code IS NOT NULL AND
71: p_x_lookup_code <> FND_API.G_MISS_CHAR ) ) THEN
72:
73: OPEN get_rec_from_id( p_lookup_type, p_x_lookup_code );
74:
75: FETCH get_rec_from_id INTO
75: FETCH get_rec_from_id INTO
76: l_lookup_code;
77:
78: IF get_rec_from_id%NOTFOUND THEN
79: x_return_status := FND_API.G_RET_STS_ERROR;
80: x_msg_data := 'AHL_COM_INVALID_LOOKUP';
81: END IF;
82:
83: CLOSE get_rec_from_id;
85:
86: END IF;
87:
88: IF ( p_lookup_meaning IS NOT NULL AND
89: p_lookup_meaning <> FND_API.G_MISS_CHAR ) THEN
90:
91: OPEN get_rec_from_value( p_lookup_type, p_lookup_meaning );
92:
93: LOOP
103:
104: END LOOP;
105:
106: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
107: x_return_status := FND_API.G_RET_STS_ERROR;
108: x_msg_data := 'AHL_COM_INVALID_LOOKUP';
109: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
110: p_x_lookup_code := l_lookup_code;
111: ELSE
108: x_msg_data := 'AHL_COM_INVALID_LOOKUP';
109: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
110: p_x_lookup_code := l_lookup_code;
111: ELSE
112: x_return_status := FND_API.G_RET_STS_ERROR;
113: x_msg_data := 'AHL_COM_TOO_MANY_LOOKUPS';
114: END IF;
115:
116: CLOSE get_rec_from_value;
167: AND MI.enabled_flag = 'Y'
168: AND SYSDATE BETWEEN NVL( MI.start_date_active, SYSDATE )
169: AND NVL( MI.end_date_active, SYSDATE );
170: l_item_rec1 get_rec_from_id%rowtype;
171: l_rec_found VARCHAR2(1):=FND_API.G_FALSE;
172: L_REC_COUNT NUMBER:=0;
173: BEGIN
174: x_return_status := FND_API.G_RET_STS_SUCCESS;
175:
170: l_item_rec1 get_rec_from_id%rowtype;
171: l_rec_found VARCHAR2(1):=FND_API.G_FALSE;
172: L_REC_COUNT NUMBER:=0;
173: BEGIN
174: x_return_status := FND_API.G_RET_STS_SUCCESS;
175:
176: IF ( ( p_item_number IS NULL OR
177: p_item_number = FND_API.G_MISS_CHAR ) AND
178: ( p_x_inventory_item_id IS NULL OR
173: BEGIN
174: x_return_status := FND_API.G_RET_STS_SUCCESS;
175:
176: IF ( ( p_item_number IS NULL OR
177: p_item_number = FND_API.G_MISS_CHAR ) AND
178: ( p_x_inventory_item_id IS NULL OR
179: p_x_inventory_item_id = FND_API.G_MISS_NUM ) ) THEN
180: x_return_status := FND_API.G_RET_STS_ERROR;
181: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
175:
176: IF ( ( p_item_number IS NULL OR
177: p_item_number = FND_API.G_MISS_CHAR ) AND
178: ( p_x_inventory_item_id IS NULL OR
179: p_x_inventory_item_id = FND_API.G_MISS_NUM ) ) THEN
180: x_return_status := FND_API.G_RET_STS_ERROR;
181: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
182: RETURN;
183: END IF;
176: IF ( ( p_item_number IS NULL OR
177: p_item_number = FND_API.G_MISS_CHAR ) AND
178: ( p_x_inventory_item_id IS NULL OR
179: p_x_inventory_item_id = FND_API.G_MISS_NUM ) ) THEN
180: x_return_status := FND_API.G_RET_STS_ERROR;
181: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
182: RETURN;
183: END IF;
184:
182: RETURN;
183: END IF;
184:
185: IF ( ( p_item_number IS NULL OR
186: p_item_number = FND_API.G_MISS_CHAR ) AND
187: ( p_x_inventory_item_id IS NOT NULL AND
188: p_x_inventory_item_id <> FND_API.G_MISS_NUM ) )
189: THEN
190: OPEN get_rec_from_id( p_x_inventory_item_id );
184:
185: IF ( ( p_item_number IS NULL OR
186: p_item_number = FND_API.G_MISS_CHAR ) AND
187: ( p_x_inventory_item_id IS NOT NULL AND
188: p_x_inventory_item_id <> FND_API.G_MISS_NUM ) )
189: THEN
190: OPEN get_rec_from_id( p_x_inventory_item_id );
191: LOOP
192: FETCH get_rec_from_id INTO l_item_rec1;
201: l_item_rec1.wip_supply_type=1 and
202: l_item_rec1.eam_item_type=3 and
203: l_item_rec1.comms_nl_trackable_flag='Y'
204: THEN
205: l_rec_found:=FND_API.G_TRUE;
206: END IF;
207: ELSIF G_APPLN_USAGE='PM'
208: THEN
209: IF l_item_rec1.comms_nl_trackable_flag='Y' and
208: THEN
209: IF l_item_rec1.comms_nl_trackable_flag='Y' and
210: l_item_rec1.serv_req_enabled_code='E'
211: THEN
212: l_rec_found:=FND_API.G_TRUE;
213: END IF;
214: END IF;
215: EXIT WHEN l_rec_found=FND_API.G_TRUE;
216: END LOOP;
211: THEN
212: l_rec_found:=FND_API.G_TRUE;
213: END IF;
214: END IF;
215: EXIT WHEN l_rec_found=FND_API.G_TRUE;
216: END LOOP;
217: CLOSE get_rec_from_id;
218:
219: IF L_REC_COUNT=0
217: CLOSE get_rec_from_id;
218:
219: IF L_REC_COUNT=0
220: THEN
221: x_return_status := FND_API.G_RET_STS_ERROR;
222: x_msg_data := 'AHL_FMP_INVALID_ITEM';
223: RETURN;
224: END IF;
225:
222: x_msg_data := 'AHL_FMP_INVALID_ITEM';
223: RETURN;
224: END IF;
225:
226: IF l_rec_found=FND_API.G_FALSE
227: THEN
228: x_return_status := FND_API.G_RET_STS_ERROR;
229: x_msg_data := 'AHL_FMP_NOT_JOB_ITEM';
230: END IF;
224: END IF;
225:
226: IF l_rec_found=FND_API.G_FALSE
227: THEN
228: x_return_status := FND_API.G_RET_STS_ERROR;
229: x_msg_data := 'AHL_FMP_NOT_JOB_ITEM';
230: END IF;
231: RETURN;
232:
230: END IF;
231: RETURN;
232:
233: ELSIF p_item_number IS NOT NULL AND
234: p_item_number <> FND_API.G_MISS_CHAR
235: THEN
236: L_REC_COUNT:=0;
237: OPEN get_rec_from_value( p_item_number );
238: LOOP
250: l_item_rec2.wip_supply_type=1 and
251: l_item_rec2.eam_item_type=3 and
252: l_item_rec2.comms_nl_trackable_flag='Y'
253: THEN
254: l_rec_found:=FND_API.G_TRUE;
255: END IF;
256: ELSIF G_APPLN_USAGE='PM' -- PM MODE
257: THEN
258: IF l_item_rec2.comms_nl_trackable_flag='Y' and
257: THEN
258: IF l_item_rec2.comms_nl_trackable_flag='Y' and
259: l_item_rec2.serv_req_enabled_code='E'
260: THEN
261: l_rec_found:=FND_API.G_TRUE;
262: END IF;
263: END IF;
264:
265: END LOOP;
267: CLOSE get_rec_from_value;
268:
269: IF L_REC_COUNT=0
270: THEN
271: x_return_status := FND_API.G_RET_STS_ERROR;
272: x_msg_data := 'AHL_FMP_INVALID_ITEM';
273: RETURN;
274: END IF;
275:
272: x_msg_data := 'AHL_FMP_INVALID_ITEM';
273: RETURN;
274: END IF;
275:
276: IF l_rec_found=FND_API.G_FALSE
277: THEN
278: x_return_status := FND_API.G_RET_STS_ERROR;
279: x_msg_data := 'AHL_FMP_NOT_JOB_ITEM';
280: END IF;
274: END IF;
275:
276: IF l_rec_found=FND_API.G_FALSE
277: THEN
278: x_return_status := FND_API.G_RET_STS_ERROR;
279: x_msg_data := 'AHL_FMP_NOT_JOB_ITEM';
280: END IF;
281:
282: RETURN;
311: FROM AHL_PC_NODES_B
312: WHERE pc_node_id = c_pc_node_id;
313:
314: BEGIN
315: x_return_status := FND_API.G_RET_STS_SUCCESS;
316:
317: IF ( ( p_pc_node_name IS NULL OR
318: p_pc_node_name = FND_API.G_MISS_CHAR ) AND
319: ( p_x_pc_node_id IS NULL OR
314: BEGIN
315: x_return_status := FND_API.G_RET_STS_SUCCESS;
316:
317: IF ( ( p_pc_node_name IS NULL OR
318: p_pc_node_name = FND_API.G_MISS_CHAR ) AND
319: ( p_x_pc_node_id IS NULL OR
320: p_x_pc_node_id = FND_API.G_MISS_NUM ) ) THEN
321: x_return_status := FND_API.G_RET_STS_ERROR;
322: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
316:
317: IF ( ( p_pc_node_name IS NULL OR
318: p_pc_node_name = FND_API.G_MISS_CHAR ) AND
319: ( p_x_pc_node_id IS NULL OR
320: p_x_pc_node_id = FND_API.G_MISS_NUM ) ) THEN
321: x_return_status := FND_API.G_RET_STS_ERROR;
322: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
323: RETURN;
324: END IF;
317: IF ( ( p_pc_node_name IS NULL OR
318: p_pc_node_name = FND_API.G_MISS_CHAR ) AND
319: ( p_x_pc_node_id IS NULL OR
320: p_x_pc_node_id = FND_API.G_MISS_NUM ) ) THEN
321: x_return_status := FND_API.G_RET_STS_ERROR;
322: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
323: RETURN;
324: END IF;
325:
323: RETURN;
324: END IF;
325:
326: IF ( ( p_pc_node_name IS NULL OR
327: p_pc_node_name = FND_API.G_MISS_CHAR ) AND
328: ( p_x_pc_node_id IS NOT NULL AND
329: p_x_pc_node_id <> FND_API.G_MISS_NUM ) ) THEN
330:
331: OPEN get_rec_from_id( p_x_pc_node_id );
325:
326: IF ( ( p_pc_node_name IS NULL OR
327: p_pc_node_name = FND_API.G_MISS_CHAR ) AND
328: ( p_x_pc_node_id IS NOT NULL AND
329: p_x_pc_node_id <> FND_API.G_MISS_NUM ) ) THEN
330:
331: OPEN get_rec_from_id( p_x_pc_node_id );
332:
333: FETCH get_rec_from_id INTO
333: FETCH get_rec_from_id INTO
334: l_pc_node_id;
335:
336: IF get_rec_from_id%NOTFOUND THEN
337: x_return_status := FND_API.G_RET_STS_ERROR;
338: x_msg_data := 'AHL_FMP_INVALID_PC_NODE';
339: END IF;
340:
341: CLOSE get_rec_from_id;
343:
344: END IF;
345:
346: IF ( p_pc_node_name IS NOT NULL AND
347: p_pc_node_name <> FND_API.G_MISS_CHAR ) THEN
348:
349: OPEN get_rec_from_value( p_pc_node_name );
350:
351: LOOP
361:
362: END LOOP;
363:
364: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
365: x_return_status := FND_API.G_RET_STS_ERROR;
366: x_msg_data := 'AHL_FMP_INVALID_PC_NODE';
367: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
368: p_x_pc_node_id := l_pc_node_id;
369: ELSE
366: x_msg_data := 'AHL_FMP_INVALID_PC_NODE';
367: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
368: p_x_pc_node_id := l_pc_node_id;
369: ELSE
370: x_return_status := FND_API.G_RET_STS_ERROR;
371: x_msg_data := 'AHL_FMP_TOO_MANY_PC_NODES';
372: END IF;
373:
374: CLOSE get_rec_from_value;
438: AND trunc(sysdate) < trunc(nvl(active_end_date,sysdate+1));
439:
440:
441: BEGIN
442: x_return_status := FND_API.G_RET_STS_SUCCESS;
443:
444: IF ( ( p_position_ref_meaning IS NULL OR
445: p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
446: ( p_x_relationship_id IS NULL OR
441: BEGIN
442: x_return_status := FND_API.G_RET_STS_SUCCESS;
443:
444: IF ( ( p_position_ref_meaning IS NULL OR
445: p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
446: ( p_x_relationship_id IS NULL OR
447: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
448: x_return_status := FND_API.G_RET_STS_ERROR;
449: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
443:
444: IF ( ( p_position_ref_meaning IS NULL OR
445: p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
446: ( p_x_relationship_id IS NULL OR
447: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
448: x_return_status := FND_API.G_RET_STS_ERROR;
449: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
450: RETURN;
451: END IF;
444: IF ( ( p_position_ref_meaning IS NULL OR
445: p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
446: ( p_x_relationship_id IS NULL OR
447: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
448: x_return_status := FND_API.G_RET_STS_ERROR;
449: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
450: RETURN;
451: END IF;
452:
450: RETURN;
451: END IF;
452:
453: IF ( --( p_position_ref_meaning IS NULL OR
454: --p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
455: ( p_x_relationship_id IS NOT NULL AND
456: p_x_relationship_id <> FND_API.G_MISS_NUM ) ) THEN
457:
458: FOR relationship_rec IN get_rec_from_id( p_x_relationship_id ) LOOP
452:
453: IF ( --( p_position_ref_meaning IS NULL OR
454: --p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
455: ( p_x_relationship_id IS NOT NULL AND
456: p_x_relationship_id <> FND_API.G_MISS_NUM ) ) THEN
457:
458: FOR relationship_rec IN get_rec_from_id( p_x_relationship_id ) LOOP
459:
460: -- Check if position is valid.
460: -- Check if position is valid.
461: OPEN check_reln_valid_csr(relationship_rec.relationship_id);
462: FETCH check_reln_valid_csr INTO l_junk;
463: IF (check_reln_valid_csr%NOTFOUND) THEN
464: x_return_status := FND_API.G_RET_STS_ERROR;
465: x_msg_data := 'AHL_FMP_INVALID_MC_POS_STATUS';
466: CLOSE check_reln_valid_csr;
467:
468: ELSE
466: CLOSE check_reln_valid_csr;
467:
468: ELSE
469: IF (p_position_ref_meaning IS NOT NULL AND
470: p_position_ref_meaning <> FND_API.G_MISS_CHAR ) THEN
471:
472: l_posn_meaning := AHL_MC_PATH_POSITION_PVT.GET_POSREF_BY_ID(relationship_rec.relationship_id);
473: IF (l_posn_meaning <> p_position_ref_meaning) THEN
474: x_return_status := FND_API.G_RET_STS_ERROR;
470: p_position_ref_meaning <> FND_API.G_MISS_CHAR ) THEN
471:
472: l_posn_meaning := AHL_MC_PATH_POSITION_PVT.GET_POSREF_BY_ID(relationship_rec.relationship_id);
473: IF (l_posn_meaning <> p_position_ref_meaning) THEN
474: x_return_status := FND_API.G_RET_STS_ERROR;
475: x_msg_data := 'AHL_FMP_INVALID_MC_POS_MEANING';
476: ELSE
477: -- exit when at least one valid relationship found.
478: l_valid_rec_found := TRUE;
487:
488: END LOOP;
489:
490: IF NOT(l_valid_rec_found) THEN
491: x_return_status := FND_API.G_RET_STS_ERROR;
492: x_msg_data := 'AHL_FMP_INVALID_MC_POSITION';
493:
494: END IF;
495:
497:
498: END IF;
499:
500: IF ( p_position_ref_meaning IS NOT NULL AND
501: p_position_ref_meaning <> FND_API.G_MISS_CHAR ) THEN
502:
503: x_return_status := FND_API.G_RET_STS_ERROR;
504: x_msg_data := 'AHL_FMP_TOO_MANY_MC_POSITIONS';
505:
499:
500: IF ( p_position_ref_meaning IS NOT NULL AND
501: p_position_ref_meaning <> FND_API.G_MISS_CHAR ) THEN
502:
503: x_return_status := FND_API.G_RET_STS_ERROR;
504: x_msg_data := 'AHL_FMP_TOO_MANY_MC_POSITIONS';
505:
506: RETURN;
507: END IF;
541: WHERE mc_header_id = c_mc_header_id AND
542: config_status_code = 'COMPLETE';*/
543:
544: BEGIN
545: x_return_status := FND_API.G_RET_STS_SUCCESS;
546:
547: --If position meaning and path_position_id is null then throw 'invalid procedure call' error.
548:
549: IF ( ( p_position_ref_meaning IS NULL OR
546:
547: --If position meaning and path_position_id is null then throw 'invalid procedure call' error.
548:
549: IF ( ( p_position_ref_meaning IS NULL OR
550: p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
551: ( p_x_relationship_id IS NULL OR
552: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
553: x_return_status := FND_API.G_RET_STS_ERROR;
554: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
548:
549: IF ( ( p_position_ref_meaning IS NULL OR
550: p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
551: ( p_x_relationship_id IS NULL OR
552: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
553: x_return_status := FND_API.G_RET_STS_ERROR;
554: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
555: RETURN;
556: END IF;
549: IF ( ( p_position_ref_meaning IS NULL OR
550: p_position_ref_meaning = FND_API.G_MISS_CHAR ) AND
551: ( p_x_relationship_id IS NULL OR
552: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
553: x_return_status := FND_API.G_RET_STS_ERROR;
554: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
555: RETURN;
556: END IF;
557:
556: END IF;
557:
558: --If position meaning is not null but path_position_id is null, then throw error asking user to pick position from LOV.
559: IF ( ( p_position_ref_meaning IS NOT NULL AND
560: p_position_ref_meaning <> FND_API.G_MISS_CHAR ) AND
561: ( p_x_relationship_id IS NULL OR
562: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
563: x_return_status := FND_API.G_RET_STS_ERROR;
564: x_msg_data := 'AHL_FMP_TOO_MANY_MC_POSITIONS';
558: --If position meaning is not null but path_position_id is null, then throw error asking user to pick position from LOV.
559: IF ( ( p_position_ref_meaning IS NOT NULL AND
560: p_position_ref_meaning <> FND_API.G_MISS_CHAR ) AND
561: ( p_x_relationship_id IS NULL OR
562: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
563: x_return_status := FND_API.G_RET_STS_ERROR;
564: x_msg_data := 'AHL_FMP_TOO_MANY_MC_POSITIONS';
565: RETURN;
566: END IF;
559: IF ( ( p_position_ref_meaning IS NOT NULL AND
560: p_position_ref_meaning <> FND_API.G_MISS_CHAR ) AND
561: ( p_x_relationship_id IS NULL OR
562: p_x_relationship_id = FND_API.G_MISS_NUM ) ) THEN
563: x_return_status := FND_API.G_RET_STS_ERROR;
564: x_msg_data := 'AHL_FMP_TOO_MANY_MC_POSITIONS';
565: RETURN;
566: END IF;
567:
570: --Retrieving the mc_header_id to check if the MC is complete.
571: OPEN get_mc_header_id(p_x_relationship_id);
572: FETCH get_mc_header_id INTO l_mc_header_id;
573: IF (get_mc_header_id%NOTFOUND) THEN
574: x_return_status := FND_API.G_RET_STS_ERROR;
575: x_msg_data := 'AHL_FMP_INVALID_MC_POSITION';
576: CLOSE get_mc_header_id;
577: RETURN;
578: END IF;
582: --Throw error if MC is not complete.
583: /*OPEN check_mc_status(l_mc_header_id);
584: FETCH check_mc_status INTO l_dummy_char;
585: IF (check_mc_status%NOTFOUND) THEN
586: x_return_status := FND_API.G_RET_STS_ERROR;
587: x_msg_data := 'AHL_FMP_MC_NOT_COMPLETE';
588: CLOSE check_mc_status;
589: RETURN;
590: END IF;
595: --Throw error 'Invalid Master Configuration Position FIELD entered for Effectivity RECORD.'if they dont match
596: --Fix for Bug 6032303. Calling below function with the path_position_id
597: l_posn_meaning := AHL_MC_PATH_POSITION_PVT.GET_POSREF_BY_ID(p_x_relationship_id);
598: IF (l_posn_meaning IS NULL) THEN
599: x_return_status := FND_API.G_RET_STS_ERROR;
600: x_msg_data := 'AHL_FMP_INVALID_MC_POSITION';
601: ELSIF (p_position_ref_meaning IS NOT NULL AND l_posn_meaning <> p_position_ref_meaning) THEN
602: x_return_status := FND_API.G_RET_STS_ERROR;
603: x_msg_data := 'AHL_FMP_INVALID_MC_POS_MEANING';
598: IF (l_posn_meaning IS NULL) THEN
599: x_return_status := FND_API.G_RET_STS_ERROR;
600: x_msg_data := 'AHL_FMP_INVALID_MC_POSITION';
601: ELSIF (p_position_ref_meaning IS NOT NULL AND l_posn_meaning <> p_position_ref_meaning) THEN
602: x_return_status := FND_API.G_RET_STS_ERROR;
603: x_msg_data := 'AHL_FMP_INVALID_MC_POS_MEANING';
604: END IF;
605:
606: END validate_position;
648: and trunc(sysdate) between trunc(nvl(it.start_date_active,sysdate))
649: and trunc(nvl(IT.end_date_active,sysdate+1));
650:
651: BEGIN
652: x_return_status := FND_API.G_RET_STS_SUCCESS;
653:
654: IF ( p_inventory_item_id IS NULL OR
655: p_inventory_item_id = FND_API.G_MISS_NUM OR
656: p_relationship_id IS NULL OR
651: BEGIN
652: x_return_status := FND_API.G_RET_STS_SUCCESS;
653:
654: IF ( p_inventory_item_id IS NULL OR
655: p_inventory_item_id = FND_API.G_MISS_NUM OR
656: p_relationship_id IS NULL OR
657: p_relationship_id = FND_API.G_MISS_NUM ) THEN
658: x_return_status := FND_API.G_RET_STS_ERROR;
659: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
653:
654: IF ( p_inventory_item_id IS NULL OR
655: p_inventory_item_id = FND_API.G_MISS_NUM OR
656: p_relationship_id IS NULL OR
657: p_relationship_id = FND_API.G_MISS_NUM ) THEN
658: x_return_status := FND_API.G_RET_STS_ERROR;
659: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
660: RETURN;
661: END IF;
654: IF ( p_inventory_item_id IS NULL OR
655: p_inventory_item_id = FND_API.G_MISS_NUM OR
656: p_relationship_id IS NULL OR
657: p_relationship_id = FND_API.G_MISS_NUM ) THEN
658: x_return_status := FND_API.G_RET_STS_ERROR;
659: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
660: RETURN;
661: END IF;
662:
665: FETCH check_alternate INTO
666: l_dummy;
667:
668: IF check_alternate%NOTFOUND THEN
669: x_return_status := FND_API.G_RET_STS_ERROR;
670: x_msg_data := 'AHL_FMP_INVALID_POSITION_ITEM';
671: END IF;
672:
673: CLOSE check_alternate;
806: */
807:
808:
809: BEGIN
810: x_return_status := FND_API.G_RET_STS_SUCCESS;
811:
812: IF ( p_counter_name IS NULL AND --amsriniv . changed OR to AND
813: ( p_x_counter_id IS NULL OR
814: p_x_counter_id = FND_API.G_MISS_NUM ) ) THEN
810: x_return_status := FND_API.G_RET_STS_SUCCESS;
811:
812: IF ( p_counter_name IS NULL AND --amsriniv . changed OR to AND
813: ( p_x_counter_id IS NULL OR
814: p_x_counter_id = FND_API.G_MISS_NUM ) ) THEN
815: x_return_status := FND_API.G_RET_STS_ERROR;
816: x_msg_data := 'AHL_FMP_INVALID_COUNTER';
817: RETURN;
818: END IF;
811:
812: IF ( p_counter_name IS NULL AND --amsriniv . changed OR to AND
813: ( p_x_counter_id IS NULL OR
814: p_x_counter_id = FND_API.G_MISS_NUM ) ) THEN
815: x_return_status := FND_API.G_RET_STS_ERROR;
816: x_msg_data := 'AHL_FMP_INVALID_COUNTER';
817: RETURN;
818: END IF;
819:
817: RETURN;
818: END IF;
819:
820: IF ( ( p_inventory_item_id IS NULL OR
821: p_inventory_item_id = FND_API.G_MISS_NUM ) AND
822: ( p_relationship_id IS NULL OR
823: p_relationship_id = FND_API.G_MISS_NUM ) ) THEN
824: x_return_status := FND_API.G_RET_STS_ERROR;
825: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
819:
820: IF ( ( p_inventory_item_id IS NULL OR
821: p_inventory_item_id = FND_API.G_MISS_NUM ) AND
822: ( p_relationship_id IS NULL OR
823: p_relationship_id = FND_API.G_MISS_NUM ) ) THEN
824: x_return_status := FND_API.G_RET_STS_ERROR;
825: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
826: RETURN;
827: END IF;
820: IF ( ( p_inventory_item_id IS NULL OR
821: p_inventory_item_id = FND_API.G_MISS_NUM ) AND
822: ( p_relationship_id IS NULL OR
823: p_relationship_id = FND_API.G_MISS_NUM ) ) THEN
824: x_return_status := FND_API.G_RET_STS_ERROR;
825: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
826: RETURN;
827: END IF;
828:
826: RETURN;
827: END IF;
828:
829: IF ( ( p_counter_name IS NULL OR
830: p_counter_name = FND_API.G_MISS_CHAR ) AND
831: ( p_x_counter_id IS NOT NULL AND
832: p_x_counter_id <> FND_API.G_MISS_NUM ) ) THEN
833:
834: IF ( p_inventory_item_id IS NOT NULL AND
828:
829: IF ( ( p_counter_name IS NULL OR
830: p_counter_name = FND_API.G_MISS_CHAR ) AND
831: ( p_x_counter_id IS NOT NULL AND
832: p_x_counter_id <> FND_API.G_MISS_NUM ) ) THEN
833:
834: IF ( p_inventory_item_id IS NOT NULL AND
835: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
836: OPEN validate_item_ctr_id(p_x_counter_id, p_inventory_item_id);
831: ( p_x_counter_id IS NOT NULL AND
832: p_x_counter_id <> FND_API.G_MISS_NUM ) ) THEN
833:
834: IF ( p_inventory_item_id IS NOT NULL AND
835: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
836: OPEN validate_item_ctr_id(p_x_counter_id, p_inventory_item_id);
837: FETCH validate_item_ctr_id INTO l_dummy;
838: IF (validate_item_ctr_id%NOTFOUND) THEN
839: x_return_status := FND_API.G_RET_STS_ERROR;
835: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
836: OPEN validate_item_ctr_id(p_x_counter_id, p_inventory_item_id);
837: FETCH validate_item_ctr_id INTO l_dummy;
838: IF (validate_item_ctr_id%NOTFOUND) THEN
839: x_return_status := FND_API.G_RET_STS_ERROR;
840: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
841: END IF;
842: CLOSE validate_item_ctr_id;
843: ELSIF (p_relationship_id IS NOT NULL AND
840: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
841: END IF;
842: CLOSE validate_item_ctr_id;
843: ELSIF (p_relationship_id IS NOT NULL AND
844: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
845: OPEN check_alternate_ctr_id(p_x_counter_id, p_relationship_id);
846: FETCH check_alternate_ctr_id INTO l_dummy;
847: IF (check_alternate_ctr_id%NOTFOUND) THEN
848: x_return_status := FND_API.G_RET_STS_ERROR;
844: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
845: OPEN check_alternate_ctr_id(p_x_counter_id, p_relationship_id);
846: FETCH check_alternate_ctr_id INTO l_dummy;
847: IF (check_alternate_ctr_id%NOTFOUND) THEN
848: x_return_status := FND_API.G_RET_STS_ERROR;
849: x_msg_data := 'AHL_FMP_INVALID_CTR_POSITION';
850: END IF;
851: CLOSE check_alternate_ctr_id;
852: END IF;
852: END IF;
853: END IF;
854:
855: IF ( p_counter_name IS NOT NULL AND
856: p_counter_name <> FND_API.G_MISS_CHAR ) THEN
857:
858: OPEN get_rec_from_value( p_counter_name );
859:
860: LOOP
865:
866: EXIT WHEN get_rec_from_value%NOTFOUND;
867:
868: IF ( p_inventory_item_id IS NOT NULL AND
869: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
870: OPEN validate_item_ctr_id(l_counter_id, p_inventory_item_id);
871: FETCH validate_item_ctr_id INTO l_dummy;
872: IF (validate_item_ctr_id%FOUND) THEN
873: l_counter_valid_flag := TRUE;
876: EXIT;
877: END IF;
878: CLOSE validate_item_ctr_id;
879: ELSIF (p_relationship_id IS NOT NULL AND
880: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
881: OPEN check_alternate_ctr_id(l_counter_id, p_relationship_id);
882: FETCH check_alternate_ctr_id INTO l_dummy;
883: IF (check_alternate_ctr_id%FOUND) THEN
884: l_counter_valid_flag := TRUE;
891:
892: END LOOP;
893:
894: IF (get_rec_from_value%ROWCOUNT = 0) THEN --added by amsriniv
895: x_return_status := FND_API.G_RET_STS_ERROR;
896: x_msg_data := 'AHL_FMP_INVALID_COUNTER';
897: ELSE
898: IF NOT(l_counter_valid_flag)THEN
899: IF ( p_inventory_item_id IS NOT NULL AND
896: x_msg_data := 'AHL_FMP_INVALID_COUNTER';
897: ELSE
898: IF NOT(l_counter_valid_flag)THEN
899: IF ( p_inventory_item_id IS NOT NULL AND
900: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
903: ELSIF ( p_relationship_id IS NOT NULL AND
904: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
897: ELSE
898: IF NOT(l_counter_valid_flag)THEN
899: IF ( p_inventory_item_id IS NOT NULL AND
900: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
903: ELSIF ( p_relationship_id IS NOT NULL AND
904: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
905: x_return_status := FND_API.G_RET_STS_ERROR;
900: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
903: ELSIF ( p_relationship_id IS NOT NULL AND
904: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
905: x_return_status := FND_API.G_RET_STS_ERROR;
906: x_msg_data := 'AHL_FMP_INVALID_CTR_POSITION';
907: END IF;
908: END IF;
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: x_msg_data := 'AHL_FMP_INVALID_CTR_ITEM';
903: ELSIF ( p_relationship_id IS NOT NULL AND
904: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
905: x_return_status := FND_API.G_RET_STS_ERROR;
906: x_msg_data := 'AHL_FMP_INVALID_CTR_POSITION';
907: END IF;
908: END IF;
909: END IF;
934: FROM FND_TERRITORIES_VL
935: WHERE territory_code = c_country_code;
936:
937: BEGIN
938: x_return_status := FND_API.G_RET_STS_SUCCESS;
939:
940: IF ( ( p_country_name IS NULL OR
941: p_country_name = FND_API.G_MISS_CHAR ) AND
942: ( p_x_country_code IS NULL OR
937: BEGIN
938: x_return_status := FND_API.G_RET_STS_SUCCESS;
939:
940: IF ( ( p_country_name IS NULL OR
941: p_country_name = FND_API.G_MISS_CHAR ) AND
942: ( p_x_country_code IS NULL OR
943: p_x_country_code = FND_API.G_MISS_CHAR ) ) THEN
944: x_return_status := FND_API.G_RET_STS_ERROR;
945: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
939:
940: IF ( ( p_country_name IS NULL OR
941: p_country_name = FND_API.G_MISS_CHAR ) AND
942: ( p_x_country_code IS NULL OR
943: p_x_country_code = FND_API.G_MISS_CHAR ) ) THEN
944: x_return_status := FND_API.G_RET_STS_ERROR;
945: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
946: RETURN;
947: END IF;
940: IF ( ( p_country_name IS NULL OR
941: p_country_name = FND_API.G_MISS_CHAR ) AND
942: ( p_x_country_code IS NULL OR
943: p_x_country_code = FND_API.G_MISS_CHAR ) ) THEN
944: x_return_status := FND_API.G_RET_STS_ERROR;
945: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
946: RETURN;
947: END IF;
948:
946: RETURN;
947: END IF;
948:
949: IF ( ( p_country_name IS NULL OR
950: p_country_name = FND_API.G_MISS_CHAR ) AND
951: ( p_x_country_code IS NOT NULL AND
952: p_x_country_code <> FND_API.G_MISS_CHAR ) ) THEN
953:
954: OPEN get_rec_from_id( p_x_country_code );
948:
949: IF ( ( p_country_name IS NULL OR
950: p_country_name = FND_API.G_MISS_CHAR ) AND
951: ( p_x_country_code IS NOT NULL AND
952: p_x_country_code <> FND_API.G_MISS_CHAR ) ) THEN
953:
954: OPEN get_rec_from_id( p_x_country_code );
955:
956: FETCH get_rec_from_id INTO
956: FETCH get_rec_from_id INTO
957: l_country_code;
958:
959: IF get_rec_from_id%NOTFOUND THEN
960: x_return_status := FND_API.G_RET_STS_ERROR;
961: x_msg_data := 'AHL_FMP_INVALID_COUNTRY';
962: END IF;
963:
964: CLOSE get_rec_from_id;
966:
967: END IF;
968:
969: IF ( p_country_name IS NOT NULL AND
970: p_country_name <> FND_API.G_MISS_CHAR ) THEN
971:
972: OPEN get_rec_from_value( p_country_name );
973:
974: LOOP
984:
985: END LOOP;
986:
987: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
988: x_return_status := FND_API.G_RET_STS_ERROR;
989: x_msg_data := 'AHL_FMP_INVALID_COUNTRY';
990: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
991: p_x_country_code := l_country_code;
992: ELSE
989: x_msg_data := 'AHL_FMP_INVALID_COUNTRY';
990: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
991: p_x_country_code := l_country_code;
992: ELSE
993: x_return_status := FND_API.G_RET_STS_ERROR;
994: x_msg_data := 'AHL_FMP_TOO_MANY_COUNTRIES';
995: END IF;
996:
997: CLOSE get_rec_from_value;
1065: and nvl(org.operating_unit, mo_global.get_current_org_id()) = mo_global.get_current_org_id() );
1066:
1067:
1068: BEGIN
1069: x_return_status := FND_API.G_RET_STS_SUCCESS;
1070:
1071: IF ( ( p_manufacturer_name IS NULL OR
1072: p_manufacturer_name = FND_API.G_MISS_CHAR ) AND
1073: ( p_x_manufacturer_id IS NULL OR
1068: BEGIN
1069: x_return_status := FND_API.G_RET_STS_SUCCESS;
1070:
1071: IF ( ( p_manufacturer_name IS NULL OR
1072: p_manufacturer_name = FND_API.G_MISS_CHAR ) AND
1073: ( p_x_manufacturer_id IS NULL OR
1074: p_x_manufacturer_id = FND_API.G_MISS_NUM ) ) THEN
1075: x_return_status := FND_API.G_RET_STS_ERROR;
1076: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1070:
1071: IF ( ( p_manufacturer_name IS NULL OR
1072: p_manufacturer_name = FND_API.G_MISS_CHAR ) AND
1073: ( p_x_manufacturer_id IS NULL OR
1074: p_x_manufacturer_id = FND_API.G_MISS_NUM ) ) THEN
1075: x_return_status := FND_API.G_RET_STS_ERROR;
1076: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1077: RETURN;
1078: END IF;
1071: IF ( ( p_manufacturer_name IS NULL OR
1072: p_manufacturer_name = FND_API.G_MISS_CHAR ) AND
1073: ( p_x_manufacturer_id IS NULL OR
1074: p_x_manufacturer_id = FND_API.G_MISS_NUM ) ) THEN
1075: x_return_status := FND_API.G_RET_STS_ERROR;
1076: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1077: RETURN;
1078: END IF;
1079:
1077: RETURN;
1078: END IF;
1079:
1080: IF ( ( p_inventory_item_id IS NULL OR
1081: p_inventory_item_id = FND_API.G_MISS_NUM ) AND
1082: ( p_relationship_id IS NULL OR
1083: p_relationship_id = FND_API.G_MISS_NUM ) ) THEN
1084: x_return_status := FND_API.G_RET_STS_ERROR;
1085: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1079:
1080: IF ( ( p_inventory_item_id IS NULL OR
1081: p_inventory_item_id = FND_API.G_MISS_NUM ) AND
1082: ( p_relationship_id IS NULL OR
1083: p_relationship_id = FND_API.G_MISS_NUM ) ) THEN
1084: x_return_status := FND_API.G_RET_STS_ERROR;
1085: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1086: RETURN;
1087: END IF;
1080: IF ( ( p_inventory_item_id IS NULL OR
1081: p_inventory_item_id = FND_API.G_MISS_NUM ) AND
1082: ( p_relationship_id IS NULL OR
1083: p_relationship_id = FND_API.G_MISS_NUM ) ) THEN
1084: x_return_status := FND_API.G_RET_STS_ERROR;
1085: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1086: RETURN;
1087: END IF;
1088:
1086: RETURN;
1087: END IF;
1088:
1089: IF ( ( p_manufacturer_name IS NULL OR
1090: p_manufacturer_name = FND_API.G_MISS_CHAR ) AND
1091: ( p_x_manufacturer_id IS NOT NULL AND
1092: p_x_manufacturer_id <> FND_API.G_MISS_NUM ) ) THEN
1093:
1094: OPEN get_rec_from_id( p_x_manufacturer_id );
1088:
1089: IF ( ( p_manufacturer_name IS NULL OR
1090: p_manufacturer_name = FND_API.G_MISS_CHAR ) AND
1091: ( p_x_manufacturer_id IS NOT NULL AND
1092: p_x_manufacturer_id <> FND_API.G_MISS_NUM ) ) THEN
1093:
1094: OPEN get_rec_from_id( p_x_manufacturer_id );
1095:
1096: LOOP
1100:
1101: EXIT WHEN get_rec_from_id%NOTFOUND;
1102:
1103: IF ( p_inventory_item_id IS NOT NULL AND
1104: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1105: IF ( p_inventory_item_id = l_inventory_item_id ) THEN
1106: CLOSE get_rec_from_id;
1107: RETURN;
1108: END IF;
1106: CLOSE get_rec_from_id;
1107: RETURN;
1108: END IF;
1109: ELSIF ( p_relationship_id IS NOT NULL AND
1110: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
1111:
1112: validate_position_item
1113: (
1114: x_return_status => l_return_status,
1116: p_inventory_item_id => l_inventory_item_id,
1117: p_relationship_id => p_relationship_id
1118: );
1119:
1120: IF ( NVL( l_return_status, 'X' ) = FND_API.G_RET_STS_SUCCESS ) THEN
1121: CLOSE get_rec_from_id;
1122: RETURN;
1123: END IF;
1124: END IF;
1125:
1126: END LOOP;
1127:
1128: IF ( get_rec_from_id%ROWCOUNT = 0 ) THEN
1129: x_return_status := FND_API.G_RET_STS_ERROR;
1130: x_msg_data := 'AHL_FMP_INVALID_MF';
1131: ELSE
1132: x_return_status := FND_API.G_RET_STS_ERROR;
1133: IF ( p_inventory_item_id IS NOT NULL AND
1128: IF ( get_rec_from_id%ROWCOUNT = 0 ) THEN
1129: x_return_status := FND_API.G_RET_STS_ERROR;
1130: x_msg_data := 'AHL_FMP_INVALID_MF';
1131: ELSE
1132: x_return_status := FND_API.G_RET_STS_ERROR;
1133: IF ( p_inventory_item_id IS NOT NULL AND
1134: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1135: x_msg_data := 'AHL_FMP_INVALID_MF_ITEM';
1136: ELSIF ( p_relationship_id IS NOT NULL AND
1130: x_msg_data := 'AHL_FMP_INVALID_MF';
1131: ELSE
1132: x_return_status := FND_API.G_RET_STS_ERROR;
1133: IF ( p_inventory_item_id IS NOT NULL AND
1134: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1135: x_msg_data := 'AHL_FMP_INVALID_MF_ITEM';
1136: ELSIF ( p_relationship_id IS NOT NULL AND
1137: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
1138: x_msg_data := 'AHL_FMP_INVALID_MF_POSITION';
1133: IF ( p_inventory_item_id IS NOT NULL AND
1134: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1135: x_msg_data := 'AHL_FMP_INVALID_MF_ITEM';
1136: ELSIF ( p_relationship_id IS NOT NULL AND
1137: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
1138: x_msg_data := 'AHL_FMP_INVALID_MF_POSITION';
1139: END IF;
1140: END IF;
1141:
1144:
1145: END IF;
1146:
1147: IF ( p_manufacturer_name IS NOT NULL AND
1148: p_manufacturer_name <> FND_API.G_MISS_CHAR ) THEN
1149:
1150: OPEN get_rec_from_value( p_manufacturer_name );
1151:
1152: LOOP
1157:
1158: EXIT WHEN get_rec_from_value%NOTFOUND;
1159:
1160: IF ( p_inventory_item_id IS NOT NULL AND
1161: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1162: IF ( p_inventory_item_id = l_inventory_item_id ) THEN
1163: IF ( p_x_manufacturer_id IS NULL ) THEN
1164: p_x_manufacturer_id := l_manufacturer_id;
1165: CLOSE get_rec_from_value;
1169: RETURN;
1170: END IF;
1171: END IF;
1172: ELSIF ( p_relationship_id IS NOT NULL AND
1173: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
1174:
1175: validate_position_item
1176: (
1177: x_return_status => l_return_status,
1179: p_inventory_item_id => l_inventory_item_id,
1180: p_relationship_id => p_relationship_id
1181: );
1182:
1183: IF ( NVL( l_return_status, 'X' ) = FND_API.G_RET_STS_SUCCESS ) THEN
1184: IF ( p_x_manufacturer_id IS NULL ) THEN
1185: p_x_manufacturer_id := l_manufacturer_id;
1186: CLOSE get_rec_from_value;
1187: RETURN;
1195:
1196: END LOOP;
1197:
1198: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
1199: x_return_status := FND_API.G_RET_STS_ERROR;
1200: x_msg_data := 'AHL_FMP_INVALID_MF';
1201: ELSE
1202: IF ( p_inventory_item_id IS NOT NULL AND
1203: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1199: x_return_status := FND_API.G_RET_STS_ERROR;
1200: x_msg_data := 'AHL_FMP_INVALID_MF';
1201: ELSE
1202: IF ( p_inventory_item_id IS NOT NULL AND
1203: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1204: x_return_status := FND_API.G_RET_STS_ERROR;
1205: x_msg_data := 'AHL_FMP_INVALID_MF_ITEM';
1206: ELSIF ( p_relationship_id IS NOT NULL AND
1207: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
1200: x_msg_data := 'AHL_FMP_INVALID_MF';
1201: ELSE
1202: IF ( p_inventory_item_id IS NOT NULL AND
1203: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1204: x_return_status := FND_API.G_RET_STS_ERROR;
1205: x_msg_data := 'AHL_FMP_INVALID_MF_ITEM';
1206: ELSIF ( p_relationship_id IS NOT NULL AND
1207: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
1208: x_return_status := FND_API.G_RET_STS_ERROR;
1203: p_inventory_item_id <> FND_API.G_MISS_NUM ) THEN
1204: x_return_status := FND_API.G_RET_STS_ERROR;
1205: x_msg_data := 'AHL_FMP_INVALID_MF_ITEM';
1206: ELSIF ( p_relationship_id IS NOT NULL AND
1207: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
1208: x_return_status := FND_API.G_RET_STS_ERROR;
1209: x_msg_data := 'AHL_FMP_INVALID_MF_POSITION';
1210: END IF;
1211: END IF;
1204: x_return_status := FND_API.G_RET_STS_ERROR;
1205: x_msg_data := 'AHL_FMP_INVALID_MF_ITEM';
1206: ELSIF ( p_relationship_id IS NOT NULL AND
1207: p_relationship_id <> FND_API.G_MISS_NUM ) THEN
1208: x_return_status := FND_API.G_RET_STS_ERROR;
1209: x_msg_data := 'AHL_FMP_INVALID_MF_POSITION';
1210: END IF;
1211: END IF;
1212:
1241: FROM DUAL
1242: WHERE c_serial_number_to >= c_serial_number_from;
1243:
1244: BEGIN
1245: x_return_status := FND_API.G_RET_STS_SUCCESS;
1246:
1247: IF ( p_serial_number_from IS NULL OR
1248: p_serial_number_from = FND_API.G_MISS_CHAR OR
1249: p_serial_number_to IS NULL OR
1244: BEGIN
1245: x_return_status := FND_API.G_RET_STS_SUCCESS;
1246:
1247: IF ( p_serial_number_from IS NULL OR
1248: p_serial_number_from = FND_API.G_MISS_CHAR OR
1249: p_serial_number_to IS NULL OR
1250: p_serial_number_to = FND_API.G_MISS_CHAR ) THEN
1251: x_return_status := FND_API.G_RET_STS_ERROR;
1252: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1246:
1247: IF ( p_serial_number_from IS NULL OR
1248: p_serial_number_from = FND_API.G_MISS_CHAR OR
1249: p_serial_number_to IS NULL OR
1250: p_serial_number_to = FND_API.G_MISS_CHAR ) THEN
1251: x_return_status := FND_API.G_RET_STS_ERROR;
1252: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1253: RETURN;
1254: END IF;
1247: IF ( p_serial_number_from IS NULL OR
1248: p_serial_number_from = FND_API.G_MISS_CHAR OR
1249: p_serial_number_to IS NULL OR
1250: p_serial_number_to = FND_API.G_MISS_CHAR ) THEN
1251: x_return_status := FND_API.G_RET_STS_ERROR;
1252: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1253: RETURN;
1254: END IF;
1255:
1262: FETCH compare_numbers INTO
1263: l_dummy;
1264:
1265: IF compare_numbers%NOTFOUND THEN
1266: x_return_status := FND_API.G_RET_STS_ERROR;
1267: x_msg_data := 'AHL_FMP_INVALID_SERIAL_RANGE';
1268: END IF;
1269:
1270: CLOSE compare_numbers;
1288: FETCH compare_chars INTO
1289: l_dummy;
1290:
1291: IF compare_chars%NOTFOUND THEN
1292: x_return_status := FND_API.G_RET_STS_ERROR;
1293: x_msg_data := 'AHL_FMP_INVALID_SERIAL_RANGE';
1294: END IF;
1295:
1296: CLOSE compare_chars;
1312: WHERE mr_header_id = c_mr_header_id;
1313:
1314: l_mr_status_code varchar2(30);
1315: BEGIN
1316: x_return_status := FND_API.G_RET_STS_SUCCESS;
1317: IF ( G_DEBUG = 'Y' ) THEN
1318: AHL_DEBUG_PUB.enable_debug;
1319: AHL_DEBUG_PUB.debug('Step A' );
1320: END IF;
1319: AHL_DEBUG_PUB.debug('Step A' );
1320: END IF;
1321:
1322: IF ( p_mr_header_id IS NULL OR
1323: p_mr_header_id = FND_API.G_MISS_NUM ) THEN
1324: x_return_status := FND_API.G_RET_STS_ERROR;
1325: x_msg_data := 'AHL_FMP_MR_HEADER_ID_INVALID';
1326: RETURN;
1327: END IF;
1320: END IF;
1321:
1322: IF ( p_mr_header_id IS NULL OR
1323: p_mr_header_id = FND_API.G_MISS_NUM ) THEN
1324: x_return_status := FND_API.G_RET_STS_ERROR;
1325: x_msg_data := 'AHL_FMP_MR_HEADER_ID_INVALID';
1326: RETURN;
1327: END IF;
1328: AHL_DEBUG_PUB.debug('Step A3' );
1330:
1331: FETCH check_mr_status INTO l_mr_status_code;
1332:
1333: IF check_mr_status%NOTFOUND THEN
1334: x_return_status := FND_API.G_RET_STS_ERROR;
1335: x_msg_data := 'AHL_FMP_INVALID_MR';
1336: CLOSE check_mr_status;
1337: RETURN;
1338: END IF;
1338: END IF;
1339: AHL_DEBUG_PUB.debug('Step A6' );
1340: IF ( l_mr_status_code <> 'DRAFT' AND
1341: l_mr_status_code <> 'APPROVAL_REJECTED' ) THEN
1342: x_return_status := FND_API.G_RET_STS_ERROR;
1343: AHL_DEBUG_PUB.debug('Step 1' );
1344: x_msg_data := 'AHL_FMP_INVALID_MR_STATUS';
1345: AHL_DEBUG_PUB.debug('Step 2' );
1346: CLOSE check_mr_status;
1369: FROM AHL_MR_EFFECTIVITIES_APP_V
1370: WHERE mr_effectivity_id = c_mr_effectivity_id;
1371:
1372: BEGIN
1373: x_return_status := FND_API.G_RET_STS_SUCCESS;
1374:
1375: IF ( p_mr_effectivity_id IS NULL OR
1376: p_mr_effectivity_id = FND_API.G_MISS_NUM ) THEN
1377: x_return_status := FND_API.G_RET_STS_ERROR;
1372: BEGIN
1373: x_return_status := FND_API.G_RET_STS_SUCCESS;
1374:
1375: IF ( p_mr_effectivity_id IS NULL OR
1376: p_mr_effectivity_id = FND_API.G_MISS_NUM ) THEN
1377: x_return_status := FND_API.G_RET_STS_ERROR;
1378: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1379: RETURN;
1380: END IF;
1373: x_return_status := FND_API.G_RET_STS_SUCCESS;
1374:
1375: IF ( p_mr_effectivity_id IS NULL OR
1376: p_mr_effectivity_id = FND_API.G_MISS_NUM ) THEN
1377: x_return_status := FND_API.G_RET_STS_ERROR;
1378: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1379: RETURN;
1380: END IF;
1381:
1384: FETCH check_mr_effectivity INTO
1385: l_object_version_number;
1386:
1387: IF check_mr_effectivity%NOTFOUND THEN
1388: x_return_status := FND_API.G_RET_STS_ERROR;
1389: x_msg_data := 'AHL_FMP_INVALID_MR_EFFECTIVITY';
1390: CLOSE check_mr_effectivity;
1391: RETURN;
1392: END IF;
1391: RETURN;
1392: END IF;
1393:
1394: IF ( p_object_version_number IS NOT NULL OR
1395: p_object_version_number <> FND_API.G_MISS_NUM ) THEN
1396: IF ( p_object_version_number <> l_object_version_number ) THEN
1397: x_return_status := FND_API.G_RET_STS_ERROR;
1398: x_msg_data := 'AHL_FMP_INVALID_MR_EFFECTIVITY';
1399: END IF;
1393:
1394: IF ( p_object_version_number IS NOT NULL OR
1395: p_object_version_number <> FND_API.G_MISS_NUM ) THEN
1396: IF ( p_object_version_number <> l_object_version_number ) THEN
1397: x_return_status := FND_API.G_RET_STS_ERROR;
1398: x_msg_data := 'AHL_FMP_INVALID_MR_EFFECTIVITY';
1399: END IF;
1400: END IF;
1401:
1445: AND A.mr_effectivity_id = B.mr_effectivity_id
1446: AND B.mr_header_id = c_mr_header_id;
1447:
1448: BEGIN
1449: x_return_status := FND_API.G_RET_STS_SUCCESS;
1450:
1451: IF ( ( p_mr_header_id IS NULL OR
1452: p_mr_header_id = FND_API.G_MISS_NUM ) AND
1453: ( p_repetitive_flag IS NULL OR
1448: BEGIN
1449: x_return_status := FND_API.G_RET_STS_SUCCESS;
1450:
1451: IF ( ( p_mr_header_id IS NULL OR
1452: p_mr_header_id = FND_API.G_MISS_NUM ) AND
1453: ( p_repetitive_flag IS NULL OR
1454: p_repetitive_flag = FND_API.G_MISS_CHAR ) ) THEN
1455: x_return_status := FND_API.G_RET_STS_ERROR;
1456: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1450:
1451: IF ( ( p_mr_header_id IS NULL OR
1452: p_mr_header_id = FND_API.G_MISS_NUM ) AND
1453: ( p_repetitive_flag IS NULL OR
1454: p_repetitive_flag = FND_API.G_MISS_CHAR ) ) THEN
1455: x_return_status := FND_API.G_RET_STS_ERROR;
1456: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1457: RETURN;
1458: END IF;
1451: IF ( ( p_mr_header_id IS NULL OR
1452: p_mr_header_id = FND_API.G_MISS_NUM ) AND
1453: ( p_repetitive_flag IS NULL OR
1454: p_repetitive_flag = FND_API.G_MISS_CHAR ) ) THEN
1455: x_return_status := FND_API.G_RET_STS_ERROR;
1456: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1457: RETURN;
1458: END IF;
1459:
1464: x_msg_data => l_msg_data,
1465: p_mr_header_id => p_mr_header_id
1466: );
1467:
1468: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
1469: x_return_status := FND_API.G_RET_STS_ERROR;
1470: x_msg_data := l_msg_data;
1471: RETURN;
1472: END IF;
1465: p_mr_header_id => p_mr_header_id
1466: );
1467:
1468: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
1469: x_return_status := FND_API.G_RET_STS_ERROR;
1470: x_msg_data := l_msg_data;
1471: RETURN;
1472: END IF;
1473:
1477: FETCH get_threshold INTO
1478: l_dummy;
1479:
1480: IF get_threshold%FOUND THEN
1481: x_return_status := FND_API.G_RET_STS_ERROR;
1482: x_msg_data := 'AHL_FMP_INVALID_MR_THRESHOLD';
1483: END IF;
1484:
1485: CLOSE get_threshold;
1491: l_mr_effectivity_id,
1492: l_counter_id;
1493:
1494: IF get_intervals%FOUND THEN
1495: x_return_status := FND_API.G_RET_STS_ERROR;
1496: x_msg_data := 'AHL_FMP_INVALID_MR_INTERVALS';
1497: CLOSE get_intervals;
1498: RETURN;
1499: END IF;
1505: FETCH get_interval_range INTO
1506: l_dummy;
1507:
1508: IF get_interval_range%FOUND THEN
1509: x_return_status := FND_API.G_RET_STS_ERROR;
1510: x_msg_data := 'AHL_FMP_INVALID_MR_INT_RANGE';
1511: CLOSE get_interval_range;
1512: RETURN;
1513: END IF;
1561:
1562: -- call api to fetch all applicable mrs for ASO installation.
1563: AHL_FMP_PVT.get_applicable_mrs(
1564: p_api_version => l_api_version,
1565: p_init_msg_list => FND_API.G_FALSE,
1566: p_commit => FND_API.G_FALSE,
1567: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1568: x_return_status => x_return_status,
1569: x_msg_count => x_msg_count,
1562: -- call api to fetch all applicable mrs for ASO installation.
1563: AHL_FMP_PVT.get_applicable_mrs(
1564: p_api_version => l_api_version,
1565: p_init_msg_list => FND_API.G_FALSE,
1566: p_commit => FND_API.G_FALSE,
1567: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1568: x_return_status => x_return_status,
1569: x_msg_count => x_msg_count,
1570: x_msg_data => x_msg_data,
1563: AHL_FMP_PVT.get_applicable_mrs(
1564: p_api_version => l_api_version,
1565: p_init_msg_list => FND_API.G_FALSE,
1566: p_commit => FND_API.G_FALSE,
1567: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1568: x_return_status => x_return_status,
1569: x_msg_count => x_msg_count,
1570: x_msg_data => x_msg_data,
1571: p_item_instance_id => p_csi_ii_id,
1577: x_applicable_mr_tbl => l_appl_mrs_tbl);
1578:
1579:
1580: -- Raise errors if exceptions occur
1581: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1582: RAISE FND_API.G_EXC_ERROR;
1583: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1585: END IF;
1578:
1579:
1580: -- Raise errors if exceptions occur
1581: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1582: RAISE FND_API.G_EXC_ERROR;
1583: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1585: END IF;
1586:
1579:
1580: -- Raise errors if exceptions occur
1581: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1582: RAISE FND_API.G_EXC_ERROR;
1583: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1585: END IF;
1586:
1587: -- Populate temporary table ahl_applicable_mrs.
1580: -- Raise errors if exceptions occur
1581: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1582: RAISE FND_API.G_EXC_ERROR;
1583: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1585: END IF;
1586:
1587: -- Populate temporary table ahl_applicable_mrs.
1588: IF (l_appl_mrs_tbl.COUNT > 0) THEN
1614: END IF;
1615:
1616: -- pdoki added exception handlers for Bug 13788613
1617: EXCEPTION
1618: WHEN FND_API.G_EXC_ERROR THEN
1619: ROLLBACK TO POPULATE_APPL_MRS_PVT;
1620: x_return_status := FND_API.G_RET_STS_ERROR;
1621: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1622: p_count => x_msg_count,
1616: -- pdoki added exception handlers for Bug 13788613
1617: EXCEPTION
1618: WHEN FND_API.G_EXC_ERROR THEN
1619: ROLLBACK TO POPULATE_APPL_MRS_PVT;
1620: x_return_status := FND_API.G_RET_STS_ERROR;
1621: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1622: p_count => x_msg_count,
1623: p_data => x_msg_data);
1624:
1617: EXCEPTION
1618: WHEN FND_API.G_EXC_ERROR THEN
1619: ROLLBACK TO POPULATE_APPL_MRS_PVT;
1620: x_return_status := FND_API.G_RET_STS_ERROR;
1621: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1622: p_count => x_msg_count,
1623: p_data => x_msg_data);
1624:
1625:
1622: p_count => x_msg_count,
1623: p_data => x_msg_data);
1624:
1625:
1626: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1627: ROLLBACK TO POPULATE_APPL_MRS_PVT;
1628: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1629: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1630: p_count => x_msg_count,
1624:
1625:
1626: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1627: ROLLBACK TO POPULATE_APPL_MRS_PVT;
1628: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1629: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1630: p_count => x_msg_count,
1631: p_data => x_msg_data);
1632:
1625:
1626: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1627: ROLLBACK TO POPULATE_APPL_MRS_PVT;
1628: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1629: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1630: p_count => x_msg_count,
1631: p_data => x_msg_data);
1632:
1633:
1632:
1633:
1634: WHEN OTHERS THEN
1635: ROLLBACK TO POPULATE_APPL_MRS_PVT;
1636: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1637: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1638: FND_MSG_PUB.add_exc_msg(p_pkg_name => 'AHL_FMP_COMMON_PVT',
1639: p_procedure_name => 'POPULATE_APPL_MRS',
1640: p_error_text => SUBSTRB(SQLERRM,1,240));
1638: FND_MSG_PUB.add_exc_msg(p_pkg_name => 'AHL_FMP_COMMON_PVT',
1639: p_procedure_name => 'POPULATE_APPL_MRS',
1640: p_error_text => SUBSTRB(SQLERRM,1,240));
1641: END IF;
1642: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1643: p_count => x_msg_count,
1644: p_data => x_msg_data);
1645:
1646: END Populate_Appl_MRs;
1672: l_api_version CONSTANT NUMBER := 1.0;
1673: l_header_id NUMBER;
1674:
1675: BEGIN
1676: x_return_status:=FND_API.G_RET_STS_SUCCESS;
1677: OPEN header_id_csr_type(p_mr_title, p_mr_version_number);
1678: FETCH header_id_csr_type INTO l_header_id;
1679: CLOSE header_id_csr_type;
1680: IF l_header_id IS NULL THEN
1677: OPEN header_id_csr_type(p_mr_title, p_mr_version_number);
1678: FETCH header_id_csr_type INTO l_header_id;
1679: CLOSE header_id_csr_type;
1680: IF l_header_id IS NULL THEN
1681: x_return_status:=FND_API.G_RET_STS_ERROR;
1682: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_NOT_EXISTS');
1683: FND_MESSAGE.SET_TOKEN('TITLE', p_mr_title);
1684: FND_MESSAGE.SET_TOKEN('VERSION', p_mr_version_number);
1685: FND_MSG_PUB.ADD;
1732: l_api_version CONSTANT NUMBER := 1.0;
1733: l_mr_effectivity_id NUMBER;
1734:
1735: BEGIN
1736: x_return_status:=FND_API.G_RET_STS_SUCCESS;
1737:
1738: OPEN effectivity_id_csr_type(p_mr_effectivity_name,p_mr_header_id);
1739: FETCH effectivity_id_csr_type INTO l_mr_effectivity_id;
1740: CLOSE effectivity_id_csr_type;
1738: OPEN effectivity_id_csr_type(p_mr_effectivity_name,p_mr_header_id);
1739: FETCH effectivity_id_csr_type INTO l_mr_effectivity_id;
1740: CLOSE effectivity_id_csr_type;
1741: IF l_mr_effectivity_id IS NULL THEN
1742: x_return_status:=FND_API.G_RET_STS_ERROR;
1743: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_EFFEC_NOT_EXISTS');
1744: FND_MESSAGE.SET_TOKEN('RECORD', p_mr_effectivity_name);
1745: FND_MSG_PUB.ADD;
1746: IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
1825: FROM AHL_MR_HEADERS_B
1826: WHERE mr_header_id = c_mr_header_id;
1827:
1828: BEGIN
1829: x_return_status := FND_API.G_RET_STS_SUCCESS;
1830:
1831: IF ( p_mr_header_id IS NULL OR
1832: p_mr_header_id = FND_API.G_MISS_NUM ) THEN
1833: x_return_status := FND_API.G_RET_STS_ERROR;
1828: BEGIN
1829: x_return_status := FND_API.G_RET_STS_SUCCESS;
1830:
1831: IF ( p_mr_header_id IS NULL OR
1832: p_mr_header_id = FND_API.G_MISS_NUM ) THEN
1833: x_return_status := FND_API.G_RET_STS_ERROR;
1834: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1835: RETURN;
1836: END IF;
1829: x_return_status := FND_API.G_RET_STS_SUCCESS;
1830:
1831: IF ( p_mr_header_id IS NULL OR
1832: p_mr_header_id = FND_API.G_MISS_NUM ) THEN
1833: x_return_status := FND_API.G_RET_STS_ERROR;
1834: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1835: RETURN;
1836: END IF;
1837:
1840: FETCH check_mr_status INTO
1841: l_mr_status_code;
1842:
1843: IF check_mr_status%NOTFOUND THEN
1844: x_return_status := FND_API.G_RET_STS_ERROR;
1845: x_msg_data := 'AHL_FMP_INVALID_MR';
1846: CLOSE check_mr_status;
1847: RETURN;
1848: END IF;
1850: IF ( l_mr_status_code <> 'DRAFT' AND
1851: l_mr_status_code <> 'APPROVAL_REJECTED' AND
1852: l_mr_status_code <> 'COMPLETE'
1853: ) THEN
1854: x_return_status := FND_API.G_RET_STS_ERROR;
1855: x_msg_data := 'AHL_FMP_INVALID_MR_STATUS';
1856: CLOSE check_mr_status;
1857: RETURN;
1858: END IF;
1892: and eff.mr_effectivity_id =c_effectivity_id
1893: and eff.object_version_number =c_eff_obj ) ;
1894:
1895: BEGIN
1896: x_return_status := FND_API.G_RET_STS_SUCCESS;
1897:
1898: IF ( p_mr_header_id IS NULL OR
1899: p_mr_header_id = FND_API.G_MISS_NUM ) THEN
1900: x_return_status := FND_API.G_RET_STS_ERROR;
1895: BEGIN
1896: x_return_status := FND_API.G_RET_STS_SUCCESS;
1897:
1898: IF ( p_mr_header_id IS NULL OR
1899: p_mr_header_id = FND_API.G_MISS_NUM ) THEN
1900: x_return_status := FND_API.G_RET_STS_ERROR;
1901: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1902: RETURN;
1903: END IF;
1896: x_return_status := FND_API.G_RET_STS_SUCCESS;
1897:
1898: IF ( p_mr_header_id IS NULL OR
1899: p_mr_header_id = FND_API.G_MISS_NUM ) THEN
1900: x_return_status := FND_API.G_RET_STS_ERROR;
1901: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
1902: RETURN;
1903: END IF;
1904:
1905: OPEN mr_type_program( p_effectivity_id, p_eff_obj_version, p_mr_header_id );
1906: FETCH mr_type_program INTO l_record_exists;
1907:
1908: IF mr_type_program%FOUND THEN
1909: x_return_status := FND_API.G_RET_STS_ERROR;
1910: x_msg_data := 'AHL_FMP_EFFECTIVITY_ITEM_PM';
1911: END IF;
1912:
1913: CLOSE mr_type_program;
1942: and eff.mr_effectivity_id =c_effectivity_id
1943: and eff.object_version_number=c_eff_obj) ;
1944:
1945: BEGIN
1946: x_return_status := FND_API.G_RET_STS_SUCCESS;
1947:
1948:
1949: OPEN mr_type_activity( p_effectivity_id, p_eff_obj_version);
1950: FETCH mr_type_activity INTO l_record_exists;
1949: OPEN mr_type_activity( p_effectivity_id, p_eff_obj_version);
1950: FETCH mr_type_activity INTO l_record_exists;
1951:
1952: IF mr_type_activity%FOUND THEN
1953: x_return_status := FND_API.G_RET_STS_ERROR;
1954: x_msg_data := 'AHL_FMP_EFFECTIVITY_ITEM_PM';
1955: END IF;
1956:
1957: CLOSE mr_type_activity;
2021: where owner_id = c_owner_id
2022: and upper(owner_name) like upper(c_owner);
2023:
2024: BEGIN
2025: x_return_status := FND_API.G_RET_STS_SUCCESS;
2026:
2027: IF ( ( p_owner IS NULL OR
2028: p_owner = FND_API.G_MISS_CHAR ) AND
2029: ( p_x_owner_id IS NULL OR
2024: BEGIN
2025: x_return_status := FND_API.G_RET_STS_SUCCESS;
2026:
2027: IF ( ( p_owner IS NULL OR
2028: p_owner = FND_API.G_MISS_CHAR ) AND
2029: ( p_x_owner_id IS NULL OR
2030: p_x_owner_id = FND_API.G_MISS_NUM ) ) THEN
2031: x_return_status := FND_API.G_RET_STS_ERROR;
2032: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2026:
2027: IF ( ( p_owner IS NULL OR
2028: p_owner = FND_API.G_MISS_CHAR ) AND
2029: ( p_x_owner_id IS NULL OR
2030: p_x_owner_id = FND_API.G_MISS_NUM ) ) THEN
2031: x_return_status := FND_API.G_RET_STS_ERROR;
2032: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2033: RETURN;
2034: END IF;
2027: IF ( ( p_owner IS NULL OR
2028: p_owner = FND_API.G_MISS_CHAR ) AND
2029: ( p_x_owner_id IS NULL OR
2030: p_x_owner_id = FND_API.G_MISS_NUM ) ) THEN
2031: x_return_status := FND_API.G_RET_STS_ERROR;
2032: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2033: RETURN;
2034: END IF;
2035:
2034: END IF;
2035:
2036:
2037: IF ( ( p_owner IS NULL OR
2038: p_owner = FND_API.G_MISS_CHAR ) AND
2039: ( p_x_owner_id IS NOT NULL AND
2040: p_x_owner_id <> FND_API.G_MISS_NUM ) ) THEN
2041:
2042: OPEN get_owner_rec_from_id( p_x_owner_id );
2036:
2037: IF ( ( p_owner IS NULL OR
2038: p_owner = FND_API.G_MISS_CHAR ) AND
2039: ( p_x_owner_id IS NOT NULL AND
2040: p_x_owner_id <> FND_API.G_MISS_NUM ) ) THEN
2041:
2042: OPEN get_owner_rec_from_id( p_x_owner_id );
2043:
2044: LOOP
2047: EXIT WHEN get_owner_rec_from_id%NOTFOUND;
2048: END LOOP;
2049:
2050: IF ( get_owner_rec_from_id%ROWCOUNT = 0 ) THEN
2051: x_return_status := FND_API.G_RET_STS_ERROR;
2052: x_msg_data := 'AHL_FMP_INVALID_OWNER';
2053: ELSIF ( get_owner_rec_from_id%ROWCOUNT = 1 ) THEN
2054: p_x_owner_id := l_owner_id;
2055: ELSE
2052: x_msg_data := 'AHL_FMP_INVALID_OWNER';
2053: ELSIF ( get_owner_rec_from_id%ROWCOUNT = 1 ) THEN
2054: p_x_owner_id := l_owner_id;
2055: ELSE
2056: x_return_status := FND_API.G_RET_STS_ERROR;
2057: x_msg_data := 'AHL_FMP_INV_TOO_MANY_OWNERS';
2058: END IF;
2059: CLOSE get_owner_rec_from_id;
2060:
2058: END IF;
2059: CLOSE get_owner_rec_from_id;
2060:
2061: ELSIF ( p_owner IS NOT NULL AND
2062: p_owner <> FND_API.G_MISS_CHAR ) THEN
2063:
2064: OPEN get_owner_rec_from_value( p_owner );
2065:
2066: LOOP
2070: EXIT WHEN get_owner_rec_from_value%NOTFOUND;
2071:
2072: END LOOP;
2073: IF ( get_owner_rec_from_value%ROWCOUNT = 0 ) THEN
2074: x_return_status := FND_API.G_RET_STS_ERROR;
2075: x_msg_data := 'AHL_FMP_INVALID_OWNER';
2076: ELSIF ( get_owner_rec_from_value%ROWCOUNT = 1 ) THEN
2077: p_x_owner_id := l_owner_id;
2078: ELSIF ( get_owner_rec_from_value%ROWCOUNT > 1 ) THEN
2076: ELSIF ( get_owner_rec_from_value%ROWCOUNT = 1 ) THEN
2077: p_x_owner_id := l_owner_id;
2078: ELSIF ( get_owner_rec_from_value%ROWCOUNT > 1 ) THEN
2079: IF( p_x_owner_id IS NOT NULL AND
2080: p_x_owner_id <> FND_API.G_MISS_NUM ) THEN
2081:
2082: OPEN get_owner_rec_from_id_val( p_x_owner_id,p_owner );
2083:
2084: LOOP
2087: EXIT WHEN get_owner_rec_from_id_val%NOTFOUND;
2088: END LOOP;
2089:
2090: IF ( get_owner_rec_from_id_val%ROWCOUNT = 0 ) THEN
2091: x_return_status := FND_API.G_RET_STS_ERROR;
2092: x_msg_data := 'AHL_FMP_INVALID_OWNER';
2093: ELSIF ( get_owner_rec_from_id_val%ROWCOUNT = 1 ) THEN
2094: p_x_owner_id := l_owner_id;
2095: ELSE
2092: x_msg_data := 'AHL_FMP_INVALID_OWNER';
2093: ELSIF ( get_owner_rec_from_id_val%ROWCOUNT = 1 ) THEN
2094: p_x_owner_id := l_owner_id;
2095: ELSE
2096: x_return_status := FND_API.G_RET_STS_ERROR;
2097: x_msg_data := 'AHL_FMP_INV_TOO_MANY_OWNERS';
2098: END IF;
2099: CLOSE get_owner_rec_from_id_val;
2100:
2098: END IF;
2099: CLOSE get_owner_rec_from_id_val;
2100:
2101: ELSE
2102: x_return_status := FND_API.G_RET_STS_ERROR;
2103: x_msg_data := 'AHL_FMP_INV_TOO_MANY_OWNERS';
2104: END IF;
2105: END IF;
2106: CLOSE get_owner_rec_from_value;
2159: where lookup_type='CSI_INST_LOCATION_SOURCE_CODE'
2160: and lookup_code = c_location_type_code;
2161:
2162: BEGIN
2163: x_return_status := FND_API.G_RET_STS_SUCCESS;
2164:
2165: IF ( ( p_location IS NULL OR
2166: p_location = FND_API.G_MISS_CHAR ) AND
2167: ( p_x_location_type_code IS NULL OR
2162: BEGIN
2163: x_return_status := FND_API.G_RET_STS_SUCCESS;
2164:
2165: IF ( ( p_location IS NULL OR
2166: p_location = FND_API.G_MISS_CHAR ) AND
2167: ( p_x_location_type_code IS NULL OR
2168: p_x_location_type_code = FND_API.G_MISS_CHAR ) ) THEN
2169: x_return_status := FND_API.G_RET_STS_ERROR;
2170: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2164:
2165: IF ( ( p_location IS NULL OR
2166: p_location = FND_API.G_MISS_CHAR ) AND
2167: ( p_x_location_type_code IS NULL OR
2168: p_x_location_type_code = FND_API.G_MISS_CHAR ) ) THEN
2169: x_return_status := FND_API.G_RET_STS_ERROR;
2170: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2171: RETURN;
2172: END IF;
2165: IF ( ( p_location IS NULL OR
2166: p_location = FND_API.G_MISS_CHAR ) AND
2167: ( p_x_location_type_code IS NULL OR
2168: p_x_location_type_code = FND_API.G_MISS_CHAR ) ) THEN
2169: x_return_status := FND_API.G_RET_STS_ERROR;
2170: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2171: RETURN;
2172: END IF;
2173:
2171: RETURN;
2172: END IF;
2173:
2174: IF ( ( p_location IS NULL OR
2175: p_location = FND_API.G_MISS_CHAR ) AND
2176: ( p_x_location_type_code IS NOT NULL AND
2177: p_x_location_type_code <> FND_API.G_MISS_CHAR ) ) THEN
2178:
2179: OPEN get_rec_from_id( p_x_location_type_code );
2173:
2174: IF ( ( p_location IS NULL OR
2175: p_location = FND_API.G_MISS_CHAR ) AND
2176: ( p_x_location_type_code IS NOT NULL AND
2177: p_x_location_type_code <> FND_API.G_MISS_CHAR ) ) THEN
2178:
2179: OPEN get_rec_from_id( p_x_location_type_code );
2180:
2181: FETCH get_rec_from_id INTO
2181: FETCH get_rec_from_id INTO
2182: l_location_type_code;
2183:
2184: IF get_rec_from_id%NOTFOUND THEN
2185: x_return_status := FND_API.G_RET_STS_ERROR;
2186: x_msg_data := 'AHL_FMP_INVALID_LOCATION';
2187: END IF;
2188:
2189: CLOSE get_rec_from_id;
2191:
2192: END IF;
2193:
2194: IF ( p_location IS NOT NULL AND
2195: p_location <> FND_API.G_MISS_CHAR ) THEN
2196:
2197: OPEN get_rec_from_value( p_location );
2198:
2199: LOOP
2209:
2210: END LOOP;
2211:
2212: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
2213: x_return_status := FND_API.G_RET_STS_ERROR;
2214: x_msg_data := 'AHL_FMP_INVALID_LOCATION';
2215: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
2216: p_x_location_type_code := l_location_type_code;
2217: ELSE
2214: x_msg_data := 'AHL_FMP_INVALID_LOCATION';
2215: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
2216: p_x_location_type_code := l_location_type_code;
2217: ELSE
2218: x_return_status := FND_API.G_RET_STS_ERROR;
2219: x_msg_data := 'AHL_FMP_TOO_MANY_LOCATIONS';
2220: END IF;
2221:
2222: CLOSE get_rec_from_value;
2274: select distinct CIEA.ATTRIBUTE_CODE from CSI_I_EXTENDED_ATTRIBS CIEA
2275: where CIEA.ATTRIBUTE_CODE = c_csi_attribute_code;
2276:
2277: BEGIN
2278: x_return_status := FND_API.G_RET_STS_SUCCESS;
2279:
2280: IF ( ( p_csi_attribute_name IS NULL OR
2281: p_csi_attribute_name = FND_API.G_MISS_CHAR ) AND
2282: ( p_x_csi_attribute_code IS NULL OR
2277: BEGIN
2278: x_return_status := FND_API.G_RET_STS_SUCCESS;
2279:
2280: IF ( ( p_csi_attribute_name IS NULL OR
2281: p_csi_attribute_name = FND_API.G_MISS_CHAR ) AND
2282: ( p_x_csi_attribute_code IS NULL OR
2283: p_x_csi_attribute_code = FND_API.G_MISS_CHAR ) ) THEN
2284: x_return_status := FND_API.G_RET_STS_ERROR;
2285: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2279:
2280: IF ( ( p_csi_attribute_name IS NULL OR
2281: p_csi_attribute_name = FND_API.G_MISS_CHAR ) AND
2282: ( p_x_csi_attribute_code IS NULL OR
2283: p_x_csi_attribute_code = FND_API.G_MISS_CHAR ) ) THEN
2284: x_return_status := FND_API.G_RET_STS_ERROR;
2285: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2286: RETURN;
2287: END IF;
2280: IF ( ( p_csi_attribute_name IS NULL OR
2281: p_csi_attribute_name = FND_API.G_MISS_CHAR ) AND
2282: ( p_x_csi_attribute_code IS NULL OR
2283: p_x_csi_attribute_code = FND_API.G_MISS_CHAR ) ) THEN
2284: x_return_status := FND_API.G_RET_STS_ERROR;
2285: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2286: RETURN;
2287: END IF;
2288:
2286: RETURN;
2287: END IF;
2288:
2289: IF ( ( p_csi_attribute_name IS NULL OR
2290: p_csi_attribute_name = FND_API.G_MISS_CHAR ) AND
2291: ( p_x_csi_attribute_code IS NOT NULL AND
2292: p_x_csi_attribute_code <> FND_API.G_MISS_CHAR ) ) THEN
2293:
2294: OPEN get_rec_from_id( p_x_csi_attribute_code );
2288:
2289: IF ( ( p_csi_attribute_name IS NULL OR
2290: p_csi_attribute_name = FND_API.G_MISS_CHAR ) AND
2291: ( p_x_csi_attribute_code IS NOT NULL AND
2292: p_x_csi_attribute_code <> FND_API.G_MISS_CHAR ) ) THEN
2293:
2294: OPEN get_rec_from_id( p_x_csi_attribute_code );
2295:
2296: FETCH get_rec_from_id INTO
2296: FETCH get_rec_from_id INTO
2297: l_csi_attribute_code;
2298:
2299: IF get_rec_from_id%NOTFOUND THEN
2300: x_return_status := FND_API.G_RET_STS_ERROR;
2301: x_msg_data := 'AHL_FMP_INVALID_EXT_ATTR';
2302: END IF;
2303:
2304: CLOSE get_rec_from_id;
2306:
2307: END IF;
2308:
2309: IF ( p_csi_attribute_name IS NOT NULL AND
2310: p_csi_attribute_name <> FND_API.G_MISS_CHAR ) THEN
2311:
2312: OPEN get_rec_from_value( p_csi_attribute_name );
2313:
2314: LOOP
2324:
2325: END LOOP;
2326:
2327: IF ( get_rec_from_value%ROWCOUNT = 0 ) THEN
2328: x_return_status := FND_API.G_RET_STS_ERROR;
2329: x_msg_data := 'AHL_FMP_INVALID_EXT_ATTR';
2330: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
2331: p_x_csi_attribute_code := l_csi_attribute_code;
2332: ELSE
2329: x_msg_data := 'AHL_FMP_INVALID_EXT_ATTR';
2330: ELSIF ( get_rec_from_value%ROWCOUNT = 1 ) THEN
2331: p_x_csi_attribute_code := l_csi_attribute_code;
2332: ELSE
2333: x_return_status := FND_API.G_RET_STS_ERROR;
2334: x_msg_data := 'AHL_FMP_TOO_MANY_EXT_ATTRS';
2335: END IF;
2336:
2337: CLOSE get_rec_from_value;
2384: FROM AHL_FLEET_HEADERS_B
2385: WHERE FLEET_HEADER_ID = c_fleet_node_id;
2386:
2387: BEGIN
2388: x_return_status := FND_API.G_RET_STS_SUCCESS;
2389:
2390: IF ( ( p_fleet_name IS NULL OR
2391: p_fleet_name = FND_API.G_MISS_CHAR ) AND
2392: ( p_x_fleet_header_id IS NULL OR
2387: BEGIN
2388: x_return_status := FND_API.G_RET_STS_SUCCESS;
2389:
2390: IF ( ( p_fleet_name IS NULL OR
2391: p_fleet_name = FND_API.G_MISS_CHAR ) AND
2392: ( p_x_fleet_header_id IS NULL OR
2393: p_x_fleet_header_id = FND_API.G_MISS_NUM ) ) THEN
2394: x_return_status := FND_API.G_RET_STS_ERROR;
2395: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2389:
2390: IF ( ( p_fleet_name IS NULL OR
2391: p_fleet_name = FND_API.G_MISS_CHAR ) AND
2392: ( p_x_fleet_header_id IS NULL OR
2393: p_x_fleet_header_id = FND_API.G_MISS_NUM ) ) THEN
2394: x_return_status := FND_API.G_RET_STS_ERROR;
2395: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2396: RETURN;
2397: END IF;
2390: IF ( ( p_fleet_name IS NULL OR
2391: p_fleet_name = FND_API.G_MISS_CHAR ) AND
2392: ( p_x_fleet_header_id IS NULL OR
2393: p_x_fleet_header_id = FND_API.G_MISS_NUM ) ) THEN
2394: x_return_status := FND_API.G_RET_STS_ERROR;
2395: x_msg_data := 'AHL_COM_INVALID_PROCEDURE_CALL';
2396: RETURN;
2397: END IF;
2398:
2396: RETURN;
2397: END IF;
2398:
2399: IF ( ( p_fleet_name IS NULL OR
2400: p_fleet_name = FND_API.G_MISS_CHAR ) AND
2401: ( p_x_fleet_header_id IS NOT NULL AND
2402: p_x_fleet_header_id <> FND_API.G_MISS_NUM ) ) THEN
2403:
2404: OPEN get_fleet_rec_from_id( p_x_fleet_header_id );
2398:
2399: IF ( ( p_fleet_name IS NULL OR
2400: p_fleet_name = FND_API.G_MISS_CHAR ) AND
2401: ( p_x_fleet_header_id IS NOT NULL AND
2402: p_x_fleet_header_id <> FND_API.G_MISS_NUM ) ) THEN
2403:
2404: OPEN get_fleet_rec_from_id( p_x_fleet_header_id );
2405:
2406: FETCH get_fleet_rec_from_id INTO
2406: FETCH get_fleet_rec_from_id INTO
2407: l_fleet_header_id;
2408:
2409: IF get_fleet_rec_from_id%NOTFOUND THEN
2410: x_return_status := FND_API.G_RET_STS_ERROR;
2411: x_msg_data := 'AHL_FMP_INVALID_FLEET_NODE';
2412: END IF;
2413:
2414: CLOSE get_fleet_rec_from_id;
2416:
2417: END IF;
2418:
2419: IF ( p_fleet_name IS NOT NULL AND
2420: p_fleet_name <> FND_API.G_MISS_CHAR ) THEN
2421:
2422: OPEN get_fleet_rec_from_name( p_fleet_name );
2423:
2424: LOOP
2434:
2435: END LOOP;
2436:
2437: IF ( get_fleet_rec_from_name%ROWCOUNT = 0 ) THEN
2438: x_return_status := FND_API.G_RET_STS_ERROR;
2439: x_msg_data := 'AHL_FMP_INVALID_FLEET_NODE';
2440: ELSIF ( get_fleet_rec_from_name%ROWCOUNT = 1 ) THEN
2441: p_x_fleet_header_id := l_fleet_header_id;
2442: ELSE
2439: x_msg_data := 'AHL_FMP_INVALID_FLEET_NODE';
2440: ELSIF ( get_fleet_rec_from_name%ROWCOUNT = 1 ) THEN
2441: p_x_fleet_header_id := l_fleet_header_id;
2442: ELSE
2443: x_return_status := FND_API.G_RET_STS_ERROR;
2444: x_msg_data := 'AHL_FMP_TOO_MANY_FLEET_NODES';
2445: END IF;
2446:
2447: CLOSE get_fleet_rec_from_name;