264: p_x_prd_workorder_rec.JOB_DESCRIPTION:=l_prd_workorder_rec.JOB_DESCRIPTION;
265:
266: ELSE
267:
268: IF p_x_prd_workorder_rec.WIP_ENTITY_ID= FND_API.G_MISS_NUM THEN
269: p_x_prd_workorder_rec.WIP_ENTITY_ID:=NULL;
270: ELSIF p_x_prd_workorder_rec.WIP_ENTITY_ID IS NULL THEN
271: p_x_prd_workorder_rec.WIP_ENTITY_ID:=l_prd_workorder_rec.WIP_ENTITY_ID;
272: END IF;
270: ELSIF p_x_prd_workorder_rec.WIP_ENTITY_ID IS NULL THEN
271: p_x_prd_workorder_rec.WIP_ENTITY_ID:=l_prd_workorder_rec.WIP_ENTITY_ID;
272: END IF;
273:
274: IF p_x_prd_workorder_rec.JOB_NUMBER= FND_API.G_MISS_CHAR THEN
275: p_x_prd_workorder_rec.JOB_NUMBER:=NULL;
276: ELSIF p_x_prd_workorder_rec.JOB_NUMBER IS NULL THEN
277: p_x_prd_workorder_rec.JOB_NUMBER:=l_prd_workorder_rec.JOB_NUMBER;
278: END IF;
276: ELSIF p_x_prd_workorder_rec.JOB_NUMBER IS NULL THEN
277: p_x_prd_workorder_rec.JOB_NUMBER:=l_prd_workorder_rec.JOB_NUMBER;
278: END IF;
279:
280: IF p_x_prd_workorder_rec.JOB_DESCRIPTION= FND_API.G_MISS_CHAR THEN
281: p_x_prd_workorder_rec.JOB_DESCRIPTION:=NULL;
282: ELSIF p_x_prd_workorder_rec.JOB_DESCRIPTION IS NULL THEN
283: p_x_prd_workorder_rec.JOB_DESCRIPTION:=l_prd_workorder_rec.JOB_DESCRIPTION;
284: END IF;
284: END IF;
285: END IF; --G_Called_from
286:
287:
288: IF p_x_prd_workorder_rec.OBJECT_VERSION_NUMBER= FND_API.G_MISS_NUM THEN
289: p_x_prd_workorder_rec.OBJECT_VERSION_NUMBER:=NULL;
290: ELSIF p_x_prd_workorder_rec.OBJECT_VERSION_NUMBER IS NULL THEN
291: p_x_prd_workorder_rec.OBJECT_VERSION_NUMBER:=l_prd_workorder_rec.OBJECT_VERSION_NUMBER;
292: END IF;
291: p_x_prd_workorder_rec.OBJECT_VERSION_NUMBER:=l_prd_workorder_rec.OBJECT_VERSION_NUMBER;
292: END IF;
293:
294:
295: IF p_x_prd_workorder_rec.ORGANIZATION_ID= FND_API.G_MISS_NUM THEN
296: p_x_prd_workorder_rec.ORGANIZATION_ID:=NULL;
297: ELSIF p_x_prd_workorder_rec.ORGANIZATION_ID IS NULL THEN
298: p_x_prd_workorder_rec.ORGANIZATION_ID:=l_prd_workorder_rec.ORGANIZATION_ID;
299: END IF;
299: END IF;
300:
301:
302:
303: IF p_x_prd_workorder_rec.ORGANIZATION_NAME= FND_API.G_MISS_CHAR THEN
304: p_x_prd_workorder_rec.ORGANIZATION_NAME:=NULL;
305: ELSIF p_x_prd_workorder_rec.ORGANIZATION_NAME IS NULL THEN
306: p_x_prd_workorder_rec.ORGANIZATION_NAME:=l_prd_workorder_rec.ORGANIZATION_NAME;
307: END IF;
305: ELSIF p_x_prd_workorder_rec.ORGANIZATION_NAME IS NULL THEN
306: p_x_prd_workorder_rec.ORGANIZATION_NAME:=l_prd_workorder_rec.ORGANIZATION_NAME;
307: END IF;
308:
309: IF p_x_prd_workorder_rec.FIRM_PLANNED_FLAG= FND_API.G_MISS_NUM THEN
310: p_x_prd_workorder_rec.FIRM_PLANNED_FLAG:=NULL;
311: ELSIF p_x_prd_workorder_rec.FIRM_PLANNED_FLAG IS NULL THEN
312: p_x_prd_workorder_rec.FIRM_PLANNED_FLAG:=l_prd_workorder_rec.FIRM_PLANNED_FLAG;
313: END IF;
311: ELSIF p_x_prd_workorder_rec.FIRM_PLANNED_FLAG IS NULL THEN
312: p_x_prd_workorder_rec.FIRM_PLANNED_FLAG:=l_prd_workorder_rec.FIRM_PLANNED_FLAG;
313: END IF;
314:
315: IF p_x_prd_workorder_rec.CLASS_CODE= FND_API.G_MISS_CHAR THEN
316: p_x_prd_workorder_rec.CLASS_CODE:=NULL;
317: ELSIF p_x_prd_workorder_rec.CLASS_CODE IS NULL THEN
318: p_x_prd_workorder_rec.CLASS_CODE:=l_prd_workorder_rec.CLASS_CODE;
319: END IF;
319: END IF;
320:
321: IF G_CALLED_FROM = 'API' THEN
322:
323: IF p_x_prd_workorder_rec.DEPARTMENT_ID= FND_API.G_MISS_NUM THEN
324: p_x_prd_workorder_rec.DEPARTMENT_ID:=NULL;
325: ELSIF p_x_prd_workorder_rec.DEPARTMENT_ID IS NULL THEN
326: p_x_prd_workorder_rec.DEPARTMENT_ID:=l_prd_workorder_rec.DEPARTMENT_ID;
327: END IF;
327: END IF;
328:
329: ELSE
330:
331: IF p_x_prd_workorder_rec.DEPARTMENT_NAME= FND_API.G_MISS_CHAR THEN
332: p_x_prd_workorder_rec.DEPARTMENT_NAME:=NULL;
333: ELSIF p_x_prd_workorder_rec.DEPARTMENT_NAME IS NULL THEN
334: p_x_prd_workorder_rec.DEPARTMENT_NAME:=l_prd_workorder_rec.DEPARTMENT_NAME;
335: END IF;
333: ELSIF p_x_prd_workorder_rec.DEPARTMENT_NAME IS NULL THEN
334: p_x_prd_workorder_rec.DEPARTMENT_NAME:=l_prd_workorder_rec.DEPARTMENT_NAME;
335: END IF;
336:
337: IF p_x_prd_workorder_rec.DEPARTMENT_ID= FND_API.G_MISS_NUM THEN
338: p_x_prd_workorder_rec.DEPARTMENT_ID:=NULL;
339: ELSIF p_x_prd_workorder_rec.DEPARTMENT_ID IS NULL THEN
340: p_x_prd_workorder_rec.DEPARTMENT_ID:=l_prd_workorder_rec.DEPARTMENT_ID;
341: END IF;
341: END IF;
342:
343: END IF;
344:
345: IF p_x_prd_workorder_rec.STATUS_CODE= FND_API.G_MISS_CHAR THEN
346: p_x_prd_workorder_rec.STATUS_CODE:=NULL;
347: ELSIF p_x_prd_workorder_rec.STATUS_CODE IS NULL THEN
348: p_x_prd_workorder_rec.STATUS_CODE:=l_prd_workorder_rec.job_STATUS_CODE;
349: END IF;
347: ELSIF p_x_prd_workorder_rec.STATUS_CODE IS NULL THEN
348: p_x_prd_workorder_rec.STATUS_CODE:=l_prd_workorder_rec.job_STATUS_CODE;
349: END IF;
350:
351: IF p_x_prd_workorder_rec.STATUS_MEANING= FND_API.G_MISS_CHAR THEN
352: p_x_prd_workorder_rec.STATUS_MEANING:=NULL;
353: ELSIF p_x_prd_workorder_rec.STATUS_MEANING IS NULL THEN
354: p_x_prd_workorder_rec.STATUS_MEANING:=l_prd_workorder_rec.JOB_STATUS_MEANING;
355: END IF;
353: ELSIF p_x_prd_workorder_rec.STATUS_MEANING IS NULL THEN
354: p_x_prd_workorder_rec.STATUS_MEANING:=l_prd_workorder_rec.JOB_STATUS_MEANING;
355: END IF;
356:
357: IF p_x_prd_workorder_rec.SCHEDULED_START_DATE=FND_API.G_MISS_DATE THEN
358: p_x_prd_workorder_rec.SCHEDULED_START_DATE:=NULL;
359: ELSIF p_x_prd_workorder_rec.SCHEDULED_START_DATE IS NULL THEN
360: p_x_prd_workorder_rec.SCHEDULED_START_DATE:=l_prd_workorder_rec.SCHEDULED_START_DATE;
361: END IF;
359: ELSIF p_x_prd_workorder_rec.SCHEDULED_START_DATE IS NULL THEN
360: p_x_prd_workorder_rec.SCHEDULED_START_DATE:=l_prd_workorder_rec.SCHEDULED_START_DATE;
361: END IF;
362:
363: IF p_x_prd_workorder_rec.SCHEDULED_START_HR=FND_API.G_MISS_NUM THEN
364: p_x_prd_workorder_rec.SCHEDULED_START_HR:=NULL;
365: ELSIF p_x_prd_workorder_rec.SCHEDULED_START_HR IS NULL THEN
366: p_x_prd_workorder_rec.SCHEDULED_START_HR:=l_prd_workorder_rec.SCHEDULED_START_HR;
367: END IF;
365: ELSIF p_x_prd_workorder_rec.SCHEDULED_START_HR IS NULL THEN
366: p_x_prd_workorder_rec.SCHEDULED_START_HR:=l_prd_workorder_rec.SCHEDULED_START_HR;
367: END IF;
368:
369: IF p_x_prd_workorder_rec.SCHEDULED_START_MI=FND_API.G_MISS_NUM THEN
370: p_x_prd_workorder_rec.SCHEDULED_START_MI:=NULL;
371: ELSIF p_x_prd_workorder_rec.SCHEDULED_START_MI IS NULL THEN
372: p_x_prd_workorder_rec.SCHEDULED_START_MI:=l_prd_workorder_rec.SCHEDULED_START_MI;
373: END IF;
371: ELSIF p_x_prd_workorder_rec.SCHEDULED_START_MI IS NULL THEN
372: p_x_prd_workorder_rec.SCHEDULED_START_MI:=l_prd_workorder_rec.SCHEDULED_START_MI;
373: END IF;
374:
375: IF p_x_prd_workorder_rec.SCHEDULED_END_DATE=FND_API.G_MISS_DATE THEN
376: p_x_prd_workorder_rec.SCHEDULED_END_DATE:=NULL;
377: ELSIF p_x_prd_workorder_rec.SCHEDULED_END_DATE IS NULL THEN
378: p_x_prd_workorder_rec.SCHEDULED_END_DATE:=l_prd_workorder_rec.SCHEDULED_END_DATE;
379: END IF;
377: ELSIF p_x_prd_workorder_rec.SCHEDULED_END_DATE IS NULL THEN
378: p_x_prd_workorder_rec.SCHEDULED_END_DATE:=l_prd_workorder_rec.SCHEDULED_END_DATE;
379: END IF;
380:
381: IF p_x_prd_workorder_rec.SCHEDULED_END_HR=FND_API.G_MISS_NUM THEN
382: p_x_prd_workorder_rec.SCHEDULED_END_HR:=NULL;
383: ELSIF p_x_prd_workorder_rec.SCHEDULED_END_HR IS NULL THEN
384: p_x_prd_workorder_rec.SCHEDULED_END_HR:=l_prd_workorder_rec.SCHEDULED_END_HR;
385: END IF;
383: ELSIF p_x_prd_workorder_rec.SCHEDULED_END_HR IS NULL THEN
384: p_x_prd_workorder_rec.SCHEDULED_END_HR:=l_prd_workorder_rec.SCHEDULED_END_HR;
385: END IF;
386:
387: IF p_x_prd_workorder_rec.SCHEDULED_END_MI=FND_API.G_MISS_NUM THEN
388: p_x_prd_workorder_rec.SCHEDULED_END_MI:=NULL;
389: ELSIF p_x_prd_workorder_rec.SCHEDULED_END_MI IS NULL THEN
390: p_x_prd_workorder_rec.SCHEDULED_END_MI:=l_prd_workorder_rec.SCHEDULED_END_MI;
391: END IF;
389: ELSIF p_x_prd_workorder_rec.SCHEDULED_END_MI IS NULL THEN
390: p_x_prd_workorder_rec.SCHEDULED_END_MI:=l_prd_workorder_rec.SCHEDULED_END_MI;
391: END IF;
392:
393: IF p_x_prd_workorder_rec.ACTUAL_START_DATE=FND_API.G_MISS_DATE THEN
394: p_x_prd_workorder_rec.ACTUAL_START_DATE:=NULL;
395: ELSIF p_x_prd_workorder_rec.ACTUAL_START_DATE IS NULL THEN
396: p_x_prd_workorder_rec.ACTUAL_START_DATE:=l_prd_workorder_rec.ACTUAL_START_DATE;
397: END IF;
395: ELSIF p_x_prd_workorder_rec.ACTUAL_START_DATE IS NULL THEN
396: p_x_prd_workorder_rec.ACTUAL_START_DATE:=l_prd_workorder_rec.ACTUAL_START_DATE;
397: END IF;
398:
399: IF p_x_prd_workorder_rec.ACTUAL_START_HR=FND_API.G_MISS_NUM THEN
400: p_x_prd_workorder_rec.ACTUAL_START_HR:=NULL;
401: ELSIF p_x_prd_workorder_rec.ACTUAL_START_HR IS NULL THEN
402: p_x_prd_workorder_rec.ACTUAL_START_HR:=l_prd_workorder_rec.ACTUAL_START_HR;
403: END IF;
401: ELSIF p_x_prd_workorder_rec.ACTUAL_START_HR IS NULL THEN
402: p_x_prd_workorder_rec.ACTUAL_START_HR:=l_prd_workorder_rec.ACTUAL_START_HR;
403: END IF;
404:
405: IF p_x_prd_workorder_rec.ACTUAL_START_MI=FND_API.G_MISS_NUM THEN
406: p_x_prd_workorder_rec.ACTUAL_START_MI:=NULL;
407: ELSIF p_x_prd_workorder_rec.ACTUAL_START_MI IS NULL THEN
408: p_x_prd_workorder_rec.ACTUAL_START_MI:=l_prd_workorder_rec.ACTUAL_START_MI;
409: END IF;
407: ELSIF p_x_prd_workorder_rec.ACTUAL_START_MI IS NULL THEN
408: p_x_prd_workorder_rec.ACTUAL_START_MI:=l_prd_workorder_rec.ACTUAL_START_MI;
409: END IF;
410:
411: IF p_x_prd_workorder_rec.ACTUAL_END_DATE=FND_API.G_MISS_DATE THEN
412: p_x_prd_workorder_rec.ACTUAL_END_DATE:=NULL;
413: ELSIF p_x_prd_workorder_rec.ACTUAL_END_DATE IS NULL THEN
414: p_x_prd_workorder_rec.ACTUAL_END_DATE:=l_prd_workorder_rec.ACTUAL_END_DATE;
415: END IF;
413: ELSIF p_x_prd_workorder_rec.ACTUAL_END_DATE IS NULL THEN
414: p_x_prd_workorder_rec.ACTUAL_END_DATE:=l_prd_workorder_rec.ACTUAL_END_DATE;
415: END IF;
416:
417: IF p_x_prd_workorder_rec.ACTUAL_END_HR=FND_API.G_MISS_NUM THEN
418: p_x_prd_workorder_rec.ACTUAL_END_HR:=NULL;
419: ELSIF p_x_prd_workorder_rec.ACTUAL_END_HR IS NULL THEN
420: p_x_prd_workorder_rec.ACTUAL_END_HR:=l_prd_workorder_rec.ACTUAL_END_HR;
421: END IF;
419: ELSIF p_x_prd_workorder_rec.ACTUAL_END_HR IS NULL THEN
420: p_x_prd_workorder_rec.ACTUAL_END_HR:=l_prd_workorder_rec.ACTUAL_END_HR;
421: END IF;
422:
423: IF p_x_prd_workorder_rec.ACTUAL_END_MI=FND_API.G_MISS_NUM THEN
424: p_x_prd_workorder_rec.ACTUAL_END_MI:=NULL;
425: ELSIF p_x_prd_workorder_rec.ACTUAL_END_MI IS NULL THEN
426: p_x_prd_workorder_rec.ACTUAL_END_MI:=l_prd_workorder_rec.ACTUAL_END_MI;
427: END IF;
425: ELSIF p_x_prd_workorder_rec.ACTUAL_END_MI IS NULL THEN
426: p_x_prd_workorder_rec.ACTUAL_END_MI:=l_prd_workorder_rec.ACTUAL_END_MI;
427: END IF;
428:
429: IF p_x_prd_workorder_rec.INVENTORY_ITEM_ID= FND_API.G_MISS_NUM THEN
430: p_x_prd_workorder_rec.INVENTORY_ITEM_ID:=NULL;
431: ELSIF p_x_prd_workorder_rec.INVENTORY_ITEM_ID IS NULL THEN
432: p_x_prd_workorder_rec.INVENTORY_ITEM_ID:=l_prd_workorder_rec.INVENTORY_ITEM_ID;
433: END IF;
431: ELSIF p_x_prd_workorder_rec.INVENTORY_ITEM_ID IS NULL THEN
432: p_x_prd_workorder_rec.INVENTORY_ITEM_ID:=l_prd_workorder_rec.INVENTORY_ITEM_ID;
433: END IF;
434:
435: IF p_x_prd_workorder_rec.ITEM_INSTANCE_ID= FND_API.G_MISS_NUM THEN
436: p_x_prd_workorder_rec.ITEM_INSTANCE_ID:=NULL;
437: ELSIF p_x_prd_workorder_rec.ITEM_INSTANCE_ID IS NULL THEN
438: p_x_prd_workorder_rec.ITEM_INSTANCE_ID:=l_prd_workorder_rec.ITEM_INSTANCE_ID;
439: END IF;
437: ELSIF p_x_prd_workorder_rec.ITEM_INSTANCE_ID IS NULL THEN
438: p_x_prd_workorder_rec.ITEM_INSTANCE_ID:=l_prd_workorder_rec.ITEM_INSTANCE_ID;
439: END IF;
440:
441: IF p_x_prd_workorder_rec.UNIT_NAME= FND_API.G_MISS_CHAR THEN
442: p_x_prd_workorder_rec.UNIT_NAME:=NULL;
443: ELSIF p_x_prd_workorder_rec.UNIT_NAME IS NULL THEN
444: p_x_prd_workorder_rec.UNIT_NAME:=l_prd_workorder_rec.UNIT_NAME;
445: END IF;
443: ELSIF p_x_prd_workorder_rec.UNIT_NAME IS NULL THEN
444: p_x_prd_workorder_rec.UNIT_NAME:=l_prd_workorder_rec.UNIT_NAME;
445: END IF;
446:
447: IF p_x_prd_workorder_rec.ITEM_INSTANCE_NUMBER= FND_API.G_MISS_CHAR THEN
448: p_x_prd_workorder_rec.ITEM_INSTANCE_NUMBER:=NULL;
449: ELSIF p_x_prd_workorder_rec.ITEM_INSTANCE_NUMBER IS NULL THEN
450: p_x_prd_workorder_rec.ITEM_INSTANCE_NUMBER:=l_prd_workorder_rec.ITEM_INSTANCE_NUMBER;
451: END IF;
449: ELSIF p_x_prd_workorder_rec.ITEM_INSTANCE_NUMBER IS NULL THEN
450: p_x_prd_workorder_rec.ITEM_INSTANCE_NUMBER:=l_prd_workorder_rec.ITEM_INSTANCE_NUMBER;
451: END IF;
452:
453: IF p_x_prd_workorder_rec.QUANTITY= FND_API.G_MISS_NUM THEN
454: p_x_prd_workorder_rec.QUANTITY:=NULL;
455: ELSIF p_x_prd_workorder_rec.QUANTITY IS NULL THEN
456: p_x_prd_workorder_rec.QUANTITY:=l_prd_workorder_rec.QUANTITY;
457: END IF;
455: ELSIF p_x_prd_workorder_rec.QUANTITY IS NULL THEN
456: p_x_prd_workorder_rec.QUANTITY:=l_prd_workorder_rec.QUANTITY;
457: END IF;
458:
459: IF p_x_prd_workorder_rec.WO_PART_NUMBER= FND_API.G_MISS_CHAR THEN
460: p_x_prd_workorder_rec.WO_PART_NUMBER:=NULL;
461: ELSIF p_x_prd_workorder_rec.WO_PART_NUMBER IS NULL THEN
462: p_x_prd_workorder_rec.WO_PART_NUMBER:=l_prd_workorder_rec.WO_PART_NUMBER;
463: END IF;
461: ELSIF p_x_prd_workorder_rec.WO_PART_NUMBER IS NULL THEN
462: p_x_prd_workorder_rec.WO_PART_NUMBER:=l_prd_workorder_rec.WO_PART_NUMBER;
463: END IF;
464:
465: IF p_x_prd_workorder_rec.ITEM_DESCRIPTION= FND_API.G_MISS_CHAR THEN
466: p_x_prd_workorder_rec.ITEM_DESCRIPTION:=NULL;
467: ELSIF p_x_prd_workorder_rec.ITEM_DESCRIPTION IS NULL THEN
468: p_x_prd_workorder_rec.ITEM_DESCRIPTION:=l_prd_workorder_rec.ITEM_DESCRIPTION;
469: END IF;
467: ELSIF p_x_prd_workorder_rec.ITEM_DESCRIPTION IS NULL THEN
468: p_x_prd_workorder_rec.ITEM_DESCRIPTION:=l_prd_workorder_rec.ITEM_DESCRIPTION;
469: END IF;
470:
471: IF p_x_prd_workorder_rec.SERIAL_NUMBER= FND_API.G_MISS_CHAR THEN
472: p_x_prd_workorder_rec.SERIAL_NUMBER:=NULL;
473: ELSIF p_x_prd_workorder_rec.SERIAL_NUMBER IS NULL THEN
474: p_x_prd_workorder_rec.SERIAL_NUMBER:=l_prd_workorder_rec.SERIAL_NUMBER;
475: END IF;
473: ELSIF p_x_prd_workorder_rec.SERIAL_NUMBER IS NULL THEN
474: p_x_prd_workorder_rec.SERIAL_NUMBER:=l_prd_workorder_rec.SERIAL_NUMBER;
475: END IF;
476:
477: IF p_x_prd_workorder_rec.ITEM_INSTANCE_UOM= FND_API.G_MISS_CHAR THEN
478: p_x_prd_workorder_rec.ITEM_INSTANCE_UOM:=NULL;
479: ELSIF p_x_prd_workorder_rec.ITEM_INSTANCE_UOM IS NULL THEN
480: p_x_prd_workorder_rec.ITEM_INSTANCE_UOM:=l_prd_workorder_rec.ITEM_INSTANCE_UOM;
481: END IF;
479: ELSIF p_x_prd_workorder_rec.ITEM_INSTANCE_UOM IS NULL THEN
480: p_x_prd_workorder_rec.ITEM_INSTANCE_UOM:=l_prd_workorder_rec.ITEM_INSTANCE_UOM;
481: END IF;
482:
483: IF p_x_prd_workorder_rec.COMPLETION_SUBINVENTORY= FND_API.G_MISS_CHAR THEN
484: p_x_prd_workorder_rec.COMPLETION_SUBINVENTORY:=NULL;
485: ELSIF p_x_prd_workorder_rec.COMPLETION_SUBINVENTORY IS NULL THEN
486: p_x_prd_workorder_rec.COMPLETION_SUBINVENTORY:=l_prd_workorder_rec.COMPLETION_SUBINVENTORY;
487: END IF;
485: ELSIF p_x_prd_workorder_rec.COMPLETION_SUBINVENTORY IS NULL THEN
486: p_x_prd_workorder_rec.COMPLETION_SUBINVENTORY:=l_prd_workorder_rec.COMPLETION_SUBINVENTORY;
487: END IF;
488:
489: IF p_x_prd_workorder_rec.COMPLETION_LOCATOR_ID= FND_API.G_MISS_NUM THEN
490: p_x_prd_workorder_rec.COMPLETION_LOCATOR_ID:=NULL;
491: ELSIF p_x_prd_workorder_rec.COMPLETION_LOCATOR_ID IS NULL THEN
492: p_x_prd_workorder_rec.COMPLETION_LOCATOR_ID:=l_prd_workorder_rec.COMPLETION_LOCATOR_ID;
493: END IF;
491: ELSIF p_x_prd_workorder_rec.COMPLETION_LOCATOR_ID IS NULL THEN
492: p_x_prd_workorder_rec.COMPLETION_LOCATOR_ID:=l_prd_workorder_rec.COMPLETION_LOCATOR_ID;
493: END IF;
494:
495: IF p_x_prd_workorder_rec.VISIT_ID= FND_API.G_MISS_NUM THEN
496: p_x_prd_workorder_rec.VISIT_ID:=NULL;
497: ELSIF p_x_prd_workorder_rec.VISIT_ID IS NULL THEN
498: p_x_prd_workorder_rec.VISIT_ID:=l_prd_workorder_rec.VISIT_ID;
499: END IF;
497: ELSIF p_x_prd_workorder_rec.VISIT_ID IS NULL THEN
498: p_x_prd_workorder_rec.VISIT_ID:=l_prd_workorder_rec.VISIT_ID;
499: END IF;
500:
501: IF p_x_prd_workorder_rec.VISIT_NUMBER= FND_API.G_MISS_NUM THEN
502: p_x_prd_workorder_rec.VISIT_NUMBER:=NULL;
503: ELSIF p_x_prd_workorder_rec.VISIT_NUMBER IS NULL THEN
504: p_x_prd_workorder_rec.VISIT_NUMBER:=l_prd_workorder_rec.VISIT_NUMBER;
505: END IF;
503: ELSIF p_x_prd_workorder_rec.VISIT_NUMBER IS NULL THEN
504: p_x_prd_workorder_rec.VISIT_NUMBER:=l_prd_workorder_rec.VISIT_NUMBER;
505: END IF;
506:
507: IF p_x_prd_workorder_rec.VISIT_NAME= FND_API.G_MISS_CHAR THEN
508: p_x_prd_workorder_rec.VISIT_NAME:=NULL;
509: ELSIF p_x_prd_workorder_rec.VISIT_NAME IS NULL THEN
510: p_x_prd_workorder_rec.VISIT_NAME:=l_prd_workorder_rec.VISIT_NAME;
511: END IF;
509: ELSIF p_x_prd_workorder_rec.VISIT_NAME IS NULL THEN
510: p_x_prd_workorder_rec.VISIT_NAME:=l_prd_workorder_rec.VISIT_NAME;
511: END IF;
512:
513: IF p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG= FND_API.G_MISS_CHAR THEN
514: p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG:=NULL;
515: ELSIF p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG IS NULL THEN
516: p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG:=l_prd_workorder_rec.MASTER_WORKORDER_FLAG;
517: END IF;
515: ELSIF p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG IS NULL THEN
516: p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG:=l_prd_workorder_rec.MASTER_WORKORDER_FLAG;
517: END IF;
518:
519: IF p_x_prd_workorder_rec.VISIT_TASK_ID= FND_API.G_MISS_NUM THEN
520: p_x_prd_workorder_rec.VISIT_TASK_ID:=NULL;
521: ELSIF p_x_prd_workorder_rec.VISIT_TASK_ID IS NULL THEN
522: p_x_prd_workorder_rec.VISIT_TASK_ID:=l_prd_workorder_rec.VISIT_TASK_ID;
523: END IF;
521: ELSIF p_x_prd_workorder_rec.VISIT_TASK_ID IS NULL THEN
522: p_x_prd_workorder_rec.VISIT_TASK_ID:=l_prd_workorder_rec.VISIT_TASK_ID;
523: END IF;
524:
525: IF p_x_prd_workorder_rec.MR_HEADER_ID= FND_API.G_MISS_NUM THEN
526: p_x_prd_workorder_rec.MR_HEADER_ID:=NULL;
527: ELSIF p_x_prd_workorder_rec.MR_HEADER_ID IS NULL THEN
528: p_x_prd_workorder_rec.MR_HEADER_ID:=l_prd_workorder_rec.MR_HEADER_ID;
529: END IF;
527: ELSIF p_x_prd_workorder_rec.MR_HEADER_ID IS NULL THEN
528: p_x_prd_workorder_rec.MR_HEADER_ID:=l_prd_workorder_rec.MR_HEADER_ID;
529: END IF;
530:
531: IF p_x_prd_workorder_rec.VISIT_TASK_NUMBER= FND_API.G_MISS_NUM THEN
532: p_x_prd_workorder_rec.VISIT_TASK_NUMBER:=NULL;
533: ELSIF p_x_prd_workorder_rec.VISIT_TASK_NUMBER IS NULL THEN
534: p_x_prd_workorder_rec.VISIT_TASK_NUMBER:=l_prd_workorder_rec.VISIT_TASK_NUMBER;
535: END IF;
533: ELSIF p_x_prd_workorder_rec.VISIT_TASK_NUMBER IS NULL THEN
534: p_x_prd_workorder_rec.VISIT_TASK_NUMBER:=l_prd_workorder_rec.VISIT_TASK_NUMBER;
535: END IF;
536:
537: IF p_x_prd_workorder_rec.MR_TITLE= FND_API.G_MISS_CHAR THEN
538: p_x_prd_workorder_rec.MR_TITLE:=NULL;
539: ELSIF p_x_prd_workorder_rec.MR_TITLE IS NULL THEN
540: p_x_prd_workorder_rec.MR_TITLE:=l_prd_workorder_rec.MR_TITLE;
541: END IF;
539: ELSIF p_x_prd_workorder_rec.MR_TITLE IS NULL THEN
540: p_x_prd_workorder_rec.MR_TITLE:=l_prd_workorder_rec.MR_TITLE;
541: END IF;
542:
543: IF p_x_prd_workorder_rec.SERVICE_ITEM_ID= FND_API.G_MISS_NUM THEN
544: p_x_prd_workorder_rec.SERVICE_ITEM_ID:=NULL;
545: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_ID IS NULL THEN
546: p_x_prd_workorder_rec.SERVICE_ITEM_ID:=l_prd_workorder_rec.SERVICE_ITEM_ID;
547: END IF;
545: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_ID IS NULL THEN
546: p_x_prd_workorder_rec.SERVICE_ITEM_ID:=l_prd_workorder_rec.SERVICE_ITEM_ID;
547: END IF;
548:
549: IF p_x_prd_workorder_rec.SERVICE_ITEM_ORG_ID= FND_API.G_MISS_NUM THEN
550: p_x_prd_workorder_rec.SERVICE_ITEM_ORG_ID:=NULL;
551: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_ORG_ID IS NULL THEN
552: p_x_prd_workorder_rec.SERVICE_ITEM_ORG_ID:=l_prd_workorder_rec.SERVICE_ITEM_ORG_ID;
553: END IF;
551: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_ORG_ID IS NULL THEN
552: p_x_prd_workorder_rec.SERVICE_ITEM_ORG_ID:=l_prd_workorder_rec.SERVICE_ITEM_ORG_ID;
553: END IF;
554:
555: IF p_x_prd_workorder_rec.SERVICE_ITEM_DESCRIPTION= FND_API.G_MISS_CHAR THEN
556: p_x_prd_workorder_rec.SERVICE_ITEM_DESCRIPTION:=NULL;
557: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_DESCRIPTION IS NULL THEN
558: p_x_prd_workorder_rec.SERVICE_ITEM_DESCRIPTION:=l_prd_workorder_rec.SERVICE_ITEM_DESCRIPTION;
559: END IF;
557: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_DESCRIPTION IS NULL THEN
558: p_x_prd_workorder_rec.SERVICE_ITEM_DESCRIPTION:=l_prd_workorder_rec.SERVICE_ITEM_DESCRIPTION;
559: END IF;
560:
561: IF p_x_prd_workorder_rec.SERVICE_ITEM_NUMBER= FND_API.G_MISS_CHAR THEN
562: p_x_prd_workorder_rec.SERVICE_ITEM_NUMBER:=NULL;
563: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_NUMBER IS NULL THEN
564: p_x_prd_workorder_rec.SERVICE_ITEM_NUMBER:=l_prd_workorder_rec.SERVICE_ITEM_NUMBER;
565: END IF;
563: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_NUMBER IS NULL THEN
564: p_x_prd_workorder_rec.SERVICE_ITEM_NUMBER:=l_prd_workorder_rec.SERVICE_ITEM_NUMBER;
565: END IF;
566:
567: IF p_x_prd_workorder_rec.SERVICE_ITEM_UOM= FND_API.G_MISS_CHAR THEN
568: p_x_prd_workorder_rec.SERVICE_ITEM_UOM:=NULL;
569: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_UOM IS NULL THEN
570: p_x_prd_workorder_rec.SERVICE_ITEM_UOM:=l_prd_workorder_rec.SERVICE_ITEM_UOM;
571: END IF;
569: ELSIF p_x_prd_workorder_rec.SERVICE_ITEM_UOM IS NULL THEN
570: p_x_prd_workorder_rec.SERVICE_ITEM_UOM:=l_prd_workorder_rec.SERVICE_ITEM_UOM;
571: END IF;
572:
573: IF p_x_prd_workorder_rec.PROJECT_ID= FND_API.G_MISS_NUM THEN
574: p_x_prd_workorder_rec.PROJECT_ID:=NULL;
575: ELSIF p_x_prd_workorder_rec.PROJECT_ID IS NULL THEN
576: p_x_prd_workorder_rec.PROJECT_ID:=l_prd_workorder_rec.PROJECT_ID;
577: END IF;
575: ELSIF p_x_prd_workorder_rec.PROJECT_ID IS NULL THEN
576: p_x_prd_workorder_rec.PROJECT_ID:=l_prd_workorder_rec.PROJECT_ID;
577: END IF;
578:
579: IF p_x_prd_workorder_rec.PROJECT_TASK_ID= FND_API.G_MISS_NUM THEN
580: p_x_prd_workorder_rec.PROJECT_TASK_ID:=NULL;
581: ELSIF p_x_prd_workorder_rec.PROJECT_TASK_ID IS NULL THEN
582: p_x_prd_workorder_rec.PROJECT_TASK_ID:=l_prd_workorder_rec.PROJECT_TASK_ID;
583: END IF;
581: ELSIF p_x_prd_workorder_rec.PROJECT_TASK_ID IS NULL THEN
582: p_x_prd_workorder_rec.PROJECT_TASK_ID:=l_prd_workorder_rec.PROJECT_TASK_ID;
583: END IF;
584:
585: IF p_x_prd_workorder_rec.INCIDENT_ID= FND_API.G_MISS_NUM THEN
586: p_x_prd_workorder_rec.INCIDENT_ID:=NULL;
587: ELSIF p_x_prd_workorder_rec.INCIDENT_ID IS NULL THEN
588: p_x_prd_workorder_rec.INCIDENT_ID:=l_prd_workorder_rec.INCIDENT_ID;
589: END IF;
587: ELSIF p_x_prd_workorder_rec.INCIDENT_ID IS NULL THEN
588: p_x_prd_workorder_rec.INCIDENT_ID:=l_prd_workorder_rec.INCIDENT_ID;
589: END IF;
590:
591: IF p_x_prd_workorder_rec.UNIT_EFFECTIVITY_ID= FND_API.G_MISS_NUM THEN
592: p_x_prd_workorder_rec.UNIT_EFFECTIVITY_ID:=NULL;
593: ELSIF p_x_prd_workorder_rec.UNIT_EFFECTIVITY_ID IS NULL THEN
594: p_x_prd_workorder_rec.UNIT_EFFECTIVITY_ID:=l_prd_workorder_rec.UNIT_EFFECTIVITY_ID;
595: END IF;
593: ELSIF p_x_prd_workorder_rec.UNIT_EFFECTIVITY_ID IS NULL THEN
594: p_x_prd_workorder_rec.UNIT_EFFECTIVITY_ID:=l_prd_workorder_rec.UNIT_EFFECTIVITY_ID;
595: END IF;
596:
597: IF p_x_prd_workorder_rec.PLAN_ID= FND_API.G_MISS_NUM THEN
598: p_x_prd_workorder_rec.PLAN_ID:=NULL;
599: ELSIF p_x_prd_workorder_rec.PLAN_ID IS NULL THEN
600: p_x_prd_workorder_rec.PLAN_ID:=l_prd_workorder_rec.PLAN_ID;
601: END IF;
599: ELSIF p_x_prd_workorder_rec.PLAN_ID IS NULL THEN
600: p_x_prd_workorder_rec.PLAN_ID:=l_prd_workorder_rec.PLAN_ID;
601: END IF;
602:
603: IF p_x_prd_workorder_rec.COLLECTION_ID= FND_API.G_MISS_NUM THEN
604: p_x_prd_workorder_rec.COLLECTION_ID:=NULL;
605: ELSIF p_x_prd_workorder_rec.COLLECTION_ID IS NULL THEN
606: p_x_prd_workorder_rec.COLLECTION_ID:=l_prd_workorder_rec.COLLECTION_ID;
607: END IF;
605: ELSIF p_x_prd_workorder_rec.COLLECTION_ID IS NULL THEN
606: p_x_prd_workorder_rec.COLLECTION_ID:=l_prd_workorder_rec.COLLECTION_ID;
607: END IF;
608:
609: IF p_x_prd_workorder_rec.JOB_PRIORITY= FND_API.G_MISS_NUM THEN
610: p_x_prd_workorder_rec.JOB_PRIORITY:=NULL;
611: ELSIF p_x_prd_workorder_rec.JOB_PRIORITY IS NULL THEN
612: p_x_prd_workorder_rec.JOB_PRIORITY:=l_prd_workorder_rec.PRIORITY;
613: END IF;
611: ELSIF p_x_prd_workorder_rec.JOB_PRIORITY IS NULL THEN
612: p_x_prd_workorder_rec.JOB_PRIORITY:=l_prd_workorder_rec.PRIORITY;
613: END IF;
614:
615: IF p_x_prd_workorder_rec.JOB_PRIORITY_MEANING= FND_API.G_MISS_CHAR THEN
616: p_x_prd_workorder_rec.JOB_PRIORITY_MEANING:=NULL;
617: ELSIF p_x_prd_workorder_rec.JOB_PRIORITY_MEANING IS NULL THEN
618: p_x_prd_workorder_rec.JOB_PRIORITY_MEANING:=l_prd_workorder_rec.PRIORITY_MEANING;
619: END IF;
617: ELSIF p_x_prd_workorder_rec.JOB_PRIORITY_MEANING IS NULL THEN
618: p_x_prd_workorder_rec.JOB_PRIORITY_MEANING:=l_prd_workorder_rec.PRIORITY_MEANING;
619: END IF;
620:
621: IF p_x_prd_workorder_rec.CONFIRM_FAILURE_FLAG = FND_API.G_MISS_CHAR THEN
622: p_x_prd_workorder_rec.CONFIRM_FAILURE_FLAG :=NULL;
623: ELSIF p_x_prd_workorder_rec.CONFIRM_FAILURE_FLAG IS NULL THEN
624: p_x_prd_workorder_rec.CONFIRM_FAILURE_FLAG :=l_prd_workorder_rec.CONFIRM_FAILURE_FLAG;
625: END IF;
622: p_x_prd_workorder_rec.CONFIRM_FAILURE_FLAG :=NULL;
623: ELSIF p_x_prd_workorder_rec.CONFIRM_FAILURE_FLAG IS NULL THEN
624: p_x_prd_workorder_rec.CONFIRM_FAILURE_FLAG :=l_prd_workorder_rec.CONFIRM_FAILURE_FLAG;
625: END IF;
626: IF p_x_prd_workorder_rec.ATTRIBUTE_CATEGORY= FND_API.G_MISS_CHAR THEN
627: p_x_prd_workorder_rec.ATTRIBUTE_CATEGORY:=NULL;
628: ELSIF p_x_prd_workorder_rec.ATTRIBUTE_CATEGORY IS NULL THEN
629: p_x_prd_workorder_rec.ATTRIBUTE_CATEGORY:=l_prd_workorder_rec.ATTRIBUTE_CATEGORY;
630: END IF;
628: ELSIF p_x_prd_workorder_rec.ATTRIBUTE_CATEGORY IS NULL THEN
629: p_x_prd_workorder_rec.ATTRIBUTE_CATEGORY:=l_prd_workorder_rec.ATTRIBUTE_CATEGORY;
630: END IF;
631:
632: IF p_x_prd_workorder_rec.ATTRIBUTE1= FND_API.G_MISS_CHAR THEN
633: p_x_prd_workorder_rec.ATTRIBUTE1:=NULL;
634: ELSIF p_x_prd_workorder_rec.ATTRIBUTE1 IS NULL THEN
635: p_x_prd_workorder_rec.ATTRIBUTE1:=l_prd_workorder_rec.ATTRIBUTE1;
636: END IF;
634: ELSIF p_x_prd_workorder_rec.ATTRIBUTE1 IS NULL THEN
635: p_x_prd_workorder_rec.ATTRIBUTE1:=l_prd_workorder_rec.ATTRIBUTE1;
636: END IF;
637:
638: IF p_x_prd_workorder_rec.ATTRIBUTE2= FND_API.G_MISS_CHAR THEN
639: p_x_prd_workorder_rec.ATTRIBUTE2:=NULL;
640: ELSIF p_x_prd_workorder_rec.ATTRIBUTE2 IS NULL THEN
641: p_x_prd_workorder_rec.ATTRIBUTE2:=l_prd_workorder_rec.ATTRIBUTE2;
642: END IF;
640: ELSIF p_x_prd_workorder_rec.ATTRIBUTE2 IS NULL THEN
641: p_x_prd_workorder_rec.ATTRIBUTE2:=l_prd_workorder_rec.ATTRIBUTE2;
642: END IF;
643:
644: IF p_x_prd_workorder_rec.ATTRIBUTE3= FND_API.G_MISS_CHAR THEN
645: p_x_prd_workorder_rec.ATTRIBUTE3:=NULL;
646: ELSIF p_x_prd_workorder_rec.ATTRIBUTE3 IS NULL THEN
647: p_x_prd_workorder_rec.ATTRIBUTE3:=l_prd_workorder_rec.ATTRIBUTE3;
648: END IF;
646: ELSIF p_x_prd_workorder_rec.ATTRIBUTE3 IS NULL THEN
647: p_x_prd_workorder_rec.ATTRIBUTE3:=l_prd_workorder_rec.ATTRIBUTE3;
648: END IF;
649:
650: IF p_x_prd_workorder_rec.ATTRIBUTE4= FND_API.G_MISS_CHAR THEN
651: p_x_prd_workorder_rec.ATTRIBUTE4:=NULL;
652: ELSIF p_x_prd_workorder_rec.ATTRIBUTE4 IS NULL THEN
653: p_x_prd_workorder_rec.ATTRIBUTE4:=l_prd_workorder_rec.ATTRIBUTE4;
654: END IF;
652: ELSIF p_x_prd_workorder_rec.ATTRIBUTE4 IS NULL THEN
653: p_x_prd_workorder_rec.ATTRIBUTE4:=l_prd_workorder_rec.ATTRIBUTE4;
654: END IF;
655:
656: IF p_x_prd_workorder_rec.ATTRIBUTE5= FND_API.G_MISS_CHAR THEN
657: p_x_prd_workorder_rec.ATTRIBUTE5:=NULL;
658: ELSIF p_x_prd_workorder_rec.ATTRIBUTE5 IS NULL THEN
659: p_x_prd_workorder_rec.ATTRIBUTE5:=l_prd_workorder_rec.ATTRIBUTE5;
660: END IF;
658: ELSIF p_x_prd_workorder_rec.ATTRIBUTE5 IS NULL THEN
659: p_x_prd_workorder_rec.ATTRIBUTE5:=l_prd_workorder_rec.ATTRIBUTE5;
660: END IF;
661:
662: IF p_x_prd_workorder_rec.ATTRIBUTE6= FND_API.G_MISS_CHAR THEN
663: p_x_prd_workorder_rec.ATTRIBUTE6:=NULL;
664: ELSIF p_x_prd_workorder_rec.ATTRIBUTE6 IS NULL THEN
665: p_x_prd_workorder_rec.ATTRIBUTE6:=l_prd_workorder_rec.ATTRIBUTE6;
666: END IF;
664: ELSIF p_x_prd_workorder_rec.ATTRIBUTE6 IS NULL THEN
665: p_x_prd_workorder_rec.ATTRIBUTE6:=l_prd_workorder_rec.ATTRIBUTE6;
666: END IF;
667:
668: IF p_x_prd_workorder_rec.ATTRIBUTE7= FND_API.G_MISS_CHAR THEN
669: p_x_prd_workorder_rec.ATTRIBUTE7:=NULL;
670: ELSIF p_x_prd_workorder_rec.ATTRIBUTE7 IS NULL THEN
671: p_x_prd_workorder_rec.ATTRIBUTE7:=l_prd_workorder_rec.ATTRIBUTE7;
672: END IF;
670: ELSIF p_x_prd_workorder_rec.ATTRIBUTE7 IS NULL THEN
671: p_x_prd_workorder_rec.ATTRIBUTE7:=l_prd_workorder_rec.ATTRIBUTE7;
672: END IF;
673:
674: IF p_x_prd_workorder_rec.ATTRIBUTE8= FND_API.G_MISS_CHAR THEN
675: p_x_prd_workorder_rec.ATTRIBUTE8:=NULL;
676: ELSIF p_x_prd_workorder_rec.ATTRIBUTE8 IS NULL THEN
677: p_x_prd_workorder_rec.ATTRIBUTE8:=l_prd_workorder_rec.ATTRIBUTE8;
678: END IF;
676: ELSIF p_x_prd_workorder_rec.ATTRIBUTE8 IS NULL THEN
677: p_x_prd_workorder_rec.ATTRIBUTE8:=l_prd_workorder_rec.ATTRIBUTE8;
678: END IF;
679:
680: IF p_x_prd_workorder_rec.ATTRIBUTE9= FND_API.G_MISS_CHAR THEN
681: p_x_prd_workorder_rec.ATTRIBUTE9:=NULL;
682: ELSIF p_x_prd_workorder_rec.ATTRIBUTE9 IS NULL THEN
683: p_x_prd_workorder_rec.ATTRIBUTE9:=l_prd_workorder_rec.ATTRIBUTE9;
684: END IF;
682: ELSIF p_x_prd_workorder_rec.ATTRIBUTE9 IS NULL THEN
683: p_x_prd_workorder_rec.ATTRIBUTE9:=l_prd_workorder_rec.ATTRIBUTE9;
684: END IF;
685:
686: IF p_x_prd_workorder_rec.ATTRIBUTE10= FND_API.G_MISS_CHAR THEN
687: p_x_prd_workorder_rec.ATTRIBUTE10:=NULL;
688: ELSIF p_x_prd_workorder_rec.ATTRIBUTE10 IS NULL THEN
689: p_x_prd_workorder_rec.ATTRIBUTE10:=l_prd_workorder_rec.ATTRIBUTE10;
690: END IF;
688: ELSIF p_x_prd_workorder_rec.ATTRIBUTE10 IS NULL THEN
689: p_x_prd_workorder_rec.ATTRIBUTE10:=l_prd_workorder_rec.ATTRIBUTE10;
690: END IF;
691:
692: IF p_x_prd_workorder_rec.ATTRIBUTE11= FND_API.G_MISS_CHAR THEN
693: p_x_prd_workorder_rec.ATTRIBUTE11:=NULL;
694: ELSIF p_x_prd_workorder_rec.ATTRIBUTE11 IS NULL THEN
695: p_x_prd_workorder_rec.ATTRIBUTE11:=l_prd_workorder_rec.ATTRIBUTE11;
696: END IF;
694: ELSIF p_x_prd_workorder_rec.ATTRIBUTE11 IS NULL THEN
695: p_x_prd_workorder_rec.ATTRIBUTE11:=l_prd_workorder_rec.ATTRIBUTE11;
696: END IF;
697:
698: IF p_x_prd_workorder_rec.ATTRIBUTE12= FND_API.G_MISS_CHAR THEN
699: p_x_prd_workorder_rec.ATTRIBUTE12:=NULL;
700: ELSIF p_x_prd_workorder_rec.ATTRIBUTE12 IS NULL THEN
701: p_x_prd_workorder_rec.ATTRIBUTE12:=l_prd_workorder_rec.ATTRIBUTE12;
702: END IF;
700: ELSIF p_x_prd_workorder_rec.ATTRIBUTE12 IS NULL THEN
701: p_x_prd_workorder_rec.ATTRIBUTE12:=l_prd_workorder_rec.ATTRIBUTE12;
702: END IF;
703:
704: IF p_x_prd_workorder_rec.ATTRIBUTE13= FND_API.G_MISS_CHAR THEN
705: p_x_prd_workorder_rec.ATTRIBUTE13:=NULL;
706: ELSIF p_x_prd_workorder_rec.ATTRIBUTE13 IS NULL THEN
707: p_x_prd_workorder_rec.ATTRIBUTE13:=l_prd_workorder_rec.ATTRIBUTE13;
708: END IF;
706: ELSIF p_x_prd_workorder_rec.ATTRIBUTE13 IS NULL THEN
707: p_x_prd_workorder_rec.ATTRIBUTE13:=l_prd_workorder_rec.ATTRIBUTE13;
708: END IF;
709:
710: IF p_x_prd_workorder_rec.ATTRIBUTE14= FND_API.G_MISS_CHAR THEN
711: p_x_prd_workorder_rec.ATTRIBUTE14:=NULL;
712: ELSIF p_x_prd_workorder_rec.ATTRIBUTE14 IS NULL THEN
713: p_x_prd_workorder_rec.ATTRIBUTE14:=l_prd_workorder_rec.ATTRIBUTE14;
714: END IF;
712: ELSIF p_x_prd_workorder_rec.ATTRIBUTE14 IS NULL THEN
713: p_x_prd_workorder_rec.ATTRIBUTE14:=l_prd_workorder_rec.ATTRIBUTE14;
714: END IF;
715:
716: IF p_x_prd_workorder_rec.ATTRIBUTE15= FND_API.G_MISS_CHAR THEN
717: p_x_prd_workorder_rec.ATTRIBUTE15:=NULL;
718: ELSIF p_x_prd_workorder_rec.ATTRIBUTE15 IS NULL THEN
719: p_x_prd_workorder_rec.ATTRIBUTE15:=l_prd_workorder_rec.ATTRIBUTE15;
720: END IF;
718: ELSIF p_x_prd_workorder_rec.ATTRIBUTE15 IS NULL THEN
719: p_x_prd_workorder_rec.ATTRIBUTE15:=l_prd_workorder_rec.ATTRIBUTE15;
720: END IF;
721:
722: IF p_x_prd_workorder_rec.HOLD_REASON_CODE = FND_API.G_MISS_CHAR THEN
723: p_x_prd_workorder_rec.HOLD_REASON_CODE:=NULL;
724: ELSIF p_x_prd_workorder_rec.HOLD_REASON_CODE IS NULL THEN
725: p_x_prd_workorder_rec.HOLD_REASON_CODE:=l_prd_workorder_rec.HOLD_REASON_CODE;
726: END IF;
725: p_x_prd_workorder_rec.HOLD_REASON_CODE:=l_prd_workorder_rec.HOLD_REASON_CODE;
726: END IF;
727:
728: -- sansatpa - updating WO AOG flag for marshalling
729: IF p_x_prd_workorder_rec.AOG_FLAG = FND_API.G_MISS_CHAR THEN
730: p_x_prd_workorder_rec.AOG_FLAG:=NULL;
731: ELSIF p_x_prd_workorder_rec.AOG_FLAG IS NULL THEN
732: p_x_prd_workorder_rec.AOG_FLAG:=l_prd_workorder_rec.AOG_FLAG;
733: END IF;
731: ELSIF p_x_prd_workorder_rec.AOG_FLAG IS NULL THEN
732: p_x_prd_workorder_rec.AOG_FLAG:=l_prd_workorder_rec.AOG_FLAG;
733: END IF;
734:
735: /* IF p_x_prd_workorder_rec.SET_MR_PRIORITY = FND_API.G_MISS_CHAR THEN
736: p_x_prd_workorder_rec.SET_MR_PRIORITY:=NULL;
737: ELSIF p_x_prd_workorder_rec.SET_MR_PRIORITY IS NULL THEN
738: P_X_PRD_WORKORDER_REC.SET_MR_PRIORITY:=L_PRD_WORKORDER_REC.SET_MR_PRIORITY;
739: END IF;
820: BEGIN
821: IF p_x_prd_workorder_rec.dml_operation='C' THEN
822:
823: IF p_x_prd_workorder_rec.QUANTITY IS NULL OR
824: p_x_prd_workorder_rec.QUANTITY=FND_API.G_MISS_CHAR THEN
825: OPEN get_quantity(p_x_prd_workorder_rec.ITEM_INSTANCE_ID);
826: FETCH get_quantity INTO p_x_prd_workorder_rec.QUANTITY;
827: CLOSE get_quantity;
828: END IF;
827: CLOSE get_quantity;
828: END IF;
829:
830: IF p_x_prd_workorder_rec.STATUS_CODE IS NULL OR
831: p_x_prd_workorder_rec.STATUS_CODE=FND_API.G_MISS_CHAR THEN
832: p_x_prd_workorder_rec.STATUS_CODE:=G_JOB_STATUS_UNRELEASED; -- Job_Status_Code '1' UnReleseed
833: END IF;
834:
835: IF p_x_prd_workorder_rec.job_priority IS NULL OR
832: p_x_prd_workorder_rec.STATUS_CODE:=G_JOB_STATUS_UNRELEASED; -- Job_Status_Code '1' UnReleseed
833: END IF;
834:
835: IF p_x_prd_workorder_rec.job_priority IS NULL OR
836: p_x_prd_workorder_rec.job_priority=FND_API.G_MISS_NUM THEN
837: p_x_prd_workorder_rec.job_priority:=NULL;
838: ELSIF p_x_prd_workorder_rec.job_priority IS not NULL AND
839: p_x_prd_workorder_rec.job_priority<>FND_API.G_MISS_NUM THEN
840:
835: IF p_x_prd_workorder_rec.job_priority IS NULL OR
836: p_x_prd_workorder_rec.job_priority=FND_API.G_MISS_NUM THEN
837: p_x_prd_workorder_rec.job_priority:=NULL;
838: ELSIF p_x_prd_workorder_rec.job_priority IS not NULL AND
839: p_x_prd_workorder_rec.job_priority<>FND_API.G_MISS_NUM THEN
840:
841: SELECT COUNT(*) INTO l_ctr
842: FROM MFG_LOOKUPS
843: WHERE lookup_type='WIP_EAM_ACTIVITY_PRIORITY'
850: END IF;
851:
852: ELSIF p_x_prd_workorder_rec.dml_operation='U' THEN
853: IF p_x_prd_workorder_rec.job_priority IS NULL OR
854: p_x_prd_workorder_rec.job_priority=FND_API.G_MISS_NUM THEN
855: p_x_prd_workorder_rec.job_priority:=NULL;
856: END IF;
857:
858: IF p_x_prd_workorder_rec.Department_Name IS not NULL AND
855: p_x_prd_workorder_rec.job_priority:=NULL;
856: END IF;
857:
858: IF p_x_prd_workorder_rec.Department_Name IS not NULL AND
859: p_x_prd_workorder_rec.Department_Name<>FND_API.G_MISS_CHAR THEN
860:
861: OPEN get_department(p_x_prd_workorder_rec.Department_Name,p_x_prd_workorder_rec.Organization_id);
862: FETCH get_department INTO p_x_prd_workorder_rec.department_id;
863:
889: FETCH get_wo_sch_sec INTO l_sch_start_sec, l_sch_end_sec;
890: CLOSE get_wo_sch_sec;
891:
892: IF p_x_prd_workorder_rec.SCHEDULED_START_DATE IS NOT NULL AND
893: p_x_prd_workorder_rec.SCHEDULED_START_DATE <> FND_API.G_MISS_DATE
894: AND G_CALLED_FROM <> 'OAF' THEN
895:
896: -- Fix for error while releasing unreleased workorders
897: -- the seconds value needs to be taken into account for workorders, otherwise
912: AHL_DEBUG_PUB.debug( 'p_x_prd_workorder_rec.SCHEDULED_START_DATE : ' || to_char(p_x_prd_workorder_rec.SCHEDULED_START_DATE,'DD-MON-YY hh24:mi:ss') );
913: END IF;
914:
915: IF p_x_prd_workorder_rec.SCHEDULED_END_DATE IS NOT NULL AND
916: p_x_prd_workorder_rec.SCHEDULED_END_DATE <> FND_API.G_MISS_DATE
917: AND G_CALLED_FROM <> 'OAF' THEN
918:
919: -- Fix for error while releasing unreleased workorders
920: -- the seconds value needs to be taken into account for workorders, otherwise
947: FETCH get_wo_act_sec INTO l_act_start_sec, l_act_end_sec;
948: CLOSE get_wo_act_sec;
949:
950: IF p_x_prd_workorder_rec.ACTUAL_START_DATE IS NOT NULL AND
951: p_x_prd_workorder_rec.ACTUAL_START_DATE <> FND_API.G_MISS_DATE
952: AND G_CALLED_FROM <> 'OAF' THEN
953:
954: l_sec := TO_CHAR(p_x_prd_workorder_rec.ACTUAL_START_DATE, 'ss');
955:
969:
970: END IF;
971:
972: IF p_x_prd_workorder_rec.ACTUAL_END_DATE IS NOT NULL AND
973: p_x_prd_workorder_rec.ACTUAL_END_DATE <> FND_API.G_MISS_DATE
974: AND G_CALLED_FROM <> 'OAF' THEN
975:
976: l_sec := TO_CHAR(p_x_prd_workorder_rec.ACTUAL_END_DATE, 'ss');
977:
992: END IF;
993:
994: -- FP bug# 7631453
995: IF (p_x_prd_workorder_rec.HOLD_REASON_CODE IS NULL OR G_CALLED_FROM <> 'API' OR G_CALLED_FROM IS NULL) THEN
996: IF p_x_prd_workorder_rec.HOLD_REASON IS NOT NULL AND p_x_prd_workorder_rec.HOLD_REASON <> FND_API.G_MISS_CHAR THEN
997: OPEN get_hold_reason_code_csr(p_x_prd_workorder_rec.HOLD_REASON);
998: FETCH get_hold_reason_code_csr INTO p_x_prd_workorder_rec.HOLD_REASON_CODE;
999: IF get_hold_reason_code_csr%NOTFOUND THEN
1000: FND_MESSAGE.SET_NAME('AHL','AHL_PP_REASON_INVALID');
1210: IF l_wo_status_code IN ('22','7','12','4','5') THEN
1211: FND_MESSAGE.set_name('AHL','AHL_PRD_UPD_WO_STS');
1212: FND_MESSAGE.set_token('WO_STATUS', l_wo_status);
1213: FND_MSG_PUB.add;
1214: RAISE FND_API.G_EXC_ERROR;
1215: END IF; -- IF l_wo_status_code IN ('22','7','12','4','5') THEN
1216: END IF; -- IF is_wo_updated = TRUE THEN
1217: END IF; -- IF p_prd_workorder_rec.DML_OPERATION = 'U' THEN
1218:
1222: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => NULL,
1223: p_ue_id => NULL,
1224: p_visit_id => NULL,
1225: p_item_instance_id => p_prd_workorder_rec.item_instance_id);
1226: IF l_return_status = FND_API.G_TRUE THEN
1227: IF p_prd_workorder_rec.DML_OPERATION='C' THEN
1228: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_CRT_WO_UNTLCKD');
1229: ELSE
1230: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_UPD_WO_UNTLCKD');
1229: ELSE
1230: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_UPD_WO_UNTLCKD');
1231: END IF;
1232: FND_MSG_PUB.ADD;
1233: RAISE FND_API.G_EXC_ERROR;
1234: END IF;
1235: -- rroy
1236: -- ACL Changes
1237:
1248: RETURN;
1249: END IF;
1250:
1251: IF p_prd_workorder_rec.SCHEDULED_START_DATE IS NULL OR
1252: p_prd_workorder_rec.SCHEDULED_START_DATE=FND_API.G_MISS_DATE THEN
1253: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_SCHED_ST_DT_NULL');
1254: FND_MSG_PUB.ADD;
1255: END IF;
1256:
1254: FND_MSG_PUB.ADD;
1255: END IF;
1256:
1257: IF p_prd_workorder_rec.SCHEDULED_END_DATE IS NULL OR
1258: p_prd_workorder_rec.SCHEDULED_END_DATE=FND_API.G_MISS_DATE THEN
1259: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_SCHED_END_DT_NULL');
1260: FND_MSG_PUB.ADD;
1261: END IF;
1262:
1260: FND_MSG_PUB.ADD;
1261: END IF;
1262:
1263: IF p_prd_workorder_rec.SCHEDULED_START_DATE IS NOT NULL AND
1264: p_prd_workorder_rec.SCHEDULED_START_DATE<>FND_API.G_MISS_DATE AND
1265: p_prd_workorder_rec.SCHEDULED_END_DATE IS NOT NULL AND
1266: p_prd_workorder_rec.SCHEDULED_END_DATE<>FND_API.G_MISS_DATE THEN
1267:
1268: IF p_prd_workorder_rec.SCHEDULED_START_DATE > p_prd_workorder_rec.SCHEDULED_END_DATE THEN
1262:
1263: IF p_prd_workorder_rec.SCHEDULED_START_DATE IS NOT NULL AND
1264: p_prd_workorder_rec.SCHEDULED_START_DATE<>FND_API.G_MISS_DATE AND
1265: p_prd_workorder_rec.SCHEDULED_END_DATE IS NOT NULL AND
1266: p_prd_workorder_rec.SCHEDULED_END_DATE<>FND_API.G_MISS_DATE THEN
1267:
1268: IF p_prd_workorder_rec.SCHEDULED_START_DATE > p_prd_workorder_rec.SCHEDULED_END_DATE THEN
1269: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_SCHD_STDT_GT_SCHD_DATE');
1270: FND_MSG_PUB.ADD;
1294:
1295: END IF;
1296:
1297: IF p_prd_workorder_rec.ORGANIZATION_ID IS NULL OR
1298: p_prd_workorder_rec.ORGANIZATION_ID=FND_API.G_MISS_NUM THEN
1299: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_ORGID_NULL');
1300: FND_MSG_PUB.ADD;
1301: ELSE
1302: OPEN validate_org(p_prd_workorder_rec.ORGANIZATION_ID);
1312: CLOSE validate_org;
1313: END IF;
1314:
1315: IF p_prd_workorder_rec.DEPARTMENT_ID IS NULL OR
1316: p_prd_workorder_rec.DEPARTMENT_ID=FND_API.G_MISS_NUM THEN
1317: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_DEPT_ID_NULL');
1318: FND_MSG_PUB.ADD;
1319: ELSE
1320: OPEN validate_dept(p_prd_workorder_rec.Department_id, p_prd_workorder_rec.Organization_id);
1328: CLOSE validate_dept;
1329: END IF;
1330:
1331: IF p_prd_workorder_rec.ITEM_INSTANCE_ID IS NULL OR
1332: p_prd_workorder_rec.ITEM_INSTANCE_ID=FND_API.G_MISS_NUM THEN
1333: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_ITMINSTID_NULL');
1334: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1335: FND_MSG_PUB.ADD;
1336: ELSE
1344: CLOSE validate_item_instance;
1345: END IF;
1346:
1347: IF p_prd_workorder_rec.STATUS_CODE IS NULL OR
1348: p_prd_workorder_rec.STATUS_CODE=FND_API.G_MISS_CHAR THEN
1349: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_STATUS_CODE_INVALID');
1350: FND_MSG_PUB.ADD;
1351: ELSE
1352: OPEN get_lookup_type_code(p_prd_workorder_rec.STATUS_CODE,'AHL_JOB_STATUS');
1360:
1361: IF p_prd_workorder_rec.DML_OPERATION='U' THEN
1362:
1363: IF (p_prd_workorder_rec.actual_start_date IS NULL OR
1364: p_prd_workorder_rec.actual_start_date=FND_API.G_MISS_DATE) AND
1365: (p_prd_workorder_rec.actual_end_date<>FND_API.G_MISS_DATE AND
1366: p_prd_workorder_rec.actual_end_date IS NOT NULL) THEN
1367: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_ACTUAL_START_DT_NULL');
1368: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1361: IF p_prd_workorder_rec.DML_OPERATION='U' THEN
1362:
1363: IF (p_prd_workorder_rec.actual_start_date IS NULL OR
1364: p_prd_workorder_rec.actual_start_date=FND_API.G_MISS_DATE) AND
1365: (p_prd_workorder_rec.actual_end_date<>FND_API.G_MISS_DATE AND
1366: p_prd_workorder_rec.actual_end_date IS NOT NULL) THEN
1367: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_ACTUAL_START_DT_NULL');
1368: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1369: FND_MSG_PUB.ADD;
1369: FND_MSG_PUB.ADD;
1370: END IF;
1371:
1372: IF p_prd_workorder_rec.actual_start_date IS NOT NULL AND
1373: p_prd_workorder_rec.actual_start_date<>FND_API.G_MISS_DATE AND
1374: p_prd_workorder_rec.actual_end_date<>FND_API.G_MISS_DATE AND
1375: p_prd_workorder_rec.actual_end_date IS NOT NULL AND
1376: p_prd_workorder_rec.actual_start_date > p_prd_workorder_rec.actual_end_date THEN
1377: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_ACTUAL_ST_GT_SCHD_DATE');
1370: END IF;
1371:
1372: IF p_prd_workorder_rec.actual_start_date IS NOT NULL AND
1373: p_prd_workorder_rec.actual_start_date<>FND_API.G_MISS_DATE AND
1374: p_prd_workorder_rec.actual_end_date<>FND_API.G_MISS_DATE AND
1375: p_prd_workorder_rec.actual_end_date IS NOT NULL AND
1376: p_prd_workorder_rec.actual_start_date > p_prd_workorder_rec.actual_end_date THEN
1377: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_ACTUAL_ST_GT_SCHD_DATE');
1378: FND_MSG_PUB.ADD;
1377: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_ACTUAL_ST_GT_SCHD_DATE');
1378: FND_MSG_PUB.ADD;
1379: END IF;
1380:
1381: IF p_prd_workorder_rec.actual_end_date<>FND_API.G_MISS_DATE AND
1382: p_prd_workorder_rec.actual_end_date IS NOT NULL AND
1383: TRUNC(p_prd_workorder_rec.actual_end_date) > TRUNC( SYSDATE ) THEN
1384: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_ACTUAL_END_GT_SYSDATE');
1385: FND_MSG_PUB.ADD;
1389: FETCH c_get_op_actual_dates INTO l_op_min_act_start_date, l_op_max_act_end_date;
1390: CLOSE c_get_op_actual_dates;
1391:
1392: IF ( p_prd_workorder_rec.actual_start_date IS NOT NULL AND
1393: p_prd_workorder_rec.actual_start_date <> FND_API.G_MISS_DATE AND
1394: l_op_min_act_start_date IS NOT NULL AND
1395: p_prd_workorder_rec.actual_start_date > l_op_min_act_start_date ) THEN
1396: FND_MESSAGE.set_name( 'AHL', 'AHL_PRD_WO_OP_ST_DT' );
1397: FND_MSG_PUB.add;
1397: FND_MSG_PUB.add;
1398: END IF;
1399:
1400: IF ( p_prd_workorder_rec.actual_end_date IS NOT NULL AND
1401: p_prd_workorder_rec.actual_end_date <> FND_API.G_MISS_DATE AND
1402: l_op_max_act_end_date IS NOT NULL AND
1403: p_prd_workorder_rec.actual_end_date < l_op_max_act_end_date ) THEN
1404: FND_MESSAGE.set_name( 'AHL', 'AHL_PRD_WO_OP_END_DT' );
1405: FND_MSG_PUB.add;
1420: FND_MSG_PUB.ADD;
1421: END IF;
1422:
1423: IF p_prd_workorder_rec.WORKORDER_ID IS NULL OR
1424: p_prd_workorder_rec.WORKORDER_ID=FND_API.G_MISS_NUM THEN
1425: FND_MESSAGE.SET_NAME('AHL','AHL_WORKORDER_ID_NULL');
1426: FND_MSG_PUB.ADD;
1427: END IF;
1428:
1426: FND_MSG_PUB.ADD;
1427: END IF;
1428:
1429: IF p_prd_workorder_rec.OBJECT_VERSION_NUMBER IS NULL OR
1430: p_prd_workorder_rec.OBJECT_VERSION_NUMBER=FND_API.G_MISS_NUM THEN
1431: FND_MESSAGE.SET_NAME('AHL','OBJ_CANNOT_B_NULL');
1432: FND_MSG_PUB.ADD;
1433: END IF;
1434: -- apattark Commented to fix fp bug 8945432 . Validation not required for scheduled
1460:
1461: ELSIF p_prd_workorder_rec.DML_OPERATION='C' THEN
1462:
1463: IF p_prd_workorder_rec.organization_id IS not NULL AND
1464: p_prd_workorder_rec.organization_id<>FND_API.G_MISS_NUM THEN
1465: OPEN validate_project(p_prd_workorder_rec.organization_id);
1466: FETCH validate_project INTO l_dummy_ctr;
1467: IF validate_project%NOTFOUND THEN
1468: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_PROJECT_INVALID');
1469: FND_MESSAGE.SET_TOKEN('ORGID',l_record_str,false);
1470: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1471: FND_MSG_PUB.ADD;
1472: ELSIF p_prd_workorder_rec.Project_id IS not NULL AND
1473: p_prd_workorder_rec.Project_id<>FND_API.G_MISS_NUM THEN
1474:
1475: -- replace MTL_PROJECT_V with PJM_PROJECTS_ORG_OU_SECURE_V for R12
1476: -- required for PJM MOAC changes.
1477: SELECT COUNT(*) INTO l_dummy_ctr
1488: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1489: FND_MSG_PUB.ADD;
1490: ELSIF l_dummy_ctr>0 THEN
1491: IF p_prd_workorder_rec.Project_task_id IS not NULL AND
1492: p_prd_workorder_rec.Project_task_id<>FND_API.G_MISS_NUM THEN
1493: SELECT COUNT(*) INTO l_dummy_ctr
1494: --SELECT 1 INTO l_dummy_ctr
1495: FROM pa_tasks
1496: WHERE project_id=p_prd_workorder_rec.project_id
1507: CLOSE validate_project;
1508: END IF;
1509:
1510: IF ( p_prd_workorder_rec.Visit_id IS NULL OR
1511: p_prd_workorder_rec.Visit_id=FND_API.G_MISS_NUM ) THEN
1512: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_VISITID_NULL');
1513: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1514: END IF;
1515:
1513: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1514: END IF;
1515:
1516: IF ( p_prd_workorder_rec.Master_workorder_flag IS NULL OR
1517: p_prd_workorder_rec.Master_workorder_flag=FND_API.G_MISS_CHAR OR
1518: p_prd_workorder_rec.Master_workorder_flag NOT IN ( 'Y' , 'N' ) ) THEN
1519: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_MWOFLAG_INVALID');
1520: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1521: ELSIF ( ( p_prd_workorder_rec.Visit_task_id IS NULL OR
1518: p_prd_workorder_rec.Master_workorder_flag NOT IN ( 'Y' , 'N' ) ) THEN
1519: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_MWOFLAG_INVALID');
1520: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1521: ELSIF ( ( p_prd_workorder_rec.Visit_task_id IS NULL OR
1522: p_prd_workorder_rec.Visit_task_id=FND_API.G_MISS_NUM ) AND
1523: p_prd_workorder_rec.Master_workorder_flag = 'N' ) THEN
1524: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_VISITASKID_NULL');
1525: FND_MESSAGE.SET_TOKEN('RECORD',l_record_str,false);
1526: FND_MSG_PUB.ADD;
1526: FND_MSG_PUB.ADD;
1527: END IF;
1528:
1529: IF ( p_prd_workorder_rec.Visit_task_id IS NOT NULL AND
1530: p_prd_workorder_rec.Visit_task_id<>FND_API.G_MISS_NUM ) THEN
1531:
1532: SELECT COUNT(*)
1533: INTO l_dummy_ctr
1534: FROM AHL_WORKORDERS
1554:
1555: END IF;
1556:
1557: IF p_prd_workorder_rec.completion_subinventory IS NOT NULL AND
1558: p_prd_workorder_rec.COMPLETION_SUBINVENTORY<>FND_API.G_MISS_CHAR THEN
1559: OPEN validate_subinventory(p_prd_workorder_rec.organization_id, p_prd_workorder_rec.Completion_subinventory);
1560: FETCH validate_subinventory INTO l_subinv_rec;
1561: IF validate_subinventory%FOUND AND
1562: NVL(l_subinv_rec.eam_enabled_flag,'x')='N' THEN
1569: CLOSE validate_subinventory;
1570: END IF;
1571:
1572: IF p_prd_workorder_rec.Completion_locator_id IS not NULL AND
1573: p_prd_workorder_rec.Completion_locator_id<>FND_API.G_MISS_CHAR THEN
1574: SELECT COUNT(*)
1575: INTO l_dummy_ctr
1576: FROM MTL_ITEM_LOCATIONS
1577: WHERE inventory_location_id=p_prd_workorder_rec.completion_locator_id;
1581: END IF;
1582: END IF;
1583:
1584: IF p_prd_workorder_rec.Firm_planned_flag IS NULL OR
1585: p_prd_workorder_rec.Firm_planned_flag=FND_API.G_MISS_NUM THEN
1586: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_FIRM_PLANNED_FLAG_NULL');
1587: FND_MSG_PUB.ADD;
1588: ELSIF p_prd_workorder_rec.Firm_planned_flag <1 AND
1589: p_prd_workorder_rec.Firm_planned_flag >2 THEN
1591: FND_MSG_PUB.ADD;
1592: END IF;
1593:
1594: IF p_prd_workorder_rec.mr_route_id IS not NULL OR
1595: p_prd_workorder_rec.mr_route_id<>FND_API.G_MISS_NUM THEN
1596: SELECT COUNT(*)
1597: INTO l_dummy_ctr
1598: FROM AHL_MR_ROUTES_V -- Chnaged from AHL_MR_ROUTES to be Application Usage complaint.
1599: WHERE mr_route_id=p_prd_workorder_rec.mr_route_id;
1604: END IF;
1605: END IF;
1606:
1607: IF p_prd_workorder_rec.ITEM_INSTANCE_ID IS NULL OR
1608: p_prd_workorder_rec.ITEM_INSTANCE_ID=FND_API.G_MISS_NUM THEN
1609: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_INSTANCE_ID_NULL');
1610: FND_MSG_PUB.ADD;
1611: ELSE
1612: SELECT COUNT(a.instance_id)
1624: END IF;
1625: END IF;
1626:
1627: IF p_prd_workorder_rec.INVENTORY_ITEM_ID IS NULL OR
1628: p_prd_workorder_rec.INVENTORY_ITEM_ID=FND_API.G_MISS_NUM THEN
1629: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_INV_ITEM_ID_NULL');
1630: FND_MSG_PUB.ADD;
1631: END IF;
1632:
1633: END IF;
1634:
1635: -- nsikka: ER 5846702
1636: IF p_prd_workorder_rec.hold_reason_code IS NOT NULL AND
1637: p_prd_workorder_rec.hold_reason_code<>FND_API.G_MISS_CHAR THEN
1638: OPEN get_lookup_type_code(p_prd_workorder_rec.hold_reason_code,'AHL_PRD_WO_HOLD_REASON');
1639: FETCH get_lookup_type_code INTO L_LOOKUP_CODE;
1640: IF get_lookup_type_code%NOTFOUND THEN
1641: FND_MESSAGE.SET_NAME('AHL','AHL_PP_REASON_INVALID');
1691:
1692:
1693: BEGIN
1694:
1695: x_return_status := FND_API.G_RET_STS_SUCCESS;
1696: x_department_id := NULL;
1697:
1698: OPEN get_res_dept_csr (p_aso_resource_id, p_organization_id);
1699: FETCH get_res_dept_csr INTO l_department_id, l_department_name;
1715: -- raise error
1716: FND_MESSAGE.set_name('AHL','AHL_DUPLICATE_DEPT_FOUND');
1717: FND_MESSAGE.set_token('DESC',p_aso_resc_name);
1718: FND_MSG_PUB.add;
1719: x_return_status := FND_API.G_RET_STS_ERROR;
1720: END IF;
1721: */
1722:
1723: OPEN get_one_bomres_org_value(p_aso_resource_id);
1732: -- raise error
1733: FND_MESSAGE.set_name('AHL','AHL_DUPLICATE_DEPT_FOUND');
1734: FND_MESSAGE.set_token('DESC',p_aso_resc_name);
1735: FND_MSG_PUB.add;
1736: x_return_status := FND_API.G_RET_STS_ERROR;
1737: END IF;
1738: ELSE
1739: x_department_id := null;
1740: END IF;
1813: AHL_DEBUG_PUB.debug( 'Get_Default_Rt_Op_dept-'|| 'l_department_name:' || l_department_name);
1814: AHL_DEBUG_PUB.debug( 'Get_Default_Rt_Op_dept-'|| 'l_final_department_id:' || l_final_department_id);
1815: END IF;
1816:
1817: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1818: RAISE FND_API.G_EXC_ERROR;
1819: END IF;
1820:
1821: IF (l_department_id IS NOT NULL) THEN
1814: AHL_DEBUG_PUB.debug( 'Get_Default_Rt_Op_dept-'|| 'l_final_department_id:' || l_final_department_id);
1815: END IF;
1816:
1817: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1818: RAISE FND_API.G_EXC_ERROR;
1819: END IF;
1820:
1821: IF (l_department_id IS NOT NULL) THEN
1822: IF (l_final_department_id IS NULL) THEN
1823: l_final_department_id := l_department_id;
1824: l_final_department_name := l_department_name;
1825: ELSIF (l_department_id <> l_final_department_id) THEN
1826: -- raise error.
1827: x_return_status := FND_API.G_RET_STS_ERROR;
1828: EXIT;
1829: END IF;
1830: l_department_id := NULL;
1831: l_department_name := NULL;
1832: END IF;
1833:
1834: END LOOP;
1835:
1836: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1837: RAISE FND_API.G_EXC_ERROR;
1838: END IF;
1839:
1840: -- only one unique dept. may be found.
1833:
1834: END LOOP;
1835:
1836: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1837: RAISE FND_API.G_EXC_ERROR;
1838: END IF;
1839:
1840: -- only one unique dept. may be found.
1841: -- or no dept level resource found.
1964: FOR i in p_operation_tbl.FIRST..p_operation_tbl.LAST LOOP
1965:
1966: IF ( p_operation_tbl(i).dml_operation = 'C' AND
1967: p_operation_tbl(i).operation_id IS NOT NULL AND
1968: p_operation_tbl(i).operation_id <> FND_API.G_MISS_NUM ) THEN
1969:
1970: -- Get the Resource Requirements defined for the Operation
1971: OPEN get_oper_resources( p_operation_tbl(i).operation_id );
1972: LOOP
2743: AHL_DEBUG_PUB.debug( l_full_name || '.begin - At the start of API' );
2744: END IF;
2745:
2746: -- Initialize Procedure return status to success
2747: x_return_status := FND_API.G_RET_STS_SUCCESS;
2748:
2749: IF ( p_workorder_tbl.COUNT > 0 ) THEN
2750: FOR i IN p_workorder_tbl.FIRST..p_workorder_tbl.LAST LOOP
2751:
2786:
2787: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
2788: (
2789: p_api_version => 1.0,
2790: p_init_msg_list => FND_API.G_FALSE,
2791: p_commit => FND_API.G_FALSE,
2792: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2793: p_module_type => null,
2794: p_interface_flag => null,
2787: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
2788: (
2789: p_api_version => 1.0,
2790: p_init_msg_list => FND_API.G_FALSE,
2791: p_commit => FND_API.G_FALSE,
2792: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2793: p_module_type => null,
2794: p_interface_flag => null,
2795: p_operation_flag => 'D',
2788: (
2789: p_api_version => 1.0,
2790: p_init_msg_list => FND_API.G_FALSE,
2791: p_commit => FND_API.G_FALSE,
2792: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2793: p_module_type => null,
2794: p_interface_flag => null,
2795: p_operation_flag => 'D',
2796: p_x_resrc_require_tbl => l_resource_tbl,
2802: IF ( G_DEBUG = 'Y' ) THEN
2803: AHL_DEBUG_PUB.debug( l_full_name || ' - After call to Process_resrc_require API. Return Status: ' || l_return_status );
2804: END IF;
2805:
2806: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
2807: x_return_status := l_return_status;
2808: x_msg_count := l_msg_count;
2809: x_msg_data := l_msg_data;
2810: END IF;
2895: --sukhwsin::SB Effectivity Code changes - ends
2896:
2897: BEGIN
2898: --sukhwsin::SB Effectivity - set return status to SUCCESS
2899: x_return_status := FND_API.G_RET_STS_SUCCESS;
2900: FOR i in p_operation_tbl.FIRST..p_operation_tbl.LAST LOOP
2901: IF ( p_operation_tbl(i).dml_operation = 'C' AND
2902: p_operation_tbl(i).operation_id IS NOT NULL AND
2903: p_operation_tbl(i).operation_id <> FND_API.G_MISS_NUM ) THEN
2899: x_return_status := FND_API.G_RET_STS_SUCCESS;
2900: FOR i in p_operation_tbl.FIRST..p_operation_tbl.LAST LOOP
2901: IF ( p_operation_tbl(i).dml_operation = 'C' AND
2902: p_operation_tbl(i).operation_id IS NOT NULL AND
2903: p_operation_tbl(i).operation_id <> FND_API.G_MISS_NUM ) THEN
2904:
2905: -- Get the Material Requirements defined for the Operation
2906: OPEN get_oper_materials( p_operation_tbl(i).operation_id );
2907: LOOP
2968: l_pos_mtl_req_tbl(0).mc_header_id := l_mc_header_id;
2969: l_pos_mtl_req_tbl(0).position_key := l_material_req_rec.position_key;
2970: AHL_LTP_MTL_REQ_PVT.Get_Material_Req_For_Pos (
2971: p_api_version => 1.0,
2972: p_init_msg_list => FND_API.G_FALSE,
2973: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2974: x_return_status => l_return_status,
2975: x_msg_count => l_msg_count,
2976: x_msg_data => l_msg_data,
2969: l_pos_mtl_req_tbl(0).position_key := l_material_req_rec.position_key;
2970: AHL_LTP_MTL_REQ_PVT.Get_Material_Req_For_Pos (
2971: p_api_version => 1.0,
2972: p_init_msg_list => FND_API.G_FALSE,
2973: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2974: x_return_status => l_return_status,
2975: x_msg_count => l_msg_count,
2976: x_msg_data => l_msg_data,
2977: p_uc_header_id => l_uc_header_id,
2980: p_uom_code => l_material_req_rec.uom_code,
2981: p_x_index => l_dummy_index,
2982: p_x_route_mtl_reqs => l_pos_mtl_req_tbl);
2983: --sukhwsin:: SB - control position changes - ends
2984: IF(l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2985: x_return_status := l_return_status;
2986: RETURN;
2987: END IF;
2988: IF (l_pos_mtl_req_tbl(0).inventory_item_id IS NOT NULL) THEN
3418: p_x_prd_workorder_rec.WIP_ENTITY_ID :=NULL;
3419: --p_x_prd_workorder_rec.STATUS_CODE :=G_JOB_STATUS_UNRELEASED; -- Unreleased
3420:
3421: IF p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG IS NULL OR
3422: p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG = FND_API.G_MISS_CHAR THEN
3423: p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG := 'N';
3424: END IF;
3425:
3426: IF p_x_prd_workorder_rec.VISIT_TASK_ID = FND_API.G_MISS_NUM THEN
3422: p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG = FND_API.G_MISS_CHAR THEN
3423: p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG := 'N';
3424: END IF;
3425:
3426: IF p_x_prd_workorder_rec.VISIT_TASK_ID = FND_API.G_MISS_NUM THEN
3427: p_x_prd_workorder_rec.VISIT_TASK_ID := NULL;
3428: END IF;
3429:
3430: IF p_x_prd_workorder_rec.MASTER_WORKORDER_FLAG = 'Y' THEN
3440: IF l_qa_inspection_type is NOT NULL THEN
3441: AHL_QA_RESULTS_PVT.get_qa_plan
3442: (
3443: p_api_version => 1.0,
3444: p_init_msg_list => FND_API.G_FALSE,
3445: p_commit => FND_API.G_FALSE,
3446: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3447: p_default => FND_API.G_FALSE,
3448: p_module_type => NULL,
3441: AHL_QA_RESULTS_PVT.get_qa_plan
3442: (
3443: p_api_version => 1.0,
3444: p_init_msg_list => FND_API.G_FALSE,
3445: p_commit => FND_API.G_FALSE,
3446: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3447: p_default => FND_API.G_FALSE,
3448: p_module_type => NULL,
3449: x_return_status => l_return_status,
3442: (
3443: p_api_version => 1.0,
3444: p_init_msg_list => FND_API.G_FALSE,
3445: p_commit => FND_API.G_FALSE,
3446: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3447: p_default => FND_API.G_FALSE,
3448: p_module_type => NULL,
3449: x_return_status => l_return_status,
3450: x_msg_count => l_msg_count,
3443: p_api_version => 1.0,
3444: p_init_msg_list => FND_API.G_FALSE,
3445: p_commit => FND_API.G_FALSE,
3446: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
3447: p_default => FND_API.G_FALSE,
3448: p_module_type => NULL,
3449: x_return_status => l_return_status,
3450: x_msg_count => l_msg_count,
3451: x_msg_data => l_msg_data,
3563: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_department_name:' || l_department_name);
3564: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_route_found:' || l_route_found);
3565: END IF;
3566:
3567: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3568: RAISE FND_API.G_EXC_ERROR;
3569: END IF;
3570:
3571: IF (l_route_found = 'Y') THEN
3564: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_route_found:' || l_route_found);
3565: END IF;
3566:
3567: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3568: RAISE FND_API.G_EXC_ERROR;
3569: END IF;
3570:
3571: IF (l_route_found = 'Y') THEN
3572: IF (l_department_id IS NOT NULL) THEN
3594: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_department_name:' || l_department_name);
3595: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_oper_found:' || l_oper_found);
3596: END IF;
3597:
3598: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3599: RAISE FND_API.G_EXC_ERROR;
3600: END IF;
3601:
3602: IF (l_department_id IS NOT NULL) THEN
3595: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_oper_found:' || l_oper_found);
3596: END IF;
3597:
3598: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3599: RAISE FND_API.G_EXC_ERROR;
3600: END IF;
3601:
3602: IF (l_department_id IS NOT NULL) THEN
3603: p_x_operations_tbl(i).department_id := l_department_id;
3719:
3720: PROCEDURE create_job
3721: (
3722: p_api_version IN NUMBER := 1.0,
3723: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
3724: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3725: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3726: p_default IN VARCHAR2 := FND_API.G_FALSE,
3727: p_module_type IN VARCHAR2,
3720: PROCEDURE create_job
3721: (
3722: p_api_version IN NUMBER := 1.0,
3723: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
3724: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3725: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3726: p_default IN VARCHAR2 := FND_API.G_FALSE,
3727: p_module_type IN VARCHAR2,
3728: x_return_status OUT NOCOPY VARCHAR2,
3721: (
3722: p_api_version IN NUMBER := 1.0,
3723: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
3724: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3725: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3726: p_default IN VARCHAR2 := FND_API.G_FALSE,
3727: p_module_type IN VARCHAR2,
3728: x_return_status OUT NOCOPY VARCHAR2,
3729: x_msg_count OUT NOCOPY NUMBER,
3722: p_api_version IN NUMBER := 1.0,
3723: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
3724: p_commit IN VARCHAR2 := FND_API.G_FALSE,
3725: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3726: p_default IN VARCHAR2 := FND_API.G_FALSE,
3727: p_module_type IN VARCHAR2,
3728: x_return_status OUT NOCOPY VARCHAR2,
3729: x_msg_count OUT NOCOPY NUMBER,
3730: x_msg_data OUT NOCOPY VARCHAR2,
3841: --sukhwsin::Complex Assembly Enhancements changes - ends
3842: BEGIN
3843: SAVEPOINT create_job_PVT;
3844:
3845: IF NOT FND_API.compatible_api_call(l_api_version,
3846: p_api_version,
3847: l_api_name,G_PKG_NAME) THEN
3848: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3849: END IF;
3844:
3845: IF NOT FND_API.compatible_api_call(l_api_version,
3846: p_api_version,
3847: l_api_name,G_PKG_NAME) THEN
3848: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3849: END IF;
3850:
3851: IF FND_API.to_boolean(p_init_msg_list) THEN
3852: FND_MSG_PUB.initialize;
3847: l_api_name,G_PKG_NAME) THEN
3848: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3849: END IF;
3850:
3851: IF FND_API.to_boolean(p_init_msg_list) THEN
3852: FND_MSG_PUB.initialize;
3853: END IF;
3854:
3855: x_return_status:=FND_API.G_RET_STS_SUCCESS;
3851: IF FND_API.to_boolean(p_init_msg_list) THEN
3852: FND_MSG_PUB.initialize;
3853: END IF;
3854:
3855: x_return_status:=FND_API.G_RET_STS_SUCCESS;
3856:
3857: IF G_DEBUG='Y' THEN
3858: AHL_DEBUG_PUB.enable_debug;
3859: END IF;
3864: p_prd_workorder_rec => p_x_prd_workorder_rec,
3865: x_msg_count => l_msg_count,
3866: x_msg_data => l_msg_data,
3867: x_return_status => l_return_status);
3868: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3869: RAISE FND_API.G_EXC_ERROR;
3870: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3871: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3872: END IF;
3865: x_msg_count => l_msg_count,
3866: x_msg_data => l_msg_data,
3867: x_return_status => l_return_status);
3868: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3869: RAISE FND_API.G_EXC_ERROR;
3870: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3871: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3872: END IF;
3873: END IF;
3866: x_msg_data => l_msg_data,
3867: x_return_status => l_return_status);
3868: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3869: RAISE FND_API.G_EXC_ERROR;
3870: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3871: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3872: END IF;
3873: END IF;
3874:
3867: x_return_status => l_return_status);
3868: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
3869: RAISE FND_API.G_EXC_ERROR;
3870: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3871: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3872: END IF;
3873: END IF;
3874:
3875: IF ( G_DEBUG = 'Y' ) THEN
3875: IF ( G_DEBUG = 'Y' ) THEN
3876: AHL_DEBUG_PUB.debug( l_api_name || ' - Before validate_workorder' );
3877: END IF;
3878:
3879: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL ) THEN
3880: validate_workorder
3881: (
3882: p_prd_workorder_rec =>p_x_prd_workorder_rec,
3883: p_wip_load_flag =>p_wip_load_flag
3885:
3886: l_msg_count := FND_MSG_PUB.count_msg;
3887: IF l_msg_count > 0 THEN
3888: x_msg_count := l_msg_count;
3889: RAISE FND_API.G_EXC_ERROR;
3890: END IF;
3891: END IF;
3892:
3893: IF ( G_DEBUG = 'Y' ) THEN
4136: CLOSE Get_Wo_Inst_Rtng;
4137: IF (l_instance_rtng IS NOT NULL) THEN
4138: Add_Inst_Rtng_Notes_To_WO(
4139: p_api_version => 1.0,
4140: p_init_msg_list => FND_API.G_FALSE,
4141: p_commit => FND_API.G_FALSE,
4142: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4143: x_return_status => l_return_status,
4144: x_msg_count => l_msg_count,
4137: IF (l_instance_rtng IS NOT NULL) THEN
4138: Add_Inst_Rtng_Notes_To_WO(
4139: p_api_version => 1.0,
4140: p_init_msg_list => FND_API.G_FALSE,
4141: p_commit => FND_API.G_FALSE,
4142: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4143: x_return_status => l_return_status,
4144: x_msg_count => l_msg_count,
4145: x_msg_data => l_msg_data,
4138: Add_Inst_Rtng_Notes_To_WO(
4139: p_api_version => 1.0,
4140: p_init_msg_list => FND_API.G_FALSE,
4141: p_commit => FND_API.G_FALSE,
4142: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4143: x_return_status => l_return_status,
4144: x_msg_count => l_msg_count,
4145: x_msg_data => l_msg_data,
4146: p_workorder_id => p_x_prd_workorder_rec.WORKORDER_ID,
4147: p_new_inst_rtng => l_instance_rtng
4148: );
4149: l_msg_count := FND_MSG_PUB.count_msg;
4150: IF l_msg_count > 0 THEN
4151: RAISE FND_API.G_EXC_ERROR;
4152: END IF;
4153: END IF;
4154: --sukhwsin::Complex Assembly Enhancements changes - ends
4155:
4171:
4172: AHL_PRD_OPERATIONS_PVT.process_operations
4173: (
4174: p_api_version => 1.0,
4175: p_init_msg_list => FND_API.G_TRUE,
4176: p_commit => FND_API.G_FALSE,
4177: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4178: p_default => FND_API.G_TRUE,
4179: p_module_type => NULL,
4172: AHL_PRD_OPERATIONS_PVT.process_operations
4173: (
4174: p_api_version => 1.0,
4175: p_init_msg_list => FND_API.G_TRUE,
4176: p_commit => FND_API.G_FALSE,
4177: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4178: p_default => FND_API.G_TRUE,
4179: p_module_type => NULL,
4180: p_wip_mass_load_flag => 'N',
4173: (
4174: p_api_version => 1.0,
4175: p_init_msg_list => FND_API.G_TRUE,
4176: p_commit => FND_API.G_FALSE,
4177: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4178: p_default => FND_API.G_TRUE,
4179: p_module_type => NULL,
4180: p_wip_mass_load_flag => 'N',
4181: x_return_status => l_return_status,
4174: p_api_version => 1.0,
4175: p_init_msg_list => FND_API.G_TRUE,
4176: p_commit => FND_API.G_FALSE,
4177: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4178: p_default => FND_API.G_TRUE,
4179: p_module_type => NULL,
4180: p_wip_mass_load_flag => 'N',
4181: x_return_status => l_return_status,
4182: x_msg_count => l_msg_count,
4183: x_msg_data => l_msg_data,
4184: p_x_prd_operation_tbl => x_operation_tbl
4185: );
4186:
4187: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4188: RAISE FND_API.G_EXC_ERROR;
4189: END IF;
4190:
4191: IF ( p_x_prd_workorder_rec.route_id IS NOT NULL ) THEN
4184: p_x_prd_operation_tbl => x_operation_tbl
4185: );
4186:
4187: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4188: RAISE FND_API.G_EXC_ERROR;
4189: END IF;
4190:
4191: IF ( p_x_prd_workorder_rec.route_id IS NOT NULL ) THEN
4192:
4209:
4210: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
4211: (
4212: p_api_version => 1.0,
4213: p_init_msg_list => FND_API.G_TRUE,
4214: p_commit => FND_API.G_FALSE,
4215: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4216: p_module_type => NULL,
4217: p_interface_flag => 'N',
4210: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
4211: (
4212: p_api_version => 1.0,
4213: p_init_msg_list => FND_API.G_TRUE,
4214: p_commit => FND_API.G_FALSE,
4215: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4216: p_module_type => NULL,
4217: p_interface_flag => 'N',
4218: p_operation_flag => 'C',
4211: (
4212: p_api_version => 1.0,
4213: p_init_msg_list => FND_API.G_TRUE,
4214: p_commit => FND_API.G_FALSE,
4215: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4216: p_module_type => NULL,
4217: p_interface_flag => 'N',
4218: p_operation_flag => 'C',
4219: p_x_resrc_require_tbl => x_resource_tbl,
4221: x_msg_count => l_msg_count,
4222: x_msg_data => l_msg_data
4223: );
4224:
4225: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4226: RAISE FND_API.G_EXC_ERROR;
4227: END IF;
4228: END IF;
4229: END IF;
4222: x_msg_data => l_msg_data
4223: );
4224:
4225: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4226: RAISE FND_API.G_EXC_ERROR;
4227: END IF;
4228: END IF;
4229: END IF;
4230:
4247:
4248: AHL_PP_MATERIALS_PVT.Process_Wo_Op_Materials
4249: (
4250: p_api_version => 1.0,
4251: p_init_msg_list => Fnd_Api.G_TRUE,
4252: p_commit => Fnd_Api.G_FALSE,
4253: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
4254: p_operation_flag => 'C',
4255: p_prd_wooperation_tbl => x_operation_tbl,
4248: AHL_PP_MATERIALS_PVT.Process_Wo_Op_Materials
4249: (
4250: p_api_version => 1.0,
4251: p_init_msg_list => Fnd_Api.G_TRUE,
4252: p_commit => Fnd_Api.G_FALSE,
4253: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
4254: p_operation_flag => 'C',
4255: p_prd_wooperation_tbl => x_operation_tbl,
4256: x_req_material_tbl => x_material_tbl,
4249: (
4250: p_api_version => 1.0,
4251: p_init_msg_list => Fnd_Api.G_TRUE,
4252: p_commit => Fnd_Api.G_FALSE,
4253: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
4254: p_operation_flag => 'C',
4255: p_prd_wooperation_tbl => x_operation_tbl,
4256: x_req_material_tbl => x_material_tbl,
4257: x_return_status => l_return_status,
4258: x_msg_count => l_msg_count,
4259: x_msg_data => l_msg_data
4260: );
4261:
4262: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4263: RAISE FND_API.G_EXC_ERROR;
4264: END IF;
4265:
4266: IF ( G_DEBUG = 'Y' ) THEN
4259: x_msg_data => l_msg_data
4260: );
4261:
4262: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4263: RAISE FND_API.G_EXC_ERROR;
4264: END IF;
4265:
4266: IF ( G_DEBUG = 'Y' ) THEN
4267: AHL_DEBUG_PUB.debug( l_api_name || ' - After AHL_PP_MATERIALS_PVT.Process_Wo_Op_Materials' );
4279:
4280: AHL_EAM_JOB_PVT.create_eam_workorder
4281: (
4282: p_api_version => 1.0,
4283: p_init_msg_list => FND_API.G_TRUE,
4284: p_commit => FND_API.G_FALSE,
4285: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4286: p_default => FND_API.G_FALSE,
4287: p_module_type => NULL,
4280: AHL_EAM_JOB_PVT.create_eam_workorder
4281: (
4282: p_api_version => 1.0,
4283: p_init_msg_list => FND_API.G_TRUE,
4284: p_commit => FND_API.G_FALSE,
4285: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4286: p_default => FND_API.G_FALSE,
4287: p_module_type => NULL,
4288: x_return_status => l_return_status,
4281: (
4282: p_api_version => 1.0,
4283: p_init_msg_list => FND_API.G_TRUE,
4284: p_commit => FND_API.G_FALSE,
4285: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4286: p_default => FND_API.G_FALSE,
4287: p_module_type => NULL,
4288: x_return_status => l_return_status,
4289: x_msg_count => l_msg_count,
4282: p_api_version => 1.0,
4283: p_init_msg_list => FND_API.G_TRUE,
4284: p_commit => FND_API.G_FALSE,
4285: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4286: p_default => FND_API.G_FALSE,
4287: p_module_type => NULL,
4288: x_return_status => l_return_status,
4289: x_msg_count => l_msg_count,
4290: x_msg_data => l_msg_data,
4293: p_material_req_tbl => x_material_tbl,
4294: p_resource_req_tbl => x_resource_tbl
4295: );
4296:
4297: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4298: RAISE FND_API.G_EXC_ERROR;
4299: ELSE
4300:
4301: IF ( G_DEBUG = 'Y' ) THEN
4294: p_resource_req_tbl => x_resource_tbl
4295: );
4296:
4297: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4298: RAISE FND_API.G_EXC_ERROR;
4299: ELSE
4300:
4301: IF ( G_DEBUG = 'Y' ) THEN
4302: AHL_DEBUG_PUB.debug( l_api_name || ' - Before Update AHL_WORKORDERS with wip_entity_id' );
4308: END IF;
4309:
4310: END IF;
4311:
4312: IF FND_API.to_boolean(p_commit) THEN
4313: COMMIT;
4314: END IF;
4315:
4316: -- User Hooks
4322: p_material_tbl => x_material_tbl,
4323: x_msg_count => l_msg_count,
4324: x_msg_data => l_msg_data,
4325: x_return_status => l_return_status);
4326: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4327: RAISE FND_API.G_EXC_ERROR;
4328: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4329: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4330: END IF;
4323: x_msg_count => l_msg_count,
4324: x_msg_data => l_msg_data,
4325: x_return_status => l_return_status);
4326: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4327: RAISE FND_API.G_EXC_ERROR;
4328: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4329: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4330: END IF;
4331: END IF;
4324: x_msg_data => l_msg_data,
4325: x_return_status => l_return_status);
4326: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4327: RAISE FND_API.G_EXC_ERROR;
4328: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4329: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4330: END IF;
4331: END IF;
4332:
4325: x_return_status => l_return_status);
4326: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4327: RAISE FND_API.G_EXC_ERROR;
4328: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4329: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4330: END IF;
4331: END IF;
4332:
4333: IF ( G_DEBUG = 'Y' ) THEN
4338: AHL_DEBUG_PUB.disable_debug;
4339: END IF;
4340:
4341: EXCEPTION
4342: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4343: ROLLBACK TO create_job_PVT;
4344: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4345: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4346: p_count => x_msg_count,
4340:
4341: EXCEPTION
4342: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4343: ROLLBACK TO create_job_PVT;
4344: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4345: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4346: p_count => x_msg_count,
4347: p_data => x_msg_data);
4348: WHEN FND_API.G_EXC_ERROR THEN
4341: EXCEPTION
4342: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4343: ROLLBACK TO create_job_PVT;
4344: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4345: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4346: p_count => x_msg_count,
4347: p_data => x_msg_data);
4348: WHEN FND_API.G_EXC_ERROR THEN
4349: ROLLBACK TO create_job_PVT;
4344: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4345: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4346: p_count => x_msg_count,
4347: p_data => x_msg_data);
4348: WHEN FND_API.G_EXC_ERROR THEN
4349: ROLLBACK TO create_job_PVT;
4350: x_return_status := FND_API.G_RET_STS_ERROR;
4351: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4352: p_count => x_msg_count,
4346: p_count => x_msg_count,
4347: p_data => x_msg_data);
4348: WHEN FND_API.G_EXC_ERROR THEN
4349: ROLLBACK TO create_job_PVT;
4350: x_return_status := FND_API.G_RET_STS_ERROR;
4351: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4352: p_count => x_msg_count,
4353: p_data => x_msg_data);
4354:
4347: p_data => x_msg_data);
4348: WHEN FND_API.G_EXC_ERROR THEN
4349: ROLLBACK TO create_job_PVT;
4350: x_return_status := FND_API.G_RET_STS_ERROR;
4351: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4352: p_count => x_msg_count,
4353: p_data => x_msg_data);
4354:
4355: WHEN OTHERS THEN
4353: p_data => x_msg_data);
4354:
4355: WHEN OTHERS THEN
4356: ROLLBACK TO create_job_PVT;
4357: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4358: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4359: FND_MSG_PUB.add_exc_msg(p_pkg_name =>g_pkg_name,
4360: p_procedure_name =>l_api_name,
4361: p_error_text => SUBSTRB(SQLERRM,1,240));
4360: p_procedure_name =>l_api_name,
4361: p_error_text => SUBSTRB(SQLERRM,1,240));
4362:
4363: END IF;
4364: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4365: p_count => x_msg_count,
4366: p_data => x_msg_data);
4367:
4368: END create_job;
4369:
4370: PROCEDURE update_job
4371: (
4372: p_api_version IN NUMBER := 1.0,
4373: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
4374: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4375: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4376: p_default IN VARCHAR2 := FND_API.G_FALSE,
4377: p_module_type IN VARCHAR2,
4370: PROCEDURE update_job
4371: (
4372: p_api_version IN NUMBER := 1.0,
4373: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
4374: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4375: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4376: p_default IN VARCHAR2 := FND_API.G_FALSE,
4377: p_module_type IN VARCHAR2,
4378: x_return_status OUT NOCOPY VARCHAR2,
4371: (
4372: p_api_version IN NUMBER := 1.0,
4373: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
4374: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4375: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4376: p_default IN VARCHAR2 := FND_API.G_FALSE,
4377: p_module_type IN VARCHAR2,
4378: x_return_status OUT NOCOPY VARCHAR2,
4379: x_msg_count OUT NOCOPY NUMBER,
4372: p_api_version IN NUMBER := 1.0,
4373: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
4374: p_commit IN VARCHAR2 := FND_API.G_FALSE,
4375: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4376: p_default IN VARCHAR2 := FND_API.G_FALSE,
4377: p_module_type IN VARCHAR2,
4378: x_return_status OUT NOCOPY VARCHAR2,
4379: x_msg_count OUT NOCOPY NUMBER,
4380: x_msg_data OUT NOCOPY VARCHAR2,
4778:
4779:
4780: SAVEPOINT update_job_PVT;
4781:
4782: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
4783: p_api_version,
4784: l_api_name,G_PKG_NAME) THEN
4785: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4786: END IF;
4781:
4782: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
4783: p_api_version,
4784: l_api_name,G_PKG_NAME) THEN
4785: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4786: END IF;
4787:
4788: IF FND_API.to_boolean(p_init_msg_list) THEN
4789: FND_MSG_PUB.initialize;
4784: l_api_name,G_PKG_NAME) THEN
4785: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4786: END IF;
4787:
4788: IF FND_API.to_boolean(p_init_msg_list) THEN
4789: FND_MSG_PUB.initialize;
4790: END IF;
4791:
4792: x_return_status:=FND_API.G_RET_STS_SUCCESS;
4788: IF FND_API.to_boolean(p_init_msg_list) THEN
4789: FND_MSG_PUB.initialize;
4790: END IF;
4791:
4792: x_return_status:=FND_API.G_RET_STS_SUCCESS;
4793:
4794: IF G_DEBUG='Y' THEN
4795: AHL_DEBUG_PUB.enable_debug;
4796: END IF;
4814: p_prd_workoper_tbl => p_x_prd_workoper_tbl,
4815: x_msg_count => l_msg_count,
4816: x_msg_data => l_msg_data,
4817: x_return_status => l_return_status);
4818: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4819: RAISE FND_API.G_EXC_ERROR;
4820: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4821: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4822: END IF;
4815: x_msg_count => l_msg_count,
4816: x_msg_data => l_msg_data,
4817: x_return_status => l_return_status);
4818: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4819: RAISE FND_API.G_EXC_ERROR;
4820: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4821: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4822: END IF;
4823: END IF;
4816: x_msg_data => l_msg_data,
4817: x_return_status => l_return_status);
4818: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4819: RAISE FND_API.G_EXC_ERROR;
4820: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4821: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4822: END IF;
4823: END IF;
4824: AHL_DEBUG_PUB.debug( FND_MSG_PUB.count_msg || ' skp3 FND_MSG_PUB.count_msg= '||FND_MSG_PUB.count_msg );
4817: x_return_status => l_return_status);
4818: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
4819: RAISE FND_API.G_EXC_ERROR;
4820: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4821: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4822: END IF;
4823: END IF;
4824: AHL_DEBUG_PUB.debug( FND_MSG_PUB.count_msg || ' skp3 FND_MSG_PUB.count_msg= '||FND_MSG_PUB.count_msg );
4825: --IF FND_API.to_boolean(p_default) THEN
4821: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4822: END IF;
4823: END IF;
4824: AHL_DEBUG_PUB.debug( FND_MSG_PUB.count_msg || ' skp3 FND_MSG_PUB.count_msg= '||FND_MSG_PUB.count_msg );
4825: --IF FND_API.to_boolean(p_default) THEN
4826: default_missing_attributes
4827: (
4828: p_x_prd_workorder_rec
4829: );
4831:
4832: l_msg_count := FND_MSG_PUB.count_msg;
4833: IF l_msg_count > 0 THEN
4834: x_msg_count := l_msg_count;
4835: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4836: RAISE FND_API.G_EXC_ERROR;
4837: END IF;
4838:
4839: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL ) THEN
4832: l_msg_count := FND_MSG_PUB.count_msg;
4833: IF l_msg_count > 0 THEN
4834: x_msg_count := l_msg_count;
4835: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4836: RAISE FND_API.G_EXC_ERROR;
4837: END IF;
4838:
4839: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL ) THEN
4840:
4835: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4836: RAISE FND_API.G_EXC_ERROR;
4837: END IF;
4838:
4839: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL ) THEN
4840:
4841: IF ( G_DEBUG = 'Y' ) THEN
4842: AHL_DEBUG_PUB.debug( l_api_name || ' - Before convert_values_to_ids' );
4843: END IF;
4850:
4851: l_msg_count := FND_MSG_PUB.count_msg;
4852: IF l_msg_count > 0 THEN
4853: x_msg_count := l_msg_count;
4854: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4855: RAISE FND_API.G_EXC_ERROR;
4856: END IF;
4857:
4858: --pekambar added logic to calculate end date of work order for move workorder
4851: l_msg_count := FND_MSG_PUB.count_msg;
4852: IF l_msg_count > 0 THEN
4853: x_msg_count := l_msg_count;
4854: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4855: RAISE FND_API.G_EXC_ERROR;
4856: END IF;
4857:
4858: --pekambar added logic to calculate end date of work order for move workorder
4859: --ER # 9410221
4882: END IF;
4883:
4884: -- End ::ER # 9410221
4885:
4886: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL ) THEN
4887:
4888: IF ( G_DEBUG = 'Y' ) THEN
4889: AHL_DEBUG_PUB.debug( l_api_name || ' - Before validate_workorder' );
4890: END IF;
4904: IF l_wo_status_code IN ('22','7','12','4','5') THEN
4905: FND_MESSAGE.set_name('AHL','AHL_PRD_UPD_WO_STS');
4906: FND_MESSAGE.set_token('WO_STATUS', l_wo_status);
4907: FND_MSG_PUB.add;
4908: RAISE FND_API.G_EXC_ERROR;
4909: END IF;
4910: END IF;
4911:
4912:
4914:
4915: l_msg_count := FND_MSG_PUB.count_msg;
4916: IF l_msg_count > 0 THEN
4917: x_msg_count := l_msg_count;
4918: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4919: RAISE FND_API.G_EXC_ERROR;
4920: END IF;
4921:
4922: -- fix for bug# 5347560. In case of cancelling or closing a wo check if
4915: l_msg_count := FND_MSG_PUB.count_msg;
4916: IF l_msg_count > 0 THEN
4917: x_msg_count := l_msg_count;
4918: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4919: RAISE FND_API.G_EXC_ERROR;
4920: END IF;
4921:
4922: -- fix for bug# 5347560. In case of cancelling or closing a wo check if
4923: -- there are any trackable materials in the job.
4941: FND_MESSAGE.set_name('AHL','AHL_PRD_MAT_NOT_RETURN');
4942: FND_MESSAGE.set_token('WO_STATUS', l_status_meaning);
4943: FND_MESSAGE.set_token('WO_NAME', l_workorder_name);
4944: FND_MSG_PUB.add;
4945: RAISE FND_API.G_EXC_ERROR;
4946: END IF;
4947: CLOSE chk_inst_in_job;
4948:
4949: IF (p_x_prd_workorder_rec.status_code = G_JOB_STATUS_CANCELLED) THEN
4974: FND_MSG_PUB.add;
4975: END IF;
4976: CLOSE c_get_login_recs;
4977:
4978: RAISE FND_API.G_EXC_ERROR;
4979: --psalgia added for Bug::9439418 end
4980:
4981: END IF;
4982: CLOSE chk_pending_txns;
4998: FETCH c_get_login_recs INTO l_employee_id, l_operation_seq_num, l_resource_seq_num;
4999: EXIT WHEN c_get_login_recs%NOTFOUND;
5000: AHL_PRD_WO_LOGIN_PVT.Workorder_Logout(p_api_version => 1.0,
5001: p_init_msg_list => p_init_msg_list,
5002: p_commit => FND_API.G_FALSE,
5003: p_validation_level => p_validation_level,
5004: x_return_status => l_return_status,
5005: x_msg_count => l_msg_count,
5006: x_msg_data => l_msg_data,
5008: p_workorder_id => p_x_prd_workorder_rec.workorder_id,
5009: p_operation_seq_num => l_operation_seq_num,
5010: p_resource_seq_num => l_resource_seq_num
5011: );
5012: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5013: EXIT;
5014: END IF;
5015: END LOOP;
5016: CLOSE c_get_login_recs;
5021: END IF;
5022:
5023: END IF; -- p_x_prd_workorder_rec.STATUS_CODE
5024:
5025: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5026: RAISE FND_API.G_EXC_ERROR;
5027: END IF;
5028:
5029: -- hold reason is only for on-hold and parts-hold.
5022:
5023: END IF; -- p_x_prd_workorder_rec.STATUS_CODE
5024:
5025: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5026: RAISE FND_API.G_EXC_ERROR;
5027: END IF;
5028:
5029: -- hold reason is only for on-hold and parts-hold.
5030: -- FP Bug# 7631453
5088: p_default => p_default,
5089: p_module_type => p_module_type,
5090: x_return_status => l_return_status
5091: );
5092: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5093: RAISE FND_API.G_EXC_ERROR;
5094: END IF;
5095: --sukhwsin::VEE - enhancement for insertion of wo status change - ends
5096: -- JKJain, NR Analysis and Forecasting
5089: p_module_type => p_module_type,
5090: x_return_status => l_return_status
5091: );
5092: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5093: RAISE FND_API.G_EXC_ERROR;
5094: END IF;
5095: --sukhwsin::VEE - enhancement for insertion of wo status change - ends
5096: -- JKJain, NR Analysis and Forecasting
5097: IF(is_workorder_released(p_x_prd_workorder_rec.workorder_id) OR l_curr_wo_status = '7' OR l_curr_wo_status = '12') THEN --7 Cancelled 12 Closed
5130: END IF;
5131:
5132: FND_MESSAGE.SET_NAME('AHL','AHL_WO_AOG_UPD_NOT_ALD');
5133: FND_MSG_PUB.ADD;
5134: RAISE FND_API.G_EXC_ERROR;
5135:
5136: END IF;
5137:
5138: END IF;
5182:
5183: IF SQL%NOTFOUND THEN
5184: FND_MESSAGE.SET_NAME('AHL','AHL_COM_RECORD_CHANGED');
5185: FND_MSG_PUB.ADD;
5186: RAISE FND_API.G_EXC_ERROR;
5187: END IF;
5188:
5189:
5190: IF ( G_DEBUG = 'Y' ) THEN
5292: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_department_id:' || l_department_id);
5293: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_oper_found:' || l_oper_found);
5294: END IF;
5295:
5296: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5297: RAISE FND_API.G_EXC_ERROR;
5298: END IF;
5299:
5300: IF (l_department_id IS NOT NULL) THEN
5293: AHL_DEBUG_PUB.debug( 'Get_Operations'|| 'l_oper_found:' || l_oper_found);
5294: END IF;
5295:
5296: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5297: RAISE FND_API.G_EXC_ERROR;
5298: END IF;
5299:
5300: IF (l_department_id IS NOT NULL) THEN
5301: l_prd_workoper_tbl(i).department_id := l_department_id;
5353:
5354: AHL_PRD_OPERATIONS_PVT.process_operations
5355: (
5356: p_api_version =>1.0,
5357: p_init_msg_list =>FND_API.G_TRUE,
5358: p_commit =>FND_API.G_FALSE,
5359: p_validation_level =>p_validation_level,
5360: p_default =>p_default,
5361: p_module_type =>p_module_type,
5354: AHL_PRD_OPERATIONS_PVT.process_operations
5355: (
5356: p_api_version =>1.0,
5357: p_init_msg_list =>FND_API.G_TRUE,
5358: p_commit =>FND_API.G_FALSE,
5359: p_validation_level =>p_validation_level,
5360: p_default =>p_default,
5361: p_module_type =>p_module_type,
5362: p_wip_mass_load_flag =>'N',
5365: x_msg_data =>l_msg_data,
5366: p_x_prd_operation_tbl =>l_prd_workoper_tbl
5367: );
5368:
5369: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5370: RAISE FND_API.G_EXC_ERROR;
5371: END IF;
5372:
5373: IF ( p_wip_load_flag = 'Y' ) THEN
5366: p_x_prd_operation_tbl =>l_prd_workoper_tbl
5367: );
5368:
5369: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5370: RAISE FND_API.G_EXC_ERROR;
5371: END IF;
5372:
5373: IF ( p_wip_load_flag = 'Y' ) THEN
5374:
5391: IF ( l_resource_tbl.COUNT > 0 ) THEN
5392: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
5393: (
5394: p_api_version => 1.0,
5395: p_init_msg_list => FND_API.G_TRUE,
5396: p_commit => FND_API.G_FALSE,
5397: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5398: p_module_type => NULL,
5399: p_interface_flag => 'N',
5392: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
5393: (
5394: p_api_version => 1.0,
5395: p_init_msg_list => FND_API.G_TRUE,
5396: p_commit => FND_API.G_FALSE,
5397: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5398: p_module_type => NULL,
5399: p_interface_flag => 'N',
5400: p_operation_flag => 'C',
5393: (
5394: p_api_version => 1.0,
5395: p_init_msg_list => FND_API.G_TRUE,
5396: p_commit => FND_API.G_FALSE,
5397: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5398: p_module_type => NULL,
5399: p_interface_flag => 'N',
5400: p_operation_flag => 'C',
5401: p_x_resrc_require_tbl => l_resource_tbl,
5403: x_msg_count => l_msg_count,
5404: x_msg_data => l_msg_data
5405: );
5406:
5407: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5408: RAISE FND_API.G_EXC_ERROR;
5409: END IF;
5410: END IF;
5411:
5404: x_msg_data => l_msg_data
5405: );
5406:
5407: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5408: RAISE FND_API.G_EXC_ERROR;
5409: END IF;
5410: END IF;
5411:
5412: IF ( G_DEBUG = 'Y' ) THEN
5421: p_x_material_tbl => l_material_tbl,
5422: --sukhwsin::SB Effectivity code changes - starts
5423: x_return_status => l_return_status
5424: );
5425: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5426: RAISE FND_API.G_EXC_ERROR;
5427: END IF;
5428:
5429: --sukhwsin::SB Effectivity - Code Changes for UOM Conversion -starts
5422: --sukhwsin::SB Effectivity code changes - starts
5423: x_return_status => l_return_status
5424: );
5425: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5426: RAISE FND_API.G_EXC_ERROR;
5427: END IF;
5428:
5429: --sukhwsin::SB Effectivity - Code Changes for UOM Conversion -starts
5430: IF ( G_DEBUG = 'Y' ) THEN
5445: FND_MESSAGE.Set_Name( 'AHL','AHL_LTP_UOM_CONV_NOT_EXIST' );
5446: FND_MESSAGE.Set_Token('FUOM', l_material_tbl(k).uom_code);
5447: FND_MESSAGE.Set_Token('TUOM', l_prim_uom_code);
5448: FND_MSG_PUB.add;
5449: RAISE FND_API.G_EXC_ERROR;
5450: ELSE
5451: l_material_tbl(k).requested_quantity := l_prim_quantity;
5452: END IF;
5453: END IF;
5462: IF ( l_material_tbl.COUNT > 0 ) THEN
5463: AHL_PP_MATERIALS_PVT.create_material_reqst
5464: (
5465: p_api_version => 1.0,
5466: p_init_msg_list => FND_API.G_TRUE,
5467: p_commit => FND_API.G_FALSE,
5468: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5469: p_interface_flag => 'N',
5470: p_x_req_material_tbl => l_material_tbl,
5463: AHL_PP_MATERIALS_PVT.create_material_reqst
5464: (
5465: p_api_version => 1.0,
5466: p_init_msg_list => FND_API.G_TRUE,
5467: p_commit => FND_API.G_FALSE,
5468: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5469: p_interface_flag => 'N',
5470: p_x_req_material_tbl => l_material_tbl,
5471: x_job_return_status => l_job_return_status,
5464: (
5465: p_api_version => 1.0,
5466: p_init_msg_list => FND_API.G_TRUE,
5467: p_commit => FND_API.G_FALSE,
5468: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5469: p_interface_flag => 'N',
5470: p_x_req_material_tbl => l_material_tbl,
5471: x_job_return_status => l_job_return_status,
5472: x_return_status => l_return_status,
5473: x_msg_count => l_msg_count,
5474: x_msg_data => l_msg_data
5475: );
5476:
5477: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5478: RAISE FND_API.G_EXC_ERROR;
5479: END IF;
5480: END IF;
5481:
5474: x_msg_data => l_msg_data
5475: );
5476:
5477: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5478: RAISE FND_API.G_EXC_ERROR;
5479: END IF;
5480: END IF;
5481:
5482: END IF; -- For WIP Load Flag
5678: THEN
5679: update_job
5680: (
5681: p_api_version => 1.0 ,
5682: p_init_msg_list => FND_API.G_TRUE ,
5683: p_commit => FND_API.G_FALSE ,
5684: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5685: p_default => FND_API.G_TRUE ,
5686: p_module_type => NULL ,
5679: update_job
5680: (
5681: p_api_version => 1.0 ,
5682: p_init_msg_list => FND_API.G_TRUE ,
5683: p_commit => FND_API.G_FALSE ,
5684: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5685: p_default => FND_API.G_TRUE ,
5686: p_module_type => NULL ,
5687: x_return_status => l_return_status ,
5680: (
5681: p_api_version => 1.0 ,
5682: p_init_msg_list => FND_API.G_TRUE ,
5683: p_commit => FND_API.G_FALSE ,
5684: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5685: p_default => FND_API.G_TRUE ,
5686: p_module_type => NULL ,
5687: x_return_status => l_return_status ,
5688: x_msg_count => l_msg_count ,
5681: p_api_version => 1.0 ,
5682: p_init_msg_list => FND_API.G_TRUE ,
5683: p_commit => FND_API.G_FALSE ,
5684: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5685: p_default => FND_API.G_TRUE ,
5686: p_module_type => NULL ,
5687: x_return_status => l_return_status ,
5688: x_msg_count => l_msg_count ,
5689: x_msg_data => l_msg_data ,
5691: p_x_prd_workorder_rec => l_parent_workorder_rec ,
5692: p_x_prd_workoper_tbl => l_parent_workoper_tbl
5693: );
5694:
5695: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5696: RAISE FND_API.G_EXC_ERROR;
5697: END IF;
5698:
5699: IF ( G_DEBUG = 'Y' ) THEN
5692: p_x_prd_workoper_tbl => l_parent_workoper_tbl
5693: );
5694:
5695: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5696: RAISE FND_API.G_EXC_ERROR;
5697: END IF;
5698:
5699: IF ( G_DEBUG = 'Y' ) THEN
5700: AHL_DEBUG_PUB.debug( l_api_name || ' - update_job for parent_workorder successful' );
5761:
5762: AHL_EAM_JOB_PVT.update_job_operations
5763: (
5764: p_api_version => 1.0 ,
5765: p_init_msg_list => FND_API.G_TRUE ,
5766: p_commit => FND_API.G_FALSE ,
5767: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5768: p_default => FND_API.G_TRUE ,
5769: p_module_type => NULL ,
5762: AHL_EAM_JOB_PVT.update_job_operations
5763: (
5764: p_api_version => 1.0 ,
5765: p_init_msg_list => FND_API.G_TRUE ,
5766: p_commit => FND_API.G_FALSE ,
5767: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5768: p_default => FND_API.G_TRUE ,
5769: p_module_type => NULL ,
5770: x_return_status => l_return_status ,
5763: (
5764: p_api_version => 1.0 ,
5765: p_init_msg_list => FND_API.G_TRUE ,
5766: p_commit => FND_API.G_FALSE ,
5767: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5768: p_default => FND_API.G_TRUE ,
5769: p_module_type => NULL ,
5770: x_return_status => l_return_status ,
5771: x_msg_count => l_msg_count ,
5764: p_api_version => 1.0 ,
5765: p_init_msg_list => FND_API.G_TRUE ,
5766: p_commit => FND_API.G_FALSE ,
5767: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5768: p_default => FND_API.G_TRUE ,
5769: p_module_type => NULL ,
5770: x_return_status => l_return_status ,
5771: x_msg_count => l_msg_count ,
5772: x_msg_data => l_msg_data ,
5775: p_material_req_tbl => l_material_tbl ,
5776: p_resource_req_tbl => l_resource_tbl
5777: );
5778:
5779: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5780: RAISE FND_API.G_EXC_ERROR;
5781: END IF;
5782:
5783: --sansatpa adding for marshalling - for Set MR Priority feature
5776: p_resource_req_tbl => l_resource_tbl
5777: );
5778:
5779: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5780: RAISE FND_API.G_EXC_ERROR;
5781: END IF;
5782:
5783: --sansatpa adding for marshalling - for Set MR Priority feature
5784: IF ( G_DEBUG = 'Y' ) THEN
5828:
5829: AHL_EAM_JOB_PVT.UPDATE_JOB_OPERATIONS
5830: (
5831: P_API_VERSION => 1.0 ,
5832: P_INIT_MSG_LIST => FND_API.G_TRUE ,
5833: P_COMMIT => FND_API.G_FALSE ,
5834: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL ,
5835: P_DEFAULT => FND_API.G_TRUE ,
5836: P_MODULE_TYPE => NULL ,
5829: AHL_EAM_JOB_PVT.UPDATE_JOB_OPERATIONS
5830: (
5831: P_API_VERSION => 1.0 ,
5832: P_INIT_MSG_LIST => FND_API.G_TRUE ,
5833: P_COMMIT => FND_API.G_FALSE ,
5834: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL ,
5835: P_DEFAULT => FND_API.G_TRUE ,
5836: P_MODULE_TYPE => NULL ,
5837: X_RETURN_STATUS => L_RETURN_STATUS ,
5830: (
5831: P_API_VERSION => 1.0 ,
5832: P_INIT_MSG_LIST => FND_API.G_TRUE ,
5833: P_COMMIT => FND_API.G_FALSE ,
5834: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL ,
5835: P_DEFAULT => FND_API.G_TRUE ,
5836: P_MODULE_TYPE => NULL ,
5837: X_RETURN_STATUS => L_RETURN_STATUS ,
5838: X_MSG_COUNT => L_MSG_COUNT ,
5831: P_API_VERSION => 1.0 ,
5832: P_INIT_MSG_LIST => FND_API.G_TRUE ,
5833: P_COMMIT => FND_API.G_FALSE ,
5834: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL ,
5835: P_DEFAULT => FND_API.G_TRUE ,
5836: P_MODULE_TYPE => NULL ,
5837: X_RETURN_STATUS => L_RETURN_STATUS ,
5838: X_MSG_COUNT => L_MSG_COUNT ,
5839: X_MSG_DATA => L_MSG_DATA ,
5870:
5871: AHL_EAM_JOB_PVT.move_workorder
5872: (
5873: p_api_version => 1.0,
5874: p_init_msg_list => FND_API.G_TRUE,
5875: p_commit => FND_API.G_FALSE,
5876: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5877: p_default => FND_API.G_FALSE,
5878: p_module_type => NULL,
5871: AHL_EAM_JOB_PVT.move_workorder
5872: (
5873: p_api_version => 1.0,
5874: p_init_msg_list => FND_API.G_TRUE,
5875: p_commit => FND_API.G_FALSE,
5876: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5877: p_default => FND_API.G_FALSE,
5878: p_module_type => NULL,
5879: x_return_status => l_return_status,
5872: (
5873: p_api_version => 1.0,
5874: p_init_msg_list => FND_API.G_TRUE,
5875: p_commit => FND_API.G_FALSE,
5876: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5877: p_default => FND_API.G_FALSE,
5878: p_module_type => NULL,
5879: x_return_status => l_return_status,
5880: x_msg_count => l_msg_count,
5873: p_api_version => 1.0,
5874: p_init_msg_list => FND_API.G_TRUE,
5875: p_commit => FND_API.G_FALSE,
5876: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
5877: p_default => FND_API.G_FALSE,
5878: p_module_type => NULL,
5879: x_return_status => l_return_status,
5880: x_msg_count => l_msg_count,
5881: x_msg_data => l_msg_data,
5888: p_schedule_method => l_mo_schedule_method,
5889: p_ignore_firm_flag => l_mo_ignore_firm_flag
5890: );
5891:
5892: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5893: RAISE FND_API.G_EXC_ERROR;
5894: END IF;
5895: END IF;
5896:
5889: p_ignore_firm_flag => l_mo_ignore_firm_flag
5890: );
5891:
5892: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5893: RAISE FND_API.G_EXC_ERROR;
5894: END IF;
5895: END IF;
5896:
5897: --Call to Master workorder to update Start date or End date, to tightly encompass the
5929: AHL_PRD_WORKORDER_PVT.Update_Master_Wo_Dates(p_x_prd_workorder_rec.workorder_id);
5930: END IF;
5931: -- Fix for Bug # 8329755 (FP for Bug # 7697909) -- end
5932:
5933: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5934: RAISE FND_API.G_EXC_ERROR;
5935: END IF;
5936:
5937: IF ( G_DEBUG = 'Y' ) THEN
5930: END IF;
5931: -- Fix for Bug # 8329755 (FP for Bug # 7697909) -- end
5932:
5933: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5934: RAISE FND_API.G_EXC_ERROR;
5935: END IF;
5936:
5937: IF ( G_DEBUG = 'Y' ) THEN
5938: AHL_DEBUG_PUB.debug( l_api_name || ' - AHL_EAM_JOB_PVT.update_job_operations succesful' );
5953: LOOP
5954: -- Call delete reservation API.
5955: AHL_RSV_RESERVATIONS_PVT.Delete_Reservation (
5956: p_api_version => 1.0,
5957: p_init_msg_list => FND_API.G_TRUE ,
5958: p_commit => FND_API.G_FALSE ,
5959: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5960: p_module_type => NULL,
5961: x_return_status => l_return_status ,
5954: -- Call delete reservation API.
5955: AHL_RSV_RESERVATIONS_PVT.Delete_Reservation (
5956: p_api_version => 1.0,
5957: p_init_msg_list => FND_API.G_TRUE ,
5958: p_commit => FND_API.G_FALSE ,
5959: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5960: p_module_type => NULL,
5961: x_return_status => l_return_status ,
5962: x_msg_count => l_msg_count ,
5955: AHL_RSV_RESERVATIONS_PVT.Delete_Reservation (
5956: p_api_version => 1.0,
5957: p_init_msg_list => FND_API.G_TRUE ,
5958: p_commit => FND_API.G_FALSE ,
5959: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5960: p_module_type => NULL,
5961: x_return_status => l_return_status ,
5962: x_msg_count => l_msg_count ,
5963: x_msg_data => l_msg_data ,
5963: x_msg_data => l_msg_data ,
5964: p_scheduled_material_id => get_scheduled_mater_rec.scheduled_material_id);
5965:
5966: -- Check return status.
5967: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
5968: IF ( G_DEBUG = 'Y' ) THEN
5969: AHL_DEBUG_PUB.debug('Delete_Reservation failed for schedule material ID: '
5970: || get_scheduled_mater_rec.scheduled_material_id);
5971: END IF; -- G_DEBUG.
5974: END IF; -- l_return_status
5975:
5976: END LOOP;
5977:
5978: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5979: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5980: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5981: RAISE FND_API.G_EXC_ERROR;
5982: END IF;
5975:
5976: END LOOP;
5977:
5978: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5979: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5980: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5981: RAISE FND_API.G_EXC_ERROR;
5982: END IF;
5983:
5976: END LOOP;
5977:
5978: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5979: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5980: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5981: RAISE FND_API.G_EXC_ERROR;
5982: END IF;
5983:
5984: END IF; -- p_x_prd_workorder_rec.status_code
5977:
5978: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
5979: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5980: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
5981: RAISE FND_API.G_EXC_ERROR;
5982: END IF;
5983:
5984: END IF; -- p_x_prd_workorder_rec.status_code
5985:
5988: FOR GET_SRC_RES_ID_REC IN GET_SRC_RES_ID_CSR(p_x_prd_workorder_rec.workorder_id)
5989: LOOP
5990: AHL_MM_RESERVATIONS_PVT.DELETE_RESERVATION (
5991: p_api_version => 1.0,
5992: p_init_msg_list => FND_API.G_TRUE ,
5993: p_commit => FND_API.G_FALSE ,
5994: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5995: p_module_type => NULL,
5996: x_return_status => l_return_status ,
5989: LOOP
5990: AHL_MM_RESERVATIONS_PVT.DELETE_RESERVATION (
5991: p_api_version => 1.0,
5992: p_init_msg_list => FND_API.G_TRUE ,
5993: p_commit => FND_API.G_FALSE ,
5994: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5995: p_module_type => NULL,
5996: x_return_status => l_return_status ,
5997: x_msg_count => l_msg_count ,
5990: AHL_MM_RESERVATIONS_PVT.DELETE_RESERVATION (
5991: p_api_version => 1.0,
5992: p_init_msg_list => FND_API.G_TRUE ,
5993: p_commit => FND_API.G_FALSE ,
5994: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
5995: p_module_type => NULL,
5996: x_return_status => l_return_status ,
5997: x_msg_count => l_msg_count ,
5998: x_msg_data => l_msg_data ,
5997: x_msg_count => l_msg_count ,
5998: x_msg_data => l_msg_data ,
5999: p_reservation_id => GET_SRC_RES_ID_REC.RESERVATION_ID);
6000: -- Check return status.
6001: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6002: IF ( G_DEBUG = 'Y' ) THEN
6003: AHL_DEBUG_PUB.debug('Delete_Reservation failed for Reservation ID: '
6004: || GET_SRC_RES_ID_REC.RESERVATION_ID);
6005: END IF; -- G_DEBUG.
6006:
6007: EXIT;
6008: END IF; -- l_return_status
6009: END LOOP;
6010: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6011: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6012: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6013: RAISE FND_API.G_EXC_ERROR;
6014: END IF;
6007: EXIT;
6008: END IF; -- l_return_status
6009: END LOOP;
6010: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6011: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6012: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6013: RAISE FND_API.G_EXC_ERROR;
6014: END IF;
6015: END IF; -- ARUNJK Changes End
6008: END IF; -- l_return_status
6009: END LOOP;
6010: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6011: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6012: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6013: RAISE FND_API.G_EXC_ERROR;
6014: END IF;
6015: END IF; -- ARUNJK Changes End
6016:
6009: END LOOP;
6010: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6011: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6012: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6013: RAISE FND_API.G_EXC_ERROR;
6014: END IF;
6015: END IF; -- ARUNJK Changes End
6016:
6017: -- Balaji added following code for bug # 6680137
6070:
6071: -- Call LTP API to update material requirement status to History.
6072: AHL_LTP_REQST_MATRL_PVT.Update_Material_Reqrs_status(
6073: p_api_version => 1.0,
6074: p_init_msg_list => FND_API.G_TRUE,
6075: p_commit => FND_API.G_FALSE,
6076: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6077: p_module_type => NULL,
6078: p_visit_task_id => p_x_prd_workorder_rec.VISIT_TASK_ID,
6071: -- Call LTP API to update material requirement status to History.
6072: AHL_LTP_REQST_MATRL_PVT.Update_Material_Reqrs_status(
6073: p_api_version => 1.0,
6074: p_init_msg_list => FND_API.G_TRUE,
6075: p_commit => FND_API.G_FALSE,
6076: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6077: p_module_type => NULL,
6078: p_visit_task_id => p_x_prd_workorder_rec.VISIT_TASK_ID,
6079: x_return_status => x_return_status,
6072: AHL_LTP_REQST_MATRL_PVT.Update_Material_Reqrs_status(
6073: p_api_version => 1.0,
6074: p_init_msg_list => FND_API.G_TRUE,
6075: p_commit => FND_API.G_FALSE,
6076: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6077: p_module_type => NULL,
6078: p_visit_task_id => p_x_prd_workorder_rec.VISIT_TASK_ID,
6079: x_return_status => x_return_status,
6080: x_msg_count => x_msg_count,
6089: 'return status after call to Update_Material_Reqrs_status -> '|| x_return_status
6090: );
6091: END IF;
6092:
6093: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6095: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6096: RAISE FND_API.G_EXC_ERROR;
6097: END IF;
6090: );
6091: END IF;
6092:
6093: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6095: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6096: RAISE FND_API.G_EXC_ERROR;
6097: END IF;
6098:
6091: END IF;
6092:
6093: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6095: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6096: RAISE FND_API.G_EXC_ERROR;
6097: END IF;
6098:
6099: END IF;
6092:
6093: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6095: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6096: RAISE FND_API.G_EXC_ERROR;
6097: END IF;
6098:
6099: END IF;
6100:
6163: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_SCHD_DT_EXCEEDS_VISIT');
6164: FND_MESSAGE.SET_TOKEN('START_DT', TO_CHAR( l_visit_start_date, 'DD-MON-YYYY HH24:MI' ),false);
6165: FND_MESSAGE.SET_TOKEN('END_DT', TO_CHAR( l_visit_end_date, 'DD-MON-YYYY HH24:MI' ),false);
6166: FND_MSG_PUB.ADD;
6167: RAISE FND_API.G_EXC_ERROR;
6168: END IF; */
6169:
6170: END IF;
6171: -- Bug # 8433227 (FP for Bug # 7453393)-- end
6182:
6183: populate_entitlements(
6184: p_api_version => 1.0,
6185: p_init_msg_list => p_init_msg_list,
6186: p_commit => FND_API.G_FALSE,
6187: p_validation_level => p_validation_level,
6188: p_contract_number => p_x_prd_workorder_rec.contract_number,
6189: p_warranty_entl_rec => l_entitlement_rec,
6190: p_user_role => AHL_WARRANTY_ENTL_PVT.G_USER_PLANNER,
6192: x_msg_count => l_msg_count,
6193: x_msg_data => l_msg_data
6194: );
6195:
6196: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6198: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6199: RAISE FND_API.G_EXC_ERROR;
6200: END IF;
6193: x_msg_data => l_msg_data
6194: );
6195:
6196: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6198: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6199: RAISE FND_API.G_EXC_ERROR;
6200: END IF;
6201: END IF;
6194: );
6195:
6196: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6198: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6199: RAISE FND_API.G_EXC_ERROR;
6200: END IF;
6201: END IF;
6202: END IF;
6195:
6196: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6198: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6199: RAISE FND_API.G_EXC_ERROR;
6200: END IF;
6201: END IF;
6202: END IF;
6203: -- ER#10257011 Supplier Warranty manisaga -end
6201: END IF;
6202: END IF;
6203: -- ER#10257011 Supplier Warranty manisaga -end
6204:
6205: IF FND_API.to_boolean(p_commit) THEN
6206: COMMIT;
6207: END IF;
6208:
6209: -- User Hooks
6215: x_msg_count => l_msg_count,
6216: x_msg_data => l_msg_data,
6217: x_return_status => l_return_status);
6218:
6219: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6220: RAISE FND_API.G_EXC_ERROR;
6221: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6223: END IF;
6216: x_msg_data => l_msg_data,
6217: x_return_status => l_return_status);
6218:
6219: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6220: RAISE FND_API.G_EXC_ERROR;
6221: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6223: END IF;
6224: END IF;
6217: x_return_status => l_return_status);
6218:
6219: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6220: RAISE FND_API.G_EXC_ERROR;
6221: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6223: END IF;
6224: END IF;
6225:
6218:
6219: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
6220: RAISE FND_API.G_EXC_ERROR;
6221: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
6222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6223: END IF;
6224: END IF;
6225:
6226: IF ( G_DEBUG = 'Y' ) THEN
6231: AHL_DEBUG_PUB.disable_debug;
6232: END IF;
6233:
6234: EXCEPTION
6235: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6236: ROLLBACK TO update_job_PVT;
6237: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6238: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6239: p_count => x_msg_count,
6233:
6234: EXCEPTION
6235: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6236: ROLLBACK TO update_job_PVT;
6237: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6238: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6239: p_count => x_msg_count,
6240: p_data => x_msg_data);
6241: WHEN FND_API.G_EXC_ERROR THEN
6234: EXCEPTION
6235: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6236: ROLLBACK TO update_job_PVT;
6237: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6238: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6239: p_count => x_msg_count,
6240: p_data => x_msg_data);
6241: WHEN FND_API.G_EXC_ERROR THEN
6242: ROLLBACK TO update_job_PVT;
6237: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6238: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6239: p_count => x_msg_count,
6240: p_data => x_msg_data);
6241: WHEN FND_API.G_EXC_ERROR THEN
6242: ROLLBACK TO update_job_PVT;
6243: x_return_status := FND_API.G_RET_STS_ERROR;
6244: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6245: p_count => x_msg_count,
6239: p_count => x_msg_count,
6240: p_data => x_msg_data);
6241: WHEN FND_API.G_EXC_ERROR THEN
6242: ROLLBACK TO update_job_PVT;
6243: x_return_status := FND_API.G_RET_STS_ERROR;
6244: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6245: p_count => x_msg_count,
6246: p_data => x_msg_data);
6247:
6240: p_data => x_msg_data);
6241: WHEN FND_API.G_EXC_ERROR THEN
6242: ROLLBACK TO update_job_PVT;
6243: x_return_status := FND_API.G_RET_STS_ERROR;
6244: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6245: p_count => x_msg_count,
6246: p_data => x_msg_data);
6247:
6248: WHEN OTHERS THEN
6246: p_data => x_msg_data);
6247:
6248: WHEN OTHERS THEN
6249: ROLLBACK TO update_job_PVT;
6250: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6251: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
6252: FND_MSG_PUB.add_exc_msg(p_pkg_name =>g_pkg_name,
6253: p_procedure_name =>l_api_name,
6254: p_error_text =>SUBSTRB(SQLERRM,1,240));
6253: p_procedure_name =>l_api_name,
6254: p_error_text =>SUBSTRB(SQLERRM,1,240));
6255: END IF;
6256:
6257: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6258: p_count => x_msg_count,
6259: p_data => x_msg_data);
6260: END update_job;
6261:
6261:
6262: PROCEDURE process_jobs
6263: (
6264: p_api_version IN NUMBER := 1.0,
6265: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
6266: p_commit IN VARCHAR2 := FND_API.G_FALSE,
6267: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
6268: p_default IN VARCHAR2 := FND_API.G_FALSE,
6269: p_module_type IN VARCHAR2,
6262: PROCEDURE process_jobs
6263: (
6264: p_api_version IN NUMBER := 1.0,
6265: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
6266: p_commit IN VARCHAR2 := FND_API.G_FALSE,
6267: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
6268: p_default IN VARCHAR2 := FND_API.G_FALSE,
6269: p_module_type IN VARCHAR2,
6270: x_return_status OUT NOCOPY VARCHAR2,
6263: (
6264: p_api_version IN NUMBER := 1.0,
6265: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
6266: p_commit IN VARCHAR2 := FND_API.G_FALSE,
6267: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
6268: p_default IN VARCHAR2 := FND_API.G_FALSE,
6269: p_module_type IN VARCHAR2,
6270: x_return_status OUT NOCOPY VARCHAR2,
6271: x_msg_count OUT NOCOPY NUMBER,
6264: p_api_version IN NUMBER := 1.0,
6265: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
6266: p_commit IN VARCHAR2 := FND_API.G_FALSE,
6267: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
6268: p_default IN VARCHAR2 := FND_API.G_FALSE,
6269: p_module_type IN VARCHAR2,
6270: x_return_status OUT NOCOPY VARCHAR2,
6271: x_msg_count OUT NOCOPY NUMBER,
6272: x_msg_data OUT NOCOPY VARCHAR2,
6305:
6306: BEGIN
6307: SAVEPOINT process_jobs_PVT;
6308:
6309: IF NOT FND_API.compatible_api_call(l_api_version,
6310: p_api_version,
6311: l_api_name,G_PKG_NAME) THEN
6312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6313: END IF;
6308:
6309: IF NOT FND_API.compatible_api_call(l_api_version,
6310: p_api_version,
6311: l_api_name,G_PKG_NAME) THEN
6312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6313: END IF;
6314:
6315: IF FND_API.to_boolean(p_init_msg_list) THEN
6316: FND_MSG_PUB.initialize;
6311: l_api_name,G_PKG_NAME) THEN
6312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6313: END IF;
6314:
6315: IF FND_API.to_boolean(p_init_msg_list) THEN
6316: FND_MSG_PUB.initialize;
6317: END IF;
6318:
6319: x_return_status:=FND_API.G_RET_STS_SUCCESS;
6315: IF FND_API.to_boolean(p_init_msg_list) THEN
6316: FND_MSG_PUB.initialize;
6317: END IF;
6318:
6319: x_return_status:=FND_API.G_RET_STS_SUCCESS;
6320:
6321: IF G_DEBUG='Y' THEN
6322: AHL_DEBUG_PUB.enable_debug;
6323: END IF;
6324:
6325: FOR i IN p_x_prd_workorder_tbl.FIRST..p_x_prd_workorder_tbl.LAST LOOP
6326:
6327: IF ( p_x_prd_workorder_tbl(i).batch_id IS NULL OR
6328: p_x_prd_workorder_tbl(i).batch_id = FND_API.G_MISS_NUM ) THEN
6329: FND_MESSAGE.set_name('AHL','AHL_PRD_BATCH_ID_NULL');
6330: FND_MSG_PUB.add;
6331: RAISE FND_API.G_EXC_ERROR;
6332: END IF;
6327: IF ( p_x_prd_workorder_tbl(i).batch_id IS NULL OR
6328: p_x_prd_workorder_tbl(i).batch_id = FND_API.G_MISS_NUM ) THEN
6329: FND_MESSAGE.set_name('AHL','AHL_PRD_BATCH_ID_NULL');
6330: FND_MSG_PUB.add;
6331: RAISE FND_API.G_EXC_ERROR;
6332: END IF;
6333:
6334: IF ( p_x_prd_workorder_tbl(i).header_id IS NULL OR
6335: p_x_prd_workorder_tbl(i).header_id = FND_API.G_MISS_NUM ) THEN
6331: RAISE FND_API.G_EXC_ERROR;
6332: END IF;
6333:
6334: IF ( p_x_prd_workorder_tbl(i).header_id IS NULL OR
6335: p_x_prd_workorder_tbl(i).header_id = FND_API.G_MISS_NUM ) THEN
6336: FND_MESSAGE.set_name('AHL','AHL_PRD_HEADER_ID_NULL');
6337: FND_MSG_PUB.add;
6338: RAISE FND_API.G_EXC_ERROR;
6339: END IF;
6334: IF ( p_x_prd_workorder_tbl(i).header_id IS NULL OR
6335: p_x_prd_workorder_tbl(i).header_id = FND_API.G_MISS_NUM ) THEN
6336: FND_MESSAGE.set_name('AHL','AHL_PRD_HEADER_ID_NULL');
6337: FND_MSG_PUB.add;
6338: RAISE FND_API.G_EXC_ERROR;
6339: END IF;
6340:
6341: IF ( G_DEBUG = 'Y' ) THEN
6342: AHL_DEBUG_PUB.debug( 'Processing Batch : ' || p_x_prd_workorder_tbl(i).batch_id || ' Header : ' || p_x_prd_workorder_tbl(i).header_id );
6361: /*IF ( l_wo_rel_rec_found = FALSE ) THEN
6362: FND_MESSAGE.set_name('AHL','AHL_PRD_WO_REL_NOT_FOUND');
6363: FND_MESSAGE.set_token('RECORD', p_x_prd_workorder_tbl(i).header_id);
6364: FND_MSG_PUB.add;
6365: RAISE FND_API.G_EXC_ERROR;
6366: ELSE
6367: l_wo_rel_rec_found := FALSE;
6368: END IF;
6369: */
6373:
6374: create_job
6375: (
6376: p_api_version => 1.0,
6377: p_init_msg_list => FND_API.G_TRUE,
6378: p_commit => FND_API.G_FALSE,
6379: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6380: p_default => FND_API.G_FALSE,
6381: p_module_type => NULL,
6374: create_job
6375: (
6376: p_api_version => 1.0,
6377: p_init_msg_list => FND_API.G_TRUE,
6378: p_commit => FND_API.G_FALSE,
6379: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6380: p_default => FND_API.G_FALSE,
6381: p_module_type => NULL,
6382: x_return_status => l_return_status,
6375: (
6376: p_api_version => 1.0,
6377: p_init_msg_list => FND_API.G_TRUE,
6378: p_commit => FND_API.G_FALSE,
6379: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6380: p_default => FND_API.G_FALSE,
6381: p_module_type => NULL,
6382: x_return_status => l_return_status,
6383: x_msg_count => l_msg_count,
6376: p_api_version => 1.0,
6377: p_init_msg_list => FND_API.G_TRUE,
6378: p_commit => FND_API.G_FALSE,
6379: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6380: p_default => FND_API.G_FALSE,
6381: p_module_type => NULL,
6382: x_return_status => l_return_status,
6383: x_msg_count => l_msg_count,
6384: x_msg_data => l_msg_data,
6388: x_resource_tbl => l_resource_tbl,
6389: x_material_tbl => l_material_tbl
6390: );
6391:
6392: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6393: RAISE FND_API.G_EXC_ERROR;
6394: END IF;
6395:
6396: IF ( G_DEBUG = 'Y' ) THEN
6389: x_material_tbl => l_material_tbl
6390: );
6391:
6392: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6393: RAISE FND_API.G_EXC_ERROR;
6394: END IF;
6395:
6396: IF ( G_DEBUG = 'Y' ) THEN
6397: AHL_DEBUG_PUB.debug( 'create_job API Success' );
6516:
6517: update_job
6518: (
6519: p_api_version => 1.0,
6520: p_init_msg_list => FND_API.G_TRUE,
6521: p_commit => FND_API.G_FALSE,
6522: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6523: p_default => FND_API.G_FALSE,
6524: p_module_type => NULL,
6517: update_job
6518: (
6519: p_api_version => 1.0,
6520: p_init_msg_list => FND_API.G_TRUE,
6521: p_commit => FND_API.G_FALSE,
6522: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6523: p_default => FND_API.G_FALSE,
6524: p_module_type => NULL,
6525: x_return_status => l_return_status,
6518: (
6519: p_api_version => 1.0,
6520: p_init_msg_list => FND_API.G_TRUE,
6521: p_commit => FND_API.G_FALSE,
6522: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6523: p_default => FND_API.G_FALSE,
6524: p_module_type => NULL,
6525: x_return_status => l_return_status,
6526: x_msg_count => l_msg_count,
6519: p_api_version => 1.0,
6520: p_init_msg_list => FND_API.G_TRUE,
6521: p_commit => FND_API.G_FALSE,
6522: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6523: p_default => FND_API.G_FALSE,
6524: p_module_type => NULL,
6525: x_return_status => l_return_status,
6526: x_msg_count => l_msg_count,
6527: x_msg_data => l_msg_data,
6529: p_x_prd_workorder_rec => p_x_prd_workorder_tbl(i),
6530: p_x_prd_workoper_tbl => l_dummy_op_tbl
6531: );
6532:
6533: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6534: RAISE FND_API.G_EXC_ERROR;
6535: END IF;
6536:
6537: IF ( G_DEBUG = 'Y' ) THEN
6530: p_x_prd_workoper_tbl => l_dummy_op_tbl
6531: );
6532:
6533: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6534: RAISE FND_API.G_EXC_ERROR;
6535: END IF;
6536:
6537: IF ( G_DEBUG = 'Y' ) THEN
6538: AHL_DEBUG_PUB.debug( 'update_job API Success' );
6612:
6613: AHL_EAM_JOB_PVT.process_eam_workorders
6614: (
6615: p_api_version => 1.0,
6616: p_init_msg_list => FND_API.G_TRUE,
6617: p_commit => FND_API.G_FALSE,
6618: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6619: p_default => FND_API.G_FALSE,
6620: p_module_type => NULL,
6613: AHL_EAM_JOB_PVT.process_eam_workorders
6614: (
6615: p_api_version => 1.0,
6616: p_init_msg_list => FND_API.G_TRUE,
6617: p_commit => FND_API.G_FALSE,
6618: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6619: p_default => FND_API.G_FALSE,
6620: p_module_type => NULL,
6621: x_return_status => l_return_status,
6614: (
6615: p_api_version => 1.0,
6616: p_init_msg_list => FND_API.G_TRUE,
6617: p_commit => FND_API.G_FALSE,
6618: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6619: p_default => FND_API.G_FALSE,
6620: p_module_type => NULL,
6621: x_return_status => l_return_status,
6622: x_msg_count => l_msg_count,
6615: p_api_version => 1.0,
6616: p_init_msg_list => FND_API.G_TRUE,
6617: p_commit => FND_API.G_FALSE,
6618: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6619: p_default => FND_API.G_FALSE,
6620: p_module_type => NULL,
6621: x_return_status => l_return_status,
6622: x_msg_count => l_msg_count,
6623: x_msg_data => l_msg_data,
6626: p_eam_op_tbl => l_eam_op_tbl,
6627: p_eam_res_req_tbl => l_eam_res_req_tbl,
6628: p_eam_mat_req_tbl => l_eam_mat_req_tbl
6629: );
6630: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6631: RAISE FND_API.G_EXC_ERROR;
6632: ELSE
6633: IF ( G_DEBUG = 'Y' ) THEN
6634: AHL_DEBUG_PUB.debug( 'AHL_EAM_JOB_PVT.process_eam_workorders API Success' );
6627: p_eam_res_req_tbl => l_eam_res_req_tbl,
6628: p_eam_mat_req_tbl => l_eam_mat_req_tbl
6629: );
6630: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6631: RAISE FND_API.G_EXC_ERROR;
6632: ELSE
6633: IF ( G_DEBUG = 'Y' ) THEN
6634: AHL_DEBUG_PUB.debug( 'AHL_EAM_JOB_PVT.process_eam_workorders API Success' );
6635: END IF;
6676:
6677: --Call disposition API Post 11.5.10 Changes
6678: AHL_PRD_DISPOSITION_PVT.create_job_dispositions(
6679: p_api_version => 1.0,
6680: p_init_msg_list => FND_API.G_TRUE,
6681: p_commit => FND_API.G_FALSE,
6682: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6683: x_return_status => l_return_status,
6684: x_msg_count => l_msg_count,
6677: --Call disposition API Post 11.5.10 Changes
6678: AHL_PRD_DISPOSITION_PVT.create_job_dispositions(
6679: p_api_version => 1.0,
6680: p_init_msg_list => FND_API.G_TRUE,
6681: p_commit => FND_API.G_FALSE,
6682: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6683: x_return_status => l_return_status,
6684: x_msg_count => l_msg_count,
6685: x_msg_data => l_msg_data,
6678: AHL_PRD_DISPOSITION_PVT.create_job_dispositions(
6679: p_api_version => 1.0,
6680: p_init_msg_list => FND_API.G_TRUE,
6681: p_commit => FND_API.G_FALSE,
6682: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6683: x_return_status => l_return_status,
6684: x_msg_count => l_msg_count,
6685: x_msg_data => l_msg_data,
6686: p_workorder_id => p_x_prd_workorder_tbl(i).workorder_id);
6684: x_msg_count => l_msg_count,
6685: x_msg_data => l_msg_data,
6686: p_workorder_id => p_x_prd_workorder_tbl(i).workorder_id);
6687:
6688: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6689: RAISE FND_API.G_EXC_ERROR;
6690: END IF;
6691:
6692: ELSIF ( p_x_prd_workorder_tbl(i).dml_operation = 'U' ) THEN
6685: x_msg_data => l_msg_data,
6686: p_workorder_id => p_x_prd_workorder_tbl(i).workorder_id);
6687:
6688: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6689: RAISE FND_API.G_EXC_ERROR;
6690: END IF;
6691:
6692: ELSIF ( p_x_prd_workorder_tbl(i).dml_operation = 'U' ) THEN
6693: IF ( G_DEBUG = 'Y' ) THEN
6703: p_default => p_default,
6704: p_module_type => p_module_type,
6705: x_return_status => l_return_status
6706: );
6707: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
6708: RAISE FND_API.G_EXC_ERROR;
6709: END IF;
6710: --sukhwsin::VEE - enhancement for insertion of wo status change - ends
6711: UPDATE AHL_WORKORDERS
6704: p_module_type => p_module_type,
6705: x_return_status => l_return_status
6706: );
6707: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
6708: RAISE FND_API.G_EXC_ERROR;
6709: END IF;
6710: --sukhwsin::VEE - enhancement for insertion of wo status change - ends
6711: UPDATE AHL_WORKORDERS
6712: SET status_code = l_eam_wo_tbl(i).status_type,
6737:
6738: process_stage_jobs
6739: (
6740: p_api_version => 1.0,
6741: p_init_msg_list => FND_API.G_FALSE, --message initialization is already done in current API
6742: p_commit => FND_API.G_FALSE,
6743: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6744: p_module_type => null,
6745: p_workorder_tbl => l_mr_workorder_tbl,
6738: process_stage_jobs
6739: (
6740: p_api_version => 1.0,
6741: p_init_msg_list => FND_API.G_FALSE, --message initialization is already done in current API
6742: p_commit => FND_API.G_FALSE,
6743: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6744: p_module_type => null,
6745: p_workorder_tbl => l_mr_workorder_tbl,
6746: x_return_status => l_return_status,
6739: (
6740: p_api_version => 1.0,
6741: p_init_msg_list => FND_API.G_FALSE, --message initialization is already done in current API
6742: p_commit => FND_API.G_FALSE,
6743: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6744: p_module_type => null,
6745: p_workorder_tbl => l_mr_workorder_tbl,
6746: x_return_status => l_return_status,
6747: x_msg_count => l_msg_count,
6751: IF ( G_DEBUG = 'Y' ) THEN
6752: AHL_DEBUG_PUB.debug( l_api_name || ' - After call to Process_stage_jobs API. Return Status: ' || l_return_status );
6753: END IF;
6754:
6755: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6756:
6757: x_return_status := l_return_status;
6758: x_msg_count := l_msg_count;
6759: x_msg_data := l_msg_data;
6757: x_return_status := l_return_status;
6758: x_msg_count := l_msg_count;
6759: x_msg_data := l_msg_data;
6760:
6761: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
6762: RAISE FND_API.G_EXC_ERROR;
6763: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
6764: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6765: END IF;
6758: x_msg_count := l_msg_count;
6759: x_msg_data := l_msg_data;
6760:
6761: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
6762: RAISE FND_API.G_EXC_ERROR;
6763: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
6764: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6765: END IF;
6766:
6759: x_msg_data := l_msg_data;
6760:
6761: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
6762: RAISE FND_API.G_EXC_ERROR;
6763: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
6764: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6765: END IF;
6766:
6767: END IF;
6760:
6761: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
6762: RAISE FND_API.G_EXC_ERROR;
6763: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
6764: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6765: END IF;
6766:
6767: END IF;
6768:
6769: END IF; -- if l_is_comp_visit = 'N'
6770:
6771: END IF; --if total_mr_workorders > 0
6772:
6773: IF FND_API.to_boolean(p_commit) THEN
6774: COMMIT;
6775: END IF;
6776:
6777: END IF;
6780: AHL_DEBUG_PUB.disable_debug;
6781: END IF;
6782:
6783: EXCEPTION
6784: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6785: ROLLBACK TO process_jobs_PVT;
6786: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6787: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6788: p_count => x_msg_count,
6782:
6783: EXCEPTION
6784: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6785: ROLLBACK TO process_jobs_PVT;
6786: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6787: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6788: p_count => x_msg_count,
6789: p_data => x_msg_data);
6790: WHEN FND_API.G_EXC_ERROR THEN
6783: EXCEPTION
6784: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6785: ROLLBACK TO process_jobs_PVT;
6786: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6787: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6788: p_count => x_msg_count,
6789: p_data => x_msg_data);
6790: WHEN FND_API.G_EXC_ERROR THEN
6791: ROLLBACK TO process_jobs_PVT;
6786: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6787: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6788: p_count => x_msg_count,
6789: p_data => x_msg_data);
6790: WHEN FND_API.G_EXC_ERROR THEN
6791: ROLLBACK TO process_jobs_PVT;
6792: x_return_status := FND_API.G_RET_STS_ERROR;
6793: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6794: p_count => x_msg_count,
6788: p_count => x_msg_count,
6789: p_data => x_msg_data);
6790: WHEN FND_API.G_EXC_ERROR THEN
6791: ROLLBACK TO process_jobs_PVT;
6792: x_return_status := FND_API.G_RET_STS_ERROR;
6793: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6794: p_count => x_msg_count,
6795: p_data => x_msg_data);
6796:
6789: p_data => x_msg_data);
6790: WHEN FND_API.G_EXC_ERROR THEN
6791: ROLLBACK TO process_jobs_PVT;
6792: x_return_status := FND_API.G_RET_STS_ERROR;
6793: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6794: p_count => x_msg_count,
6795: p_data => x_msg_data);
6796:
6797: WHEN OTHERS THEN
6795: p_data => x_msg_data);
6796:
6797: WHEN OTHERS THEN
6798: ROLLBACK TO process_jobs_PVT;
6799: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6800: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
6801: FND_MSG_PUB.add_exc_msg(p_pkg_name =>g_pkg_name,
6802: p_procedure_name =>l_api_name,
6803: p_error_text => SUBSTRB(SQLERRM,1,240));
6802: p_procedure_name =>l_api_name,
6803: p_error_text => SUBSTRB(SQLERRM,1,240));
6804:
6805: END IF;
6806: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
6807: p_count => x_msg_count,
6808: p_data => x_msg_data);
6809:
6810: END process_jobs;
6828: -- End of Comments
6829: PROCEDURE process_stage_jobs
6830: (
6831: p_api_version IN NUMBER := 1.0,
6832: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
6833: p_commit IN VARCHAR2 := FND_API.G_FALSE,
6834: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
6835: p_module_type IN VARCHAR2,
6836: p_workorder_tbl IN PRD_WORKORDER_TBL,
6829: PROCEDURE process_stage_jobs
6830: (
6831: p_api_version IN NUMBER := 1.0,
6832: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
6833: p_commit IN VARCHAR2 := FND_API.G_FALSE,
6834: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
6835: p_module_type IN VARCHAR2,
6836: p_workorder_tbl IN PRD_WORKORDER_TBL,
6837: x_return_status OUT NOCOPY VARCHAR2,
6830: (
6831: p_api_version IN NUMBER := 1.0,
6832: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
6833: p_commit IN VARCHAR2 := FND_API.G_FALSE,
6834: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
6835: p_module_type IN VARCHAR2,
6836: p_workorder_tbl IN PRD_WORKORDER_TBL,
6837: x_return_status OUT NOCOPY VARCHAR2,
6838: x_msg_count OUT NOCOPY NUMBER,
6939: -- Standard start of API savepoint
6940: SAVEPOINT process_stage_jobs_pvt;
6941:
6942: -- Standard call to check for call compatibility
6943: IF NOT FND_API.compatible_api_call( l_api_version, p_api_version,
6944: l_api_name, G_PKG_NAME ) THEN
6945: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6946: END IF;
6947:
6941:
6942: -- Standard call to check for call compatibility
6943: IF NOT FND_API.compatible_api_call( l_api_version, p_api_version,
6944: l_api_name, G_PKG_NAME ) THEN
6945: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6946: END IF;
6947:
6948: -- Initialize message list if p_init_msg_list is set to TRUE
6949: IF FND_API.to_boolean( p_init_msg_list ) THEN
6945: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6946: END IF;
6947:
6948: -- Initialize message list if p_init_msg_list is set to TRUE
6949: IF FND_API.to_boolean( p_init_msg_list ) THEN
6950: FND_MSG_PUB.initialize;
6951: END IF;
6952:
6953: -- Initialize Procedure return status to success
6950: FND_MSG_PUB.initialize;
6951: END IF;
6952:
6953: -- Initialize Procedure return status to success
6954: x_return_status := FND_API.G_RET_STS_SUCCESS;
6955:
6956: /* p_module_type as 'VWP' signifies that this API is called directly from VWP flow when a visit is P2P.
6957: * In this case, this API's task is to remove all the BOM Resource Requirements associated with the passed Stage Workorders
6958: * i.e. default Stage Workorder. In all other cases, BOM Resource Requirements for Stage workorders would be
6975: IF ( G_DEBUG = 'Y' ) THEN
6976: AHL_DEBUG_PUB.debug( l_full_name || ' - After call to Remove_wo_resrc_reqs API. Return Status: ' || l_return_status );
6977: END IF;
6978:
6979: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
6980:
6981: x_return_status := l_return_status;
6982: x_msg_count := l_msg_count;
6983: x_msg_data := l_msg_data;
6981: x_return_status := l_return_status;
6982: x_msg_count := l_msg_count;
6983: x_msg_data := l_msg_data;
6984:
6985: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
6986: RAISE FND_API.G_EXC_ERROR;
6987: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
6988: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6989: END IF;
6982: x_msg_count := l_msg_count;
6983: x_msg_data := l_msg_data;
6984:
6985: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
6986: RAISE FND_API.G_EXC_ERROR;
6987: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
6988: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6989: END IF;
6990:
6983: x_msg_data := l_msg_data;
6984:
6985: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
6986: RAISE FND_API.G_EXC_ERROR;
6987: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
6988: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6989: END IF;
6990:
6991: END IF;
6984:
6985: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
6986: RAISE FND_API.G_EXC_ERROR;
6987: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
6988: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6989: END IF;
6990:
6991: END IF;
6992:
7023: AHL_DEBUG_PUB.debug( l_full_name || ' - After call to Get_prof_res_req API. Return Status: ' || l_return_status );
7024: AHL_DEBUG_PUB.debug( l_full_name || ' - Total Resource Requirements from NR profile API for this MR: ' || l_prof_res_req_tbl.COUNT );
7025: END IF;
7026:
7027: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7028:
7029: x_return_status := l_return_status;
7030: x_msg_count := l_msg_count;
7031: x_msg_data := l_msg_data;
7029: x_return_status := l_return_status;
7030: x_msg_count := l_msg_count;
7031: x_msg_data := l_msg_data;
7032:
7033: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7034: RAISE FND_API.G_EXC_ERROR;
7035: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7036: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7037: END IF;
7030: x_msg_count := l_msg_count;
7031: x_msg_data := l_msg_data;
7032:
7033: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7034: RAISE FND_API.G_EXC_ERROR;
7035: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7036: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7037: END IF;
7038:
7031: x_msg_data := l_msg_data;
7032:
7033: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7034: RAISE FND_API.G_EXC_ERROR;
7035: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7036: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7037: END IF;
7038:
7039: END IF;
7032:
7033: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7034: RAISE FND_API.G_EXC_ERROR;
7035: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7036: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7037: END IF;
7038:
7039: END IF;
7040:
7154: IF get_stg_workorder_csr%NOTFOUND THEN
7155: FND_MESSAGE.set_name('AHL', 'AHL_PRD_WO_NOT_FOUND');
7156: FND_MSG_PUB.add;
7157: CLOSE get_stg_workorder_csr;
7158: RAISE FND_API.G_EXC_ERROR;
7159: END IF;
7160:
7161: CLOSE get_stg_workorder_csr;
7162:
7190:
7191: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
7192: (
7193: p_api_version => 1.0,
7194: p_init_msg_list => FND_API.G_FALSE, -- message initialization is already done in current API.
7195: p_commit => FND_API.G_FALSE,
7196: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7197: p_module_type => 'JSP', -- need to pass JSP otherwise EAM API is not called.
7198: p_interface_flag => 'Y',
7191: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
7192: (
7193: p_api_version => 1.0,
7194: p_init_msg_list => FND_API.G_FALSE, -- message initialization is already done in current API.
7195: p_commit => FND_API.G_FALSE,
7196: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7197: p_module_type => 'JSP', -- need to pass JSP otherwise EAM API is not called.
7198: p_interface_flag => 'Y',
7199: p_operation_flag => 'C',
7192: (
7193: p_api_version => 1.0,
7194: p_init_msg_list => FND_API.G_FALSE, -- message initialization is already done in current API.
7195: p_commit => FND_API.G_FALSE,
7196: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7197: p_module_type => 'JSP', -- need to pass JSP otherwise EAM API is not called.
7198: p_interface_flag => 'Y',
7199: p_operation_flag => 'C',
7200: p_x_resrc_require_tbl => l_create_res_tbl,
7206: IF ( G_DEBUG = 'Y' ) THEN
7207: AHL_DEBUG_PUB.debug( l_full_name || ' - After call to Process_resrc_require API. Return Status: ' || l_return_status );
7208: END IF;
7209:
7210: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7211:
7212: x_return_status := l_return_status;
7213: x_msg_count := l_msg_count;
7214: x_msg_data := l_msg_data;
7212: x_return_status := l_return_status;
7213: x_msg_count := l_msg_count;
7214: x_msg_data := l_msg_data;
7215:
7216: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7217: RAISE FND_API.G_EXC_ERROR;
7218: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7219: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7220: END IF;
7213: x_msg_count := l_msg_count;
7214: x_msg_data := l_msg_data;
7215:
7216: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7217: RAISE FND_API.G_EXC_ERROR;
7218: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7219: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7220: END IF;
7221:
7214: x_msg_data := l_msg_data;
7215:
7216: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7217: RAISE FND_API.G_EXC_ERROR;
7218: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7219: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7220: END IF;
7221:
7222: END IF;
7215:
7216: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7217: RAISE FND_API.G_EXC_ERROR;
7218: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7219: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7220: END IF;
7221:
7222: END IF;
7223:
7231:
7232: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
7233: (
7234: p_api_version => 1.0,
7235: p_init_msg_list => FND_API.G_FALSE,
7236: p_commit => FND_API.G_FALSE,
7237: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7238: p_module_type => null,
7239: p_interface_flag => null,
7232: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
7233: (
7234: p_api_version => 1.0,
7235: p_init_msg_list => FND_API.G_FALSE,
7236: p_commit => FND_API.G_FALSE,
7237: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7238: p_module_type => null,
7239: p_interface_flag => null,
7240: p_operation_flag => 'U',
7233: (
7234: p_api_version => 1.0,
7235: p_init_msg_list => FND_API.G_FALSE,
7236: p_commit => FND_API.G_FALSE,
7237: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7238: p_module_type => null,
7239: p_interface_flag => null,
7240: p_operation_flag => 'U',
7241: p_x_resrc_require_tbl => l_update_res_tbl,
7247: IF ( G_DEBUG = 'Y' ) THEN
7248: AHL_DEBUG_PUB.debug( l_full_name || ' - After call to Process_resrc_require API. Return Status: ' || l_return_status );
7249: END IF;
7250:
7251: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7252:
7253: x_return_status := l_return_status;
7254: x_msg_count := l_msg_count;
7255: x_msg_data := l_msg_data;
7253: x_return_status := l_return_status;
7254: x_msg_count := l_msg_count;
7255: x_msg_data := l_msg_data;
7256:
7257: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7258: RAISE FND_API.G_EXC_ERROR;
7259: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7260: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7261: END IF;
7254: x_msg_count := l_msg_count;
7255: x_msg_data := l_msg_data;
7256:
7257: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7258: RAISE FND_API.G_EXC_ERROR;
7259: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7260: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7261: END IF;
7262:
7255: x_msg_data := l_msg_data;
7256:
7257: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7258: RAISE FND_API.G_EXC_ERROR;
7259: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7260: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7261: END IF;
7262:
7263: END IF;
7256:
7257: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7258: RAISE FND_API.G_EXC_ERROR;
7259: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7260: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7261: END IF;
7262:
7263: END IF;
7264:
7272:
7273: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
7274: (
7275: p_api_version => 1.0,
7276: p_init_msg_list => FND_API.G_FALSE,
7277: p_commit => FND_API.G_FALSE,
7278: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7279: p_module_type => null,
7280: p_interface_flag => null,
7273: AHL_PP_RESRC_REQUIRE_PVT.process_resrc_require
7274: (
7275: p_api_version => 1.0,
7276: p_init_msg_list => FND_API.G_FALSE,
7277: p_commit => FND_API.G_FALSE,
7278: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7279: p_module_type => null,
7280: p_interface_flag => null,
7281: p_operation_flag => 'D',
7274: (
7275: p_api_version => 1.0,
7276: p_init_msg_list => FND_API.G_FALSE,
7277: p_commit => FND_API.G_FALSE,
7278: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7279: p_module_type => null,
7280: p_interface_flag => null,
7281: p_operation_flag => 'D',
7282: p_x_resrc_require_tbl => l_delete_res_tbl,
7288: IF ( G_DEBUG = 'Y' ) THEN
7289: AHL_DEBUG_PUB.debug( l_full_name || ' - After call to Process_resrc_require API. Return Status: ' || l_return_status );
7290: END IF;
7291:
7292: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7293:
7294: x_return_status := l_return_status;
7295: x_msg_count := l_msg_count;
7296: x_msg_data := l_msg_data;
7294: x_return_status := l_return_status;
7295: x_msg_count := l_msg_count;
7296: x_msg_data := l_msg_data;
7297:
7298: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7299: RAISE FND_API.G_EXC_ERROR;
7300: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7302: END IF;
7295: x_msg_count := l_msg_count;
7296: x_msg_data := l_msg_data;
7297:
7298: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7299: RAISE FND_API.G_EXC_ERROR;
7300: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7302: END IF;
7303:
7296: x_msg_data := l_msg_data;
7297:
7298: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7299: RAISE FND_API.G_EXC_ERROR;
7300: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7302: END IF;
7303:
7304: END IF;
7297:
7298: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
7299: RAISE FND_API.G_EXC_ERROR;
7300: ELSIF ( l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
7301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7302: END IF;
7303:
7304: END IF;
7305:
7311: END IF; -- p_module_type = 'VST'
7312:
7313:
7314: -- Standard check of p_commit
7315: IF FND_API.TO_BOOLEAN( p_commit ) THEN
7316: COMMIT WORK;
7317: END IF;
7318:
7319: IF ( G_DEBUG = 'Y' ) THEN
7321: AHL_DEBUG_PUB.disable_debug;
7322: END IF;
7323:
7324: EXCEPTION
7325: WHEN FND_API.G_EXC_ERROR THEN
7326: ROLLBACK TO process_stage_jobs_pvt;
7327: x_return_status := FND_API.G_RET_STS_ERROR;
7328: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7329: p_count => x_msg_count,
7323:
7324: EXCEPTION
7325: WHEN FND_API.G_EXC_ERROR THEN
7326: ROLLBACK TO process_stage_jobs_pvt;
7327: x_return_status := FND_API.G_RET_STS_ERROR;
7328: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7329: p_count => x_msg_count,
7330: p_data => x_msg_data );
7331: IF ( G_DEBUG = 'Y' ) THEN
7324: EXCEPTION
7325: WHEN FND_API.G_EXC_ERROR THEN
7326: ROLLBACK TO process_stage_jobs_pvt;
7327: x_return_status := FND_API.G_RET_STS_ERROR;
7328: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7329: p_count => x_msg_count,
7330: p_data => x_msg_data );
7331: IF ( G_DEBUG = 'Y' ) THEN
7332: AHL_DEBUG_PUB.debug( l_full_name || ' - Expected Exception: ' || x_msg_data );
7332: AHL_DEBUG_PUB.debug( l_full_name || ' - Expected Exception: ' || x_msg_data );
7333: AHL_DEBUG_PUB.disable_debug;
7334: END IF;
7335:
7336: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7337: ROLLBACK TO process_stage_jobs_pvt;
7338: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7339: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7340: p_count => x_msg_count,
7334: END IF;
7335:
7336: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7337: ROLLBACK TO process_stage_jobs_pvt;
7338: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7339: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7340: p_count => x_msg_count,
7341: p_data => x_msg_data );
7342: IF ( G_DEBUG = 'Y' ) THEN
7335:
7336: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7337: ROLLBACK TO process_stage_jobs_pvt;
7338: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7339: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7340: p_count => x_msg_count,
7341: p_data => x_msg_data );
7342: IF ( G_DEBUG = 'Y' ) THEN
7343: AHL_DEBUG_PUB.debug( l_full_name || ' - Unexpected Exception: ' || x_msg_data );
7345: END IF;
7346:
7347: WHEN OTHERS THEN
7348: ROLLBACK TO process_stage_jobs_pvt;
7349: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7350:
7351: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
7352: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
7353: p_procedure_name => l_api_name,
7352: FND_MSG_PUB.add_exc_msg( p_pkg_name => G_PKG_NAME,
7353: p_procedure_name => l_api_name,
7354: p_error_text => SUBSTRB(SQLERRM, 1, 240) );
7355: END IF;
7356: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7357: p_count => x_msg_count,
7358: p_data => x_msg_data );
7359: IF ( G_DEBUG = 'Y' ) THEN
7360: AHL_DEBUG_PUB.debug( l_full_name || ' - Other Exception: ' || x_msg_data );
7365:
7366: PROCEDURE release_visit_jobs
7367: (
7368: p_api_version IN NUMBER := 1.0,
7369: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
7370: p_commit IN VARCHAR2 := FND_API.G_FALSE,
7371: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7372: p_default IN VARCHAR2 := FND_API.G_FALSE,
7373: p_module_type IN VARCHAR2 := NULL,
7366: PROCEDURE release_visit_jobs
7367: (
7368: p_api_version IN NUMBER := 1.0,
7369: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
7370: p_commit IN VARCHAR2 := FND_API.G_FALSE,
7371: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7372: p_default IN VARCHAR2 := FND_API.G_FALSE,
7373: p_module_type IN VARCHAR2 := NULL,
7374: x_return_status OUT NOCOPY VARCHAR2,
7367: (
7368: p_api_version IN NUMBER := 1.0,
7369: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
7370: p_commit IN VARCHAR2 := FND_API.G_FALSE,
7371: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7372: p_default IN VARCHAR2 := FND_API.G_FALSE,
7373: p_module_type IN VARCHAR2 := NULL,
7374: x_return_status OUT NOCOPY VARCHAR2,
7375: x_msg_count OUT NOCOPY NUMBER,
7368: p_api_version IN NUMBER := 1.0,
7369: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
7370: p_commit IN VARCHAR2 := FND_API.G_FALSE,
7371: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7372: p_default IN VARCHAR2 := FND_API.G_FALSE,
7373: p_module_type IN VARCHAR2 := NULL,
7374: x_return_status OUT NOCOPY VARCHAR2,
7375: x_msg_count OUT NOCOPY NUMBER,
7376: x_msg_data OUT NOCOPY VARCHAR2,
7490:
7491: BEGIN
7492: SAVEPOINT release_visit_jobs_PVT;
7493:
7494: IF NOT FND_API.compatible_api_call(l_api_version,
7495: p_api_version,
7496: l_api_name,G_PKG_NAME) THEN
7497: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7498: END IF;
7493:
7494: IF NOT FND_API.compatible_api_call(l_api_version,
7495: p_api_version,
7496: l_api_name,G_PKG_NAME) THEN
7497: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7498: END IF;
7499:
7500: IF FND_API.to_boolean(p_init_msg_list) THEN
7501: FND_MSG_PUB.initialize;
7496: l_api_name,G_PKG_NAME) THEN
7497: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7498: END IF;
7499:
7500: IF FND_API.to_boolean(p_init_msg_list) THEN
7501: FND_MSG_PUB.initialize;
7502: END IF;
7503:
7504: x_return_status:=FND_API.G_RET_STS_SUCCESS;
7500: IF FND_API.to_boolean(p_init_msg_list) THEN
7501: FND_MSG_PUB.initialize;
7502: END IF;
7503:
7504: x_return_status:=FND_API.G_RET_STS_SUCCESS;
7505:
7506: IF G_DEBUG='Y' THEN
7507: AHL_DEBUG_PUB.enable_debug;
7508: END IF;
7507: AHL_DEBUG_PUB.enable_debug;
7508: END IF;
7509: -- Validate Inputs
7510: IF ( ( p_workorder_id IS NULL OR
7511: p_workorder_id = FND_API.G_MISS_NUM ) AND
7512: ( p_unit_effectivity_id IS NULL OR
7513: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
7514: ( p_visit_id IS NULL OR
7515: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
7509: -- Validate Inputs
7510: IF ( ( p_workorder_id IS NULL OR
7511: p_workorder_id = FND_API.G_MISS_NUM ) AND
7512: ( p_unit_effectivity_id IS NULL OR
7513: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
7514: ( p_visit_id IS NULL OR
7515: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
7516: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
7517: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
7511: p_workorder_id = FND_API.G_MISS_NUM ) AND
7512: ( p_unit_effectivity_id IS NULL OR
7513: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
7514: ( p_visit_id IS NULL OR
7515: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
7516: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
7517: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
7518: FND_MSG_PUB.add;
7519: RAISE FND_API.G_EXC_ERROR;
7515: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
7516: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
7517: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
7518: FND_MSG_PUB.add;
7519: RAISE FND_API.G_EXC_ERROR;
7520: END IF;
7521:
7522: -- Determine the type of API call
7523: IF ( p_workorder_id IS NOT NULL AND
7520: END IF;
7521:
7522: -- Determine the type of API call
7523: IF ( p_workorder_id IS NOT NULL AND
7524: p_workorder_id <> FND_API.G_MISS_NUM ) THEN
7525: l_input_type := 'WO';
7526: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
7527: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
7528: l_input_type := 'UE';
7523: IF ( p_workorder_id IS NOT NULL AND
7524: p_workorder_id <> FND_API.G_MISS_NUM ) THEN
7525: l_input_type := 'WO';
7526: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
7527: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
7528: l_input_type := 'UE';
7529: ELSIF ( p_visit_id IS NOT NULL AND
7530: p_visit_id <> FND_API.G_MISS_NUM ) THEN
7531: l_input_type := 'VST';
7526: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
7527: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
7528: l_input_type := 'UE';
7529: ELSIF ( p_visit_id IS NOT NULL AND
7530: p_visit_id <> FND_API.G_MISS_NUM ) THEN
7531: l_input_type := 'VST';
7532: END IF;
7533:
7534: -- Process Visit
7546: IF ( get_visit_mwo%NOTFOUND ) THEN
7547: FND_MESSAGE.set_name('AHL','AHL_PRD_VISIT_MWO_NOT_FOUND');
7548: FND_MSG_PUB.add;
7549: CLOSE get_visit_mwo;
7550: RAISE FND_API.G_EXC_ERROR;
7551: END IF;
7552:
7553: CLOSE get_visit_mwo;
7554:
7562: p_visit_id => NULL,
7563: p_item_instance_id => NULL);
7564:
7565:
7566: IF l_return_status = FND_API.G_TRUE THEN
7567: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_MWO_RLS_UNTLCKD');
7568: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
7569: FND_MSG_PUB.ADD;
7570: RAISE FND_API.G_EXC_ERROR;
7566: IF l_return_status = FND_API.G_TRUE THEN
7567: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_MWO_RLS_UNTLCKD');
7568: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
7569: FND_MSG_PUB.ADD;
7570: RAISE FND_API.G_EXC_ERROR;
7571: END IF;
7572:
7573: -- rroy
7574: -- ACL Changes
7597: p_ue_id => NULL,
7598: p_visit_id => NULL,
7599: p_item_instance_id => NULL);
7600:
7601: IF l_return_status = FND_API.G_TRUE THEN
7602: IF l_mwo_flag <> 'Y' THEN
7603: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_WO_RLS_UNTLCKD');
7604: ELSE
7605: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_MWO_RLS_UNTLCKD');
7605: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_MWO_RLS_UNTLCKD');
7606: END IF;
7607: FND_MESSAGE.Set_Token('WO_NAME', l_child_wo_name);
7608: FND_MSG_PUB.ADD;
7609: RAISE FND_API.G_EXC_ERROR;
7610: END IF;
7611: -- rroy
7612: -- ACL Changes
7613:
7639: IF ( get_ue_mwo%NOTFOUND ) THEN
7640: FND_MESSAGE.set_name('AHL','AHL_PRD_MR_MWO_NOT_FOUND');
7641: FND_MSG_PUB.add;
7642: CLOSE get_ue_mwo;
7643: RAISE FND_API.G_EXC_ERROR;
7644: END IF;
7645:
7646: CLOSE get_ue_mwo;
7647:
7661: p_ue_id => NULL,
7662: p_visit_id => NULL,
7663: p_item_instance_id => NULL);
7664:
7665: IF l_return_status = FND_API.G_TRUE THEN
7666: IF l_mwo_flag <> 'Y' THEN
7667: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_WO_RLS_UNTLCKD');
7668: ELSE
7669: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_RLS_UNTLCKD');
7669: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_RLS_UNTLCKD');
7670: END IF;
7671: FND_MESSAGE.Set_Token('WO_NAME', l_parent_wo_name);
7672: FND_MSG_PUB.ADD;
7673: RAISE FND_API.G_EXC_ERROR;
7674: END IF;
7675: -- rroy
7676: -- ACL Changes
7677:
7697: p_ue_id => NULL,
7698: p_visit_id => NULL,
7699: p_item_instance_id => NULL);
7700:
7701: IF l_return_status = FND_API.G_TRUE THEN
7702: IF l_master_wo_flag <> 'Y' THEN
7703: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_WO_RLS_UNTLCKD');
7704: ELSE
7705: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_RLS_UNTLCKD');
7705: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_RLS_UNTLCKD');
7706: END IF;
7707: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
7708: FND_MSG_PUB.ADD;
7709: RAISE FND_API.G_EXC_ERROR;
7710: END IF;
7711: -- rroy
7712: -- ACL Changes
7713:
7734: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_wo_id,
7735: p_ue_id => NULL,
7736: p_visit_id => NULL,
7737: p_item_instance_id => NULL);
7738: IF l_return_status = FND_API.G_TRUE THEN
7739: IF l_mwo_flag <> 'Y' THEN
7740: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_WO_RLS_UNTLCKD');
7741: ELSE
7742: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_RLS_UNTLCKD');
7742: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_RLS_UNTLCKD');
7743: END IF;
7744: FND_MESSAGE.Set_Token('WO_NAME', l_child_wo_name);
7745: FND_MSG_PUB.ADD;
7746: RAISE FND_API.G_EXC_ERROR;
7747: END IF;
7748: -- rroy
7749: -- ACL Changes
7750:
7775: IF ( get_wo%NOTFOUND ) THEN
7776: FND_MESSAGE.set_name('AHL','AHL_PRD_WO_NOT_FOUND');
7777: FND_MSG_PUB.add;
7778: CLOSE get_wo;
7779: RAISE FND_API.G_EXC_ERROR;
7780: END IF;
7781:
7782: CLOSE get_wo;
7783:
7796: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_wo_id,
7797: p_ue_id => NULL,
7798: p_visit_id => NULL,
7799: p_item_instance_id => NULL);
7800: IF l_return_status = FND_API.G_TRUE THEN
7801: IF l_mwo_flag <> 'Y' THEN
7802: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_WO_RLS_UNTLCKD');
7803: ELSE
7804: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MWO_RLS_UNTLCKD');
7804: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MWO_RLS_UNTLCKD');
7805: END IF;
7806: FND_MESSAGE.Set_Token('WO_NAME', l_parent_wo_name);
7807: FND_MSG_PUB.ADD;
7808: RAISE FND_API.G_EXC_ERROR;
7809: END IF;
7810: -- rroy
7811: -- ACL Changes
7812:
7830: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_workorder_id,
7831: p_ue_id => NULL,
7832: p_visit_id => NULL,
7833: p_item_instance_id => NULL);
7834: IF l_return_status = FND_API.G_TRUE THEN
7835: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_WO_RLS_UNTLCKD');
7836: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
7837: FND_MSG_PUB.ADD;
7838: RAISE FND_API.G_EXC_ERROR;
7834: IF l_return_status = FND_API.G_TRUE THEN
7835: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_WO_RLS_UNTLCKD');
7836: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
7837: FND_MSG_PUB.ADD;
7838: RAISE FND_API.G_EXC_ERROR;
7839: END IF;
7840: -- rroy
7841: -- ACL Changes
7842:
7855: IF ( l_wo_count > 0 ) THEN
7856: process_jobs
7857: (
7858: p_api_version => 1.0,
7859: p_init_msg_list => FND_API.G_TRUE,
7860: p_commit => FND_API.G_FALSE,
7861: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7862: p_default => FND_API.G_FALSE,
7863: p_module_type => NULL,
7856: process_jobs
7857: (
7858: p_api_version => 1.0,
7859: p_init_msg_list => FND_API.G_TRUE,
7860: p_commit => FND_API.G_FALSE,
7861: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7862: p_default => FND_API.G_FALSE,
7863: p_module_type => NULL,
7864: x_return_status => l_return_status,
7857: (
7858: p_api_version => 1.0,
7859: p_init_msg_list => FND_API.G_TRUE,
7860: p_commit => FND_API.G_FALSE,
7861: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7862: p_default => FND_API.G_FALSE,
7863: p_module_type => NULL,
7864: x_return_status => l_return_status,
7865: x_msg_count => l_msg_count,
7858: p_api_version => 1.0,
7859: p_init_msg_list => FND_API.G_TRUE,
7860: p_commit => FND_API.G_FALSE,
7861: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7862: p_default => FND_API.G_FALSE,
7863: p_module_type => NULL,
7864: x_return_status => l_return_status,
7865: x_msg_count => l_msg_count,
7866: x_msg_data => l_msg_data,
7867: p_x_prd_workorder_tbl => l_workorder_tbl,
7868: p_prd_workorder_rel_tbl => l_workorder_rel_tbl
7869: );
7870:
7871: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7872: RAISE FND_API.G_EXC_ERROR;
7873: END IF;
7874: ELSE
7875: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_VISIT_RELEASED');
7868: p_prd_workorder_rel_tbl => l_workorder_rel_tbl
7869: );
7870:
7871: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
7872: RAISE FND_API.G_EXC_ERROR;
7873: END IF;
7874: ELSE
7875: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_VISIT_RELEASED');
7876: FND_MSG_PUB.ADD;
7873: END IF;
7874: ELSE
7875: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_VISIT_RELEASED');
7876: FND_MSG_PUB.ADD;
7877: RAISE FND_API.G_EXC_ERROR;
7878: END IF;
7879: IF FND_API.to_boolean(p_commit) THEN
7880: COMMIT;
7881: END IF;
7875: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_VISIT_RELEASED');
7876: FND_MSG_PUB.ADD;
7877: RAISE FND_API.G_EXC_ERROR;
7878: END IF;
7879: IF FND_API.to_boolean(p_commit) THEN
7880: COMMIT;
7881: END IF;
7882:
7883: IF G_DEBUG='Y' THEN
7884: AHL_DEBUG_PUB.disable_debug;
7885: END IF;
7886:
7887: EXCEPTION
7888: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7889: ROLLBACK TO release_visit_jobs_PVT;
7890: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7891: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7892: p_count => x_msg_count,
7886:
7887: EXCEPTION
7888: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7889: ROLLBACK TO release_visit_jobs_PVT;
7890: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7891: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7892: p_count => x_msg_count,
7893: p_data => x_msg_data);
7894: WHEN FND_API.G_EXC_ERROR THEN
7887: EXCEPTION
7888: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7889: ROLLBACK TO release_visit_jobs_PVT;
7890: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7891: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7892: p_count => x_msg_count,
7893: p_data => x_msg_data);
7894: WHEN FND_API.G_EXC_ERROR THEN
7895: ROLLBACK TO release_visit_jobs_PVT;
7890: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7891: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7892: p_count => x_msg_count,
7893: p_data => x_msg_data);
7894: WHEN FND_API.G_EXC_ERROR THEN
7895: ROLLBACK TO release_visit_jobs_PVT;
7896: x_return_status := FND_API.G_RET_STS_ERROR;
7897: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7898: p_count => x_msg_count,
7892: p_count => x_msg_count,
7893: p_data => x_msg_data);
7894: WHEN FND_API.G_EXC_ERROR THEN
7895: ROLLBACK TO release_visit_jobs_PVT;
7896: x_return_status := FND_API.G_RET_STS_ERROR;
7897: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7898: p_count => x_msg_count,
7899: p_data => x_msg_data);
7900:
7893: p_data => x_msg_data);
7894: WHEN FND_API.G_EXC_ERROR THEN
7895: ROLLBACK TO release_visit_jobs_PVT;
7896: x_return_status := FND_API.G_RET_STS_ERROR;
7897: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7898: p_count => x_msg_count,
7899: p_data => x_msg_data);
7900:
7901: WHEN OTHERS THEN
7899: p_data => x_msg_data);
7900:
7901: WHEN OTHERS THEN
7902: ROLLBACK TO release_visit_jobs_PVT;
7903: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7904: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7905: FND_MSG_PUB.add_exc_msg(p_pkg_name =>g_pkg_name,
7906: p_procedure_name =>l_api_name,
7907: p_error_text => SUBSTRB(SQLERRM,1,240));
7906: p_procedure_name =>l_api_name,
7907: p_error_text => SUBSTRB(SQLERRM,1,240));
7908:
7909: END IF;
7910: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
7911: p_count => x_msg_count,
7912: p_data => x_msg_data);
7913: END release_visit_jobs;
7914:
7914:
7915: PROCEDURE validate_dependencies
7916: (
7917: p_api_version IN NUMBER := 1.0,
7918: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
7919: p_commit IN VARCHAR2 := FND_API.G_FALSE,
7920: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7921: p_default IN VARCHAR2 := FND_API.G_FALSE,
7922: p_module_type IN VARCHAR2 := NULL,
7915: PROCEDURE validate_dependencies
7916: (
7917: p_api_version IN NUMBER := 1.0,
7918: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
7919: p_commit IN VARCHAR2 := FND_API.G_FALSE,
7920: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7921: p_default IN VARCHAR2 := FND_API.G_FALSE,
7922: p_module_type IN VARCHAR2 := NULL,
7923: x_return_status OUT NOCOPY VARCHAR2,
7916: (
7917: p_api_version IN NUMBER := 1.0,
7918: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
7919: p_commit IN VARCHAR2 := FND_API.G_FALSE,
7920: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7921: p_default IN VARCHAR2 := FND_API.G_FALSE,
7922: p_module_type IN VARCHAR2 := NULL,
7923: x_return_status OUT NOCOPY VARCHAR2,
7924: x_msg_count OUT NOCOPY NUMBER,
7917: p_api_version IN NUMBER := 1.0,
7918: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
7919: p_commit IN VARCHAR2 := FND_API.G_FALSE,
7920: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7921: p_default IN VARCHAR2 := FND_API.G_FALSE,
7922: p_module_type IN VARCHAR2 := NULL,
7923: x_return_status OUT NOCOPY VARCHAR2,
7924: x_msg_count OUT NOCOPY NUMBER,
7925: x_msg_data OUT NOCOPY VARCHAR2,
8036:
8037: BEGIN
8038: SAVEPOINT validate_dependencies_PVT;
8039:
8040: IF NOT FND_API.compatible_api_call(l_api_version,
8041: p_api_version,
8042: l_api_name,G_PKG_NAME) THEN
8043: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8044: END IF;
8039:
8040: IF NOT FND_API.compatible_api_call(l_api_version,
8041: p_api_version,
8042: l_api_name,G_PKG_NAME) THEN
8043: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8044: END IF;
8045:
8046: IF FND_API.to_boolean(p_init_msg_list) THEN
8047: FND_MSG_PUB.initialize;
8042: l_api_name,G_PKG_NAME) THEN
8043: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8044: END IF;
8045:
8046: IF FND_API.to_boolean(p_init_msg_list) THEN
8047: FND_MSG_PUB.initialize;
8048: END IF;
8049:
8050: x_return_status:=FND_API.G_RET_STS_SUCCESS;
8046: IF FND_API.to_boolean(p_init_msg_list) THEN
8047: FND_MSG_PUB.initialize;
8048: END IF;
8049:
8050: x_return_status:=FND_API.G_RET_STS_SUCCESS;
8051:
8052: IF G_DEBUG='Y' THEN
8053: AHL_DEBUG_PUB.enable_debug;
8054: END IF;
8054: END IF;
8055:
8056: -- Validate Inputs
8057: IF ( ( p_workorder_id IS NULL OR
8058: p_workorder_id = FND_API.G_MISS_NUM ) AND
8059: ( p_unit_effectivity_id IS NULL OR
8060: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
8061: ( p_visit_id IS NULL OR
8062: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
8056: -- Validate Inputs
8057: IF ( ( p_workorder_id IS NULL OR
8058: p_workorder_id = FND_API.G_MISS_NUM ) AND
8059: ( p_unit_effectivity_id IS NULL OR
8060: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
8061: ( p_visit_id IS NULL OR
8062: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
8063: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
8064: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
8058: p_workorder_id = FND_API.G_MISS_NUM ) AND
8059: ( p_unit_effectivity_id IS NULL OR
8060: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
8061: ( p_visit_id IS NULL OR
8062: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
8063: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
8064: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
8065: FND_MSG_PUB.add;
8066: RAISE FND_API.G_EXC_ERROR;
8062: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
8063: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
8064: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
8065: FND_MSG_PUB.add;
8066: RAISE FND_API.G_EXC_ERROR;
8067: END IF;
8068:
8069: -- Determine the type of API call
8070: IF ( p_workorder_id IS NOT NULL AND
8067: END IF;
8068:
8069: -- Determine the type of API call
8070: IF ( p_workorder_id IS NOT NULL AND
8071: p_workorder_id <> FND_API.G_MISS_NUM ) THEN
8072: l_input_type := 'WO';
8073: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
8074: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
8075: l_input_type := 'UE';
8070: IF ( p_workorder_id IS NOT NULL AND
8071: p_workorder_id <> FND_API.G_MISS_NUM ) THEN
8072: l_input_type := 'WO';
8073: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
8074: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
8075: l_input_type := 'UE';
8076: ELSIF ( p_visit_id IS NOT NULL AND
8077: p_visit_id <> FND_API.G_MISS_NUM ) THEN
8078: l_input_type := 'VST';
8073: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
8074: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
8075: l_input_type := 'UE';
8076: ELSIF ( p_visit_id IS NOT NULL AND
8077: p_visit_id <> FND_API.G_MISS_NUM ) THEN
8078: l_input_type := 'VST';
8079: END IF;
8080:
8081: -- Validate Visit Dependencies
8214: END IF;
8215:
8216: x_msg_count := FND_MSG_PUB.count_msg;
8217: IF ( x_msg_count > 0 ) THEN
8218: RAISE FND_API.G_EXC_ERROR;
8219: END IF;
8220:
8221: EXCEPTION
8222: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8218: RAISE FND_API.G_EXC_ERROR;
8219: END IF;
8220:
8221: EXCEPTION
8222: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8223: ROLLBACK TO validate_dependencies_PVT;
8224: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8225: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
8226: p_count => x_msg_count,
8220:
8221: EXCEPTION
8222: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8223: ROLLBACK TO validate_dependencies_PVT;
8224: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8225: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
8226: p_count => x_msg_count,
8227: p_data => x_msg_data);
8228: WHEN FND_API.G_EXC_ERROR THEN
8221: EXCEPTION
8222: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8223: ROLLBACK TO validate_dependencies_PVT;
8224: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8225: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
8226: p_count => x_msg_count,
8227: p_data => x_msg_data);
8228: WHEN FND_API.G_EXC_ERROR THEN
8229: ROLLBACK TO validate_dependencies_PVT;
8224: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8225: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
8226: p_count => x_msg_count,
8227: p_data => x_msg_data);
8228: WHEN FND_API.G_EXC_ERROR THEN
8229: ROLLBACK TO validate_dependencies_PVT;
8230: x_return_status := FND_API.G_RET_STS_ERROR;
8231: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
8232: p_count => x_msg_count,
8226: p_count => x_msg_count,
8227: p_data => x_msg_data);
8228: WHEN FND_API.G_EXC_ERROR THEN
8229: ROLLBACK TO validate_dependencies_PVT;
8230: x_return_status := FND_API.G_RET_STS_ERROR;
8231: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
8232: p_count => x_msg_count,
8233: p_data => x_msg_data);
8234:
8227: p_data => x_msg_data);
8228: WHEN FND_API.G_EXC_ERROR THEN
8229: ROLLBACK TO validate_dependencies_PVT;
8230: x_return_status := FND_API.G_RET_STS_ERROR;
8231: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
8232: p_count => x_msg_count,
8233: p_data => x_msg_data);
8234:
8235: WHEN OTHERS THEN
8233: p_data => x_msg_data);
8234:
8235: WHEN OTHERS THEN
8236: ROLLBACK TO validate_dependencies_PVT;
8237: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8238: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8239: FND_MSG_PUB.add_exc_msg(p_pkg_name =>g_pkg_name,
8240: p_procedure_name =>l_api_name,
8241: p_error_text => SUBSTRB(SQLERRM,1,240));
8240: p_procedure_name =>l_api_name,
8241: p_error_text => SUBSTRB(SQLERRM,1,240));
8242:
8243: END IF;
8244: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
8245: p_count => x_msg_count,
8246: p_data => x_msg_data);
8247: END validate_dependencies;
8248:
8290:
8291: PROCEDURE cancel_visit_jobs
8292: (
8293: p_api_version IN NUMBER := 1.0,
8294: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
8295: p_commit IN VARCHAR2 := FND_API.G_FALSE,
8296: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
8297: p_default IN VARCHAR2 := FND_API.G_FALSE,
8298: p_module_type IN VARCHAR2 := NULL,
8291: PROCEDURE cancel_visit_jobs
8292: (
8293: p_api_version IN NUMBER := 1.0,
8294: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
8295: p_commit IN VARCHAR2 := FND_API.G_FALSE,
8296: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
8297: p_default IN VARCHAR2 := FND_API.G_FALSE,
8298: p_module_type IN VARCHAR2 := NULL,
8299: x_return_status OUT NOCOPY VARCHAR2,
8292: (
8293: p_api_version IN NUMBER := 1.0,
8294: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
8295: p_commit IN VARCHAR2 := FND_API.G_FALSE,
8296: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
8297: p_default IN VARCHAR2 := FND_API.G_FALSE,
8298: p_module_type IN VARCHAR2 := NULL,
8299: x_return_status OUT NOCOPY VARCHAR2,
8300: x_msg_count OUT NOCOPY NUMBER,
8293: p_api_version IN NUMBER := 1.0,
8294: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
8295: p_commit IN VARCHAR2 := FND_API.G_FALSE,
8296: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
8297: p_default IN VARCHAR2 := FND_API.G_FALSE,
8298: p_module_type IN VARCHAR2 := NULL,
8299: x_return_status OUT NOCOPY VARCHAR2,
8300: x_msg_count OUT NOCOPY NUMBER,
8301: x_msg_data OUT NOCOPY VARCHAR2,
8642:
8643: BEGIN
8644: SAVEPOINT cancel_visit_jobs_PVT;
8645:
8646: IF NOT FND_API.compatible_api_call(l_api_version,
8647: p_api_version,
8648: l_api_name,G_PKG_NAME) THEN
8649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8650: END IF;
8645:
8646: IF NOT FND_API.compatible_api_call(l_api_version,
8647: p_api_version,
8648: l_api_name,G_PKG_NAME) THEN
8649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8650: END IF;
8651:
8652: IF FND_API.to_boolean(p_init_msg_list) THEN
8653: FND_MSG_PUB.initialize;
8648: l_api_name,G_PKG_NAME) THEN
8649: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8650: END IF;
8651:
8652: IF FND_API.to_boolean(p_init_msg_list) THEN
8653: FND_MSG_PUB.initialize;
8654: END IF;
8655:
8656: x_return_status:=FND_API.G_RET_STS_SUCCESS;
8652: IF FND_API.to_boolean(p_init_msg_list) THEN
8653: FND_MSG_PUB.initialize;
8654: END IF;
8655:
8656: x_return_status:=FND_API.G_RET_STS_SUCCESS;
8657:
8658: IF G_DEBUG='Y' THEN
8659: AHL_DEBUG_PUB.enable_debug;
8660: END IF;
8659: AHL_DEBUG_PUB.enable_debug;
8660: END IF;
8661:
8662: --sikumar: added for FP for ER 5571241 -- Check if user has permission to cancel jobs.
8663: IF AHL_PRD_UTIL_PKG.Is_Wo_Cancel_Allowed = FND_API.G_FALSE THEN
8664: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_NOT_ALLOWED');
8665: FND_MSG_PUB.add;
8666: RAISE FND_API.G_EXC_ERROR;
8667: END IF;
8662: --sikumar: added for FP for ER 5571241 -- Check if user has permission to cancel jobs.
8663: IF AHL_PRD_UTIL_PKG.Is_Wo_Cancel_Allowed = FND_API.G_FALSE THEN
8664: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_NOT_ALLOWED');
8665: FND_MSG_PUB.add;
8666: RAISE FND_API.G_EXC_ERROR;
8667: END IF;
8668:
8669: -- Validate Inputs
8670: IF ( ( p_workorder_id IS NULL OR
8667: END IF;
8668:
8669: -- Validate Inputs
8670: IF ( ( p_workorder_id IS NULL OR
8671: p_workorder_id = FND_API.G_MISS_NUM ) AND
8672: ( p_unit_effectivity_id IS NULL OR
8673: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
8674: ( p_visit_id IS NULL OR
8675: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
8669: -- Validate Inputs
8670: IF ( ( p_workorder_id IS NULL OR
8671: p_workorder_id = FND_API.G_MISS_NUM ) AND
8672: ( p_unit_effectivity_id IS NULL OR
8673: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
8674: ( p_visit_id IS NULL OR
8675: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
8676: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
8677: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
8671: p_workorder_id = FND_API.G_MISS_NUM ) AND
8672: ( p_unit_effectivity_id IS NULL OR
8673: p_unit_effectivity_id = FND_API.G_MISS_NUM ) AND
8674: ( p_visit_id IS NULL OR
8675: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
8676: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
8677: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
8678: FND_MSG_PUB.add;
8679: RAISE FND_API.G_EXC_ERROR;
8675: p_visit_id = FND_API.G_MISS_NUM ) ) THEN
8676: FND_MESSAGE.set_name('AHL','AHL_PRD_WRONG_ARGUMENTS');
8677: FND_MESSAGE.set_token('PROC_NAME', l_api_name);
8678: FND_MSG_PUB.add;
8679: RAISE FND_API.G_EXC_ERROR;
8680: END IF;
8681:
8682: -- Validate if Completion Dependencies exist
8683: validate_dependencies
8682: -- Validate if Completion Dependencies exist
8683: validate_dependencies
8684: (
8685: p_api_version => 1.0,
8686: p_init_msg_list => FND_API.G_TRUE,
8687: p_commit => FND_API.G_FALSE,
8688: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
8689: p_default => FND_API.G_FALSE,
8690: p_module_type => NULL,
8683: validate_dependencies
8684: (
8685: p_api_version => 1.0,
8686: p_init_msg_list => FND_API.G_TRUE,
8687: p_commit => FND_API.G_FALSE,
8688: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
8689: p_default => FND_API.G_FALSE,
8690: p_module_type => NULL,
8691: x_return_status => l_return_status,
8684: (
8685: p_api_version => 1.0,
8686: p_init_msg_list => FND_API.G_TRUE,
8687: p_commit => FND_API.G_FALSE,
8688: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
8689: p_default => FND_API.G_FALSE,
8690: p_module_type => NULL,
8691: x_return_status => l_return_status,
8692: x_msg_count => l_msg_count,
8685: p_api_version => 1.0,
8686: p_init_msg_list => FND_API.G_TRUE,
8687: p_commit => FND_API.G_FALSE,
8688: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
8689: p_default => FND_API.G_FALSE,
8690: p_module_type => NULL,
8691: x_return_status => l_return_status,
8692: x_msg_count => l_msg_count,
8693: x_msg_data => l_msg_data,
8695: p_unit_effectivity_id => p_unit_effectivity_id,
8696: p_workorder_id => p_workorder_id
8697: );
8698:
8699: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
8700: RAISE FND_API.G_EXC_ERROR;
8701: END IF;
8702:
8703: -- Determine the type of API call
8696: p_workorder_id => p_workorder_id
8697: );
8698:
8699: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
8700: RAISE FND_API.G_EXC_ERROR;
8701: END IF;
8702:
8703: -- Determine the type of API call
8704: IF ( p_workorder_id IS NOT NULL AND
8701: END IF;
8702:
8703: -- Determine the type of API call
8704: IF ( p_workorder_id IS NOT NULL AND
8705: p_workorder_id <> FND_API.G_MISS_NUM ) THEN
8706: l_input_type := 'WO';
8707: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
8708: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
8709: l_input_type := 'UE';
8704: IF ( p_workorder_id IS NOT NULL AND
8705: p_workorder_id <> FND_API.G_MISS_NUM ) THEN
8706: l_input_type := 'WO';
8707: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
8708: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
8709: l_input_type := 'UE';
8710: ELSIF ( p_visit_id IS NOT NULL AND
8711: p_visit_id <> FND_API.G_MISS_NUM ) THEN
8712: l_input_type := 'VST';
8707: ELSIF ( p_unit_effectivity_id IS NOT NULL AND
8708: p_unit_effectivity_id <> FND_API.G_MISS_NUM ) THEN
8709: l_input_type := 'UE';
8710: ELSIF ( p_visit_id IS NOT NULL AND
8711: p_visit_id <> FND_API.G_MISS_NUM ) THEN
8712: l_input_type := 'VST';
8713: END IF;
8714:
8715: -- Process Inputs for Cancelling Workorders
8729: IF ( get_visit_mwo%NOTFOUND ) THEN
8730: FND_MESSAGE.set_name('AHL','AHL_PRD_VISIT_MWO_NOT_FOUND');
8731: FND_MSG_PUB.add;
8732: CLOSE get_visit_mwo;
8733: RAISE FND_API.G_EXC_ERROR;
8734: END IF;
8735:
8736: CLOSE get_visit_mwo;
8737:
8740: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_workorder_id,
8741: p_ue_id => NULL,
8742: p_visit_id => NULL,
8743: p_item_instance_id => NULL);
8744: IF l_return_status = FND_API.G_TRUE THEN
8745: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_MWO_CNCL_UNTLCKD');
8746: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
8747: FND_MSG_PUB.ADD;
8748: RAISE FND_API.G_EXC_ERROR;
8744: IF l_return_status = FND_API.G_TRUE THEN
8745: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_MWO_CNCL_UNTLCKD');
8746: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
8747: FND_MSG_PUB.ADD;
8748: RAISE FND_API.G_EXC_ERROR;
8749: END IF;
8750: -- rroy
8751: -- ACL Changes
8752:
8765: --
8766: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_VISIT_STATUS');
8767: FND_MESSAGE.set_token('STATUS', l_status_meaning );
8768: FND_MSG_PUB.add;
8769: RAISE FND_API.G_EXC_ERROR;
8770: END IF;
8771:
8772: -- apattark start for Bug #9075539 to validate for visit cancellation
8773: cancel_visit_validate
8860: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_wo_id,
8861: p_ue_id => NULL,
8862: p_visit_id => NULL,
8863: p_item_instance_id => NULL);
8864: IF l_return_status = FND_API.G_TRUE THEN
8865: IF l_mwo_flag <> 'Y' THEN
8866: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_WO_CNCL_UNTLCKD');
8867: ELSE
8868: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_MWO_CNCL_UNTLCKD');
8868: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_VST_MWO_CNCL_UNTLCKD');
8869: END IF;
8870: FND_MESSAGE.Set_Token('WO_NAME', l_child_wo_name);
8871: FND_MSG_PUB.ADD;
8872: RAISE FND_API.G_EXC_ERROR;
8873: END IF;
8874: -- rroy
8875: -- ACL Changes
8876:
8884: /* bug 5104519 - start */
8885: IF l_mwo_flag = 'N' THEN
8886:
8887: --sikumar: added for FP for ER 5571241 -- Check if user has permission to cancel jobs.
8888: IF AHL_PRD_UTIL_PKG.Is_Wo_Cancel_Allowed(l_wo_id) = FND_API.G_FALSE THEN
8889: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_NOT_ALLOWED');
8890: FND_MSG_PUB.add;
8891: RAISE FND_API.G_EXC_ERROR;
8892: END IF;
8887: --sikumar: added for FP for ER 5571241 -- Check if user has permission to cancel jobs.
8888: IF AHL_PRD_UTIL_PKG.Is_Wo_Cancel_Allowed(l_wo_id) = FND_API.G_FALSE THEN
8889: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_NOT_ALLOWED');
8890: FND_MSG_PUB.add;
8891: RAISE FND_API.G_EXC_ERROR;
8892: END IF;
8893:
8894: l_wo_count := l_wo_count + 1;
8895: l_workorder_tbl(l_wo_count).dml_operation := 'U';
8896: l_workorder_tbl(l_wo_count).batch_id := l_wip_entity_id;
8897: l_workorder_tbl(l_wo_count).header_id := l_wip_id;
8898: l_workorder_tbl(l_wo_count).workorder_id := l_wo_id;
8899: l_workorder_tbl(l_wo_count).object_version_number := l_ovn;
8900: l_workorder_tbl(l_wo_count).hold_reason_code := FND_API.G_MISS_CHAR;
8901:
8902: -- If the Status is Draft, then, Delete else, Cancel
8903: IF ( l_sts_code = G_JOB_STATUS_DRAFT ) THEN
8904: l_workorder_tbl(l_wo_count).status_code := G_JOB_STATUS_DELETED;
8962: IF ( get_ue_mwo%NOTFOUND ) THEN
8963: FND_MESSAGE.set_name('AHL','AHL_PRD_MR_MWO_NOT_FOUND');
8964: FND_MSG_PUB.add;
8965: CLOSE get_ue_mwo;
8966: RAISE FND_API.G_EXC_ERROR;
8967: END IF;
8968:
8969: CLOSE get_ue_mwo;
8970: -- rroy
8972: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_workorder_id,
8973: p_ue_id => NULL,
8974: p_visit_id => NULL,
8975: p_item_instance_id => NULL);
8976: IF l_return_status = FND_API.G_TRUE THEN
8977: IF l_master_wo_flag <> 'Y' THEN
8978: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_WO_CNCL_UNTLCKD');
8979: ELSE
8980: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_CNCL_UNTLCKD');
8980: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_CNCL_UNTLCKD');
8981: END IF;
8982: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
8983: FND_MSG_PUB.ADD;
8984: RAISE FND_API.G_EXC_ERROR;
8985: END IF;
8986: -- rroy
8987: -- ACL Changes
8988:
9000:
9001: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_MR_STATUS');
9002: FND_MESSAGE.set_token('STATUS', l_status_meaning );
9003: FND_MSG_PUB.add;
9004: RAISE FND_API.G_EXC_ERROR;
9005: END IF;
9006:
9007: -- Process all the Child Workorders of the UE
9008: FOR child_csr IN get_child_wos( l_wip_entity_id ) LOOP
9022: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_wo_id,
9023: p_ue_id => NULL,
9024: p_visit_id => NULL,
9025: p_item_instance_id => NULL);
9026: IF l_return_status = FND_API.G_TRUE THEN
9027: IF l_mwo_flag <> 'Y' THEN
9028: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_WO_CNCL_UNTLCKD');
9029: ELSE
9030: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_CNCL_UNTLCKD');
9030: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_CNCL_UNTLCKD');
9031: END IF;
9032: FND_MESSAGE.Set_Token('WO_NAME', l_child_wo_name);
9033: FND_MSG_PUB.ADD;
9034: RAISE FND_API.G_EXC_ERROR;
9035: END IF;
9036: -- rroy
9037: -- ACL Changes
9038:
9046: /* bug 5104519 - start */
9047: IF l_mwo_flag = 'N' THEN
9048:
9049: --sikumar: added for FP for ER 5571241 -- Check if user has permission to cancel jobs.
9050: IF AHL_PRD_UTIL_PKG.Is_Wo_Cancel_Allowed(l_wo_id) = FND_API.G_FALSE THEN
9051: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_NOT_ALLOWED');
9052: FND_MSG_PUB.add;
9053: RAISE FND_API.G_EXC_ERROR;
9054: END IF;
9049: --sikumar: added for FP for ER 5571241 -- Check if user has permission to cancel jobs.
9050: IF AHL_PRD_UTIL_PKG.Is_Wo_Cancel_Allowed(l_wo_id) = FND_API.G_FALSE THEN
9051: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_NOT_ALLOWED');
9052: FND_MSG_PUB.add;
9053: RAISE FND_API.G_EXC_ERROR;
9054: END IF;
9055: l_wo_count := l_wo_count + 1;
9056: l_workorder_tbl(l_wo_count).dml_operation := 'U';
9057: l_workorder_tbl(l_wo_count).batch_id := l_wip_entity_id;
9058: l_workorder_tbl(l_wo_count).header_id := child_csr.child_object_id;
9059: l_workorder_tbl(l_wo_count).workorder_id := l_wo_id;
9060: l_workorder_tbl(l_wo_count).wip_entity_id := l_wip_id;
9061: l_workorder_tbl(l_wo_count).object_version_number := l_ovn;
9062: l_workorder_tbl(l_wo_count).hold_reason_code := FND_API.G_MISS_CHAR;
9063:
9064: -- If the Status is Draft, then, Delete else, Cancel
9065: IF ( l_sts_code = G_JOB_STATUS_DRAFT ) THEN
9066: l_workorder_tbl(l_wo_count).status_code := G_JOB_STATUS_DELETED;
9105: -- Release the UE WO which will in-turn release the parent WOs
9106: release_visit_jobs
9107: (
9108: p_api_version => 1.0,
9109: p_init_msg_list => FND_API.G_TRUE,
9110: p_commit => FND_API.G_FALSE,
9111: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9112: p_default => FND_API.G_FALSE,
9113: p_module_type => NULL,
9106: release_visit_jobs
9107: (
9108: p_api_version => 1.0,
9109: p_init_msg_list => FND_API.G_TRUE,
9110: p_commit => FND_API.G_FALSE,
9111: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9112: p_default => FND_API.G_FALSE,
9113: p_module_type => NULL,
9114: x_return_status => l_return_status,
9107: (
9108: p_api_version => 1.0,
9109: p_init_msg_list => FND_API.G_TRUE,
9110: p_commit => FND_API.G_FALSE,
9111: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9112: p_default => FND_API.G_FALSE,
9113: p_module_type => NULL,
9114: x_return_status => l_return_status,
9115: x_msg_count => l_msg_count,
9108: p_api_version => 1.0,
9109: p_init_msg_list => FND_API.G_TRUE,
9110: p_commit => FND_API.G_FALSE,
9111: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9112: p_default => FND_API.G_FALSE,
9113: p_module_type => NULL,
9114: x_return_status => l_return_status,
9115: x_msg_count => l_msg_count,
9116: x_msg_data => l_msg_data,
9118: p_unit_effectivity_id => NULL,
9119: p_workorder_id => l_workorder_id
9120: );
9121:
9122: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
9123: RAISE FND_API.G_EXC_ERROR;
9124: END IF;
9125: -- Release job updates the OVN. Hence requery the record to get the new OVN.
9126: -- Balaji added the fix as a part of BAE OVN Fix.
9119: p_workorder_id => l_workorder_id
9120: );
9121:
9122: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
9123: RAISE FND_API.G_EXC_ERROR;
9124: END IF;
9125: -- Release job updates the OVN. Hence requery the record to get the new OVN.
9126: -- Balaji added the fix as a part of BAE OVN Fix.
9127: OPEN get_ue_mwo( p_unit_effectivity_id );
9169: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_wo_id,
9170: p_ue_id => NULL,
9171: p_visit_id => NULL,
9172: p_item_instance_id => NULL);
9173: IF l_return_status = FND_API.G_TRUE THEN
9174: IF l_mwo_flag <> 'Y' THEN
9175: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_WO_CNCL_UNTLCKD');
9176: ELSE
9177: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_CNCL_UNTLCKD');
9177: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MR_MWO_CNCL_UNTLCKD');
9178: END IF;
9179: FND_MESSAGE.Set_Token('WO_NAME', l_parent_wo_name);
9180: FND_MSG_PUB.ADD;
9181: RAISE FND_API.G_EXC_ERROR;
9182: END IF;
9183: -- rroy
9184: -- ACL Changes
9185:
9322: IF ( get_wo%NOTFOUND ) THEN
9323: FND_MESSAGE.set_name('AHL','AHL_PRD_WO_NOT_FOUND');
9324: FND_MSG_PUB.add;
9325: CLOSE get_wo;
9326: RAISE FND_API.G_EXC_ERROR;
9327: END IF;
9328: -- rroy
9329: -- ACL Changes
9330: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_workorder_id,
9330: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_workorder_id,
9331: p_ue_id => NULL,
9332: p_visit_id => NULL,
9333: p_item_instance_id => NULL);
9334: IF l_return_status = FND_API.G_TRUE THEN
9335: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_WO_CNCL_UNTLCKD');
9336: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
9337: FND_MSG_PUB.ADD;
9338: RAISE FND_API.G_EXC_ERROR;
9334: IF l_return_status = FND_API.G_TRUE THEN
9335: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_WO_CNCL_UNTLCKD');
9336: FND_MESSAGE.Set_Token('WO_NAME', l_wo_name);
9337: FND_MSG_PUB.ADD;
9338: RAISE FND_API.G_EXC_ERROR;
9339: END IF;
9340: -- rroy
9341: -- ACL Changes
9342:
9342:
9343: CLOSE get_wo;
9344:
9345: --sikumar: added for FP for ER 5571241 -- Check if user has permission to cancel jobs.
9346: IF AHL_PRD_UTIL_PKG.Is_Wo_Cancel_Allowed(p_workorder_id) = FND_API.G_FALSE THEN
9347: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_NOT_ALLOWED');
9348: FND_MSG_PUB.add;
9349: RAISE FND_API.G_EXC_ERROR;
9350: END IF;
9345: --sikumar: added for FP for ER 5571241 -- Check if user has permission to cancel jobs.
9346: IF AHL_PRD_UTIL_PKG.Is_Wo_Cancel_Allowed(p_workorder_id) = FND_API.G_FALSE THEN
9347: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_NOT_ALLOWED');
9348: FND_MSG_PUB.add;
9349: RAISE FND_API.G_EXC_ERROR;
9350: END IF;
9351:
9352: -- Check if the WO is in a status which can be cancelled
9353: IF ( l_status_code = G_JOB_STATUS_COMPLETE OR
9363:
9364: FND_MESSAGE.set_name('AHL','AHL_PRD_CANCEL_WO_STATUS');
9365: FND_MESSAGE.set_token('STATUS', l_status_meaning );
9366: FND_MSG_PUB.add;
9367: RAISE FND_API.G_EXC_ERROR;
9368: END IF;
9369:
9370: -- Add the WO in the WO Table
9371: l_wo_count := l_wo_count + 1;
9382: -- Release the WO which will in-turn release the parent WOs
9383: release_visit_jobs
9384: (
9385: p_api_version => 1.0,
9386: p_init_msg_list => FND_API.G_TRUE,
9387: p_commit => FND_API.G_FALSE,
9388: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9389: p_default => FND_API.G_FALSE,
9390: p_module_type => NULL,
9383: release_visit_jobs
9384: (
9385: p_api_version => 1.0,
9386: p_init_msg_list => FND_API.G_TRUE,
9387: p_commit => FND_API.G_FALSE,
9388: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9389: p_default => FND_API.G_FALSE,
9390: p_module_type => NULL,
9391: x_return_status => l_return_status,
9384: (
9385: p_api_version => 1.0,
9386: p_init_msg_list => FND_API.G_TRUE,
9387: p_commit => FND_API.G_FALSE,
9388: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9389: p_default => FND_API.G_FALSE,
9390: p_module_type => NULL,
9391: x_return_status => l_return_status,
9392: x_msg_count => l_msg_count,
9385: p_api_version => 1.0,
9386: p_init_msg_list => FND_API.G_TRUE,
9387: p_commit => FND_API.G_FALSE,
9388: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9389: p_default => FND_API.G_FALSE,
9390: p_module_type => NULL,
9391: x_return_status => l_return_status,
9392: x_msg_count => l_msg_count,
9393: x_msg_data => l_msg_data,
9395: p_unit_effectivity_id => NULL,
9396: p_workorder_id => l_workorder_id
9397: );
9398:
9399: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
9400: RAISE FND_API.G_EXC_ERROR;
9401: END IF;
9402: -- Release job updates the OVN. Hence requery the record to get the new OVN.
9403: -- Balaji added the fix as a part of BAE OVN Fix.
9396: p_workorder_id => l_workorder_id
9397: );
9398:
9399: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
9400: RAISE FND_API.G_EXC_ERROR;
9401: END IF;
9402: -- Release job updates the OVN. Hence requery the record to get the new OVN.
9403: -- Balaji added the fix as a part of BAE OVN Fix.
9404: OPEN get_wo( p_workorder_id );
9444: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => l_wo_id,
9445: p_ue_id => NULL,
9446: p_visit_id => NULL,
9447: p_item_instance_id => NULL);
9448: IF l_return_status = FND_API.G_TRUE THEN
9449: IF l_mwo_flag <> 'Y' THEN
9450: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_WO_CNCL_UNTLCKD');
9451: ELSE
9452: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MWO_CNCL_UNTLCKD');
9452: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_MWO_CNCL_UNTLCKD');
9453: END IF;
9454: FND_MESSAGE.Set_Token('WO_NAME', l_parent_wo_name);
9455: FND_MSG_PUB.ADD;
9456: RAISE FND_API.G_EXC_ERROR;
9457: END IF;
9458: -- rroy
9459: -- ACL Changes
9460:
9533: IF l_eam_wo_relations_tbl.COUNT > 0 THEN
9534: AHL_EAM_JOB_PVT.process_eam_workorders
9535: (
9536: p_api_version => 1.0,
9537: p_init_msg_list => FND_API.G_TRUE,
9538: p_commit => FND_API.G_FALSE,
9539: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9540: p_default => FND_API.G_FALSE,
9541: p_module_type => NULL,
9534: AHL_EAM_JOB_PVT.process_eam_workorders
9535: (
9536: p_api_version => 1.0,
9537: p_init_msg_list => FND_API.G_TRUE,
9538: p_commit => FND_API.G_FALSE,
9539: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9540: p_default => FND_API.G_FALSE,
9541: p_module_type => NULL,
9542: x_return_status => l_return_status,
9535: (
9536: p_api_version => 1.0,
9537: p_init_msg_list => FND_API.G_TRUE,
9538: p_commit => FND_API.G_FALSE,
9539: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9540: p_default => FND_API.G_FALSE,
9541: p_module_type => NULL,
9542: x_return_status => l_return_status,
9543: x_msg_count => l_msg_count,
9536: p_api_version => 1.0,
9537: p_init_msg_list => FND_API.G_TRUE,
9538: p_commit => FND_API.G_FALSE,
9539: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9540: p_default => FND_API.G_FALSE,
9541: p_module_type => NULL,
9542: x_return_status => l_return_status,
9543: x_msg_count => l_msg_count,
9544: x_msg_data => l_msg_data,
9548: p_eam_res_req_tbl => l_eam_res_req_tbl,
9549: p_eam_mat_req_tbl => l_eam_mat_req_tbl
9550: );
9551:
9552: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
9553: RAISE FND_API.G_EXC_ERROR;
9554: END IF;
9555: END IF;
9556:
9549: p_eam_mat_req_tbl => l_eam_mat_req_tbl
9550: );
9551:
9552: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
9553: RAISE FND_API.G_EXC_ERROR;
9554: END IF;
9555: END IF;
9556:
9557:
9559: IF ( l_wo_count > 0 ) THEN
9560: process_jobs
9561: (
9562: p_api_version => 1.0,
9563: p_init_msg_list => FND_API.G_TRUE,
9564: p_commit => FND_API.G_FALSE,
9565: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9566: p_default => FND_API.G_FALSE,
9567: p_module_type => NULL,
9560: process_jobs
9561: (
9562: p_api_version => 1.0,
9563: p_init_msg_list => FND_API.G_TRUE,
9564: p_commit => FND_API.G_FALSE,
9565: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9566: p_default => FND_API.G_FALSE,
9567: p_module_type => NULL,
9568: x_return_status => l_return_status,
9561: (
9562: p_api_version => 1.0,
9563: p_init_msg_list => FND_API.G_TRUE,
9564: p_commit => FND_API.G_FALSE,
9565: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9566: p_default => FND_API.G_FALSE,
9567: p_module_type => NULL,
9568: x_return_status => l_return_status,
9569: x_msg_count => l_msg_count,
9562: p_api_version => 1.0,
9563: p_init_msg_list => FND_API.G_TRUE,
9564: p_commit => FND_API.G_FALSE,
9565: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9566: p_default => FND_API.G_FALSE,
9567: p_module_type => NULL,
9568: x_return_status => l_return_status,
9569: x_msg_count => l_msg_count,
9570: x_msg_data => l_msg_data,
9571: p_x_prd_workorder_tbl => l_workorder_tbl,
9572: p_prd_workorder_rel_tbl => l_workorder_rel_cancel_tbl
9573: );
9574:
9575: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
9576: RAISE FND_API.G_EXC_ERROR;
9577: END IF;
9578: END IF;
9579:
9572: p_prd_workorder_rel_tbl => l_workorder_rel_cancel_tbl
9573: );
9574:
9575: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
9576: RAISE FND_API.G_EXC_ERROR;
9577: END IF;
9578: END IF;
9579:
9580: /* bug 5104519 - Start */
9620:
9621: process_jobs
9622: (
9623: p_api_version => 1.0,
9624: p_init_msg_list => FND_API.G_TRUE,
9625: p_commit => FND_API.G_FALSE,
9626: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9627: p_default => FND_API.G_FALSE,
9628: p_module_type => NULL,
9621: process_jobs
9622: (
9623: p_api_version => 1.0,
9624: p_init_msg_list => FND_API.G_TRUE,
9625: p_commit => FND_API.G_FALSE,
9626: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9627: p_default => FND_API.G_FALSE,
9628: p_module_type => NULL,
9629: x_return_status => l_return_status,
9622: (
9623: p_api_version => 1.0,
9624: p_init_msg_list => FND_API.G_TRUE,
9625: p_commit => FND_API.G_FALSE,
9626: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9627: p_default => FND_API.G_FALSE,
9628: p_module_type => NULL,
9629: x_return_status => l_return_status,
9630: x_msg_count => l_msg_count,
9623: p_api_version => 1.0,
9624: p_init_msg_list => FND_API.G_TRUE,
9625: p_commit => FND_API.G_FALSE,
9626: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9627: p_default => FND_API.G_FALSE,
9628: p_module_type => NULL,
9629: x_return_status => l_return_status,
9630: x_msg_count => l_msg_count,
9631: x_msg_data => l_msg_data,
9641: 'return status after calling complete_master_wo: ' || l_mwo_return_status
9642: );
9643: END IF;
9644:
9645: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9646: RAISE FND_API.G_EXC_ERROR;
9647: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9648: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9649: END IF;
9642: );
9643: END IF;
9644:
9645: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9646: RAISE FND_API.G_EXC_ERROR;
9647: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9648: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9649: END IF;
9650:
9643: END IF;
9644:
9645: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9646: RAISE FND_API.G_EXC_ERROR;
9647: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9648: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9649: END IF;
9650:
9651: ELSE
9644:
9645: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
9646: RAISE FND_API.G_EXC_ERROR;
9647: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9648: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9649: END IF;
9650:
9651: ELSE
9652: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
9672: 'return status after calling complete_master_wo: ' || l_mwo_return_status
9673: );
9674: END IF;
9675:
9676: IF l_mwo_return_status = FND_API.G_RET_STS_ERROR THEN
9677: RAISE FND_API.G_EXC_ERROR;
9678: ELSIF l_mwo_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9679: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9680: END IF;
9673: );
9674: END IF;
9675:
9676: IF l_mwo_return_status = FND_API.G_RET_STS_ERROR THEN
9677: RAISE FND_API.G_EXC_ERROR;
9678: ELSIF l_mwo_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9679: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9680: END IF;
9681:
9674: END IF;
9675:
9676: IF l_mwo_return_status = FND_API.G_RET_STS_ERROR THEN
9677: RAISE FND_API.G_EXC_ERROR;
9678: ELSIF l_mwo_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9679: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9680: END IF;
9681:
9682: END IF;
9675:
9676: IF l_mwo_return_status = FND_API.G_RET_STS_ERROR THEN
9677: RAISE FND_API.G_EXC_ERROR;
9678: ELSIF l_mwo_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9679: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9680: END IF;
9681:
9682: END IF;
9683: END LOOP;
9802:
9803: AHL_UMP_UNITMAINT_PVT.capture_mr_updates
9804: (
9805: p_api_version => 1.0,
9806: p_init_msg_list => FND_API.G_TRUE,
9807: p_commit => FND_API.G_FALSE,
9808: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9809: p_default => FND_API.G_TRUE,
9810: p_module_type => NULL,
9803: AHL_UMP_UNITMAINT_PVT.capture_mr_updates
9804: (
9805: p_api_version => 1.0,
9806: p_init_msg_list => FND_API.G_TRUE,
9807: p_commit => FND_API.G_FALSE,
9808: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9809: p_default => FND_API.G_TRUE,
9810: p_module_type => NULL,
9811: p_unit_effectivity_tbl => l_unit_effectivity_tbl,
9804: (
9805: p_api_version => 1.0,
9806: p_init_msg_list => FND_API.G_TRUE,
9807: p_commit => FND_API.G_FALSE,
9808: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9809: p_default => FND_API.G_TRUE,
9810: p_module_type => NULL,
9811: p_unit_effectivity_tbl => l_unit_effectivity_tbl,
9812: p_x_unit_threshold_tbl => l_unit_threshold_tbl,
9805: p_api_version => 1.0,
9806: p_init_msg_list => FND_API.G_TRUE,
9807: p_commit => FND_API.G_FALSE,
9808: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
9809: p_default => FND_API.G_TRUE,
9810: p_module_type => NULL,
9811: p_unit_effectivity_tbl => l_unit_effectivity_tbl,
9812: p_x_unit_threshold_tbl => l_unit_threshold_tbl,
9813: p_x_unit_accomplish_tbl => l_unit_accomplish_tbl,
9815: x_msg_count => l_msg_count,
9816: x_msg_data => l_msg_data
9817: );
9818:
9819: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
9820: -- Add Debug
9821: IF FND_API.to_boolean(p_init_msg_list) THEN
9822: FND_MSG_PUB.initialize;
9823: END IF;
9817: );
9818:
9819: IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
9820: -- Add Debug
9821: IF FND_API.to_boolean(p_init_msg_list) THEN
9822: FND_MSG_PUB.initialize;
9823: END IF;
9824: END IF;
9825: END IF;
9823: END IF;
9824: END IF;
9825: END IF;
9826: */
9827: IF FND_API.to_boolean(p_commit) THEN
9828: COMMIT;
9829: END IF;
9830:
9831: IF G_DEBUG='Y' THEN
9832: AHL_DEBUG_PUB.disable_debug;
9833: END IF;
9834:
9835: EXCEPTION
9836: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9837: ROLLBACK TO cancel_visit_jobs_PVT;
9838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9839: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9840: p_count => x_msg_count,
9834:
9835: EXCEPTION
9836: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9837: ROLLBACK TO cancel_visit_jobs_PVT;
9838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9839: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9840: p_count => x_msg_count,
9841: p_data => x_msg_data);
9842: WHEN FND_API.G_EXC_ERROR THEN
9835: EXCEPTION
9836: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9837: ROLLBACK TO cancel_visit_jobs_PVT;
9838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9839: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9840: p_count => x_msg_count,
9841: p_data => x_msg_data);
9842: WHEN FND_API.G_EXC_ERROR THEN
9843: ROLLBACK TO cancel_visit_jobs_PVT;
9838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9839: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9840: p_count => x_msg_count,
9841: p_data => x_msg_data);
9842: WHEN FND_API.G_EXC_ERROR THEN
9843: ROLLBACK TO cancel_visit_jobs_PVT;
9844: x_return_status := FND_API.G_RET_STS_ERROR;
9845: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9846: p_count => x_msg_count,
9840: p_count => x_msg_count,
9841: p_data => x_msg_data);
9842: WHEN FND_API.G_EXC_ERROR THEN
9843: ROLLBACK TO cancel_visit_jobs_PVT;
9844: x_return_status := FND_API.G_RET_STS_ERROR;
9845: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9846: p_count => x_msg_count,
9847: p_data => x_msg_data);
9848:
9841: p_data => x_msg_data);
9842: WHEN FND_API.G_EXC_ERROR THEN
9843: ROLLBACK TO cancel_visit_jobs_PVT;
9844: x_return_status := FND_API.G_RET_STS_ERROR;
9845: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9846: p_count => x_msg_count,
9847: p_data => x_msg_data);
9848:
9849: WHEN VISIT_VALIDATION_ERR THEN
9848:
9849: WHEN VISIT_VALIDATION_ERR THEN
9850: ROLLBACK TO cancel_visit_jobs_PVT;
9851: x_return_status := 'V';
9852: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9853: p_count => x_msg_count,
9854: p_data => x_msg_data);
9855:
9856: WHEN OTHERS THEN
9854: p_data => x_msg_data);
9855:
9856: WHEN OTHERS THEN
9857: ROLLBACK TO cancel_visit_jobs_PVT;
9858: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9859: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
9860: FND_MSG_PUB.add_exc_msg(p_pkg_name =>g_pkg_name,
9861: p_procedure_name =>l_api_name,
9862: p_error_text => SUBSTRB(SQLERRM,1,240));
9861: p_procedure_name =>l_api_name,
9862: p_error_text => SUBSTRB(SQLERRM,1,240));
9863:
9864: END IF;
9865: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
9866: p_count => x_msg_count,
9867: p_data => x_msg_data);
9868: END cancel_visit_jobs;
9869: --
9869: --
9870: PROCEDURE Reschedule_Visit_Jobs
9871: (
9872: p_api_version IN NUMBER := 1.0 ,
9873: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
9874: p_commit IN VARCHAR2 := FND_API.G_FALSE,
9875: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
9876: p_default IN VARCHAR2 := FND_API.G_FALSE,
9877: p_module_type IN VARCHAR2 := Null,
9870: PROCEDURE Reschedule_Visit_Jobs
9871: (
9872: p_api_version IN NUMBER := 1.0 ,
9873: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
9874: p_commit IN VARCHAR2 := FND_API.G_FALSE,
9875: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
9876: p_default IN VARCHAR2 := FND_API.G_FALSE,
9877: p_module_type IN VARCHAR2 := Null,
9878: x_return_status OUT NOCOPY VARCHAR2,
9871: (
9872: p_api_version IN NUMBER := 1.0 ,
9873: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
9874: p_commit IN VARCHAR2 := FND_API.G_FALSE,
9875: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
9876: p_default IN VARCHAR2 := FND_API.G_FALSE,
9877: p_module_type IN VARCHAR2 := Null,
9878: x_return_status OUT NOCOPY VARCHAR2,
9879: x_msg_count OUT NOCOPY NUMBER,
9872: p_api_version IN NUMBER := 1.0 ,
9873: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
9874: p_commit IN VARCHAR2 := FND_API.G_FALSE,
9875: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
9876: p_default IN VARCHAR2 := FND_API.G_FALSE,
9877: p_module_type IN VARCHAR2 := Null,
9878: x_return_status OUT NOCOPY VARCHAR2,
9879: x_msg_count OUT NOCOPY NUMBER,
9880: x_msg_data OUT NOCOPY VARCHAR2,
10073: END IF;
10074: -- Standard start of API savepoint
10075: SAVEPOINT Reschedule_Visit_Jobs;
10076: --
10077: IF NOT FND_API.compatible_api_call(l_api_version,
10078: p_api_version,
10079: l_api_name,G_PKG_NAME) THEN
10080: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10081: END IF;
10076: --
10077: IF NOT FND_API.compatible_api_call(l_api_version,
10078: p_api_version,
10079: l_api_name,G_PKG_NAME) THEN
10080: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10081: END IF;
10082: -- Initialize message list if p_init_msg_list is set to TRUE
10083: IF FND_API.to_boolean(p_init_msg_list) THEN
10084: FND_MSG_PUB.initialize;
10079: l_api_name,G_PKG_NAME) THEN
10080: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10081: END IF;
10082: -- Initialize message list if p_init_msg_list is set to TRUE
10083: IF FND_API.to_boolean(p_init_msg_list) THEN
10084: FND_MSG_PUB.initialize;
10085: END IF;
10086: -- Initialize API return status to success
10087: x_return_status:=FND_API.G_RET_STS_SUCCESS;
10083: IF FND_API.to_boolean(p_init_msg_list) THEN
10084: FND_MSG_PUB.initialize;
10085: END IF;
10086: -- Initialize API return status to success
10087: x_return_status:=FND_API.G_RET_STS_SUCCESS;
10088:
10089: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10090: fnd_log.string ( fnd_log.level_statement, 'ahl.plsql.'||g_pkg_name||'.'||l_api_name||':',
10091: 'Request for Rescheduling Workorders for Visit ID : ' || p_visit_id );
10101: IF (validate_visit%NOTFOUND) THEN
10102: FND_MESSAGE.Set_Name('AHL','AHL_PRD_VISIT_NOT_FOUND');
10103: FND_MSG_PUB.ADD;
10104: CLOSE validate_visit;
10105: RAISE FND_API.G_EXC_ERROR;
10106: END IF;
10107: CLOSE validate_visit;
10108:
10109: IF ( G_DEBUG = 'Y' ) THEN
10121: IF (check_workorder_exists%NOTFOUND) THEN
10122: FND_MESSAGE.Set_Name('AHL','AHL_PRD_VISIT_MWO_NOT_FOUND');
10123: FND_MSG_PUB.ADD;
10124: CLOSE check_workorder_exists;
10125: RAISE FND_API.G_EXC_ERROR;
10126: -- can not move visit if visit wo in 4 -> Complete -- 5 -> Complete No Charge -- 7 -> Cancelled -- 12 -> Closed
10127: ELSIF (check_workorder_exists_rec.status_code IN (4, 5, 7, 12) ) THEN
10128: FND_MESSAGE.Set_Name('AHL','AHL_PRD_JOB_STATUS_INVALID');
10129: FND_MSG_PUB.ADD;
10127: ELSIF (check_workorder_exists_rec.status_code IN (4, 5, 7, 12) ) THEN
10128: FND_MESSAGE.Set_Name('AHL','AHL_PRD_JOB_STATUS_INVALID');
10129: FND_MSG_PUB.ADD;
10130: CLOSE check_workorder_exists;
10131: RAISE FND_API.G_EXC_ERROR;
10132: END IF;
10133: CLOSE check_workorder_exists;
10134:
10135: -- Allow reschedule for Unreleased, Released and Draft Workorders
10144: THEN
10145: FND_MESSAGE.Set_Name('AHL','AHL_PRD_JOB_STATUS_INVALID');
10146: FND_MSG_PUB.ADD;
10147: close check_workorder_exists;
10148: RAISE FND_API.G_EXC_ERROR;
10149: END IF;
10150: */
10151:
10152: -- min and max scheduled dates possible for visit- check
10160: FND_MESSAGE.SET_TOKEN('MAX_START_DATE',to_char(get_minmax_comp_schdates_rec.max_start_date,'DD-MON-YYYY HH24:MI:SS'));
10161: FND_MESSAGE.SET_TOKEN('MIN_END_DATE',to_char(get_minmax_comp_schdates_rec.min_end_date,'DD-MON-YYYY HH24:MI:SS'));
10162: FND_MSG_PUB.ADD;
10163: CLOSE get_minmax_comp_schedule_dates;
10164: RAISE FND_API.G_EXC_ERROR;
10165: END IF;
10166: END IF;
10167: CLOSE get_minmax_comp_schedule_dates;
10168:
10207:
10208: process_jobs
10209: (
10210: p_api_version => 1.0,
10211: p_init_msg_list => FND_API.G_TRUE,
10212: p_commit => FND_API.G_FALSE,
10213: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10214: p_default => FND_API.G_TRUE,
10215: p_module_type => NULL,
10208: process_jobs
10209: (
10210: p_api_version => 1.0,
10211: p_init_msg_list => FND_API.G_TRUE,
10212: p_commit => FND_API.G_FALSE,
10213: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10214: p_default => FND_API.G_TRUE,
10215: p_module_type => NULL,
10216: x_return_status => l_return_status,
10209: (
10210: p_api_version => 1.0,
10211: p_init_msg_list => FND_API.G_TRUE,
10212: p_commit => FND_API.G_FALSE,
10213: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10214: p_default => FND_API.G_TRUE,
10215: p_module_type => NULL,
10216: x_return_status => l_return_status,
10217: x_msg_count => l_msg_count,
10210: p_api_version => 1.0,
10211: p_init_msg_list => FND_API.G_TRUE,
10212: p_commit => FND_API.G_FALSE,
10213: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10214: p_default => FND_API.G_TRUE,
10215: p_module_type => NULL,
10216: x_return_status => l_return_status,
10217: x_msg_count => l_msg_count,
10218: x_msg_data => l_msg_data,
10219: p_x_prd_workorder_tbl => l_prd_workorder_tbl,
10220: p_prd_workorder_rel_tbl => l_prd_workorder_rel_tbl
10221: );
10222:
10223: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10224: RAISE Fnd_Api.g_exc_error;
10225: END IF;
10226: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10227: fnd_log.string ( fnd_log.level_statement, 'ahl.plsql.AHL_PRD_WORKORDER_PVT.Reschedule_Visit_Jobs',
10220: p_prd_workorder_rel_tbl => l_prd_workorder_rel_tbl
10221: );
10222:
10223: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10224: RAISE Fnd_Api.g_exc_error;
10225: END IF;
10226: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10227: fnd_log.string ( fnd_log.level_statement, 'ahl.plsql.AHL_PRD_WORKORDER_PVT.Reschedule_Visit_Jobs',
10228: 'After calling Process Jobs API to reschedule master workorder' );
10226: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10227: fnd_log.string ( fnd_log.level_statement, 'ahl.plsql.AHL_PRD_WORKORDER_PVT.Reschedule_Visit_Jobs',
10228: 'After calling Process Jobs API to reschedule master workorder' );
10229: END IF;
10230: IF FND_API.to_boolean(p_commit) THEN
10231: COMMIT;
10232: END IF;
10233: RETURN;
10234: END IF ; -- IF (l_offset = 0) THEN
10318: IF(l_dummy > 1)THEN
10319: process_jobs
10320: (
10321: p_api_version => 1.0,
10322: p_init_msg_list => FND_API.G_TRUE,
10323: p_commit => FND_API.G_FALSE,
10324: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10325: p_default => FND_API.G_TRUE,
10326: p_module_type => NULL,
10319: process_jobs
10320: (
10321: p_api_version => 1.0,
10322: p_init_msg_list => FND_API.G_TRUE,
10323: p_commit => FND_API.G_FALSE,
10324: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10325: p_default => FND_API.G_TRUE,
10326: p_module_type => NULL,
10327: x_return_status => l_return_status,
10320: (
10321: p_api_version => 1.0,
10322: p_init_msg_list => FND_API.G_TRUE,
10323: p_commit => FND_API.G_FALSE,
10324: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10325: p_default => FND_API.G_TRUE,
10326: p_module_type => NULL,
10327: x_return_status => l_return_status,
10328: x_msg_count => l_msg_count,
10321: p_api_version => 1.0,
10322: p_init_msg_list => FND_API.G_TRUE,
10323: p_commit => FND_API.G_FALSE,
10324: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10325: p_default => FND_API.G_TRUE,
10326: p_module_type => NULL,
10327: x_return_status => l_return_status,
10328: x_msg_count => l_msg_count,
10329: x_msg_data => l_msg_data,
10330: p_x_prd_workorder_tbl => l_prd_workorder_tbl,
10331: p_prd_workorder_rel_tbl => l_prd_workorder_rel_tbl
10332: );
10333:
10334: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10335: RAISE Fnd_Api.g_exc_error;
10336: END IF;
10337:
10338: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10331: p_prd_workorder_rel_tbl => l_prd_workorder_rel_tbl
10332: );
10333:
10334: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10335: RAISE Fnd_Api.g_exc_error;
10336: END IF;
10337:
10338: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10339: fnd_log.string
10393: x_msg_count => l_msg_count,
10394: x_msg_data => l_msg_data
10395: );
10396:
10397: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10398: RAISE Fnd_Api.g_exc_error;
10399: END IF;
10400:
10401: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10394: x_msg_data => l_msg_data
10395: );
10396:
10397: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10398: RAISE Fnd_Api.g_exc_error;
10399: END IF;
10400:
10401: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10402: fnd_log.string ( fnd_log.level_statement, 'ahl.plsql.AHL_PRD_WORKORDER_PVT.Reschedule_Visit_Jobs', 'After Calling EAM_WO_NETWORK_UTIL_PVT.Move_WO ' ||l_return_status );
10423:
10424: process_jobs
10425: (
10426: p_api_version => 1.0,
10427: p_init_msg_list => FND_API.G_TRUE,
10428: p_commit => FND_API.G_FALSE,
10429: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10430: p_default => FND_API.G_TRUE,
10431: p_module_type => NULL,
10424: process_jobs
10425: (
10426: p_api_version => 1.0,
10427: p_init_msg_list => FND_API.G_TRUE,
10428: p_commit => FND_API.G_FALSE,
10429: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10430: p_default => FND_API.G_TRUE,
10431: p_module_type => NULL,
10432: x_return_status => l_return_status,
10425: (
10426: p_api_version => 1.0,
10427: p_init_msg_list => FND_API.G_TRUE,
10428: p_commit => FND_API.G_FALSE,
10429: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10430: p_default => FND_API.G_TRUE,
10431: p_module_type => NULL,
10432: x_return_status => l_return_status,
10433: x_msg_count => l_msg_count,
10426: p_api_version => 1.0,
10427: p_init_msg_list => FND_API.G_TRUE,
10428: p_commit => FND_API.G_FALSE,
10429: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10430: p_default => FND_API.G_TRUE,
10431: p_module_type => NULL,
10432: x_return_status => l_return_status,
10433: x_msg_count => l_msg_count,
10434: x_msg_data => l_msg_data,
10435: p_x_prd_workorder_tbl => l_prd_workorder_tbl,
10436: p_prd_workorder_rel_tbl => l_prd_workorder_rel_tbl
10437: );
10438:
10439: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10440: OPEN get_latest_schedule_dates(check_workorder_exists_rec.wip_entity_id);
10441: FETCH get_latest_schedule_dates INTO latest_schedule_dates_rec;
10442: CLOSE get_latest_schedule_dates;
10443: IF p_x_scheduled_end_date <> latest_schedule_dates_rec.scheduled_completion_date
10442: CLOSE get_latest_schedule_dates;
10443: IF p_x_scheduled_end_date <> latest_schedule_dates_rec.scheduled_completion_date
10444: THEN
10445: -- Initialize the message list not to show the EAM Error message
10446: IF FND_API.to_boolean(p_init_msg_list) THEN
10447: FND_MSG_PUB.initialize;
10448: END IF;
10449: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PLANNED_DATE_INVALID');
10450: FND_MESSAGE.SET_TOKEN('DATE',latest_schedule_dates_rec.scheduled_completion_date);
10449: FND_MESSAGE.Set_Name('AHL','AHL_PRD_PLANNED_DATE_INVALID');
10450: FND_MESSAGE.SET_TOKEN('DATE',latest_schedule_dates_rec.scheduled_completion_date);
10451: FND_MSG_PUB.ADD;
10452: END IF;
10453: RAISE Fnd_Api.g_exc_error;
10454:
10455: END IF;
10456:
10457: --
10454:
10455: END IF;
10456:
10457: --
10458: IF FND_API.to_boolean(p_commit) THEN
10459: COMMIT;
10460: END IF;
10461: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
10462: fnd_log.string ( fnd_log.level_procedure, 'ahl.plsql.AHL_PRD_WORKORDER_PVT.Reschedule_Visit_Jobs.end', 'At the end of PLSQL procedure' );
10462: fnd_log.string ( fnd_log.level_procedure, 'ahl.plsql.AHL_PRD_WORKORDER_PVT.Reschedule_Visit_Jobs.end', 'At the end of PLSQL procedure' );
10463: END IF;
10464:
10465: EXCEPTION
10466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10467: ROLLBACK TO Reschedule_Visit_Jobs;
10468: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10469: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
10470: p_count => x_msg_count,
10464:
10465: EXCEPTION
10466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10467: ROLLBACK TO Reschedule_Visit_Jobs;
10468: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10469: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
10470: p_count => x_msg_count,
10471: p_data => x_msg_data);
10472: WHEN FND_API.G_EXC_ERROR THEN
10465: EXCEPTION
10466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10467: ROLLBACK TO Reschedule_Visit_Jobs;
10468: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10469: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
10470: p_count => x_msg_count,
10471: p_data => x_msg_data);
10472: WHEN FND_API.G_EXC_ERROR THEN
10473: ROLLBACK TO Reschedule_Visit_Jobs;
10468: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10469: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
10470: p_count => x_msg_count,
10471: p_data => x_msg_data);
10472: WHEN FND_API.G_EXC_ERROR THEN
10473: ROLLBACK TO Reschedule_Visit_Jobs;
10474: x_return_status := FND_API.G_RET_STS_ERROR;
10475: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
10476: p_count => x_msg_count,
10470: p_count => x_msg_count,
10471: p_data => x_msg_data);
10472: WHEN FND_API.G_EXC_ERROR THEN
10473: ROLLBACK TO Reschedule_Visit_Jobs;
10474: x_return_status := FND_API.G_RET_STS_ERROR;
10475: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
10476: p_count => x_msg_count,
10477: p_data => x_msg_data);
10478:
10471: p_data => x_msg_data);
10472: WHEN FND_API.G_EXC_ERROR THEN
10473: ROLLBACK TO Reschedule_Visit_Jobs;
10474: x_return_status := FND_API.G_RET_STS_ERROR;
10475: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
10476: p_count => x_msg_count,
10477: p_data => x_msg_data);
10478:
10479: WHEN OTHERS THEN
10477: p_data => x_msg_data);
10478:
10479: WHEN OTHERS THEN
10480: ROLLBACK TO Reschedule_Visit_Jobs;
10481: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10482: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
10483: FND_MSG_PUB.add_exc_msg(p_pkg_name =>g_pkg_name,
10484: p_procedure_name =>l_api_name,
10485: p_error_text => SUBSTRB(SQLERRM,1,240));
10484: p_procedure_name =>l_api_name,
10485: p_error_text => SUBSTRB(SQLERRM,1,240));
10486:
10487: END IF;
10488: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
10489: p_count => x_msg_count,
10490: p_data => x_msg_data);
10491:
10492: END Reschedule_Visit_Jobs;
10494:
10495: PROCEDURE INSERT_TURNOVER_NOTES
10496: (
10497: p_api_version IN NUMBER := 1.0 ,
10498: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
10499: p_commit IN VARCHAR2 := FND_API.G_FALSE,
10500: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
10501: p_default IN VARCHAR2 := FND_API.G_FALSE,
10502: p_module_type IN VARCHAR2 := Null,
10495: PROCEDURE INSERT_TURNOVER_NOTES
10496: (
10497: p_api_version IN NUMBER := 1.0 ,
10498: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
10499: p_commit IN VARCHAR2 := FND_API.G_FALSE,
10500: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
10501: p_default IN VARCHAR2 := FND_API.G_FALSE,
10502: p_module_type IN VARCHAR2 := Null,
10503: x_return_status OUT NOCOPY VARCHAR2,
10496: (
10497: p_api_version IN NUMBER := 1.0 ,
10498: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
10499: p_commit IN VARCHAR2 := FND_API.G_FALSE,
10500: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
10501: p_default IN VARCHAR2 := FND_API.G_FALSE,
10502: p_module_type IN VARCHAR2 := Null,
10503: x_return_status OUT NOCOPY VARCHAR2,
10504: x_msg_count OUT NOCOPY NUMBER,
10497: p_api_version IN NUMBER := 1.0 ,
10498: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
10499: p_commit IN VARCHAR2 := FND_API.G_FALSE,
10500: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
10501: p_default IN VARCHAR2 := FND_API.G_FALSE,
10502: p_module_type IN VARCHAR2 := Null,
10503: x_return_status OUT NOCOPY VARCHAR2,
10504: x_msg_count OUT NOCOPY NUMBER,
10505: x_msg_data OUT NOCOPY VARCHAR2,
10551: -- Standard start of API savepoint
10552: SAVEPOINT INSERT_TURNOVER_NOTES;
10553:
10554: -- Standard call to check for call compatibility
10555: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version,l_api_name, G_PKG_NAME ) THEN
10556: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10557: END IF;
10558: -- Initialize message list if p_init_msg_list is set to TRUE
10559: IF FND_API.To_Boolean( p_init_msg_list) THEN
10552: SAVEPOINT INSERT_TURNOVER_NOTES;
10553:
10554: -- Standard call to check for call compatibility
10555: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version,l_api_name, G_PKG_NAME ) THEN
10556: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10557: END IF;
10558: -- Initialize message list if p_init_msg_list is set to TRUE
10559: IF FND_API.To_Boolean( p_init_msg_list) THEN
10560: FND_MSG_PUB.Initialize;
10555: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version,l_api_name, G_PKG_NAME ) THEN
10556: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10557: END IF;
10558: -- Initialize message list if p_init_msg_list is set to TRUE
10559: IF FND_API.To_Boolean( p_init_msg_list) THEN
10560: FND_MSG_PUB.Initialize;
10561: END IF;
10562:
10563: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
10574: 'p_commit : ' || p_commit
10575: );
10576: END IF;
10577: -- Initialize API return status to success
10578: x_return_status := FND_API.G_RET_STS_SUCCESS;
10579: -- Insert notes
10580: FOR i IN p_trunover_notes_tbl.FIRST..p_trunover_notes_tbl.LAST LOOP
10581: -- validate source object code
10582: IF(p_trunover_notes_tbl(i).source_object_code <> 'AHL_WO_TURNOVER_NOTES')THEN
10652: IF(FND_MSG_PUB.count_msg = 0)THEN
10653: JTF_NOTES_PUB.Create_note
10654: (
10655: p_api_version => 1.0,
10656: p_init_msg_list => FND_API.G_FALSE,
10657: p_commit => FND_API.G_FALSE,
10658: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10659: x_return_status => x_return_status,
10660: x_msg_count => x_msg_count,
10653: JTF_NOTES_PUB.Create_note
10654: (
10655: p_api_version => 1.0,
10656: p_init_msg_list => FND_API.G_FALSE,
10657: p_commit => FND_API.G_FALSE,
10658: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10659: x_return_status => x_return_status,
10660: x_msg_count => x_msg_count,
10661: x_msg_data => x_msg_data,
10654: (
10655: p_api_version => 1.0,
10656: p_init_msg_list => FND_API.G_FALSE,
10657: p_commit => FND_API.G_FALSE,
10658: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
10659: x_return_status => x_return_status,
10660: x_msg_count => x_msg_count,
10661: x_msg_data => x_msg_data,
10662: p_source_object_id => p_trunover_notes_tbl(i).source_object_id,
10670: END LOOP;
10671: -- Check Error Message stack.
10672: x_msg_count := FND_MSG_PUB.count_msg;
10673: IF x_msg_count > 0 THEN
10674: RAISE FND_API.G_EXC_ERROR;
10675: END IF;
10676:
10677: -- Standard check of p_commit
10678: IF FND_API.TO_BOOLEAN(p_commit) THEN
10674: RAISE FND_API.G_EXC_ERROR;
10675: END IF;
10676:
10677: -- Standard check of p_commit
10678: IF FND_API.TO_BOOLEAN(p_commit) THEN
10679: COMMIT WORK;
10680: END IF;
10681: -- Standard call to get message count and if count is 1, get message info
10682: FND_MSG_PUB.Count_And_Get
10681: -- Standard call to get message count and if count is 1, get message info
10682: FND_MSG_PUB.Count_And_Get
10683: ( p_count => x_msg_count,
10684: p_data => x_msg_data,
10685: p_encoded => fnd_api.g_false
10686: );
10687: IF(x_msg_count > 0 )THEN
10688: RAISE FND_API.G_EXC_ERROR;
10689: END IF;
10684: p_data => x_msg_data,
10685: p_encoded => fnd_api.g_false
10686: );
10687: IF(x_msg_count > 0 )THEN
10688: RAISE FND_API.G_EXC_ERROR;
10689: END IF;
10690:
10691: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
10692: fnd_log.string
10697: );
10698: END IF;
10699:
10700: EXCEPTION
10701: WHEN FND_API.G_EXC_ERROR THEN
10702: Rollback to INSERT_TURNOVER_NOTES;
10703: x_return_status := FND_API.G_RET_STS_ERROR;
10704: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
10705: p_data => x_msg_data,
10699:
10700: EXCEPTION
10701: WHEN FND_API.G_EXC_ERROR THEN
10702: Rollback to INSERT_TURNOVER_NOTES;
10703: x_return_status := FND_API.G_RET_STS_ERROR;
10704: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
10705: p_data => x_msg_data,
10706: p_encoded => fnd_api.g_false);
10707:
10702: Rollback to INSERT_TURNOVER_NOTES;
10703: x_return_status := FND_API.G_RET_STS_ERROR;
10704: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
10705: p_data => x_msg_data,
10706: p_encoded => fnd_api.g_false);
10707:
10708:
10709: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10710: Rollback to INSERT_TURNOVER_NOTES;
10705: p_data => x_msg_data,
10706: p_encoded => fnd_api.g_false);
10707:
10708:
10709: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10710: Rollback to INSERT_TURNOVER_NOTES;
10711: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10712: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
10713: p_data => x_msg_data,
10707:
10708:
10709: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10710: Rollback to INSERT_TURNOVER_NOTES;
10711: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10712: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
10713: p_data => x_msg_data,
10714: p_encoded => fnd_api.g_false);
10715:
10710: Rollback to INSERT_TURNOVER_NOTES;
10711: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10712: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
10713: p_data => x_msg_data,
10714: p_encoded => fnd_api.g_false);
10715:
10716:
10717: WHEN OTHERS THEN
10718: Rollback to INSERT_TURNOVER_NOTES;
10715:
10716:
10717: WHEN OTHERS THEN
10718: Rollback to INSERT_TURNOVER_NOTES;
10719: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10720: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
10721: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
10722: p_procedure_name => l_api_name,
10723: p_error_text => SUBSTRB(SQLERRM,1,500));
10723: p_error_text => SUBSTRB(SQLERRM,1,500));
10724: END IF;
10725: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
10726: p_data => x_msg_data,
10727: p_encoded => fnd_api.g_false);
10728: END INSERT_TURNOVER_NOTES;
10729:
10730: FUNCTION get_date_and_time(p_date IN DATE,
10731: p_date_hh24 IN VARCHAR2,
10745: l_minutes := TO_CHAR(p_date, 'mi');
10746: l_date := p_date;
10747:
10748: IF ( p_date_hh24 IS NOT NULL AND
10749: p_date_hh24 <> FND_API.G_MISS_NUM ) THEN
10750: l_hour := p_date_hh24;
10751: END IF;
10752:
10753: IF ( p_date_mi IS NOT NULL AND
10750: l_hour := p_date_hh24;
10751: END IF;
10752:
10753: IF ( p_date_mi IS NOT NULL AND
10754: p_date_mi <> FND_API.G_MISS_NUM ) THEN
10755: l_minutes := p_date_mi;
10756: END IF;
10757:
10758: IF(p_date_ss IS NOT NULL AND
10755: l_minutes := p_date_mi;
10756: END IF;
10757:
10758: IF(p_date_ss IS NOT NULL AND
10759: p_date_ss <> FND_API.G_MISS_NUM) THEN
10760: l_sec := p_date_ss;
10761: END IF;
10762:
10763: IF ( l_hour <> '00' OR l_minutes <> '00' OR l_sec <> '00') THEN
11063:
11064: AHL_EAM_JOB_PVT.update_job_operations
11065: (
11066: p_api_version => 1.0 ,
11067: p_init_msg_list => FND_API.G_TRUE ,
11068: p_commit => FND_API.G_FALSE ,
11069: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
11070: p_default => FND_API.G_TRUE ,
11071: p_module_type => NULL ,
11064: AHL_EAM_JOB_PVT.update_job_operations
11065: (
11066: p_api_version => 1.0 ,
11067: p_init_msg_list => FND_API.G_TRUE ,
11068: p_commit => FND_API.G_FALSE ,
11069: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
11070: p_default => FND_API.G_TRUE ,
11071: p_module_type => NULL ,
11072: x_return_status => l_return_status ,
11065: (
11066: p_api_version => 1.0 ,
11067: p_init_msg_list => FND_API.G_TRUE ,
11068: p_commit => FND_API.G_FALSE ,
11069: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
11070: p_default => FND_API.G_TRUE ,
11071: p_module_type => NULL ,
11072: x_return_status => l_return_status ,
11073: x_msg_count => l_msg_count ,
11066: p_api_version => 1.0 ,
11067: p_init_msg_list => FND_API.G_TRUE ,
11068: p_commit => FND_API.G_FALSE ,
11069: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
11070: p_default => FND_API.G_TRUE ,
11071: p_module_type => NULL ,
11072: x_return_status => l_return_status ,
11073: x_msg_count => l_msg_count ,
11074: x_msg_data => l_msg_data ,
11077: p_material_req_tbl => l_material_tbl ,
11078: p_resource_req_tbl => l_resource_tbl
11079: );
11080:
11081: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
11082: RAISE FND_API.G_EXC_ERROR;
11083: END IF;
11084: ELSE
11085:
11078: p_resource_req_tbl => l_resource_tbl
11079: );
11080:
11081: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
11082: RAISE FND_API.G_EXC_ERROR;
11083: END IF;
11084: ELSE
11085:
11086: EXIT;
11313: -- JKJain, ER 9283136
11314: PROCEDURE Unclose_Workorder
11315: (
11316: p_api_version IN NUMBER := 1.0,
11317: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
11318: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11319: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
11320: p_default IN VARCHAR2 := FND_API.G_FALSE,
11321: p_module_type IN VARCHAR2 := NULL,
11314: PROCEDURE Unclose_Workorder
11315: (
11316: p_api_version IN NUMBER := 1.0,
11317: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
11318: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11319: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
11320: p_default IN VARCHAR2 := FND_API.G_FALSE,
11321: p_module_type IN VARCHAR2 := NULL,
11322: x_return_status OUT NOCOPY VARCHAR2,
11315: (
11316: p_api_version IN NUMBER := 1.0,
11317: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
11318: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11319: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
11320: p_default IN VARCHAR2 := FND_API.G_FALSE,
11321: p_module_type IN VARCHAR2 := NULL,
11322: x_return_status OUT NOCOPY VARCHAR2,
11323: x_msg_count OUT NOCOPY NUMBER,
11316: p_api_version IN NUMBER := 1.0,
11317: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
11318: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11319: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
11320: p_default IN VARCHAR2 := FND_API.G_FALSE,
11321: p_module_type IN VARCHAR2 := NULL,
11322: x_return_status OUT NOCOPY VARCHAR2,
11323: x_msg_count OUT NOCOPY NUMBER,
11324: x_msg_data OUT NOCOPY VARCHAR2,
11394:
11395: -- Standard start of API savepoint
11396: SAVEPOINT Unclose_Workorder_PVT;
11397:
11398: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
11399:
11400: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
11401: p_api_version,
11402: l_api_name,G_PKG_NAME)
11396: SAVEPOINT Unclose_Workorder_PVT;
11397:
11398: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
11399:
11400: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
11401: p_api_version,
11402: l_api_name,G_PKG_NAME)
11403: THEN
11404: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11400: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
11401: p_api_version,
11402: l_api_name,G_PKG_NAME)
11403: THEN
11404: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11405: END IF;
11406:
11407: -- User Hooks
11408: IF (JTF_USR_HKS.Ok_to_execute('AHL_PRD_WORKORDER_PVT', 'UPDATE_JOB', 'B', 'C' )) THEN
11411: p_prd_workoper_tbl => l_prd_workoper_tbl,
11412: x_msg_count => l_msg_count,
11413: x_msg_data => l_msg_data,
11414: x_return_status => l_return_status);
11415: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
11416: RAISE FND_API.G_EXC_ERROR;
11417: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
11418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11419: END IF;
11412: x_msg_count => l_msg_count,
11413: x_msg_data => l_msg_data,
11414: x_return_status => l_return_status);
11415: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
11416: RAISE FND_API.G_EXC_ERROR;
11417: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
11418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11419: END IF;
11420: END IF;
11413: x_msg_data => l_msg_data,
11414: x_return_status => l_return_status);
11415: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
11416: RAISE FND_API.G_EXC_ERROR;
11417: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
11418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11419: END IF;
11420: END IF;
11421:
11414: x_return_status => l_return_status);
11415: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
11416: RAISE FND_API.G_EXC_ERROR;
11417: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
11418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11419: END IF;
11420: END IF;
11421:
11422:
11420: END IF;
11421:
11422:
11423: -- Initialize message list if p_init_msg_list is set to TRUE.
11424: IF FND_API.to_boolean(p_init_msg_list) THEN
11425: FND_MSG_PUB.initialize;
11426: END IF;
11427:
11428: IF (G_LEVEL_STATEMENT >= G_CURRENT_LOG_LEVEL)THEN
11459:
11460: IF (l_user_associated IS NULL OR (l_function_name <> l_user_associated)) THEN
11461: FND_MESSAGE.Set_Name('AHL','AHL_PP_USER_NOT_FN_UNCLOSE');
11462: FND_MSG_PUB.ADD;
11463: RAISE FND_API.G_EXC_ERROR;
11464: END IF;
11465:
11466: IF (l_job_status_code <> G_JOB_STATUS_CLOSED) THEN
11467: FND_MESSAGE.Set_Name('AHL','AHL_PP_UNCLOSE_ONLY_CLOSED');
11465:
11466: IF (l_job_status_code <> G_JOB_STATUS_CLOSED) THEN
11467: FND_MESSAGE.Set_Name('AHL','AHL_PP_UNCLOSE_ONLY_CLOSED');
11468: FND_MSG_PUB.ADD;
11469: RAISE FND_API.G_EXC_ERROR;
11470: END IF;
11471:
11472: IF (l_date_completed IS NULL) THEN
11473: FND_MESSAGE.Set_Name('AHL','AHL_PP_JOB_CANTBE_UNCLOSE');
11471:
11472: IF (l_date_completed IS NULL) THEN
11473: FND_MESSAGE.Set_Name('AHL','AHL_PP_JOB_CANTBE_UNCLOSE');
11474: FND_MSG_PUB.ADD;
11475: RAISE FND_API.G_EXC_ERROR;
11476: END IF;
11477:
11478: IF(p_x_prd_workorder_rec.object_version_number IS NULL OR p_x_prd_workorder_rec.object_version_number <> l_obj_ver_no)THEN
11479: FND_MESSAGE.SET_NAME('AHL','AHL_COM_RECORD_CHANGED');
11477:
11478: IF(p_x_prd_workorder_rec.object_version_number IS NULL OR p_x_prd_workorder_rec.object_version_number <> l_obj_ver_no)THEN
11479: FND_MESSAGE.SET_NAME('AHL','AHL_COM_RECORD_CHANGED');
11480: FND_MSG_PUB.ADD;
11481: RAISE FND_API.G_EXC_ERROR;
11482: END IF;
11483:
11484: IF(p_x_prd_workorder_rec.STATUS_CODE IS NULL OR p_x_prd_workorder_rec.STATUS_CODE <> G_JOB_STATUS_COMPLETE)THEN
11485: FND_MESSAGE.SET_NAME('AHL','AHL_PP_ONLY_UNCLOSE_TO_COMP');
11483:
11484: IF(p_x_prd_workorder_rec.STATUS_CODE IS NULL OR p_x_prd_workorder_rec.STATUS_CODE <> G_JOB_STATUS_COMPLETE)THEN
11485: FND_MESSAGE.SET_NAME('AHL','AHL_PP_ONLY_UNCLOSE_TO_COMP');
11486: FND_MSG_PUB.ADD;
11487: RAISE FND_API.G_EXC_ERROR;
11488: END IF;
11489:
11490: -- After Validations
11491:
11511: p_default => p_default,
11512: p_module_type => p_module_type,
11513: x_return_status => l_return_status
11514: );
11515: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11516: RAISE FND_API.G_EXC_ERROR;
11517: END IF;
11518: --sukhwsin::VEE - enhancement for insertion of wo status change - ends
11519:
11512: p_module_type => p_module_type,
11513: x_return_status => l_return_status
11514: );
11515: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11516: RAISE FND_API.G_EXC_ERROR;
11517: END IF;
11518: --sukhwsin::VEE - enhancement for insertion of wo status change - ends
11519:
11520: UPDATE ahl_workorders
11524:
11525: ELSE
11526: FND_MESSAGE.SET_NAME('AHL','AHL_PP_CANT_UNCLOSE_WO');
11527: FND_MSG_PUB.ADD;
11528: RAISE FND_API.G_EXC_ERROR;
11529: END IF;
11530: END LOOP;
11531:
11532: -- After Unclosing all the MWO to Status Complete
11546: p_default => p_default,
11547: p_module_type => p_module_type,
11548: x_return_status => l_return_status
11549: );
11550: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11551: RAISE FND_API.G_EXC_ERROR;
11552: END IF;
11553: --sukhwsin::VEE - enhancement for insertion of wo status change - ends
11554:
11547: p_module_type => p_module_type,
11548: x_return_status => l_return_status
11549: );
11550: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11551: RAISE FND_API.G_EXC_ERROR;
11552: END IF;
11553: --sukhwsin::VEE - enhancement for insertion of wo status change - ends
11554:
11555: UPDATE ahl_workorders
11559:
11560: ELSE
11561: FND_MESSAGE.SET_NAME('AHL','AHL_PP_CANT_UNCLOSE_WO');
11562: FND_MSG_PUB.ADD;
11563: RAISE FND_API.G_EXC_ERROR;
11564: END IF;
11565:
11566:
11567: -- User Hooks
11573: x_msg_count => l_msg_count,
11574: x_msg_data => l_msg_data,
11575: x_return_status => l_return_status);
11576:
11577: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
11578: RAISE FND_API.G_EXC_ERROR;
11579: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
11580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11581: END IF;
11574: x_msg_data => l_msg_data,
11575: x_return_status => l_return_status);
11576:
11577: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
11578: RAISE FND_API.G_EXC_ERROR;
11579: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
11580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11581: END IF;
11582: END IF;
11575: x_return_status => l_return_status);
11576:
11577: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
11578: RAISE FND_API.G_EXC_ERROR;
11579: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
11580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11581: END IF;
11582: END IF;
11583:
11576:
11577: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
11578: RAISE FND_API.G_EXC_ERROR;
11579: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
11580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11581: END IF;
11582: END IF;
11583:
11584: IF (G_LEVEL_PROCEDURE >= G_CURRENT_LOG_LEVEL)THEN
11588: 'At END of the Procedure Unclose_Workorder'
11589: );
11590: END IF;
11591:
11592: IF FND_API.to_boolean(p_commit) THEN
11593: COMMIT;
11594: END IF;
11595:
11596: EXCEPTION
11593: COMMIT;
11594: END IF;
11595:
11596: EXCEPTION
11597: WHEN FND_API.G_EXC_ERROR THEN
11598: x_return_status := FND_API.G_RET_STS_ERROR;
11599: Rollback to Unclose_Workorder_PVT;
11600: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
11601: p_data => x_msg_data,
11594: END IF;
11595:
11596: EXCEPTION
11597: WHEN FND_API.G_EXC_ERROR THEN
11598: x_return_status := FND_API.G_RET_STS_ERROR;
11599: Rollback to Unclose_Workorder_PVT;
11600: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
11601: p_data => x_msg_data,
11602: p_encoded => fnd_api.g_false);
11598: x_return_status := FND_API.G_RET_STS_ERROR;
11599: Rollback to Unclose_Workorder_PVT;
11600: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
11601: p_data => x_msg_data,
11602: p_encoded => fnd_api.g_false);
11603:
11604: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11605: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11606: Rollback to Unclose_Workorder_PVT;
11600: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
11601: p_data => x_msg_data,
11602: p_encoded => fnd_api.g_false);
11603:
11604: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11605: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11606: Rollback to Unclose_Workorder_PVT;
11607: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
11608: p_data => x_msg_data,
11601: p_data => x_msg_data,
11602: p_encoded => fnd_api.g_false);
11603:
11604: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11605: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11606: Rollback to Unclose_Workorder_PVT;
11607: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
11608: p_data => x_msg_data,
11609: p_encoded => fnd_api.g_false);
11605: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11606: Rollback to Unclose_Workorder_PVT;
11607: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
11608: p_data => x_msg_data,
11609: p_encoded => fnd_api.g_false);
11610:
11611: WHEN OTHERS THEN
11612: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11613: Rollback to Unclose_Workorder_PVT;
11608: p_data => x_msg_data,
11609: p_encoded => fnd_api.g_false);
11610:
11611: WHEN OTHERS THEN
11612: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11613: Rollback to Unclose_Workorder_PVT;
11614: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
11615: p_procedure_name => 'Unclose_Workorder',
11616: p_error_text => SQLERRM);
11615: p_procedure_name => 'Unclose_Workorder',
11616: p_error_text => SQLERRM);
11617: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
11618: p_data => x_msg_data,
11619: p_encoded => fnd_api.g_false);
11620:
11621: END unclose_workorder;
11622:
11623: -- added for ER 9368251
11727: END IF;
11728: process_jobs
11729: (
11730: p_api_version => 1.0,
11731: p_init_msg_list => FND_API.G_TRUE,
11732: p_commit => FND_API.G_FALSE,
11733: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
11734: p_default => FND_API.G_TRUE,
11735: p_module_type => NULL,
11728: process_jobs
11729: (
11730: p_api_version => 1.0,
11731: p_init_msg_list => FND_API.G_TRUE,
11732: p_commit => FND_API.G_FALSE,
11733: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
11734: p_default => FND_API.G_TRUE,
11735: p_module_type => NULL,
11736: x_return_status => l_return_status,
11729: (
11730: p_api_version => 1.0,
11731: p_init_msg_list => FND_API.G_TRUE,
11732: p_commit => FND_API.G_FALSE,
11733: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
11734: p_default => FND_API.G_TRUE,
11735: p_module_type => NULL,
11736: x_return_status => l_return_status,
11737: x_msg_count => l_msg_count,
11730: p_api_version => 1.0,
11731: p_init_msg_list => FND_API.G_TRUE,
11732: p_commit => FND_API.G_FALSE,
11733: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
11734: p_default => FND_API.G_TRUE,
11735: p_module_type => NULL,
11736: x_return_status => l_return_status,
11737: x_msg_count => l_msg_count,
11738: x_msg_data => l_msg_data,
11739: p_x_prd_workorder_tbl => l_prd_workorder_tbl,
11740: p_prd_workorder_rel_tbl => l_prd_workorder_rel_tbl
11741: );
11742:
11743: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11744: IF (G_LEVEL_STATEMENT >= G_CURRENT_LOG_LEVEL) THEN
11745: fnd_log.string( G_LEVEL_STATEMENT,
11746: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
11747: 'Process_Jobs return status:msg count:' || l_return_status || ':' || l_msg_count
11746: 'ahl.plsql.'||g_pkg_name||'.'||l_api_name ,
11747: 'Process_Jobs return status:msg count:' || l_return_status || ':' || l_msg_count
11748: );
11749: END IF;
11750: RAISE Fnd_Api.g_exc_error;
11751: END IF;
11752: END IF; -- l_prd_workorder_tbl.count
11753: END IF; -- get_visit_wo_dates_csr
11754: CLOSE get_visit_wo_dates_csr;
11817: -- 1. Initialize error message stack by default
11818: FND_MSG_PUB.Initialize;
11819:
11820: -- Standard call to check for call compatibility
11821: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
11822: THEN
11823: retcode := 2;
11824: errbuf := FND_MSG_PUB.Get;
11825:
11822: THEN
11823: retcode := 2;
11824: errbuf := FND_MSG_PUB.Get;
11825:
11826: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11827: END IF;
11828:
11829: -- 2. Dump all input parameters
11830: fnd_file.put_line(fnd_file.log, '************* Synch_Wo_Projtask_Times : API input parameters**************');
11860: -- schedule times with project taks times.
11861: -- fnd_file.put_line(fnd_file.log,'HERE GOES THE CALL TO API AHL_VWP_PROJ_PROD_PVT.Update_Project_Task_Times');
11862: AHL_VWP_PROJ_PROD_PVT.Update_Project_Task_Times(
11863: p_prd_workorder_tbl => l_prd_workorder_tbl,
11864: p_commit => Fnd_Api.G_TRUE,
11865: x_return_status => l_return_status,
11866: x_msg_count => l_msg_count,
11867: x_msg_data => l_msg_data
11868: );
11866: x_msg_count => l_msg_count,
11867: x_msg_data => l_msg_data
11868: );
11869:
11870: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11871:
11872: fnd_file.put_line(fnd_file.log, 'Following error occured while synchronizing task times..');
11873:
11874: retcode := 2; -- error!!
11911: -- schedule times with project taks times.
11912: -- fnd_file.put_line(fnd_file.log,'HERE GOES THE CALL TO API AHL_VWP_PROJ_PROD_PVT.Update_Project_Task_Times');
11913: AHL_VWP_PROJ_PROD_PVT.Update_Project_Task_Times(
11914: p_prd_workorder_tbl => l_prd_workorder_tbl,
11915: p_commit => Fnd_Api.G_TRUE,
11916: x_return_status => l_return_status,
11917: x_msg_count => l_msg_count,
11918: x_msg_data => l_msg_data
11919: );
11917: x_msg_count => l_msg_count,
11918: x_msg_data => l_msg_data
11919: );
11920:
11921: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
11922:
11923: fnd_file.put_line(fnd_file.log, 'Following error occured while synchronizing task times..');
11924:
11925: retcode := 2; -- error!!
11947:
11948: -- ER#10257011 Supplier Warranty manisaga -- start
11949: PROCEDURE populate_entitlements(
11950: p_api_version IN NUMBER := 1.0,
11951: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
11952: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11953: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
11954: p_contract_number IN NUMBER,
11955: p_warranty_entl_rec IN OUT NOCOPY AHL_WARRANTY_ENTL_PVT.Warranty_Entl_Rec_Type,
11948: -- ER#10257011 Supplier Warranty manisaga -- start
11949: PROCEDURE populate_entitlements(
11950: p_api_version IN NUMBER := 1.0,
11951: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
11952: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11953: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
11954: p_contract_number IN NUMBER,
11955: p_warranty_entl_rec IN OUT NOCOPY AHL_WARRANTY_ENTL_PVT.Warranty_Entl_Rec_Type,
11956: p_user_role IN VARCHAR2,
11949: PROCEDURE populate_entitlements(
11950: p_api_version IN NUMBER := 1.0,
11951: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
11952: p_commit IN VARCHAR2 := FND_API.G_FALSE,
11953: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
11954: p_contract_number IN NUMBER,
11955: p_warranty_entl_rec IN OUT NOCOPY AHL_WARRANTY_ENTL_PVT.Warranty_Entl_Rec_Type,
11956: p_user_role IN VARCHAR2,
11957: x_return_status OUT NOCOPY VARCHAR2,
11997:
11998: BEGIN
11999: SAVEPOINT populate_entitlements_pvt;
12000:
12001: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,p_api_version,l_api_name,G_PKG_NAME) THEN
12002: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12003: END IF;
12004:
12005: IF FND_API.to_boolean(p_init_msg_list) THEN
11998: BEGIN
11999: SAVEPOINT populate_entitlements_pvt;
12000:
12001: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,p_api_version,l_api_name,G_PKG_NAME) THEN
12002: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12003: END IF;
12004:
12005: IF FND_API.to_boolean(p_init_msg_list) THEN
12006: FND_MSG_PUB.initialize;
12001: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,p_api_version,l_api_name,G_PKG_NAME) THEN
12002: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12003: END IF;
12004:
12005: IF FND_API.to_boolean(p_init_msg_list) THEN
12006: FND_MSG_PUB.initialize;
12007: END IF;
12008:
12009: x_return_status:=FND_API.G_RET_STS_SUCCESS;
12005: IF FND_API.to_boolean(p_init_msg_list) THEN
12006: FND_MSG_PUB.initialize;
12007: END IF;
12008:
12009: x_return_status:=FND_API.G_RET_STS_SUCCESS;
12010:
12011: IF G_DEBUG='Y' THEN
12012: AHL_DEBUG_PUB.enable_debug;
12013: END IF;
12018:
12019: -- Get the error message count till this point
12020: l_msg_count := FND_MSG_PUB.count_msg;
12021:
12022: IF p_contract_number <> FND_API.G_MISS_NUM AND p_contract_number IS NOT NULL THEN
12023: OPEN get_contract_id (p_contract_number, p_warranty_entl_rec.visit_task_id);
12024: FETCH get_contract_id INTO p_warranty_entl_rec.warranty_contract_id;
12025: CLOSE get_contract_id;
12026: IF p_warranty_entl_rec.warranty_contract_id is NULL THEN
12026: IF p_warranty_entl_rec.warranty_contract_id is NULL THEN
12027: FND_MESSAGE.set_name('AHL','AHL_WARRANTY_INVALID_CNTR_NUM');
12028: FND_MESSAGE.set_token('CNTR_NUM', p_contract_number);
12029: FND_MSG_PUB.add;
12030: RAISE FND_API.G_EXC_ERROR;
12031: END IF;
12032: END IF;
12033:
12034: IF p_contract_number = FND_API.G_MISS_NUM THEN
12030: RAISE FND_API.G_EXC_ERROR;
12031: END IF;
12032: END IF;
12033:
12034: IF p_contract_number = FND_API.G_MISS_NUM THEN
12035: p_warranty_entl_rec.warranty_contract_id := FND_API.G_MISS_NUM;
12036: END IF;
12037:
12038: IF p_warranty_entl_rec.warranty_entitlement_id IS NULL THEN
12031: END IF;
12032: END IF;
12033:
12034: IF p_contract_number = FND_API.G_MISS_NUM THEN
12035: p_warranty_entl_rec.warranty_contract_id := FND_API.G_MISS_NUM;
12036: END IF;
12037:
12038: IF p_warranty_entl_rec.warranty_entitlement_id IS NULL THEN
12039: IF(p_warranty_entl_rec.ENTITLEMENT_STATUS_CODE <> 'NOT_APPLICABLE') THEN
12067:
12068: AHL_WARRANTY_ENTL_PVT.Process_Warranty_Entitlements(
12069: p_api_version => 1.0,
12070: p_init_msg_list => p_init_msg_list,
12071: p_commit => FND_API.G_FALSE,
12072: p_validation_level => p_validation_level,
12073: p_module_type => NULL,
12074: p_user_role => p_user_role,
12075: p_appr_action => NULL,
12078: x_msg_count => x_msg_count,
12079: x_msg_data => x_msg_data
12080: );
12081:
12082: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
12083: RAISE FND_API.G_EXC_ERROR;
12084: END IF;
12085: END IF;
12086:
12079: x_msg_data => x_msg_data
12080: );
12081:
12082: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
12083: RAISE FND_API.G_EXC_ERROR;
12084: END IF;
12085: END IF;
12086:
12087: IF ( G_DEBUG = 'Y' ) THEN
12092: AHL_DEBUG_PUB.disable_debug;
12093: END IF;
12094:
12095: EXCEPTION
12096: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12097: ROLLBACK TO populate_entitlements_pvt;
12098: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12099: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12100: p_count => x_msg_count,
12094:
12095: EXCEPTION
12096: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12097: ROLLBACK TO populate_entitlements_pvt;
12098: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12099: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12100: p_count => x_msg_count,
12101: p_data => x_msg_data);
12102: WHEN FND_API.G_EXC_ERROR THEN
12095: EXCEPTION
12096: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12097: ROLLBACK TO populate_entitlements_pvt;
12098: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12099: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12100: p_count => x_msg_count,
12101: p_data => x_msg_data);
12102: WHEN FND_API.G_EXC_ERROR THEN
12103: ROLLBACK TO populate_entitlements_pvt;
12098: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12099: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12100: p_count => x_msg_count,
12101: p_data => x_msg_data);
12102: WHEN FND_API.G_EXC_ERROR THEN
12103: ROLLBACK TO populate_entitlements_pvt;
12104: x_return_status := FND_API.G_RET_STS_ERROR;
12105: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12106: p_count => x_msg_count,
12100: p_count => x_msg_count,
12101: p_data => x_msg_data);
12102: WHEN FND_API.G_EXC_ERROR THEN
12103: ROLLBACK TO populate_entitlements_pvt;
12104: x_return_status := FND_API.G_RET_STS_ERROR;
12105: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12106: p_count => x_msg_count,
12107: p_data => x_msg_data);
12108:
12101: p_data => x_msg_data);
12102: WHEN FND_API.G_EXC_ERROR THEN
12103: ROLLBACK TO populate_entitlements_pvt;
12104: x_return_status := FND_API.G_RET_STS_ERROR;
12105: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12106: p_count => x_msg_count,
12107: p_data => x_msg_data);
12108:
12109: WHEN OTHERS THEN
12107: p_data => x_msg_data);
12108:
12109: WHEN OTHERS THEN
12110: ROLLBACK TO populate_entitlements_pvt;
12111: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12112: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
12113: FND_MSG_PUB.add_exc_msg(p_pkg_name =>g_pkg_name,
12114: p_procedure_name =>l_api_name,
12115: p_error_text =>SUBSTRB(SQLERRM,1,240));
12114: p_procedure_name =>l_api_name,
12115: p_error_text =>SUBSTRB(SQLERRM,1,240));
12116: END IF;
12117:
12118: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12119: p_count => x_msg_count,
12120: p_data => x_msg_data);
12121: END populate_entitlements;
12122: -- ER#10257011 Supplier Warranty manisaga -- end
12127: p_workorder_op_id IN NUMBER := NULL,
12128: p_new_status_code IN VARCHAR2,
12129: --sukhwsin::Bug 12915297. Added new nullable parameter for hold reason.
12130: p_hold_reason_code IN VARCHAR2 := NULL,
12131: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12132: p_default IN VARCHAR2 := FND_API.G_FALSE,
12133: p_module_type IN VARCHAR2 := Null,
12134: x_return_status OUT NOCOPY VARCHAR2
12135: ) IS
12128: p_new_status_code IN VARCHAR2,
12129: --sukhwsin::Bug 12915297. Added new nullable parameter for hold reason.
12130: p_hold_reason_code IN VARCHAR2 := NULL,
12131: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12132: p_default IN VARCHAR2 := FND_API.G_FALSE,
12133: p_module_type IN VARCHAR2 := Null,
12134: x_return_status OUT NOCOPY VARCHAR2
12135: ) IS
12136: --Cursor to Get Current login user's employee name and employee id
12191: l_workorder_id NUMBER;
12192: l_jtf_note_id NUMBER;
12193: BEGIN
12194: -- Initialize return status to success
12195: x_return_status := FND_API.G_RET_STS_SUCCESS;
12196: l_insert_flag := 'N';
12197: --Assign current values
12198: IF(p_workorder_op_id IS NULL ) THEN
12199: --Handle WO Status Change
12199: --Handle WO Status Change
12200: IF (p_workorder_id IS NULL) THEN
12201: Fnd_Message.SET_NAME('AHL','AHL_PRD_TASK_ORG_WOID_REQ');
12202: Fnd_Msg_Pub.ADD;
12203: x_return_status := FND_API.G_RET_STS_ERROR;
12204: RETURN;
12205: END IF;
12206: l_workorder_id := p_workorder_id;
12207: OPEN Get_Wo_Cur_Values(p_workorder_id);
12218: IF( Get_Emp_Name_And_Id%NOTFOUND ) THEN
12219: Fnd_Message.SET_NAME('AHL','AHL_PRD_EMP_NULL_TRNTS');
12220: Fnd_Msg_Pub.ADD;
12221: CLOSE Get_Emp_Name_And_Id;
12222: x_return_status := FND_API.G_RET_STS_ERROR;
12223: RETURN;
12224: END IF;
12225: CLOSE Get_Emp_Name_And_Id; */
12226: --Get Old Status Code
12264: IF( Get_Emp_Name_And_Id%NOTFOUND ) THEN
12265: Fnd_Message.SET_NAME('AHL','AHL_PRD_EMP_NULL_TRNTS');
12266: Fnd_Msg_Pub.ADD;
12267: CLOSE Get_Emp_Name_And_Id;
12268: x_return_status := FND_API.G_RET_STS_ERROR;
12269: RETURN;
12270: END IF;
12271: CLOSE Get_Emp_Name_And_Id; */
12272: --Get Old Status Code
12294: l_turnover_notes_tbl(0).org_id := l_organization_id;
12295: l_turnover_notes_tbl(0).notes := l_notes;
12296: INSERT_TURNOVER_NOTES
12297: (
12298: p_init_msg_list => FND_API.G_FALSE,
12299: p_commit => FND_API.G_FALSE,
12300: p_validation_level => p_validation_level,
12301: p_default => p_default,
12302: p_module_type => p_module_type,
12295: l_turnover_notes_tbl(0).notes := l_notes;
12296: INSERT_TURNOVER_NOTES
12297: (
12298: p_init_msg_list => FND_API.G_FALSE,
12299: p_commit => FND_API.G_FALSE,
12300: p_validation_level => p_validation_level,
12301: p_default => p_default,
12302: p_module_type => p_module_type,
12303: x_return_status => l_return_status,
12308: IF(l_notes IS NOT NULL )THEN
12309: JTF_NOTES_PUB.Create_note
12310: (
12311: p_api_version => 1.0,
12312: p_init_msg_list => FND_API.G_FALSE,
12313: p_commit => FND_API.G_FALSE,
12314: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
12315: x_return_status => l_return_status,
12316: x_msg_count => l_msg_count,
12309: JTF_NOTES_PUB.Create_note
12310: (
12311: p_api_version => 1.0,
12312: p_init_msg_list => FND_API.G_FALSE,
12313: p_commit => FND_API.G_FALSE,
12314: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
12315: x_return_status => l_return_status,
12316: x_msg_count => l_msg_count,
12317: x_msg_data => l_msg_data,
12310: (
12311: p_api_version => 1.0,
12312: p_init_msg_list => FND_API.G_FALSE,
12313: p_commit => FND_API.G_FALSE,
12314: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
12315: x_return_status => l_return_status,
12316: x_msg_count => l_msg_count,
12317: x_msg_data => l_msg_data,
12318: p_source_object_id => l_workorder_id,
12325: END IF;
12326: -- Check Error Message stack.
12327: l_msg_count := FND_MSG_PUB.count_msg;
12328: IF l_msg_count > 0 THEN
12329: l_return_status := FND_API.G_RET_STS_ERROR;
12330: END IF;
12331: x_return_status := l_return_status;
12332: END IF;
12333: EXCEPTION
12331: x_return_status := l_return_status;
12332: END IF;
12333: EXCEPTION
12334: WHEN OTHERS THEN
12335: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12336: END ADD_WO_OPER_TURNOVER_NOTES;
12337:
12338: -- JKJain, NR Analysis and Forecasting
12339: procedure GET_UC_FLEET_MNTNC(
12427: END is_workorder_released;
12428: --sukhwsin::Complex Assembly enhancements - Added following procedure for WO turnover notes for instance routing
12429: PROCEDURE Add_Inst_Rtng_Notes_To_WO(
12430: p_api_version IN NUMBER := 1.0,
12431: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
12432: p_commit IN VARCHAR2 := FND_API.G_FALSE,
12433: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12434: x_return_status OUT NOCOPY VARCHAR2,
12435: x_msg_count OUT NOCOPY NUMBER,
12428: --sukhwsin::Complex Assembly enhancements - Added following procedure for WO turnover notes for instance routing
12429: PROCEDURE Add_Inst_Rtng_Notes_To_WO(
12430: p_api_version IN NUMBER := 1.0,
12431: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
12432: p_commit IN VARCHAR2 := FND_API.G_FALSE,
12433: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12434: x_return_status OUT NOCOPY VARCHAR2,
12435: x_msg_count OUT NOCOPY NUMBER,
12436: x_msg_data OUT NOCOPY VARCHAR2,
12429: PROCEDURE Add_Inst_Rtng_Notes_To_WO(
12430: p_api_version IN NUMBER := 1.0,
12431: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
12432: p_commit IN VARCHAR2 := FND_API.G_FALSE,
12433: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12434: x_return_status OUT NOCOPY VARCHAR2,
12435: x_msg_count OUT NOCOPY NUMBER,
12436: x_msg_data OUT NOCOPY VARCHAR2,
12437: p_workorder_id IN NUMBER,
12456: l_old_inst_rtng_meaning VARCHAR2(240);
12457: l_new_inst_rtng_meaning VARCHAR2(240);
12458: BEGIN
12459: SAVEPOINT inst_rtng_notes_to_wo;
12460: IF NOT FND_API.compatible_api_call(l_api_version,
12461: p_api_version,
12462: l_api_name,G_PKG_NAME) THEN
12463: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12464: END IF;
12459: SAVEPOINT inst_rtng_notes_to_wo;
12460: IF NOT FND_API.compatible_api_call(l_api_version,
12461: p_api_version,
12462: l_api_name,G_PKG_NAME) THEN
12463: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12464: END IF;
12465: IF FND_API.to_boolean(p_init_msg_list) THEN
12466: FND_MSG_PUB.initialize;
12467: END IF;
12461: p_api_version,
12462: l_api_name,G_PKG_NAME) THEN
12463: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12464: END IF;
12465: IF FND_API.to_boolean(p_init_msg_list) THEN
12466: FND_MSG_PUB.initialize;
12467: END IF;
12468: x_return_status:=FND_API.G_RET_STS_SUCCESS;
12469: IF (p_workorder_id IS NULL) THEN
12464: END IF;
12465: IF FND_API.to_boolean(p_init_msg_list) THEN
12466: FND_MSG_PUB.initialize;
12467: END IF;
12468: x_return_status:=FND_API.G_RET_STS_SUCCESS;
12469: IF (p_workorder_id IS NULL) THEN
12470: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_NULL_WORKORDER_ID');
12471: FND_MSG_PUB.ADD;
12472: RAISE FND_API.G_EXC_ERROR;
12468: x_return_status:=FND_API.G_RET_STS_SUCCESS;
12469: IF (p_workorder_id IS NULL) THEN
12470: FND_MESSAGE.SET_NAME('AHL','AHL_PRD_NULL_WORKORDER_ID');
12471: FND_MSG_PUB.ADD;
12472: RAISE FND_API.G_EXC_ERROR;
12473: END IF;
12474: IF (p_old_inst_rtng IS NULL AND p_new_inst_rtng IS NULL) THEN
12475: FND_MESSAGE.SET_NAME('AHL','AHL_CAM_INST_RTNG_NULL'); -- pending to define.
12476: FND_MSG_PUB.ADD;
12473: END IF;
12474: IF (p_old_inst_rtng IS NULL AND p_new_inst_rtng IS NULL) THEN
12475: FND_MESSAGE.SET_NAME('AHL','AHL_CAM_INST_RTNG_NULL'); -- pending to define.
12476: FND_MSG_PUB.ADD;
12477: RAISE FND_API.G_EXC_ERROR;
12478: END IF;
12479: --Get Meaning From Code for old instance routing
12480: IF (p_old_inst_rtng IS NOT NULL) THEN
12481: OPEN Get_Meaning_From_Code(p_old_inst_rtng);
12506: l_notes := fnd_message.get;
12507: JTF_NOTES_PUB.Create_note
12508: (
12509: p_api_version => 1.0,
12510: p_init_msg_list => FND_API.G_FALSE,
12511: p_commit => FND_API.G_FALSE,
12512: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
12513: x_return_status => l_return_status,
12514: x_msg_count => l_msg_count,
12507: JTF_NOTES_PUB.Create_note
12508: (
12509: p_api_version => 1.0,
12510: p_init_msg_list => FND_API.G_FALSE,
12511: p_commit => FND_API.G_FALSE,
12512: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
12513: x_return_status => l_return_status,
12514: x_msg_count => l_msg_count,
12515: x_msg_data => l_msg_data,
12508: (
12509: p_api_version => 1.0,
12510: p_init_msg_list => FND_API.G_FALSE,
12511: p_commit => FND_API.G_FALSE,
12512: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
12513: x_return_status => l_return_status,
12514: x_msg_count => l_msg_count,
12515: x_msg_data => l_msg_data,
12516: p_source_object_id => p_workorder_id,
12521: x_jtf_note_id => l_jtf_note_id
12522: );
12523: l_msg_count := FND_MSG_PUB.count_msg;
12524: IF l_msg_count > 0 THEN
12525: l_return_status := FND_API.G_RET_STS_ERROR;
12526: END IF;
12527: x_return_status := l_return_status;
12528: --Commit if p_commit is true.
12529: IF FND_API.to_boolean(p_commit) THEN
12525: l_return_status := FND_API.G_RET_STS_ERROR;
12526: END IF;
12527: x_return_status := l_return_status;
12528: --Commit if p_commit is true.
12529: IF FND_API.to_boolean(p_commit) THEN
12530: COMMIT;
12531: END IF;
12532: EXCEPTION
12533: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12529: IF FND_API.to_boolean(p_commit) THEN
12530: COMMIT;
12531: END IF;
12532: EXCEPTION
12533: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12534: ROLLBACK TO inst_rtng_notes_to_wo;
12535: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12536: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12537: p_count => x_msg_count,
12531: END IF;
12532: EXCEPTION
12533: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12534: ROLLBACK TO inst_rtng_notes_to_wo;
12535: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12536: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12537: p_count => x_msg_count,
12538: p_data => x_msg_data);
12539: WHEN FND_API.G_EXC_ERROR THEN
12532: EXCEPTION
12533: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12534: ROLLBACK TO inst_rtng_notes_to_wo;
12535: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12536: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12537: p_count => x_msg_count,
12538: p_data => x_msg_data);
12539: WHEN FND_API.G_EXC_ERROR THEN
12540: ROLLBACK TO inst_rtng_notes_to_wo;
12535: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12536: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12537: p_count => x_msg_count,
12538: p_data => x_msg_data);
12539: WHEN FND_API.G_EXC_ERROR THEN
12540: ROLLBACK TO inst_rtng_notes_to_wo;
12541: x_return_status := FND_API.G_RET_STS_ERROR;
12542: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12543: p_count => x_msg_count,
12537: p_count => x_msg_count,
12538: p_data => x_msg_data);
12539: WHEN FND_API.G_EXC_ERROR THEN
12540: ROLLBACK TO inst_rtng_notes_to_wo;
12541: x_return_status := FND_API.G_RET_STS_ERROR;
12542: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12543: p_count => x_msg_count,
12544: p_data => x_msg_data);
12545: WHEN OTHERS THEN
12538: p_data => x_msg_data);
12539: WHEN FND_API.G_EXC_ERROR THEN
12540: ROLLBACK TO inst_rtng_notes_to_wo;
12541: x_return_status := FND_API.G_RET_STS_ERROR;
12542: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12543: p_count => x_msg_count,
12544: p_data => x_msg_data);
12545: WHEN OTHERS THEN
12546: ROLLBACK TO inst_rtng_notes_to_wo;
12543: p_count => x_msg_count,
12544: p_data => x_msg_data);
12545: WHEN OTHERS THEN
12546: ROLLBACK TO inst_rtng_notes_to_wo;
12547: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12548: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
12549: FND_MSG_PUB.add_exc_msg(p_pkg_name => g_pkg_name,
12550: p_procedure_name => l_api_name,
12551: p_error_text => SUBSTRB(SQLERRM,1,240));
12549: FND_MSG_PUB.add_exc_msg(p_pkg_name => g_pkg_name,
12550: p_procedure_name => l_api_name,
12551: p_error_text => SUBSTRB(SQLERRM,1,240));
12552: END IF;
12553: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12554: p_count => x_msg_count,
12555: p_data => x_msg_data);
12556: END Add_Inst_Rtng_Notes_To_WO;
12557:
12572: -- Pre-reqs :
12573: --
12574: -- Standard IN Parameters :
12575: -- p_api_version NUMBER := 1.0
12576: -- p_init_msg_list VARCHAR2 := FND_API.G_FALSE
12577: -- p_commit VARCHAR2 := FND_API.G_FALSE
12578: --
12579: -- Standard OUT Parameters :
12580: -- x_return_status VARCHAR2 Required
12573: --
12574: -- Standard IN Parameters :
12575: -- p_api_version NUMBER := 1.0
12576: -- p_init_msg_list VARCHAR2 := FND_API.G_FALSE
12577: -- p_commit VARCHAR2 := FND_API.G_FALSE
12578: --
12579: -- Standard OUT Parameters :
12580: -- x_return_status VARCHAR2 Required
12581: -- x_msg_count NUMBER Required
12590: -- End of Comments
12591: PROCEDURE UPDATE_WO_AOG_STATUS
12592: (
12593: p_api_version IN NUMBER := 1.0,
12594: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
12595: p_commit IN VARCHAR2 := FND_API.G_FALSE,
12596: --p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12597: p_workorder_id_tbl IN WORKORDER_ID_TBL_TYPE,
12598: x_return_status OUT NOCOPY VARCHAR2,
12591: PROCEDURE UPDATE_WO_AOG_STATUS
12592: (
12593: p_api_version IN NUMBER := 1.0,
12594: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
12595: p_commit IN VARCHAR2 := FND_API.G_FALSE,
12596: --p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12597: p_workorder_id_tbl IN WORKORDER_ID_TBL_TYPE,
12598: x_return_status OUT NOCOPY VARCHAR2,
12599: x_msg_count OUT NOCOPY NUMBER,
12592: (
12593: p_api_version IN NUMBER := 1.0,
12594: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
12595: p_commit IN VARCHAR2 := FND_API.G_FALSE,
12596: --p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
12597: p_workorder_id_tbl IN WORKORDER_ID_TBL_TYPE,
12598: x_return_status OUT NOCOPY VARCHAR2,
12599: x_msg_count OUT NOCOPY NUMBER,
12600: x_msg_data OUT NOCOPY VARCHAR2
12660: -- Standard Start of API savepoint
12661: SAVEPOINT UPDATE_WO_AOG_STATUS;
12662:
12663: -- Initialize message list if p_init_msg_list is set to TRUE.
12664: IF FND_API.to_boolean(p_init_msg_list)
12665: THEN
12666: FND_MSG_PUB.initialize;
12667: END IF;
12668:
12666: FND_MSG_PUB.initialize;
12667: END IF;
12668:
12669: -- Initialize API return status to success
12670: x_return_status := FND_API.G_RET_STS_SUCCESS;
12671:
12672: -- Standard call to check for call compatibility.
12673: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
12674: p_api_version,
12669: -- Initialize API return status to success
12670: x_return_status := FND_API.G_RET_STS_SUCCESS;
12671:
12672: -- Standard call to check for call compatibility.
12673: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
12674: p_api_version,
12675: l_api_name,G_PKG_NAME)
12676: THEN
12677: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12673: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
12674: p_api_version,
12675: l_api_name,G_PKG_NAME)
12676: THEN
12677: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12678: END IF;
12679:
12680: if (P_WORKORDER_ID_TBL.COUNT = 0) then
12681: IF (G_LEVEL_STATEMENT >= G_CURRENT_LOG_LEVEL)THEN
12794: );
12795:
12796: END LOOP;
12797:
12798: IF FND_API.to_boolean(p_commit) THEN
12799: commit;
12800: END IF;
12801:
12802:
12805: ROLLBACK TO UPDATE_WO_AOG_STATUS;
12806: IF (G_LEVEL_STATEMENT >= G_CURRENT_LOG_LEVEL)THEN
12807: FND_LOG.STRING( G_LEVEL_STATEMENT, 'ahl.plsql.'||G_PKG_NAME||'.'|| L_API_NAME, 'INVALID_WORKORDER_STATUS exception generated');
12808: END IF;
12809: X_return_status := FND_API.G_RET_STS_ERROR;
12810: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12811: p_count => x_msg_count,
12812: P_DATA => X_MSG_DATA);
12813:
12806: IF (G_LEVEL_STATEMENT >= G_CURRENT_LOG_LEVEL)THEN
12807: FND_LOG.STRING( G_LEVEL_STATEMENT, 'ahl.plsql.'||G_PKG_NAME||'.'|| L_API_NAME, 'INVALID_WORKORDER_STATUS exception generated');
12808: END IF;
12809: X_return_status := FND_API.G_RET_STS_ERROR;
12810: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12811: p_count => x_msg_count,
12812: P_DATA => X_MSG_DATA);
12813:
12814: WHEN NO_DATA_FOUND THEN
12818: END IF;
12819: FND_MESSAGE.SET_NAME('AHL', 'AHL_PRD_WO_ID_MISSING');
12820: FND_MESSAGE.SET_TOKEN('WORKORDER', P_WORKORDER_ID_TBL(I).WORKORDER_ID);
12821: fnd_msg_pub.add;
12822: X_return_status := FND_API.G_RET_STS_ERROR;
12823: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12824: p_count => x_msg_count,
12825: p_data => x_msg_data);
12826:
12819: FND_MESSAGE.SET_NAME('AHL', 'AHL_PRD_WO_ID_MISSING');
12820: FND_MESSAGE.SET_TOKEN('WORKORDER', P_WORKORDER_ID_TBL(I).WORKORDER_ID);
12821: fnd_msg_pub.add;
12822: X_return_status := FND_API.G_RET_STS_ERROR;
12823: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12824: p_count => x_msg_count,
12825: p_data => x_msg_data);
12826:
12827: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12823: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12824: p_count => x_msg_count,
12825: p_data => x_msg_data);
12826:
12827: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12828: ROLLBACK TO UPDATE_WO_AOG_STATUS;
12829: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12830: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12831: p_count => x_msg_count,
12825: p_data => x_msg_data);
12826:
12827: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12828: ROLLBACK TO UPDATE_WO_AOG_STATUS;
12829: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12830: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12831: p_count => x_msg_count,
12832: p_data => x_msg_data);
12833:
12826:
12827: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12828: ROLLBACK TO UPDATE_WO_AOG_STATUS;
12829: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12830: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12831: p_count => x_msg_count,
12832: p_data => x_msg_data);
12833:
12834: WHEN OTHERS THEN
12832: p_data => x_msg_data);
12833:
12834: WHEN OTHERS THEN
12835: ROLLBACK TO UPDATE_WO_AOG_STATUS;
12836: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12837: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12838: THEN
12839: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
12840: p_procedure_name => 'UPDATE_WO_AOG_STATUS',
12839: fnd_msg_pub.add_exc_msg(p_pkg_name => G_PKG_NAME,
12840: p_procedure_name => 'UPDATE_WO_AOG_STATUS',
12841: p_error_text => SUBSTR(SQLERRM,1,240));
12842: END IF;
12843: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
12844: p_count => x_msg_count,
12845: p_data => x_msg_data);
12846:
12847: IF (G_LEVEL_PROCEDURE >= G_CURRENT_LOG_LEVEL)THEN