1: PACKAGE BODY po_pdoi_line_process_pvt AS
2: /* $Header: PO_PDOI_LINE_PROCESS_PVT.plb 120.58.12020000.3 2013/02/10 17:03:50 vegajula ship $ */
3:
4: d_pkg_name CONSTANT VARCHAR2(50) :=
5: PO_LOG.get_package_base('PO_PDOI_LINE_PROCESS_PVT');
6:
7: --------------------------------------------------------------------------
8: ---------------------- PRIVATE PROCEDURES PROTOTYPE ----------------------
9: --------------------------------------------------------------------------
408: l_count NUMBER;
409: BEGIN
410: d_position := 0;
411:
412: IF (PO_LOG.d_proc) THEN
413: PO_LOG.proc_begin(d_module);
414: END IF;
415:
416: -- first reject lines which are duplicate in txn table
409: BEGIN
410: d_position := 0;
411:
412: IF (PO_LOG.d_proc) THEN
413: PO_LOG.proc_begin(d_module);
414: END IF;
415:
416: -- first reject lines which are duplicate in txn table
417: OPEN c_dup_lines_in_txn(PO_PDOI_PARAMS.g_processing_id,
431: d_position := 20;
432:
433: l_count := l_dup_intf_line_id_tbl.COUNT;
434:
435: IF (PO_LOG.d_stmt) THEN
436: PO_LOG.stmt(d_module, d_position, 'duplicate count against txn table', l_count);
437: END IF;
438:
439: EXIT WHEN l_count = 0;
432:
433: l_count := l_dup_intf_line_id_tbl.COUNT;
434:
435: IF (PO_LOG.d_stmt) THEN
436: PO_LOG.stmt(d_module, d_position, 'duplicate count against txn table', l_count);
437: END IF;
438:
439: EXIT WHEN l_count = 0;
440:
442: FOR i IN 1..l_count
443: LOOP
444: d_position := 30;
445:
446: IF (PO_LOG.d_stmt) THEN
447: PO_LOG.stmt(d_module, d_position, 'duplicate interface line id(txn)',
448: l_dup_intf_line_id_tbl(i));
449: END IF;
450:
443: LOOP
444: d_position := 30;
445:
446: IF (PO_LOG.d_stmt) THEN
447: PO_LOG.stmt(d_module, d_position, 'duplicate interface line id(txn)',
448: l_dup_intf_line_id_tbl(i));
449: END IF;
450:
451: PO_PDOI_ERR_UTL.add_fatal_error
500: d_position := 80;
501:
502: l_count := l_dup_intf_line_id_tbl.COUNT;
503:
504: IF (PO_LOG.d_stmt) THEN
505: PO_LOG.stmt(d_module, d_position, 'duplicate count against draft table ', l_count);
506: END IF;
507:
508: EXIT WHEN l_count = 0;
501:
502: l_count := l_dup_intf_line_id_tbl.COUNT;
503:
504: IF (PO_LOG.d_stmt) THEN
505: PO_LOG.stmt(d_module, d_position, 'duplicate count against draft table ', l_count);
506: END IF;
507:
508: EXIT WHEN l_count = 0;
509:
511: FOR i IN 1..l_count
512: LOOP
513: d_position := 90;
514:
515: IF (PO_LOG.d_stmt) THEN
516: PO_LOG.stmt(d_module, d_position, 'duplicate interface line id(draft)',
517: l_dup_intf_line_id_tbl(i));
518: END IF;
519:
512: LOOP
513: d_position := 90;
514:
515: IF (PO_LOG.d_stmt) THEN
516: PO_LOG.stmt(d_module, d_position, 'duplicate interface line id(draft)',
517: l_dup_intf_line_id_tbl(i));
518: END IF;
519:
520: PO_PDOI_ERR_UTL.add_fatal_error
550: CLOSE c_dup_lines_in_draft;
551:
552: d_position := 120;
553:
554: IF (PO_LOG.d_proc) THEN
555: PO_LOG.proc_end (d_module);
556: END IF;
557:
558: EXCEPTION
551:
552: d_position := 120;
553:
554: IF (PO_LOG.d_proc) THEN
555: PO_LOG.proc_end (d_module);
556: END IF;
557:
558: EXCEPTION
559: WHEN OTHERS THEN
605:
606: BEGIN
607: d_position := 0;
608:
609: IF (PO_LOG.d_proc) THEN
610: PO_LOG.proc_begin(d_module);
611: END IF;
612:
613: -- get all invalid lines from cursor
606: BEGIN
607: d_position := 0;
608:
609: IF (PO_LOG.d_proc) THEN
610: PO_LOG.proc_begin(d_module);
611: END IF;
612:
613: -- get all invalid lines from cursor
614: OPEN c_invalid_action_lines(PO_PDOI_PARAMS.g_processing_id,
621: l_rej_intf_line_id_tbl, l_rej_intf_header_id_tbl, l_rej_line_action_tbl;
622:
623: d_position := 20;
624:
625: IF (PO_LOG.d_stmt) THEN
626: PO_LOG.stmt(d_module, d_position, 'count of lines with invalid actions',
627: l_rej_intf_line_id_tbl.COUNT);
628: END IF;
629:
622:
623: d_position := 20;
624:
625: IF (PO_LOG.d_stmt) THEN
626: PO_LOG.stmt(d_module, d_position, 'count of lines with invalid actions',
627: l_rej_intf_line_id_tbl.COUNT);
628: END IF;
629:
630: -- add error if an invalid line is found
631: FOR i IN 1..l_rej_intf_line_id_tbl.COUNT
632: LOOP
633: d_position := 30;
634:
635: IF (PO_LOG.d_stmt) THEN
636: PO_LOG.stmt(d_module, d_position, 'rejected interface line id',
637: l_rej_intf_line_id_tbl(i));
638: END IF;
639:
632: LOOP
633: d_position := 30;
634:
635: IF (PO_LOG.d_stmt) THEN
636: PO_LOG.stmt(d_module, d_position, 'rejected interface line id',
637: l_rej_intf_line_id_tbl(i));
638: END IF;
639:
640: PO_PDOI_ERR_UTL.add_fatal_error
663: d_position := 50;
664:
665: CLOSE c_invalid_action_lines;
666:
667: IF (PO_LOG.d_proc) THEN
668: PO_LOG.proc_end (d_module);
669: END IF;
670:
671: EXCEPTION
664:
665: CLOSE c_invalid_action_lines;
666:
667: IF (PO_LOG.d_proc) THEN
668: PO_LOG.proc_end (d_module);
669: END IF;
670:
671: EXCEPTION
672: WHEN OTHERS THEN
707:
708: BEGIN
709: d_position := 0;
710:
711: IF (PO_LOG.d_proc) THEN
712: PO_LOG.proc_begin(d_module, 'p_data_set_type', p_data_set_type);
713: PO_LOG.proc_begin(d_module, 'p_max_intf_line_id', p_max_intf_line_id);
714: END IF;
715:
708: BEGIN
709: d_position := 0;
710:
711: IF (PO_LOG.d_proc) THEN
712: PO_LOG.proc_begin(d_module, 'p_data_set_type', p_data_set_type);
713: PO_LOG.proc_begin(d_module, 'p_max_intf_line_id', p_max_intf_line_id);
714: END IF;
715:
716: -- bug5107324
709: d_position := 0;
710:
711: IF (PO_LOG.d_proc) THEN
712: PO_LOG.proc_begin(d_module, 'p_data_set_type', p_data_set_type);
713: PO_LOG.proc_begin(d_module, 'p_max_intf_line_id', p_max_intf_line_id);
714: END IF;
715:
716: -- bug5107324
717: -- cursor now selects NULL into allow_desc_update_flag_tbl as well
1852:
1853: NULL;
1854: END IF;
1855:
1856: IF (PO_LOG.d_proc) THEN
1857: PO_LOG.proc_end (d_module);
1858: END IF;
1859:
1860: EXCEPTION
1853: NULL;
1854: END IF;
1855:
1856: IF (PO_LOG.d_proc) THEN
1857: PO_LOG.proc_end (d_module);
1858: END IF;
1859:
1860: EXCEPTION
1861: WHEN OTHERS THEN
1893:
1894: BEGIN
1895: d_position := 0;
1896:
1897: IF (PO_LOG.d_proc) THEN
1898: PO_LOG.proc_begin(d_module);
1899: END IF;
1900:
1901: FETCH x_lines_csr BULK COLLECT INTO
1894: BEGIN
1895: d_position := 0;
1896:
1897: IF (PO_LOG.d_proc) THEN
1898: PO_LOG.proc_begin(d_module);
1899: END IF;
1900:
1901: FETCH x_lines_csr BULK COLLECT INTO
1902: x_lines.intf_line_id_tbl,
2062: x_lines.from_line_disp_tbl
2063: --CLM PDOI Integration Ends
2064: LIMIT PO_PDOI_CONSTANTS.g_DEF_BATCH_SIZE;
2065:
2066: IF (PO_LOG.d_proc) THEN
2067: PO_LOG.proc_end (d_module);
2068: END IF;
2069:
2070: EXCEPTION
2063: --CLM PDOI Integration Ends
2064: LIMIT PO_PDOI_CONSTANTS.g_DEF_BATCH_SIZE;
2065:
2066: IF (PO_LOG.d_proc) THEN
2067: PO_LOG.proc_end (d_module);
2068: END IF;
2069:
2070: EXCEPTION
2071: WHEN OTHERS THEN
2107: l_index_tbl DBMS_SQL.NUMBER_TABLE;
2108: BEGIN
2109: d_position := 0;
2110:
2111: IF (PO_LOG.d_proc) THEN
2112: PO_LOG.proc_begin(d_module, 'line counts', x_lines.rec_count);
2113: END IF;
2114:
2115: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
2108: BEGIN
2109: d_position := 0;
2110:
2111: IF (PO_LOG.d_proc) THEN
2112: PO_LOG.proc_begin(d_module, 'line counts', x_lines.rec_count);
2113: END IF;
2114:
2115: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
2116:
2335: FOR i IN 1..x_lines.rec_count
2336: LOOP
2337: d_position := 140;
2338:
2339: IF (PO_LOG.d_stmt) THEN
2340: PO_LOG.stmt(d_module, d_position, 'index', i);
2341: END IF;
2342:
2343: -- bug5684695
2336: LOOP
2337: d_position := 140;
2338:
2339: IF (PO_LOG.d_stmt) THEN
2340: PO_LOG.stmt(d_module, d_position, 'index', i);
2341: END IF;
2342:
2343: -- bug5684695
2344: -- Removed validation for po_header_id at line level. Simply copy the
2348: -- derivation error for item_id
2349: IF (x_lines.item_tbl(i) IS NOT NULL AND
2350: x_lines.item_id_tbl(i) IS NULL AND
2351: PO_PDOI_PARAMS.g_request.create_items = 'N') THEN
2352: IF (PO_LOG.d_stmt) THEN
2353: PO_LOG.stmt(d_module, d_position, 'item id derivation failed');
2354: PO_LOG.stmt(d_module, d_position, 'item', x_lines.item_tbl(i));
2355: END IF;
2356:
2349: IF (x_lines.item_tbl(i) IS NOT NULL AND
2350: x_lines.item_id_tbl(i) IS NULL AND
2351: PO_PDOI_PARAMS.g_request.create_items = 'N') THEN
2352: IF (PO_LOG.d_stmt) THEN
2353: PO_LOG.stmt(d_module, d_position, 'item id derivation failed');
2354: PO_LOG.stmt(d_module, d_position, 'item', x_lines.item_tbl(i));
2355: END IF;
2356:
2357: PO_PDOI_ERR_UTL.add_fatal_error
2350: x_lines.item_id_tbl(i) IS NULL AND
2351: PO_PDOI_PARAMS.g_request.create_items = 'N') THEN
2352: IF (PO_LOG.d_stmt) THEN
2353: PO_LOG.stmt(d_module, d_position, 'item id derivation failed');
2354: PO_LOG.stmt(d_module, d_position, 'item', x_lines.item_tbl(i));
2355: END IF;
2356:
2357: PO_PDOI_ERR_UTL.add_fatal_error
2358: (
2371:
2372: -- derivation error for job_business_group_id
2373: IF (x_lines.job_business_group_name_tbl(i) IS NOT NULL AND
2374: x_lines.job_business_group_id_tbl(i) IS NULL) THEN
2375: IF (PO_LOG.d_stmt) THEN
2376: PO_LOG.stmt(d_module, d_position, 'job business group id derivation failed');
2377: PO_LOG.stmt(d_module, d_position, 'job business group name',
2378: x_lines.job_business_group_name_tbl(i));
2379: END IF;
2372: -- derivation error for job_business_group_id
2373: IF (x_lines.job_business_group_name_tbl(i) IS NOT NULL AND
2374: x_lines.job_business_group_id_tbl(i) IS NULL) THEN
2375: IF (PO_LOG.d_stmt) THEN
2376: PO_LOG.stmt(d_module, d_position, 'job business group id derivation failed');
2377: PO_LOG.stmt(d_module, d_position, 'job business group name',
2378: x_lines.job_business_group_name_tbl(i));
2379: END IF;
2380:
2373: IF (x_lines.job_business_group_name_tbl(i) IS NOT NULL AND
2374: x_lines.job_business_group_id_tbl(i) IS NULL) THEN
2375: IF (PO_LOG.d_stmt) THEN
2376: PO_LOG.stmt(d_module, d_position, 'job business group id derivation failed');
2377: PO_LOG.stmt(d_module, d_position, 'job business group name',
2378: x_lines.job_business_group_name_tbl(i));
2379: END IF;
2380:
2381: PO_PDOI_ERR_UTL.add_fatal_error
2394:
2395: x_lines.error_flag_tbl(i) := FND_API.g_TRUE;
2396: ELSIF (x_lines.job_name_tbl(i) IS NOT NULL AND -- derivation error for job_id
2397: x_lines.job_id_tbl(i) IS NULL) THEN
2398: IF (PO_LOG.d_stmt) THEN
2399: PO_LOG.stmt(d_module, d_position, 'job id derivation failed');
2400: PO_LOG.stmt(d_module, d_position, 'job name',
2401: x_lines.job_name_tbl(i));
2402: END IF;
2395: x_lines.error_flag_tbl(i) := FND_API.g_TRUE;
2396: ELSIF (x_lines.job_name_tbl(i) IS NOT NULL AND -- derivation error for job_id
2397: x_lines.job_id_tbl(i) IS NULL) THEN
2398: IF (PO_LOG.d_stmt) THEN
2399: PO_LOG.stmt(d_module, d_position, 'job id derivation failed');
2400: PO_LOG.stmt(d_module, d_position, 'job name',
2401: x_lines.job_name_tbl(i));
2402: END IF;
2403:
2396: ELSIF (x_lines.job_name_tbl(i) IS NOT NULL AND -- derivation error for job_id
2397: x_lines.job_id_tbl(i) IS NULL) THEN
2398: IF (PO_LOG.d_stmt) THEN
2399: PO_LOG.stmt(d_module, d_position, 'job id derivation failed');
2400: PO_LOG.stmt(d_module, d_position, 'job name',
2401: x_lines.job_name_tbl(i));
2402: END IF;
2403:
2404: PO_PDOI_ERR_UTL.add_fatal_error
2422:
2423: -- derivation error for category_id
2424: IF (x_lines.category_tbl(i) IS NOT NULL AND
2425: x_lines.category_id_tbl(i) IS NULL) THEN
2426: IF (PO_LOG.d_stmt) THEN
2427: PO_LOG.stmt(d_module, d_position, 'category id derivation failed');
2428: PO_LOG.stmt(d_module, d_position, 'category name',
2429: x_lines.category_tbl(i));
2430: END IF;
2423: -- derivation error for category_id
2424: IF (x_lines.category_tbl(i) IS NOT NULL AND
2425: x_lines.category_id_tbl(i) IS NULL) THEN
2426: IF (PO_LOG.d_stmt) THEN
2427: PO_LOG.stmt(d_module, d_position, 'category id derivation failed');
2428: PO_LOG.stmt(d_module, d_position, 'category name',
2429: x_lines.category_tbl(i));
2430: END IF;
2431:
2424: IF (x_lines.category_tbl(i) IS NOT NULL AND
2425: x_lines.category_id_tbl(i) IS NULL) THEN
2426: IF (PO_LOG.d_stmt) THEN
2427: PO_LOG.stmt(d_module, d_position, 'category id derivation failed');
2428: PO_LOG.stmt(d_module, d_position, 'category name',
2429: x_lines.category_tbl(i));
2430: END IF;
2431:
2432: PO_PDOI_ERR_UTL.add_fatal_error
2453: (PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET,
2454: PO_PDOI_CONSTANTS.g_DOC_TYPE_QUOTATION)) THEN
2455: IF (x_lines.ip_category_tbl(i) IS NOT NULL AND
2456: x_lines.ip_category_id_tbl(i) IS NULL) THEN
2457: IF (PO_LOG.d_stmt) THEN
2458: PO_LOG.stmt(d_module, d_position, 'ip category id derivation failed');
2459: PO_LOG.stmt(d_module, d_position, 'ip category name',
2460: x_lines.ip_category_tbl(i));
2461: END IF;
2454: PO_PDOI_CONSTANTS.g_DOC_TYPE_QUOTATION)) THEN
2455: IF (x_lines.ip_category_tbl(i) IS NOT NULL AND
2456: x_lines.ip_category_id_tbl(i) IS NULL) THEN
2457: IF (PO_LOG.d_stmt) THEN
2458: PO_LOG.stmt(d_module, d_position, 'ip category id derivation failed');
2459: PO_LOG.stmt(d_module, d_position, 'ip category name',
2460: x_lines.ip_category_tbl(i));
2461: END IF;
2462:
2455: IF (x_lines.ip_category_tbl(i) IS NOT NULL AND
2456: x_lines.ip_category_id_tbl(i) IS NULL) THEN
2457: IF (PO_LOG.d_stmt) THEN
2458: PO_LOG.stmt(d_module, d_position, 'ip category id derivation failed');
2459: PO_LOG.stmt(d_module, d_position, 'ip category name',
2460: x_lines.ip_category_tbl(i));
2461: END IF;
2462:
2463: PO_PDOI_ERR_UTL.add_fatal_error
2482:
2483: -- derivation error for unit_of_measure
2484: IF (x_lines.uom_code_tbl(i) IS NOT NULL AND
2485: x_lines.unit_of_measure_tbl(i) IS NULL) THEN
2486: IF (PO_LOG.d_stmt) THEN
2487: PO_LOG.stmt(d_module, d_position, 'unit of measure derivation failed');
2488: PO_LOG.stmt(d_module, d_position, 'uom code',
2489: x_lines.uom_code_tbl(i));
2490: END IF;
2483: -- derivation error for unit_of_measure
2484: IF (x_lines.uom_code_tbl(i) IS NOT NULL AND
2485: x_lines.unit_of_measure_tbl(i) IS NULL) THEN
2486: IF (PO_LOG.d_stmt) THEN
2487: PO_LOG.stmt(d_module, d_position, 'unit of measure derivation failed');
2488: PO_LOG.stmt(d_module, d_position, 'uom code',
2489: x_lines.uom_code_tbl(i));
2490: END IF;
2491:
2484: IF (x_lines.uom_code_tbl(i) IS NOT NULL AND
2485: x_lines.unit_of_measure_tbl(i) IS NULL) THEN
2486: IF (PO_LOG.d_stmt) THEN
2487: PO_LOG.stmt(d_module, d_position, 'unit of measure derivation failed');
2488: PO_LOG.stmt(d_module, d_position, 'uom code',
2489: x_lines.uom_code_tbl(i));
2490: END IF;
2491:
2492: PO_PDOI_ERR_UTL.add_fatal_error
2510:
2511: -- derivation error for line_type_id
2512: IF (x_lines.line_type_tbl(i) IS NOT NULL AND
2513: x_lines.line_type_id_tbl(i) IS NULL) THEN
2514: IF (PO_LOG.d_stmt) THEN
2515: PO_LOG.stmt(d_module, d_position, 'line type id derivation failed');
2516: PO_LOG.stmt(d_module, d_position, 'line type',
2517: x_lines.line_type_tbl(i));
2518: END IF;
2511: -- derivation error for line_type_id
2512: IF (x_lines.line_type_tbl(i) IS NOT NULL AND
2513: x_lines.line_type_id_tbl(i) IS NULL) THEN
2514: IF (PO_LOG.d_stmt) THEN
2515: PO_LOG.stmt(d_module, d_position, 'line type id derivation failed');
2516: PO_LOG.stmt(d_module, d_position, 'line type',
2517: x_lines.line_type_tbl(i));
2518: END IF;
2519:
2512: IF (x_lines.line_type_tbl(i) IS NOT NULL AND
2513: x_lines.line_type_id_tbl(i) IS NULL) THEN
2514: IF (PO_LOG.d_stmt) THEN
2515: PO_LOG.stmt(d_module, d_position, 'line type id derivation failed');
2516: PO_LOG.stmt(d_module, d_position, 'line type',
2517: x_lines.line_type_tbl(i));
2518: END IF;
2519:
2520: PO_PDOI_ERR_UTL.add_fatal_error
2538:
2539: -- derivation error for un_number_id
2540: IF (x_lines.un_number_tbl(i) IS NOT NULL AND
2541: x_lines.un_number_id_tbl(i) IS NULL) THEN
2542: IF (PO_LOG.d_stmt) THEN
2543: PO_LOG.stmt(d_module, d_position, 'un number id derivation failed');
2544: PO_LOG.stmt(d_module, d_position, 'un number',
2545: x_lines.un_number_tbl(i));
2546: END IF;
2539: -- derivation error for un_number_id
2540: IF (x_lines.un_number_tbl(i) IS NOT NULL AND
2541: x_lines.un_number_id_tbl(i) IS NULL) THEN
2542: IF (PO_LOG.d_stmt) THEN
2543: PO_LOG.stmt(d_module, d_position, 'un number id derivation failed');
2544: PO_LOG.stmt(d_module, d_position, 'un number',
2545: x_lines.un_number_tbl(i));
2546: END IF;
2547:
2540: IF (x_lines.un_number_tbl(i) IS NOT NULL AND
2541: x_lines.un_number_id_tbl(i) IS NULL) THEN
2542: IF (PO_LOG.d_stmt) THEN
2543: PO_LOG.stmt(d_module, d_position, 'un number id derivation failed');
2544: PO_LOG.stmt(d_module, d_position, 'un number',
2545: x_lines.un_number_tbl(i));
2546: END IF;
2547:
2548: PO_PDOI_ERR_UTL.add_fatal_error
2564:
2565: -- derivation error for hazard_class_id
2566: IF (x_lines.hazard_class_tbl(i) IS NOT NULL AND
2567: x_lines.hazard_class_id_tbl(i) IS NULL) THEN
2568: IF (PO_LOG.d_stmt) THEN
2569: PO_LOG.stmt(d_module, d_position, 'hazard class id derivation failed');
2570: PO_LOG.stmt(d_module, d_position, 'hazard class',
2571: x_lines.hazard_class_tbl(i));
2572: END IF;
2565: -- derivation error for hazard_class_id
2566: IF (x_lines.hazard_class_tbl(i) IS NOT NULL AND
2567: x_lines.hazard_class_id_tbl(i) IS NULL) THEN
2568: IF (PO_LOG.d_stmt) THEN
2569: PO_LOG.stmt(d_module, d_position, 'hazard class id derivation failed');
2570: PO_LOG.stmt(d_module, d_position, 'hazard class',
2571: x_lines.hazard_class_tbl(i));
2572: END IF;
2573:
2566: IF (x_lines.hazard_class_tbl(i) IS NOT NULL AND
2567: x_lines.hazard_class_id_tbl(i) IS NULL) THEN
2568: IF (PO_LOG.d_stmt) THEN
2569: PO_LOG.stmt(d_module, d_position, 'hazard class id derivation failed');
2570: PO_LOG.stmt(d_module, d_position, 'hazard class',
2571: x_lines.hazard_class_tbl(i));
2572: END IF;
2573:
2574: PO_PDOI_ERR_UTL.add_fatal_error
2590:
2591: -- derivation error for template_id
2592: IF (x_lines.template_name_tbl(i) IS NOT NULL AND
2593: x_lines.template_id_tbl(i) IS NULL) THEN
2594: IF (PO_LOG.d_stmt) THEN
2595: PO_LOG.stmt(d_module, d_position, 'template id derivation failed');
2596: PO_LOG.stmt(d_module, d_position, 'template name',
2597: x_lines.template_name_tbl(i));
2598: END IF;
2591: -- derivation error for template_id
2592: IF (x_lines.template_name_tbl(i) IS NOT NULL AND
2593: x_lines.template_id_tbl(i) IS NULL) THEN
2594: IF (PO_LOG.d_stmt) THEN
2595: PO_LOG.stmt(d_module, d_position, 'template id derivation failed');
2596: PO_LOG.stmt(d_module, d_position, 'template name',
2597: x_lines.template_name_tbl(i));
2598: END IF;
2599:
2592: IF (x_lines.template_name_tbl(i) IS NOT NULL AND
2593: x_lines.template_id_tbl(i) IS NULL) THEN
2594: IF (PO_LOG.d_stmt) THEN
2595: PO_LOG.stmt(d_module, d_position, 'template id derivation failed');
2596: PO_LOG.stmt(d_module, d_position, 'template name',
2597: x_lines.template_name_tbl(i));
2598: END IF;
2599:
2600: PO_PDOI_ERR_UTL.add_fatal_error
2619: THEN
2620: -- derivation error for contract_type
2621: IF (x_lines.contract_type_display_tbl(i) IS NOT NULL AND
2622: x_lines.contract_type_tbl(i) IS NULL) THEN
2623: IF (PO_LOG.d_stmt) THEN
2624: PO_LOG.stmt(d_module, d_position, 'contract type derivation failed');
2625: PO_LOG.stmt(d_module, d_position, 'contract type',
2626: x_lines.contract_type_display_tbl(i));
2627: END IF;
2620: -- derivation error for contract_type
2621: IF (x_lines.contract_type_display_tbl(i) IS NOT NULL AND
2622: x_lines.contract_type_tbl(i) IS NULL) THEN
2623: IF (PO_LOG.d_stmt) THEN
2624: PO_LOG.stmt(d_module, d_position, 'contract type derivation failed');
2625: PO_LOG.stmt(d_module, d_position, 'contract type',
2626: x_lines.contract_type_display_tbl(i));
2627: END IF;
2628:
2621: IF (x_lines.contract_type_display_tbl(i) IS NOT NULL AND
2622: x_lines.contract_type_tbl(i) IS NULL) THEN
2623: IF (PO_LOG.d_stmt) THEN
2624: PO_LOG.stmt(d_module, d_position, 'contract type derivation failed');
2625: PO_LOG.stmt(d_module, d_position, 'contract type',
2626: x_lines.contract_type_display_tbl(i));
2627: END IF;
2628:
2629: PO_PDOI_ERR_UTL.add_fatal_error
2645:
2646: -- derivation error for cost constraint
2647: IF (x_lines.cost_constraint_display_tbl(i) IS NOT NULL AND
2648: x_lines.cost_constraint_tbl(i) IS NULL) THEN
2649: IF (PO_LOG.d_stmt) THEN
2650: PO_LOG.stmt(d_module, d_position, 'cost constraint derivation failed');
2651: PO_LOG.stmt(d_module, d_position, 'cost constraint',
2652: x_lines.cost_constraint_display_tbl(i));
2653: END IF;
2646: -- derivation error for cost constraint
2647: IF (x_lines.cost_constraint_display_tbl(i) IS NOT NULL AND
2648: x_lines.cost_constraint_tbl(i) IS NULL) THEN
2649: IF (PO_LOG.d_stmt) THEN
2650: PO_LOG.stmt(d_module, d_position, 'cost constraint derivation failed');
2651: PO_LOG.stmt(d_module, d_position, 'cost constraint',
2652: x_lines.cost_constraint_display_tbl(i));
2653: END IF;
2654:
2647: IF (x_lines.cost_constraint_display_tbl(i) IS NOT NULL AND
2648: x_lines.cost_constraint_tbl(i) IS NULL) THEN
2649: IF (PO_LOG.d_stmt) THEN
2650: PO_LOG.stmt(d_module, d_position, 'cost constraint derivation failed');
2651: PO_LOG.stmt(d_module, d_position, 'cost constraint',
2652: x_lines.cost_constraint_display_tbl(i));
2653: END IF;
2654:
2655: PO_PDOI_ERR_UTL.add_fatal_error
2671:
2672: -- derivation error for clm_idc_type
2673: IF (x_lines.clm_idc_type_display_tbl(i) IS NOT NULL AND
2674: x_lines.clm_idc_type_tbl(i) IS NULL) THEN
2675: IF (PO_LOG.d_stmt) THEN
2676: PO_LOG.stmt(d_module, d_position, 'clm_idc_type derivation failed');
2677: PO_LOG.stmt(d_module, d_position, 'clm_idc_type',
2678: x_lines.clm_idc_type_display_tbl(i));
2679: END IF;
2672: -- derivation error for clm_idc_type
2673: IF (x_lines.clm_idc_type_display_tbl(i) IS NOT NULL AND
2674: x_lines.clm_idc_type_tbl(i) IS NULL) THEN
2675: IF (PO_LOG.d_stmt) THEN
2676: PO_LOG.stmt(d_module, d_position, 'clm_idc_type derivation failed');
2677: PO_LOG.stmt(d_module, d_position, 'clm_idc_type',
2678: x_lines.clm_idc_type_display_tbl(i));
2679: END IF;
2680:
2673: IF (x_lines.clm_idc_type_display_tbl(i) IS NOT NULL AND
2674: x_lines.clm_idc_type_tbl(i) IS NULL) THEN
2675: IF (PO_LOG.d_stmt) THEN
2676: PO_LOG.stmt(d_module, d_position, 'clm_idc_type derivation failed');
2677: PO_LOG.stmt(d_module, d_position, 'clm_idc_type',
2678: x_lines.clm_idc_type_display_tbl(i));
2679: END IF;
2680:
2681: PO_PDOI_ERR_UTL.add_fatal_error
2697:
2698: -- derivation error for clm_base_line_num
2699: IF (x_lines.clm_base_line_num_disp_tbl(i) IS NOT NULL AND
2700: x_lines.clm_base_line_num_tbl(i) IS NULL) THEN
2701: IF (PO_LOG.d_stmt) THEN
2702: PO_LOG.stmt(d_module, d_position, 'clm_base_line_num derivation failed');
2703: PO_LOG.stmt(d_module, d_position, 'clm_base_line_num',
2704: x_lines.clm_base_line_num_disp_tbl(i));
2705: END IF;
2698: -- derivation error for clm_base_line_num
2699: IF (x_lines.clm_base_line_num_disp_tbl(i) IS NOT NULL AND
2700: x_lines.clm_base_line_num_tbl(i) IS NULL) THEN
2701: IF (PO_LOG.d_stmt) THEN
2702: PO_LOG.stmt(d_module, d_position, 'clm_base_line_num derivation failed');
2703: PO_LOG.stmt(d_module, d_position, 'clm_base_line_num',
2704: x_lines.clm_base_line_num_disp_tbl(i));
2705: END IF;
2706:
2699: IF (x_lines.clm_base_line_num_disp_tbl(i) IS NOT NULL AND
2700: x_lines.clm_base_line_num_tbl(i) IS NULL) THEN
2701: IF (PO_LOG.d_stmt) THEN
2702: PO_LOG.stmt(d_module, d_position, 'clm_base_line_num derivation failed');
2703: PO_LOG.stmt(d_module, d_position, 'clm_base_line_num',
2704: x_lines.clm_base_line_num_disp_tbl(i));
2705: END IF;
2706:
2707: PO_PDOI_ERR_UTL.add_fatal_error
2723:
2724: -- derivation error for from_header_id
2725: IF (x_lines.from_header_disp_tbl(i) IS NOT NULL AND
2726: x_lines.from_header_id_tbl(i) IS NULL) THEN
2727: IF (PO_LOG.d_stmt) THEN
2728: PO_LOG.stmt(d_module, d_position, 'from_header_id derivation failed');
2729: PO_LOG.stmt(d_module, d_position, 'from_header_id',
2730: x_lines.from_header_disp_tbl(i));
2731: END IF;
2724: -- derivation error for from_header_id
2725: IF (x_lines.from_header_disp_tbl(i) IS NOT NULL AND
2726: x_lines.from_header_id_tbl(i) IS NULL) THEN
2727: IF (PO_LOG.d_stmt) THEN
2728: PO_LOG.stmt(d_module, d_position, 'from_header_id derivation failed');
2729: PO_LOG.stmt(d_module, d_position, 'from_header_id',
2730: x_lines.from_header_disp_tbl(i));
2731: END IF;
2732:
2725: IF (x_lines.from_header_disp_tbl(i) IS NOT NULL AND
2726: x_lines.from_header_id_tbl(i) IS NULL) THEN
2727: IF (PO_LOG.d_stmt) THEN
2728: PO_LOG.stmt(d_module, d_position, 'from_header_id derivation failed');
2729: PO_LOG.stmt(d_module, d_position, 'from_header_id',
2730: x_lines.from_header_disp_tbl(i));
2731: END IF;
2732:
2733: PO_PDOI_ERR_UTL.add_fatal_error
2749:
2750: -- derivation error for from_line_id
2751: IF (x_lines.from_line_disp_tbl(i) IS NOT NULL AND
2752: x_lines.from_line_id_tbl(i) IS NULL) THEN
2753: IF (PO_LOG.d_stmt) THEN
2754: PO_LOG.stmt(d_module, d_position, 'from_line_id derivation failed');
2755: PO_LOG.stmt(d_module, d_position, 'from_line_id',
2756: x_lines.from_line_disp_tbl(i));
2757: END IF;
2750: -- derivation error for from_line_id
2751: IF (x_lines.from_line_disp_tbl(i) IS NOT NULL AND
2752: x_lines.from_line_id_tbl(i) IS NULL) THEN
2753: IF (PO_LOG.d_stmt) THEN
2754: PO_LOG.stmt(d_module, d_position, 'from_line_id derivation failed');
2755: PO_LOG.stmt(d_module, d_position, 'from_line_id',
2756: x_lines.from_line_disp_tbl(i));
2757: END IF;
2758:
2751: IF (x_lines.from_line_disp_tbl(i) IS NOT NULL AND
2752: x_lines.from_line_id_tbl(i) IS NULL) THEN
2753: IF (PO_LOG.d_stmt) THEN
2754: PO_LOG.stmt(d_module, d_position, 'from_line_id derivation failed');
2755: PO_LOG.stmt(d_module, d_position, 'from_line_id',
2756: x_lines.from_line_disp_tbl(i));
2757: END IF;
2758:
2759: PO_PDOI_ERR_UTL.add_fatal_error
2778: END LOOP;
2779:
2780: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
2781:
2782: IF (PO_LOG.d_proc) THEN
2783: PO_LOG.proc_end (d_module);
2784: END IF;
2785:
2786: EXCEPTION
2779:
2780: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
2781:
2782: IF (PO_LOG.d_proc) THEN
2783: PO_LOG.proc_end (d_module);
2784: END IF;
2785:
2786: EXCEPTION
2787: WHEN OTHERS THEN
2825: l_index_tbl DBMS_SQL.NUMBER_TABLE;
2826: BEGIN
2827: d_position := 0;
2828:
2829: IF (PO_LOG.d_proc) THEN
2830: PO_LOG.proc_begin(d_module, 'line counts', x_lines.rec_count);
2831: END IF;
2832:
2833: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
2826: BEGIN
2827: d_position := 0;
2828:
2829: IF (PO_LOG.d_proc) THEN
2830: PO_LOG.proc_begin(d_module, 'line counts', x_lines.rec_count);
2831: END IF;
2832:
2833: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
2834:
2929: FOR i IN 1..x_lines.rec_count
2930: LOOP
2931: d_position := 50;
2932:
2933: IF (PO_LOG.d_stmt) THEN
2934: PO_LOG.stmt(d_module, d_position, 'index', i);
2935: END IF;
2936:
2937: -- derivation error for category_id
2930: LOOP
2931: d_position := 50;
2932:
2933: IF (PO_LOG.d_stmt) THEN
2934: PO_LOG.stmt(d_module, d_position, 'index', i);
2935: END IF;
2936:
2937: -- derivation error for category_id
2938: IF (x_lines.category_tbl(i) IS NOT NULL AND
2936:
2937: -- derivation error for category_id
2938: IF (x_lines.category_tbl(i) IS NOT NULL AND
2939: x_lines.category_id_tbl(i) IS NULL) THEN
2940: IF (PO_LOG.d_stmt) THEN
2941: PO_LOG.stmt(d_module, d_position, 'category id derivation failed');
2942: PO_LOG.stmt(d_module, d_position, 'category name',
2943: x_lines.category_tbl(i));
2944: END IF;
2937: -- derivation error for category_id
2938: IF (x_lines.category_tbl(i) IS NOT NULL AND
2939: x_lines.category_id_tbl(i) IS NULL) THEN
2940: IF (PO_LOG.d_stmt) THEN
2941: PO_LOG.stmt(d_module, d_position, 'category id derivation failed');
2942: PO_LOG.stmt(d_module, d_position, 'category name',
2943: x_lines.category_tbl(i));
2944: END IF;
2945:
2938: IF (x_lines.category_tbl(i) IS NOT NULL AND
2939: x_lines.category_id_tbl(i) IS NULL) THEN
2940: IF (PO_LOG.d_stmt) THEN
2941: PO_LOG.stmt(d_module, d_position, 'category id derivation failed');
2942: PO_LOG.stmt(d_module, d_position, 'category name',
2943: x_lines.category_tbl(i));
2944: END IF;
2945:
2946: PO_PDOI_ERR_UTL.add_fatal_error
2965: (PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET,
2966: PO_PDOI_CONSTANTS.g_DOC_TYPE_QUOTATION)) THEN
2967: IF (x_lines.ip_category_tbl(i) IS NOT NULL AND
2968: x_lines.ip_category_id_tbl(i) IS NULL) THEN
2969: IF (PO_LOG.d_stmt) THEN
2970: PO_LOG.stmt(d_module, d_position, 'ip category id derivation failed');
2971: PO_LOG.stmt(d_module, d_position, 'ip category name',
2972: x_lines.ip_category_tbl(i));
2973: END IF;
2966: PO_PDOI_CONSTANTS.g_DOC_TYPE_QUOTATION)) THEN
2967: IF (x_lines.ip_category_tbl(i) IS NOT NULL AND
2968: x_lines.ip_category_id_tbl(i) IS NULL) THEN
2969: IF (PO_LOG.d_stmt) THEN
2970: PO_LOG.stmt(d_module, d_position, 'ip category id derivation failed');
2971: PO_LOG.stmt(d_module, d_position, 'ip category name',
2972: x_lines.ip_category_tbl(i));
2973: END IF;
2974:
2967: IF (x_lines.ip_category_tbl(i) IS NOT NULL AND
2968: x_lines.ip_category_id_tbl(i) IS NULL) THEN
2969: IF (PO_LOG.d_stmt) THEN
2970: PO_LOG.stmt(d_module, d_position, 'ip category id derivation failed');
2971: PO_LOG.stmt(d_module, d_position, 'ip category name',
2972: x_lines.ip_category_tbl(i));
2973: END IF;
2974:
2975: PO_PDOI_ERR_UTL.add_fatal_error
2992:
2993: -- derivation error for unit_of_measure
2994: IF (x_lines.uom_code_tbl(i) IS NOT NULL AND
2995: x_lines.unit_of_measure_tbl(i) IS NULL) THEN
2996: IF (PO_LOG.d_stmt) THEN
2997: PO_LOG.stmt(d_module, d_position, 'unit of measure derivation failed');
2998: PO_LOG.stmt(d_module, d_position, 'uom code',
2999: x_lines.uom_code_tbl(i));
3000: END IF;
2993: -- derivation error for unit_of_measure
2994: IF (x_lines.uom_code_tbl(i) IS NOT NULL AND
2995: x_lines.unit_of_measure_tbl(i) IS NULL) THEN
2996: IF (PO_LOG.d_stmt) THEN
2997: PO_LOG.stmt(d_module, d_position, 'unit of measure derivation failed');
2998: PO_LOG.stmt(d_module, d_position, 'uom code',
2999: x_lines.uom_code_tbl(i));
3000: END IF;
3001:
2994: IF (x_lines.uom_code_tbl(i) IS NOT NULL AND
2995: x_lines.unit_of_measure_tbl(i) IS NULL) THEN
2996: IF (PO_LOG.d_stmt) THEN
2997: PO_LOG.stmt(d_module, d_position, 'unit of measure derivation failed');
2998: PO_LOG.stmt(d_module, d_position, 'uom code',
2999: x_lines.uom_code_tbl(i));
3000: END IF;
3001:
3002: PO_PDOI_ERR_UTL.add_fatal_error
3018: END LOOP;
3019:
3020: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
3021:
3022: IF (PO_LOG.d_proc) THEN
3023: PO_LOG.proc_end (d_module);
3024: END IF;
3025:
3026: EXCEPTION
3019:
3020: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
3021:
3022: IF (PO_LOG.d_proc) THEN
3023: PO_LOG.proc_end (d_module);
3024: END IF;
3025:
3026: EXCEPTION
3027: WHEN OTHERS THEN
3092:
3093: BEGIN
3094: d_position := 0;
3095:
3096: IF (PO_LOG.d_proc) THEN
3097: PO_LOG.proc_begin(d_module);
3098: END IF;
3099:
3100: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_DEFAULT);
3093: BEGIN
3094: d_position := 0;
3095:
3096: IF (PO_LOG.d_proc) THEN
3097: PO_LOG.proc_begin(d_module);
3098: END IF;
3099:
3100: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_DEFAULT);
3101:
3109: d_position := 10;
3110:
3111: -- set default value for line_type_id
3112: IF (x_lines.line_type_id_tbl(i) IS NULL) THEN
3113: IF (PO_LOG.d_stmt) THEN
3114: PO_LOG.stmt(d_module, d_position, 'set default line type id on line index', i);
3115: END IF;
3116:
3117: x_lines.line_type_id_tbl(i) := PO_PDOI_PARAMS.g_sys.line_type_id;
3110:
3111: -- set default value for line_type_id
3112: IF (x_lines.line_type_id_tbl(i) IS NULL) THEN
3113: IF (PO_LOG.d_stmt) THEN
3114: PO_LOG.stmt(d_module, d_position, 'set default line type id on line index', i);
3115: END IF;
3116:
3117: x_lines.line_type_id_tbl(i) := PO_PDOI_PARAMS.g_sys.line_type_id;
3118: END IF;
3199: FOR i IN 1..x_lines.rec_count
3200: LOOP
3201: d_position := 60;
3202:
3203: IF (PO_LOG.d_stmt) THEN
3204: PO_LOG.stmt(d_module, d_position, 'index', i);
3205: END IF;
3206:
3207: -- bug5307208
3200: LOOP
3201: d_position := 60;
3202:
3203: IF (PO_LOG.d_stmt) THEN
3204: PO_LOG.stmt(d_module, d_position, 'index', i);
3205: END IF;
3206:
3207: -- bug5307208
3208: -- Effective and Expiration date should get truncated.
3225: -- 2. order_type_lookup_code is not 'FIXED PRICE' and
3226: IF (x_lines.unit_price_tbl(i) IS NULL AND
3227: x_lines.order_type_lookup_code_tbl(i) <> 'FIXED PRICE') THEN
3228: IF (x_lines.order_type_lookup_code_tbl(i) = 'AMOUNT') THEN
3229: IF (PO_LOG.d_stmt) THEN
3230: PO_LOG.stmt(d_module, d_position, 'set price when order type is AMOUNT',
3231: l_li_unit_price_tbl(i));
3232: END IF;
3233:
3226: IF (x_lines.unit_price_tbl(i) IS NULL AND
3227: x_lines.order_type_lookup_code_tbl(i) <> 'FIXED PRICE') THEN
3228: IF (x_lines.order_type_lookup_code_tbl(i) = 'AMOUNT') THEN
3229: IF (PO_LOG.d_stmt) THEN
3230: PO_LOG.stmt(d_module, d_position, 'set price when order type is AMOUNT',
3231: l_li_unit_price_tbl(i));
3232: END IF;
3233:
3234: x_lines.unit_price_tbl(i) := l_li_unit_price_tbl(i);
3233:
3234: x_lines.unit_price_tbl(i) := l_li_unit_price_tbl(i);
3235: ELSE
3236: IF (x_lines.item_id_tbl(i) IS NOT NULL) THEN
3237: IF (PO_LOG.d_stmt) THEN
3238: PO_LOG.stmt(d_module, d_position, 'set price when item id is not empty',
3239: l_it_unit_price_tbl(i));
3240: END IF;
3241:
3234: x_lines.unit_price_tbl(i) := l_li_unit_price_tbl(i);
3235: ELSE
3236: IF (x_lines.item_id_tbl(i) IS NOT NULL) THEN
3237: IF (PO_LOG.d_stmt) THEN
3238: PO_LOG.stmt(d_module, d_position, 'set price when item id is not empty',
3239: l_it_unit_price_tbl(i));
3240: END IF;
3241:
3242: x_lines.unit_price_tbl(i) := l_it_unit_price_tbl(i);
3240: END IF;
3241:
3242: x_lines.unit_price_tbl(i) := l_it_unit_price_tbl(i);
3243: ELSE
3244: IF (PO_LOG.d_stmt) THEN
3245: PO_LOG.stmt(d_module, d_position, 'set price when item id is empty',
3246: NVL(l_li_unit_price_tbl(i), 0));
3247: END IF;
3248:
3241:
3242: x_lines.unit_price_tbl(i) := l_it_unit_price_tbl(i);
3243: ELSE
3244: IF (PO_LOG.d_stmt) THEN
3245: PO_LOG.stmt(d_module, d_position, 'set price when item id is empty',
3246: NVL(l_li_unit_price_tbl(i), 0));
3247: END IF;
3248:
3249: x_lines.unit_price_tbl(i) := NVL(l_li_unit_price_tbl(i), 0);
3274: l_job_category_id_tbl(i), l_ic_category_id_tbl(i),
3275: l_li_category_id_tbl(i),
3276: PO_PDOI_PARAMS.g_sys.def_category_id);
3277:
3278: IF (PO_LOG.d_stmt) THEN
3279: PO_LOG.stmt(d_module, d_position, 'default category id',
3280: x_lines.category_id_tbl(i));
3281: END IF;
3282:
3275: l_li_category_id_tbl(i),
3276: PO_PDOI_PARAMS.g_sys.def_category_id);
3277:
3278: IF (PO_LOG.d_stmt) THEN
3279: PO_LOG.stmt(d_module, d_position, 'default category id',
3280: x_lines.category_id_tbl(i));
3281: END IF;
3282:
3283: -- default un_number_id and hazard_class_id from item
3300: (PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET,
3301: PO_PDOI_CONSTANTS.g_DOC_TYPE_STANDARD)) THEN
3302: d_position := 80;
3303:
3304: IF (PO_LOG.d_stmt) THEN
3305: PO_LOG.stmt(d_module, d_position, 'set default value for blanket/spo');
3306: END IF;
3307:
3308: -- default list_price_per_unit
3301: PO_PDOI_CONSTANTS.g_DOC_TYPE_STANDARD)) THEN
3302: d_position := 80;
3303:
3304: IF (PO_LOG.d_stmt) THEN
3305: PO_LOG.stmt(d_module, d_position, 'set default value for blanket/spo');
3306: END IF;
3307:
3308: -- default list_price_per_unit
3309: IF (x_lines.list_price_per_unit_tbl(i) IS NULL) THEN
3342: IF (PO_PDOI_PARAMS.g_request.document_type =
3343: PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET) THEN
3344: d_position := 90;
3345:
3346: IF (PO_LOG.d_stmt) THEN
3347: PO_LOG.stmt(d_module, d_position, 'set default value for blanket');
3348: END IF;
3349:
3350: -- min_release_amount
3343: PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET) THEN
3344: d_position := 90;
3345:
3346: IF (PO_LOG.d_stmt) THEN
3347: PO_LOG.stmt(d_module, d_position, 'set default value for blanket');
3348: END IF;
3349:
3350: -- min_release_amount
3351: x_lines.min_release_amount_tbl(i) :=
3499: --CLM PDOI Integration Ends
3500:
3501: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_DEFAULT);
3502:
3503: IF (PO_LOG.d_proc) THEN
3504: PO_LOG.proc_end (d_module);
3505: END IF;
3506:
3507: EXCEPTION
3500:
3501: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_DEFAULT);
3502:
3503: IF (PO_LOG.d_proc) THEN
3504: PO_LOG.proc_end (d_module);
3505: END IF;
3506:
3507: EXCEPTION
3508: WHEN OTHERS THEN
3558:
3559: BEGIN
3560: d_position := 0;
3561:
3562: IF (PO_LOG.d_proc) THEN
3563: PO_LOG.proc_begin(d_module, 'po_line_id', x_lines.po_line_id_tbl);
3564: PO_LOG.proc_begin(d_module, 'draft_id', x_lines.draft_id_tbl);
3565: END IF;
3566:
3559: BEGIN
3560: d_position := 0;
3561:
3562: IF (PO_LOG.d_proc) THEN
3563: PO_LOG.proc_begin(d_module, 'po_line_id', x_lines.po_line_id_tbl);
3564: PO_LOG.proc_begin(d_module, 'draft_id', x_lines.draft_id_tbl);
3565: END IF;
3566:
3567: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
3560: d_position := 0;
3561:
3562: IF (PO_LOG.d_proc) THEN
3563: PO_LOG.proc_begin(d_module, 'po_line_id', x_lines.po_line_id_tbl);
3564: PO_LOG.proc_begin(d_module, 'draft_id', x_lines.draft_id_tbl);
3565: END IF;
3566:
3567: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
3568:
3617: l_index_tbl, l_order_type_tbl, l_item_id_tbl, l_job_id_tbl, l_po_header_id_tbl ; --l_po_header_id_tbl added by vegajula for bugno:9531925
3618:
3619: d_position := 40;
3620:
3621: IF (PO_LOG.d_stmt) THEN
3622: PO_LOG.stmt(d_module, d_position, 'l_index_tbl', l_index_tbl);
3623: PO_LOG.stmt(d_module, d_position, 'l_order_type_tbl', l_order_type_tbl);
3624: PO_LOG.stmt(d_module, d_position, 'l_item_id_tbl', l_item_id_tbl);
3625: PO_LOG.stmt(d_module, d_position, 'l_job_id_tbl', l_job_id_tbl);
3618:
3619: d_position := 40;
3620:
3621: IF (PO_LOG.d_stmt) THEN
3622: PO_LOG.stmt(d_module, d_position, 'l_index_tbl', l_index_tbl);
3623: PO_LOG.stmt(d_module, d_position, 'l_order_type_tbl', l_order_type_tbl);
3624: PO_LOG.stmt(d_module, d_position, 'l_item_id_tbl', l_item_id_tbl);
3625: PO_LOG.stmt(d_module, d_position, 'l_job_id_tbl', l_job_id_tbl);
3626: END IF;
3619: d_position := 40;
3620:
3621: IF (PO_LOG.d_stmt) THEN
3622: PO_LOG.stmt(d_module, d_position, 'l_index_tbl', l_index_tbl);
3623: PO_LOG.stmt(d_module, d_position, 'l_order_type_tbl', l_order_type_tbl);
3624: PO_LOG.stmt(d_module, d_position, 'l_item_id_tbl', l_item_id_tbl);
3625: PO_LOG.stmt(d_module, d_position, 'l_job_id_tbl', l_job_id_tbl);
3626: END IF;
3627:
3620:
3621: IF (PO_LOG.d_stmt) THEN
3622: PO_LOG.stmt(d_module, d_position, 'l_index_tbl', l_index_tbl);
3623: PO_LOG.stmt(d_module, d_position, 'l_order_type_tbl', l_order_type_tbl);
3624: PO_LOG.stmt(d_module, d_position, 'l_item_id_tbl', l_item_id_tbl);
3625: PO_LOG.stmt(d_module, d_position, 'l_job_id_tbl', l_job_id_tbl);
3626: END IF;
3627:
3628: FOR i IN 1..l_index_tbl.COUNT
3621: IF (PO_LOG.d_stmt) THEN
3622: PO_LOG.stmt(d_module, d_position, 'l_index_tbl', l_index_tbl);
3623: PO_LOG.stmt(d_module, d_position, 'l_order_type_tbl', l_order_type_tbl);
3624: PO_LOG.stmt(d_module, d_position, 'l_item_id_tbl', l_item_id_tbl);
3625: PO_LOG.stmt(d_module, d_position, 'l_job_id_tbl', l_job_id_tbl);
3626: END IF;
3627:
3628: FOR i IN 1..l_index_tbl.COUNT
3629: LOOP
3635: END LOOP;
3636:
3637: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
3638:
3639: IF (PO_LOG.d_proc) THEN
3640: PO_LOG.proc_end (d_module);
3641: END IF;
3642:
3643: EXCEPTION
3636:
3637: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_DERIVE);
3638:
3639: IF (PO_LOG.d_proc) THEN
3640: PO_LOG.proc_end (d_module);
3641: END IF;
3642:
3643: EXCEPTION
3644: WHEN OTHERS THEN
3682: l_rej_intf_line_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
3683: BEGIN
3684: d_position := 0;
3685:
3686: IF (PO_LOG.d_proc) THEN
3687: PO_LOG.proc_begin(d_module);
3688: END IF;
3689:
3690: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_MATCH);
3683: BEGIN
3684: d_position := 0;
3685:
3686: IF (PO_LOG.d_proc) THEN
3687: PO_LOG.proc_begin(d_module);
3688: END IF;
3689:
3690: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_MATCH);
3691:
3697: );
3698:
3699: d_position := 10;
3700:
3701: IF (PO_LOG.d_stmt) THEN
3702: PO_LOG.stmt(d_module, d_position, 'start to match lines based on line num');
3703: END IF;
3704:
3705: -- bug5129752
3698:
3699: d_position := 10;
3700:
3701: IF (PO_LOG.d_stmt) THEN
3702: PO_LOG.stmt(d_module, d_position, 'start to match lines based on line num');
3703: END IF;
3704:
3705: -- bug5129752
3706: -- For FORCE ALL, simply set all line action to 'ADD'
3732: );
3733:
3734: d_position := 20;
3735:
3736: IF (PO_LOG.d_stmt) THEN
3737: PO_LOG.stmt(d_module, d_position, 'start to match lines based on item info');
3738: END IF;
3739:
3740: -- match lines based on item related info
3733:
3734: d_position := 20;
3735:
3736: IF (PO_LOG.d_stmt) THEN
3737: PO_LOG.stmt(d_module, d_position, 'start to match lines based on item info');
3738: END IF;
3739:
3740: -- match lines based on item related info
3741: match_lines_on_item_info
3764: x_create_lines => l_create_lines,
3765: x_update_lines => l_update_lines
3766: );
3767:
3768: IF (PO_LOG.d_stmt) THEN
3769: PO_LOG.stmt(d_module, d_position, 'num of created lines', l_create_lines.rec_count);
3770: PO_LOG.stmt(d_module, d_position, 'num of updated lines', l_update_lines.rec_count);
3771: END IF;
3772:
3765: x_update_lines => l_update_lines
3766: );
3767:
3768: IF (PO_LOG.d_stmt) THEN
3769: PO_LOG.stmt(d_module, d_position, 'num of created lines', l_create_lines.rec_count);
3770: PO_LOG.stmt(d_module, d_position, 'num of updated lines', l_update_lines.rec_count);
3771: END IF;
3772:
3773: d_position := 50;
3766: );
3767:
3768: IF (PO_LOG.d_stmt) THEN
3769: PO_LOG.stmt(d_module, d_position, 'num of created lines', l_create_lines.rec_count);
3770: PO_LOG.stmt(d_module, d_position, 'num of updated lines', l_update_lines.rec_count);
3771: END IF;
3772:
3773: d_position := 50;
3774:
3788: -- reject lines that has action=UPDATE and create_line_loc=N
3789: -- insert error message if the line is neither a po line or location
3790: FOR i IN 1..l_update_lines.rec_count
3791: LOOP
3792: IF (PO_LOG.d_stmt) THEN
3793: PO_LOG.stmt(d_module, d_position, 'index', i);
3794: PO_LOG.stmt(d_module, d_position, 'create location flag',
3795: l_update_lines.create_line_loc_tbl(i));
3796:
3789: -- insert error message if the line is neither a po line or location
3790: FOR i IN 1..l_update_lines.rec_count
3791: LOOP
3792: IF (PO_LOG.d_stmt) THEN
3793: PO_LOG.stmt(d_module, d_position, 'index', i);
3794: PO_LOG.stmt(d_module, d_position, 'create location flag',
3795: l_update_lines.create_line_loc_tbl(i));
3796:
3797: END IF;
3790: FOR i IN 1..l_update_lines.rec_count
3791: LOOP
3792: IF (PO_LOG.d_stmt) THEN
3793: PO_LOG.stmt(d_module, d_position, 'index', i);
3794: PO_LOG.stmt(d_module, d_position, 'create location flag',
3795: l_update_lines.create_line_loc_tbl(i));
3796:
3797: END IF;
3798:
3812: );
3813:
3814: l_rej_intf_line_id_tbl.EXTEND;
3815: l_rej_intf_line_id_tbl(l_rej_intf_line_id_tbl.COUNT) := l_update_lines.intf_line_id_tbl(i);
3816: IF (PO_LOG.d_stmt) THEN
3817: PO_LOG.stmt(d_module, d_position, 'to be rejected intf line id',
3818: l_update_lines.intf_line_id_tbl(i));
3819:
3820: END IF;
3813:
3814: l_rej_intf_line_id_tbl.EXTEND;
3815: l_rej_intf_line_id_tbl(l_rej_intf_line_id_tbl.COUNT) := l_update_lines.intf_line_id_tbl(i);
3816: IF (PO_LOG.d_stmt) THEN
3817: PO_LOG.stmt(d_module, d_position, 'to be rejected intf line id',
3818: l_update_lines.intf_line_id_tbl(i));
3819:
3820: END IF;
3821: END IF;
3831: );
3832:
3833: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_MATCH);
3834:
3835: IF (PO_LOG.d_proc) THEN
3836: PO_LOG.proc_end (d_module);
3837: END IF;
3838:
3839: EXCEPTION
3832:
3833: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_MATCH);
3834:
3835: IF (PO_LOG.d_proc) THEN
3836: PO_LOG.proc_end (d_module);
3837: END IF;
3838:
3839: EXCEPTION
3840: WHEN OTHERS THEN
3880:
3881: BEGIN
3882: d_position := 0;
3883:
3884: IF (PO_LOG.d_proc) THEN
3885: PO_LOG.proc_begin(d_module);
3886: END IF;
3887:
3888: l_obsoleted_loc_tbl.EXTEND(x_lines.rec_count);
3881: BEGIN
3882: d_position := 0;
3883:
3884: IF (PO_LOG.d_proc) THEN
3885: PO_LOG.proc_begin(d_module);
3886: END IF;
3887:
3888: l_obsoleted_loc_tbl.EXTEND(x_lines.rec_count);
3889:
3891: FOR i IN 1..x_lines.rec_count
3892: LOOP
3893: d_position := 10;
3894:
3895: IF (PO_LOG.d_stmt) THEN
3896: PO_LOG.stmt(d_module, d_position, 'index', i);
3897: PO_LOG.stmt(d_module, d_position, 'loc populated flag',
3898: x_lines.line_loc_populated_flag_tbl(i));
3899: END IF;
3892: LOOP
3893: d_position := 10;
3894:
3895: IF (PO_LOG.d_stmt) THEN
3896: PO_LOG.stmt(d_module, d_position, 'index', i);
3897: PO_LOG.stmt(d_module, d_position, 'loc populated flag',
3898: x_lines.line_loc_populated_flag_tbl(i));
3899: END IF;
3900:
3893: d_position := 10;
3894:
3895: IF (PO_LOG.d_stmt) THEN
3896: PO_LOG.stmt(d_module, d_position, 'index', i);
3897: PO_LOG.stmt(d_module, d_position, 'loc populated flag',
3898: x_lines.line_loc_populated_flag_tbl(i));
3899: END IF;
3900:
3901: IF (x_lines.line_loc_populated_flag_tbl(i) = 'S') THEN
3898: x_lines.line_loc_populated_flag_tbl(i));
3899: END IF;
3900:
3901: IF (x_lines.line_loc_populated_flag_tbl(i) = 'S') THEN
3902: IF (PO_LOG.d_stmt) THEN
3903: PO_LOG.stmt(d_module, d_position, 'document type',
3904: PO_PDOI_PARAMS.g_request.document_type);
3905: PO_LOG.stmt(d_module, d_position, 'order_type_lookup_code',
3906: x_lines.order_type_lookup_code_tbl(i));
3899: END IF;
3900:
3901: IF (x_lines.line_loc_populated_flag_tbl(i) = 'S') THEN
3902: IF (PO_LOG.d_stmt) THEN
3903: PO_LOG.stmt(d_module, d_position, 'document type',
3904: PO_PDOI_PARAMS.g_request.document_type);
3905: PO_LOG.stmt(d_module, d_position, 'order_type_lookup_code',
3906: x_lines.order_type_lookup_code_tbl(i));
3907: PO_LOG.stmt(d_module, d_position, 'action',
3901: IF (x_lines.line_loc_populated_flag_tbl(i) = 'S') THEN
3902: IF (PO_LOG.d_stmt) THEN
3903: PO_LOG.stmt(d_module, d_position, 'document type',
3904: PO_PDOI_PARAMS.g_request.document_type);
3905: PO_LOG.stmt(d_module, d_position, 'order_type_lookup_code',
3906: x_lines.order_type_lookup_code_tbl(i));
3907: PO_LOG.stmt(d_module, d_position, 'action',
3908: x_lines.action_tbl(i));
3909: PO_LOG.stmt(d_module, d_position, 'quantity',
3903: PO_LOG.stmt(d_module, d_position, 'document type',
3904: PO_PDOI_PARAMS.g_request.document_type);
3905: PO_LOG.stmt(d_module, d_position, 'order_type_lookup_code',
3906: x_lines.order_type_lookup_code_tbl(i));
3907: PO_LOG.stmt(d_module, d_position, 'action',
3908: x_lines.action_tbl(i));
3909: PO_LOG.stmt(d_module, d_position, 'quantity',
3910: x_lines.quantity_tbl(i));
3911: PO_LOG.stmt(d_module, d_position, 'shipment_num',
3905: PO_LOG.stmt(d_module, d_position, 'order_type_lookup_code',
3906: x_lines.order_type_lookup_code_tbl(i));
3907: PO_LOG.stmt(d_module, d_position, 'action',
3908: x_lines.action_tbl(i));
3909: PO_LOG.stmt(d_module, d_position, 'quantity',
3910: x_lines.quantity_tbl(i));
3911: PO_LOG.stmt(d_module, d_position, 'shipment_num',
3912: x_lines.shipment_num_tbl(i));
3913: END IF;
3907: PO_LOG.stmt(d_module, d_position, 'action',
3908: x_lines.action_tbl(i));
3909: PO_LOG.stmt(d_module, d_position, 'quantity',
3910: x_lines.quantity_tbl(i));
3911: PO_LOG.stmt(d_module, d_position, 'shipment_num',
3912: x_lines.shipment_num_tbl(i));
3913: END IF;
3914: -- set to TRUE in certain conditions
3915: IF (PO_PDOI_PARAMS.g_request.document_type =
3932: x_lines.create_line_loc_tbl(i) := FND_API.g_TRUE;
3933: END IF;
3934: END IF;
3935:
3936: IF (PO_LOG.d_stmt) THEN
3937: PO_LOG.stmt(d_module, d_position, 'create_line_loc',
3938: x_lines.create_line_loc_tbl(i));
3939: END IF;
3940:
3933: END IF;
3934: END IF;
3935:
3936: IF (PO_LOG.d_stmt) THEN
3937: PO_LOG.stmt(d_module, d_position, 'create_line_loc',
3938: x_lines.create_line_loc_tbl(i));
3939: END IF;
3940:
3941: d_position := 20;
3969: p_id_tbl => l_obsoleted_loc_tbl,
3970: p_cascade => FND_API.g_TRUE
3971: );
3972: */
3973: IF (PO_LOG.d_proc) THEN
3974: PO_LOG.proc_end (d_module);
3975: END IF;
3976:
3977: EXCEPTION
3970: p_cascade => FND_API.g_TRUE
3971: );
3972: */
3973: IF (PO_LOG.d_proc) THEN
3974: PO_LOG.proc_end (d_module);
3975: END IF;
3976:
3977: EXCEPTION
3978: WHEN OTHERS THEN
4008:
4009: BEGIN
4010: d_position := 0;
4011:
4012: IF (PO_LOG.d_proc) THEN
4013: PO_LOG.proc_begin(d_module);
4014: END IF;
4015:
4016: d_position := 10;
4009: BEGIN
4010: d_position := 0;
4011:
4012: IF (PO_LOG.d_proc) THEN
4013: PO_LOG.proc_begin(d_module);
4014: END IF;
4015:
4016: d_position := 10;
4017:
4028: PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED) THEN
4029:
4030: IF (x_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
4031: x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE) THEN
4032: IF (PO_LOG.d_stmt) THEN
4033: PO_LOG.stmt(d_module, d_position, 'update line process code to ACCEPTED. Index = ', i);
4034: END IF;
4035:
4036: x_lines.process_code_tbl(i) := PO_PDOI_CONSTANTS.g_PROCESS_CODE_ACCEPTED;
4029:
4030: IF (x_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
4031: x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE) THEN
4032: IF (PO_LOG.d_stmt) THEN
4033: PO_LOG.stmt(d_module, d_position, 'update line process code to ACCEPTED. Index = ', i);
4034: END IF;
4035:
4036: x_lines.process_code_tbl(i) := PO_PDOI_CONSTANTS.g_PROCESS_CODE_ACCEPTED;
4037: END IF;
4055: WHERE interface_line_id = x_lines.intf_line_id_tbl(i);
4056: --AND x_lines.error_flag_tbl(i) = FND_API.g_FALSE
4057: --AND x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE;
4058:
4059: IF (PO_LOG.d_proc) THEN
4060: PO_LOG.proc_end (d_module);
4061: END IF;
4062:
4063: EXCEPTION
4056: --AND x_lines.error_flag_tbl(i) = FND_API.g_FALSE
4057: --AND x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE;
4058:
4059: IF (PO_LOG.d_proc) THEN
4060: PO_LOG.proc_end (d_module);
4061: END IF;
4062:
4063: EXCEPTION
4064: WHEN OTHERS THEN
4121: l_count NUMBER := 0;
4122: BEGIN
4123: d_position := 0;
4124:
4125: IF (PO_LOG.d_proc) THEN
4126: PO_LOG.proc_begin(d_module, 'p_type', p_type);
4127: PO_LOG.proc_begin(d_module, 'p_group_num', p_group_num);
4128:
4129: l_index := x_processing_row_tbl.FIRST;
4122: BEGIN
4123: d_position := 0;
4124:
4125: IF (PO_LOG.d_proc) THEN
4126: PO_LOG.proc_begin(d_module, 'p_type', p_type);
4127: PO_LOG.proc_begin(d_module, 'p_group_num', p_group_num);
4128:
4129: l_index := x_processing_row_tbl.FIRST;
4130: WHILE (l_index IS NOT NULL)
4123: d_position := 0;
4124:
4125: IF (PO_LOG.d_proc) THEN
4126: PO_LOG.proc_begin(d_module, 'p_type', p_type);
4127: PO_LOG.proc_begin(d_module, 'p_group_num', p_group_num);
4128:
4129: l_index := x_processing_row_tbl.FIRST;
4130: WHILE (l_index IS NOT NULL)
4131: LOOP
4128:
4129: l_index := x_processing_row_tbl.FIRST;
4130: WHILE (l_index IS NOT NULL)
4131: LOOP
4132: PO_LOG.proc_begin(d_module, 'to be processed index', l_index);
4133: l_index := x_processing_row_tbl.NEXT(l_index);
4134: END LOOP;
4135: END IF;
4136:
4218: p_po_header_id => x_lines.hd_po_header_id_tbl(i)
4219: );
4220: x_processing_row_tbl.DELETE(i);
4221:
4222: IF (PO_LOG.d_stmt) THEN
4223: PO_LOG.stmt(d_module, d_position, 'set action to ADD '||
4224: 'since all uniqueness criteria are empty');
4225: PO_LOG.stmt(d_module, d_position, 'index', i);
4226: PO_LOG.stmt(d_module, d_position, 'new po line id',
4219: );
4220: x_processing_row_tbl.DELETE(i);
4221:
4222: IF (PO_LOG.d_stmt) THEN
4223: PO_LOG.stmt(d_module, d_position, 'set action to ADD '||
4224: 'since all uniqueness criteria are empty');
4225: PO_LOG.stmt(d_module, d_position, 'index', i);
4226: PO_LOG.stmt(d_module, d_position, 'new po line id',
4227: x_lines.po_line_id_tbl(i));
4221:
4222: IF (PO_LOG.d_stmt) THEN
4223: PO_LOG.stmt(d_module, d_position, 'set action to ADD '||
4224: 'since all uniqueness criteria are empty');
4225: PO_LOG.stmt(d_module, d_position, 'index', i);
4226: PO_LOG.stmt(d_module, d_position, 'new po line id',
4227: x_lines.po_line_id_tbl(i));
4228: PO_LOG.stmt(d_module, d_position, 'new line num',
4229: x_lines.line_num_tbl(i));
4222: IF (PO_LOG.d_stmt) THEN
4223: PO_LOG.stmt(d_module, d_position, 'set action to ADD '||
4224: 'since all uniqueness criteria are empty');
4225: PO_LOG.stmt(d_module, d_position, 'index', i);
4226: PO_LOG.stmt(d_module, d_position, 'new po line id',
4227: x_lines.po_line_id_tbl(i));
4228: PO_LOG.stmt(d_module, d_position, 'new line num',
4229: x_lines.line_num_tbl(i));
4230: END IF;
4224: 'since all uniqueness criteria are empty');
4225: PO_LOG.stmt(d_module, d_position, 'index', i);
4226: PO_LOG.stmt(d_module, d_position, 'new po line id',
4227: x_lines.po_line_id_tbl(i));
4228: PO_LOG.stmt(d_module, d_position, 'new line num',
4229: x_lines.line_num_tbl(i));
4230: END IF;
4231: END IF;
4232: END LOOP;
4286: FOR i IN 1..l_expire_line_index_tbl.COUNT
4287: LOOP
4288: l_index := l_expire_line_index_tbl(i);
4289:
4290: IF (PO_LOG.d_stmt) THEN
4291: PO_LOG.stmt(d_module, d_position, 'expire index', i);
4292: PO_LOG.stmt(d_module, d_position, 'expired line id',
4293: x_lines.po_line_id_tbl(l_index));
4294: END IF;
4287: LOOP
4288: l_index := l_expire_line_index_tbl(i);
4289:
4290: IF (PO_LOG.d_stmt) THEN
4291: PO_LOG.stmt(d_module, d_position, 'expire index', i);
4292: PO_LOG.stmt(d_module, d_position, 'expired line id',
4293: x_lines.po_line_id_tbl(l_index));
4294: END IF;
4295:
4288: l_index := l_expire_line_index_tbl(i);
4289:
4290: IF (PO_LOG.d_stmt) THEN
4291: PO_LOG.stmt(d_module, d_position, 'expire index', i);
4292: PO_LOG.stmt(d_module, d_position, 'expired line id',
4293: x_lines.po_line_id_tbl(l_index));
4294: END IF;
4295:
4296: x_lines.action_tbl(l_index) := PO_PDOI_CONSTANTS.g_ACTION_ADD;
4305: (
4306: p_po_header_id => x_lines.hd_po_header_id_tbl(i)
4307: );
4308:
4309: IF (PO_LOG.d_stmt) THEN
4310: PO_LOG.stmt(d_module, d_position, 'original line num',
4311: x_lines.origin_line_num_tbl(l_index));
4312: PO_LOG.stmt(d_module, d_position, 'if line num unique',
4313: x_lines.line_num_unique_tbl(l_index));
4306: p_po_header_id => x_lines.hd_po_header_id_tbl(i)
4307: );
4308:
4309: IF (PO_LOG.d_stmt) THEN
4310: PO_LOG.stmt(d_module, d_position, 'original line num',
4311: x_lines.origin_line_num_tbl(l_index));
4312: PO_LOG.stmt(d_module, d_position, 'if line num unique',
4313: x_lines.line_num_unique_tbl(l_index));
4314: PO_LOG.stmt(d_module, d_position, 'new line num',
4308:
4309: IF (PO_LOG.d_stmt) THEN
4310: PO_LOG.stmt(d_module, d_position, 'original line num',
4311: x_lines.origin_line_num_tbl(l_index));
4312: PO_LOG.stmt(d_module, d_position, 'if line num unique',
4313: x_lines.line_num_unique_tbl(l_index));
4314: PO_LOG.stmt(d_module, d_position, 'new line num',
4315: x_lines.line_num_tbl(l_index));
4316: END IF;
4310: PO_LOG.stmt(d_module, d_position, 'original line num',
4311: x_lines.origin_line_num_tbl(l_index));
4312: PO_LOG.stmt(d_module, d_position, 'if line num unique',
4313: x_lines.line_num_unique_tbl(l_index));
4314: PO_LOG.stmt(d_module, d_position, 'new line num',
4315: x_lines.line_num_tbl(l_index));
4316: END IF;
4317: END IF;
4318: END LOOP;
4319: END IF;
4320:
4321: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_UNIQUENESS_CHECK);
4322:
4323: IF (PO_LOG.d_proc) THEN
4324: PO_LOG.proc_end (d_module);
4325: END IF;
4326:
4327: EXCEPTION
4320:
4321: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_UNIQUENESS_CHECK);
4322:
4323: IF (PO_LOG.d_proc) THEN
4324: PO_LOG.proc_end (d_module);
4325: END IF;
4326:
4327: EXCEPTION
4328: WHEN OTHERS THEN
4369: l_update_index_tbl DBMS_SQL.NUMBER_TABLE;
4370: BEGIN
4371: d_position := 0;
4372:
4373: IF (PO_LOG.d_proc) THEN
4374: PO_LOG.proc_begin(d_module, 'p_group_num', p_group_num);
4375: PO_LOG.proc_begin(d_module, 'group_num_tbl', p_lines.group_num_tbl);
4376: PO_LOG.proc_begin(d_module, 'action_tbl', p_lines.action_tbl);
4377: END IF;
4370: BEGIN
4371: d_position := 0;
4372:
4373: IF (PO_LOG.d_proc) THEN
4374: PO_LOG.proc_begin(d_module, 'p_group_num', p_group_num);
4375: PO_LOG.proc_begin(d_module, 'group_num_tbl', p_lines.group_num_tbl);
4376: PO_LOG.proc_begin(d_module, 'action_tbl', p_lines.action_tbl);
4377: END IF;
4378:
4371: d_position := 0;
4372:
4373: IF (PO_LOG.d_proc) THEN
4374: PO_LOG.proc_begin(d_module, 'p_group_num', p_group_num);
4375: PO_LOG.proc_begin(d_module, 'group_num_tbl', p_lines.group_num_tbl);
4376: PO_LOG.proc_begin(d_module, 'action_tbl', p_lines.action_tbl);
4377: END IF;
4378:
4379: FOR i IN 1..p_lines.rec_count
4372:
4373: IF (PO_LOG.d_proc) THEN
4374: PO_LOG.proc_begin(d_module, 'p_group_num', p_group_num);
4375: PO_LOG.proc_begin(d_module, 'group_num_tbl', p_lines.group_num_tbl);
4376: PO_LOG.proc_begin(d_module, 'action_tbl', p_lines.action_tbl);
4377: END IF;
4378:
4379: FOR i IN 1..p_lines.rec_count
4380: LOOP
4381: d_position := 10;
4382:
4383: IF (p_group_num IS NULL OR p_lines.group_num_tbl(i) = p_group_num) THEN
4384: IF (p_lines.action_tbl(i) = PO_PDOI_CONSTANTS.g_ACTION_ADD) THEN
4385: IF (PO_LOG.d_stmt) THEN
4386: PO_LOG.stmt(d_module, d_position, 'lines to create', i);
4387: END IF;
4388:
4389: l_create_index_tbl(i) := i;
4382:
4383: IF (p_group_num IS NULL OR p_lines.group_num_tbl(i) = p_group_num) THEN
4384: IF (p_lines.action_tbl(i) = PO_PDOI_CONSTANTS.g_ACTION_ADD) THEN
4385: IF (PO_LOG.d_stmt) THEN
4386: PO_LOG.stmt(d_module, d_position, 'lines to create', i);
4387: END IF;
4388:
4389: l_create_index_tbl(i) := i;
4390: ELSIF (p_lines.action_tbl(i) = PO_PDOI_CONSTANTS.g_ACTION_UPDATE) THEN
4387: END IF;
4388:
4389: l_create_index_tbl(i) := i;
4390: ELSIF (p_lines.action_tbl(i) = PO_PDOI_CONSTANTS.g_ACTION_UPDATE) THEN
4391: IF (PO_LOG.d_stmt) THEN
4392: PO_LOG.stmt(d_module, d_position, 'lines to update', i);
4393: END IF;
4394:
4395: l_update_index_tbl(i) := i;
4388:
4389: l_create_index_tbl(i) := i;
4390: ELSIF (p_lines.action_tbl(i) = PO_PDOI_CONSTANTS.g_ACTION_UPDATE) THEN
4391: IF (PO_LOG.d_stmt) THEN
4392: PO_LOG.stmt(d_module, d_position, 'lines to update', i);
4393: END IF;
4394:
4395: l_update_index_tbl(i) := i;
4396: END IF;
4416: p_source_index_tbl => l_update_index_tbl,
4417: x_target_lines => x_update_lines
4418: );
4419:
4420: IF (PO_LOG.d_proc) THEN
4421: PO_LOG.proc_end(d_module);
4422: END IF;
4423:
4424: EXCEPTION
4417: x_target_lines => x_update_lines
4418: );
4419:
4420: IF (PO_LOG.d_proc) THEN
4421: PO_LOG.proc_end(d_module);
4422: END IF;
4423:
4424: EXCEPTION
4425: WHEN OTHERS THEN
4470:
4471: BEGIN
4472: d_position := 0;
4473:
4474: IF (PO_LOG.d_proc) THEN
4475: PO_LOG.proc_begin(d_module, 'action', p_action);
4476: END IF;
4477:
4478: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_VALIDATE);
4471: BEGIN
4472: d_position := 0;
4473:
4474: IF (PO_LOG.d_proc) THEN
4475: PO_LOG.proc_begin(d_module, 'action', p_action);
4476: END IF;
4477:
4478: PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_VALIDATE);
4479:
4592:
4593: d_position := 40;
4594:
4595: IF (l_result_type = po_validations.c_result_type_failure) THEN
4596: IF (PO_LOG.d_stmt) THEN
4597: PO_LOG.stmt(d_module, d_position, 'vaidate lines return failure');
4598: END IF;
4599:
4600: PO_PDOI_ERR_UTL.process_val_type_errors
4593: d_position := 40;
4594:
4595: IF (l_result_type = po_validations.c_result_type_failure) THEN
4596: IF (PO_LOG.d_stmt) THEN
4597: PO_LOG.stmt(d_module, d_position, 'vaidate lines return failure');
4598: END IF;
4599:
4600: PO_PDOI_ERR_UTL.process_val_type_errors
4601: (
4615:
4616: d_position := 60;
4617:
4618: IF l_result_type = po_validations.c_result_type_fatal THEN
4619: IF (PO_LOG.d_stmt) THEN
4620: PO_LOG.stmt(d_module, d_position, 'vaidate lines return fatal');
4621: END IF;
4622:
4623: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4616: d_position := 60;
4617:
4618: IF l_result_type = po_validations.c_result_type_fatal THEN
4619: IF (PO_LOG.d_stmt) THEN
4620: PO_LOG.stmt(d_module, d_position, 'vaidate lines return fatal');
4621: END IF;
4622:
4623: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4624: END IF;
4626: d_position := 70;
4627:
4628: -- validate tlp table in advance for tracking of num of error lines.
4629: IF (p_action = 'CREATE') THEN
4630: IF (PO_LOG.d_stmt) THEN
4631: PO_LOG.stmt(d_module, d_position, 'start to validate attribute tlp table');
4632: END IF;
4633:
4634: d_position := 80;
4627:
4628: -- validate tlp table in advance for tracking of num of error lines.
4629: IF (p_action = 'CREATE') THEN
4630: IF (PO_LOG.d_stmt) THEN
4631: PO_LOG.stmt(d_module, d_position, 'start to validate attribute tlp table');
4632: END IF;
4633:
4634: d_position := 80;
4635:
4649: d_position := 100;
4650:
4651: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_VALIDATE);
4652:
4653: IF (PO_LOG.d_proc) THEN
4654: PO_LOG.proc_end(d_module, 'result_type', l_result_type);
4655: END IF;
4656:
4657: EXCEPTION
4650:
4651: PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_VALIDATE);
4652:
4653: IF (PO_LOG.d_proc) THEN
4654: PO_LOG.proc_end(d_module, 'result_type', l_result_type);
4655: END IF;
4656:
4657: EXCEPTION
4658: WHEN OTHERS THEN
4731: l_error_exist_tbl DBMS_SQL.NUMBER_TABLE;
4732: BEGIN
4733: d_position := 0;
4734:
4735: IF (PO_LOG.d_proc) THEN
4736: PO_LOG.proc_begin(d_module, 'p_vendor_id_tbl', p_vendor_id_tbl);
4737: PO_LOG.proc_begin(d_module, 'p_intf_header_id_tbl', p_intf_header_id_tbl);
4738: PO_LOG.proc_begin(d_module, 'p_intf_line_id_tbl', p_intf_line_id_tbl);
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4732: BEGIN
4733: d_position := 0;
4734:
4735: IF (PO_LOG.d_proc) THEN
4736: PO_LOG.proc_begin(d_module, 'p_vendor_id_tbl', p_vendor_id_tbl);
4737: PO_LOG.proc_begin(d_module, 'p_intf_header_id_tbl', p_intf_header_id_tbl);
4738: PO_LOG.proc_begin(d_module, 'p_intf_line_id_tbl', p_intf_line_id_tbl);
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4740: PO_LOG.proc_begin(d_module, 'p_category_id_tbl', p_category_id_tbl);
4733: d_position := 0;
4734:
4735: IF (PO_LOG.d_proc) THEN
4736: PO_LOG.proc_begin(d_module, 'p_vendor_id_tbl', p_vendor_id_tbl);
4737: PO_LOG.proc_begin(d_module, 'p_intf_header_id_tbl', p_intf_header_id_tbl);
4738: PO_LOG.proc_begin(d_module, 'p_intf_line_id_tbl', p_intf_line_id_tbl);
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4740: PO_LOG.proc_begin(d_module, 'p_category_id_tbl', p_category_id_tbl);
4741: PO_LOG.proc_begin(d_module, 'p_item_tbl', p_item_tbl);
4734:
4735: IF (PO_LOG.d_proc) THEN
4736: PO_LOG.proc_begin(d_module, 'p_vendor_id_tbl', p_vendor_id_tbl);
4737: PO_LOG.proc_begin(d_module, 'p_intf_header_id_tbl', p_intf_header_id_tbl);
4738: PO_LOG.proc_begin(d_module, 'p_intf_line_id_tbl', p_intf_line_id_tbl);
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4740: PO_LOG.proc_begin(d_module, 'p_category_id_tbl', p_category_id_tbl);
4741: PO_LOG.proc_begin(d_module, 'p_item_tbl', p_item_tbl);
4742: PO_LOG.proc_begin(d_module, 'x_item_id_tbl', x_item_id_tbl);
4735: IF (PO_LOG.d_proc) THEN
4736: PO_LOG.proc_begin(d_module, 'p_vendor_id_tbl', p_vendor_id_tbl);
4737: PO_LOG.proc_begin(d_module, 'p_intf_header_id_tbl', p_intf_header_id_tbl);
4738: PO_LOG.proc_begin(d_module, 'p_intf_line_id_tbl', p_intf_line_id_tbl);
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4740: PO_LOG.proc_begin(d_module, 'p_category_id_tbl', p_category_id_tbl);
4741: PO_LOG.proc_begin(d_module, 'p_item_tbl', p_item_tbl);
4742: PO_LOG.proc_begin(d_module, 'x_item_id_tbl', x_item_id_tbl);
4743: PO_LOG.proc_begin(d_module, 'x_error_flag_tbl', x_error_flag_tbl);
4736: PO_LOG.proc_begin(d_module, 'p_vendor_id_tbl', p_vendor_id_tbl);
4737: PO_LOG.proc_begin(d_module, 'p_intf_header_id_tbl', p_intf_header_id_tbl);
4738: PO_LOG.proc_begin(d_module, 'p_intf_line_id_tbl', p_intf_line_id_tbl);
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4740: PO_LOG.proc_begin(d_module, 'p_category_id_tbl', p_category_id_tbl);
4741: PO_LOG.proc_begin(d_module, 'p_item_tbl', p_item_tbl);
4742: PO_LOG.proc_begin(d_module, 'x_item_id_tbl', x_item_id_tbl);
4743: PO_LOG.proc_begin(d_module, 'x_error_flag_tbl', x_error_flag_tbl);
4744: END IF;
4737: PO_LOG.proc_begin(d_module, 'p_intf_header_id_tbl', p_intf_header_id_tbl);
4738: PO_LOG.proc_begin(d_module, 'p_intf_line_id_tbl', p_intf_line_id_tbl);
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4740: PO_LOG.proc_begin(d_module, 'p_category_id_tbl', p_category_id_tbl);
4741: PO_LOG.proc_begin(d_module, 'p_item_tbl', p_item_tbl);
4742: PO_LOG.proc_begin(d_module, 'x_item_id_tbl', x_item_id_tbl);
4743: PO_LOG.proc_begin(d_module, 'x_error_flag_tbl', x_error_flag_tbl);
4744: END IF;
4745:
4738: PO_LOG.proc_begin(d_module, 'p_intf_line_id_tbl', p_intf_line_id_tbl);
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4740: PO_LOG.proc_begin(d_module, 'p_category_id_tbl', p_category_id_tbl);
4741: PO_LOG.proc_begin(d_module, 'p_item_tbl', p_item_tbl);
4742: PO_LOG.proc_begin(d_module, 'x_item_id_tbl', x_item_id_tbl);
4743: PO_LOG.proc_begin(d_module, 'x_error_flag_tbl', x_error_flag_tbl);
4744: END IF;
4745:
4746: -- derive based on item_num
4739: PO_LOG.proc_begin(d_module, 'p_vendor_product_num_tbl', p_vendor_product_num_tbl);
4740: PO_LOG.proc_begin(d_module, 'p_category_id_tbl', p_category_id_tbl);
4741: PO_LOG.proc_begin(d_module, 'p_item_tbl', p_item_tbl);
4742: PO_LOG.proc_begin(d_module, 'x_item_id_tbl', x_item_id_tbl);
4743: PO_LOG.proc_begin(d_module, 'x_error_flag_tbl', x_error_flag_tbl);
4744: END IF;
4745:
4746: -- derive based on item_num
4747: FORALL i IN 1..p_index_tbl.COUNT
4794: FOR i IN 1..l_index_tbl.COUNT
4795: LOOP
4796: l_index := l_index_tbl(i);
4797:
4798: IF (PO_LOG.d_stmt) THEN
4799: PO_LOG.stmt(d_module, d_position, 'index', l_index);
4800: PO_LOG.stmt(d_module, d_position, 'result item id',
4801: l_result_tbl(i));
4802: END IF;
4795: LOOP
4796: l_index := l_index_tbl(i);
4797:
4798: IF (PO_LOG.d_stmt) THEN
4799: PO_LOG.stmt(d_module, d_position, 'index', l_index);
4800: PO_LOG.stmt(d_module, d_position, 'result item id',
4801: l_result_tbl(i));
4802: END IF;
4803:
4796: l_index := l_index_tbl(i);
4797:
4798: IF (PO_LOG.d_stmt) THEN
4799: PO_LOG.stmt(d_module, d_position, 'index', l_index);
4800: PO_LOG.stmt(d_module, d_position, 'result item id',
4801: l_result_tbl(i));
4802: END IF;
4803:
4804: IF (NOT l_error_exist_tbl.EXISTS(l_index)) THEN
4823: END IF;
4824: END IF;
4825: END LOOP;
4826:
4827: IF (PO_LOG.d_proc) THEN
4828: PO_LOG.proc_end(d_module);
4829: END IF;
4830:
4831: EXCEPTION
4824: END IF;
4825: END LOOP;
4826:
4827: IF (PO_LOG.d_proc) THEN
4828: PO_LOG.proc_end(d_module);
4829: END IF;
4830:
4831: EXCEPTION
4832: WHEN OTHERS THEN
4869:
4870: BEGIN
4871: d_position := 0;
4872:
4873: IF (PO_LOG.d_proc) THEN
4874: PO_LOG.proc_begin(d_module, 'p_item_id_tbl', p_item_id_tbl);
4875: PO_LOG.proc_begin(d_module, 'x_item_revision_tbl', x_item_revision_tbl);
4876: END IF;
4877:
4870: BEGIN
4871: d_position := 0;
4872:
4873: IF (PO_LOG.d_proc) THEN
4874: PO_LOG.proc_begin(d_module, 'p_item_id_tbl', p_item_id_tbl);
4875: PO_LOG.proc_begin(d_module, 'x_item_revision_tbl', x_item_revision_tbl);
4876: END IF;
4877:
4878: FOR i IN 1..p_item_id_tbl.COUNT
4871: d_position := 0;
4872:
4873: IF (PO_LOG.d_proc) THEN
4874: PO_LOG.proc_begin(d_module, 'p_item_id_tbl', p_item_id_tbl);
4875: PO_LOG.proc_begin(d_module, 'x_item_revision_tbl', x_item_revision_tbl);
4876: END IF;
4877:
4878: FOR i IN 1..p_item_id_tbl.COUNT
4879: LOOP
4879: LOOP
4880: IF (p_item_id_tbl(i) IS NULL AND
4881: X_item_revision_tbl(i) IS NOT NULL AND
4882: PO_PDOI_PARAMS.g_request.create_items = 'Y') THEN
4883: IF (PO_LOG.d_stmt) THEN
4884: PO_LOG.stmt(d_module, d_position, 'index', i);
4885: PO_LOG.stmt(d_module, d_position, 'new item revision set to empty');
4886: END IF;
4887:
4880: IF (p_item_id_tbl(i) IS NULL AND
4881: X_item_revision_tbl(i) IS NOT NULL AND
4882: PO_PDOI_PARAMS.g_request.create_items = 'Y') THEN
4883: IF (PO_LOG.d_stmt) THEN
4884: PO_LOG.stmt(d_module, d_position, 'index', i);
4885: PO_LOG.stmt(d_module, d_position, 'new item revision set to empty');
4886: END IF;
4887:
4888: x_item_revision_tbl(i) := NULL;
4881: X_item_revision_tbl(i) IS NOT NULL AND
4882: PO_PDOI_PARAMS.g_request.create_items = 'Y') THEN
4883: IF (PO_LOG.d_stmt) THEN
4884: PO_LOG.stmt(d_module, d_position, 'index', i);
4885: PO_LOG.stmt(d_module, d_position, 'new item revision set to empty');
4886: END IF;
4887:
4888: x_item_revision_tbl(i) := NULL;
4889: END IF;
4888: x_item_revision_tbl(i) := NULL;
4889: END IF;
4890: END LOOP;
4891:
4892: IF (PO_LOG.d_proc) THEN
4893: PO_LOG.proc_end(d_module);
4894: END IF;
4895:
4896: EXCEPTION
4889: END IF;
4890: END LOOP;
4891:
4892: IF (PO_LOG.d_proc) THEN
4893: PO_LOG.proc_end(d_module);
4894: END IF;
4895:
4896: EXCEPTION
4897: WHEN OTHERS THEN
4942: l_result_tbl PO_TBL_NUMBER;
4943: BEGIN
4944: d_position := 0;
4945:
4946: IF (PO_LOG.d_proc) THEN
4947: PO_LOG.proc_begin(d_module, 'p_job_business_group_name_tbl',
4948: p_job_business_group_name_tbl);
4949: PO_LOG.proc_begin(d_module, 'x_job_business_group_id_tbl',
4950: x_job_business_group_id_tbl);
4943: BEGIN
4944: d_position := 0;
4945:
4946: IF (PO_LOG.d_proc) THEN
4947: PO_LOG.proc_begin(d_module, 'p_job_business_group_name_tbl',
4948: p_job_business_group_name_tbl);
4949: PO_LOG.proc_begin(d_module, 'x_job_business_group_id_tbl',
4950: x_job_business_group_id_tbl);
4951: END IF;
4945:
4946: IF (PO_LOG.d_proc) THEN
4947: PO_LOG.proc_begin(d_module, 'p_job_business_group_name_tbl',
4948: p_job_business_group_name_tbl);
4949: PO_LOG.proc_begin(d_module, 'x_job_business_group_id_tbl',
4950: x_job_business_group_id_tbl);
4951: END IF;
4952:
4953: -- derive id from name
4974:
4975: -- push the result back to x_job_business_group_id_tbl
4976: FOR i IN 1..l_index_tbl.COUNT
4977: LOOP
4978: IF (PO_LOG.d_stmt) THEN
4979: PO_LOG.stmt(d_module, d_position, 'new business group id',
4980: l_result_tbl(i));
4981: END IF;
4982:
4975: -- push the result back to x_job_business_group_id_tbl
4976: FOR i IN 1..l_index_tbl.COUNT
4977: LOOP
4978: IF (PO_LOG.d_stmt) THEN
4979: PO_LOG.stmt(d_module, d_position, 'new business group id',
4980: l_result_tbl(i));
4981: END IF;
4982:
4983: x_job_business_group_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
4982:
4983: x_job_business_group_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
4984: END LOOP;
4985:
4986: IF (PO_LOG.d_proc) THEN
4987: PO_LOG.proc_end(d_module);
4988: END IF;
4989:
4990: EXCEPTION
4983: x_job_business_group_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
4984: END LOOP;
4985:
4986: IF (PO_LOG.d_proc) THEN
4987: PO_LOG.proc_end(d_module);
4988: END IF;
4989:
4990: EXCEPTION
4991: WHEN OTHERS THEN
5052:
5053: BEGIN
5054: d_position := 0;
5055:
5056: IF (PO_LOG.d_proc) THEN
5057: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl',
5058: p_file_line_language_tbl);
5059: PO_LOG.proc_begin(d_module, 'p_job_business_group_name_tbl',
5060: p_job_business_group_name_tbl);
5053: BEGIN
5054: d_position := 0;
5055:
5056: IF (PO_LOG.d_proc) THEN
5057: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl',
5058: p_file_line_language_tbl);
5059: PO_LOG.proc_begin(d_module, 'p_job_business_group_name_tbl',
5060: p_job_business_group_name_tbl);
5061: PO_LOG.proc_begin(d_module, 'p_job_name_tbl', p_job_name_tbl);
5055:
5056: IF (PO_LOG.d_proc) THEN
5057: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl',
5058: p_file_line_language_tbl);
5059: PO_LOG.proc_begin(d_module, 'p_job_business_group_name_tbl',
5060: p_job_business_group_name_tbl);
5061: PO_LOG.proc_begin(d_module, 'p_job_name_tbl', p_job_name_tbl);
5062: PO_LOG.proc_begin(d_module, 'x_job_business_group_id_tbl',
5063: x_job_business_group_id_tbl);
5057: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl',
5058: p_file_line_language_tbl);
5059: PO_LOG.proc_begin(d_module, 'p_job_business_group_name_tbl',
5060: p_job_business_group_name_tbl);
5061: PO_LOG.proc_begin(d_module, 'p_job_name_tbl', p_job_name_tbl);
5062: PO_LOG.proc_begin(d_module, 'x_job_business_group_id_tbl',
5063: x_job_business_group_id_tbl);
5064: PO_LOG.proc_begin(d_module, 'x_job_id_tbl', x_job_id_tbl);
5065: END IF;
5058: p_file_line_language_tbl);
5059: PO_LOG.proc_begin(d_module, 'p_job_business_group_name_tbl',
5060: p_job_business_group_name_tbl);
5061: PO_LOG.proc_begin(d_module, 'p_job_name_tbl', p_job_name_tbl);
5062: PO_LOG.proc_begin(d_module, 'x_job_business_group_id_tbl',
5063: x_job_business_group_id_tbl);
5064: PO_LOG.proc_begin(d_module, 'x_job_id_tbl', x_job_id_tbl);
5065: END IF;
5066:
5060: p_job_business_group_name_tbl);
5061: PO_LOG.proc_begin(d_module, 'p_job_name_tbl', p_job_name_tbl);
5062: PO_LOG.proc_begin(d_module, 'x_job_business_group_id_tbl',
5063: x_job_business_group_id_tbl);
5064: PO_LOG.proc_begin(d_module, 'x_job_id_tbl', x_job_id_tbl);
5065: END IF;
5066:
5067: -- execute different queries to derive job_id depending on profile and
5068: -- value of job_business_group_id
5065: END IF;
5066:
5067: -- execute different queries to derive job_id depending on profile and
5068: -- value of job_business_group_id
5069: IF (PO_LOG.d_stmt) THEN
5070: PO_LOG.stmt(d_module, d_position, 'business group profile value',
5071: PO_PDOI_PARAMS.g_profile.xbg);
5072: PO_LOG.stmt(d_module, d_position, 'fsp business_group_id',
5073: PO_PDOI_PARAMS.g_sys.def_business_group_id);
5066:
5067: -- execute different queries to derive job_id depending on profile and
5068: -- value of job_business_group_id
5069: IF (PO_LOG.d_stmt) THEN
5070: PO_LOG.stmt(d_module, d_position, 'business group profile value',
5071: PO_PDOI_PARAMS.g_profile.xbg);
5072: PO_LOG.stmt(d_module, d_position, 'fsp business_group_id',
5073: PO_PDOI_PARAMS.g_sys.def_business_group_id);
5074: END IF;
5068: -- value of job_business_group_id
5069: IF (PO_LOG.d_stmt) THEN
5070: PO_LOG.stmt(d_module, d_position, 'business group profile value',
5071: PO_PDOI_PARAMS.g_profile.xbg);
5072: PO_LOG.stmt(d_module, d_position, 'fsp business_group_id',
5073: PO_PDOI_PARAMS.g_sys.def_business_group_id);
5074: END IF;
5075:
5076: -- bug 5489942: derive job_id from job_name based on
5109: from per_jobs_vl
5110: where TRUNC(sysdate) BETWEEN TRUNC(NVL(date_from, sysdate))
5111: AND TRUNC(NVL(date_to, sysdate));
5112:
5113: IF (PO_LOG.d_stmt) THEN
5114: PO_LOG.stmt(d_module, d_position, 'debug: d_job_id_tbl',
5115: d_job_id_tbl);
5116: PO_LOG.stmt(d_module, d_position, 'debug: d_job_name_tbl',
5117: d_job_name_tbl);
5110: where TRUNC(sysdate) BETWEEN TRUNC(NVL(date_from, sysdate))
5111: AND TRUNC(NVL(date_to, sysdate));
5112:
5113: IF (PO_LOG.d_stmt) THEN
5114: PO_LOG.stmt(d_module, d_position, 'debug: d_job_id_tbl',
5115: d_job_id_tbl);
5116: PO_LOG.stmt(d_module, d_position, 'debug: d_job_name_tbl',
5117: d_job_name_tbl);
5118: PO_LOG.stmt(d_module, d_position, 'debug: d_bg_id_tbl',
5112:
5113: IF (PO_LOG.d_stmt) THEN
5114: PO_LOG.stmt(d_module, d_position, 'debug: d_job_id_tbl',
5115: d_job_id_tbl);
5116: PO_LOG.stmt(d_module, d_position, 'debug: d_job_name_tbl',
5117: d_job_name_tbl);
5118: PO_LOG.stmt(d_module, d_position, 'debug: d_bg_id_tbl',
5119: d_bg_id_tbl);
5120: PO_LOG.stmt(d_module, d_position, 'debug: default bg id',
5114: PO_LOG.stmt(d_module, d_position, 'debug: d_job_id_tbl',
5115: d_job_id_tbl);
5116: PO_LOG.stmt(d_module, d_position, 'debug: d_job_name_tbl',
5117: d_job_name_tbl);
5118: PO_LOG.stmt(d_module, d_position, 'debug: d_bg_id_tbl',
5119: d_bg_id_tbl);
5120: PO_LOG.stmt(d_module, d_position, 'debug: default bg id',
5121: PO_PDOI_PARAMS.g_sys.def_business_group_id);
5122: END IF;
5116: PO_LOG.stmt(d_module, d_position, 'debug: d_job_name_tbl',
5117: d_job_name_tbl);
5118: PO_LOG.stmt(d_module, d_position, 'debug: d_bg_id_tbl',
5119: d_bg_id_tbl);
5120: PO_LOG.stmt(d_module, d_position, 'debug: default bg id',
5121: PO_PDOI_PARAMS.g_sys.def_business_group_id);
5122: END IF;
5123:
5124: -- END OF info added for debugging purpose */
5178: RETURNING num1, num2 BULK COLLECT INTO l_index_tbl, l_result_tbl;
5179:
5180: d_position := 50;
5181:
5182: IF (PO_LOG.d_stmt) THEN
5183: PO_LOG.stmt(d_module, d_position, 'derived result: l_index_tbl',
5184: l_index_tbl);
5185: PO_LOG.stmt(d_module, d_position, 'derived result: l_result_tbl',
5186: l_result_tbl);
5179:
5180: d_position := 50;
5181:
5182: IF (PO_LOG.d_stmt) THEN
5183: PO_LOG.stmt(d_module, d_position, 'derived result: l_index_tbl',
5184: l_index_tbl);
5185: PO_LOG.stmt(d_module, d_position, 'derived result: l_result_tbl',
5186: l_result_tbl);
5187: END IF;
5181:
5182: IF (PO_LOG.d_stmt) THEN
5183: PO_LOG.stmt(d_module, d_position, 'derived result: l_index_tbl',
5184: l_index_tbl);
5185: PO_LOG.stmt(d_module, d_position, 'derived result: l_result_tbl',
5186: l_result_tbl);
5187: END IF;
5188:
5189: -- set job_business_group_id if both job_business_group_id
5203:
5204: -- set job_id from derived values
5205: FOR i IN 1..l_index_tbl.COUNT
5206: LOOP
5207: IF (PO_LOG.d_stmt) THEN
5208: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5209: PO_LOG.stmt(d_module, d_position, 'new job id', l_result_tbl(i));
5210: END IF;
5211:
5204: -- set job_id from derived values
5205: FOR i IN 1..l_index_tbl.COUNT
5206: LOOP
5207: IF (PO_LOG.d_stmt) THEN
5208: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5209: PO_LOG.stmt(d_module, d_position, 'new job id', l_result_tbl(i));
5210: END IF;
5211:
5212: x_job_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5205: FOR i IN 1..l_index_tbl.COUNT
5206: LOOP
5207: IF (PO_LOG.d_stmt) THEN
5208: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5209: PO_LOG.stmt(d_module, d_position, 'new job id', l_result_tbl(i));
5210: END IF;
5211:
5212: x_job_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5213: END LOOP;
5211:
5212: x_job_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5213: END LOOP;
5214:
5215: IF (PO_LOG.d_proc) THEN
5216: PO_LOG.proc_end(d_module);
5217: END IF;
5218:
5219: EXCEPTION
5212: x_job_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5213: END LOOP;
5214:
5215: IF (PO_LOG.d_proc) THEN
5216: PO_LOG.proc_end(d_module);
5217: END IF;
5218:
5219: EXCEPTION
5220: WHEN OTHERS THEN
5259: l_result NUMBER;
5260: BEGIN
5261: d_position := 0;
5262:
5263: IF (PO_LOG.d_proc) THEN
5264: PO_LOG.proc_begin(d_module, 'p_category_tbl', p_category_tbl);
5265: PO_LOG.proc_begin(d_module, 'x_category_id_tbl', x_category_id_tbl);
5266: END IF;
5267:
5260: BEGIN
5261: d_position := 0;
5262:
5263: IF (PO_LOG.d_proc) THEN
5264: PO_LOG.proc_begin(d_module, 'p_category_tbl', p_category_tbl);
5265: PO_LOG.proc_begin(d_module, 'x_category_id_tbl', x_category_id_tbl);
5266: END IF;
5267:
5268: -- category id is derived by an API provided by FND.
5261: d_position := 0;
5262:
5263: IF (PO_LOG.d_proc) THEN
5264: PO_LOG.proc_begin(d_module, 'p_category_tbl', p_category_tbl);
5265: PO_LOG.proc_begin(d_module, 'x_category_id_tbl', x_category_id_tbl);
5266: END IF;
5267:
5268: -- category id is derived by an API provided by FND.
5269: -- so we have to call the APPI multiple times
5278: PO_PDOI_PARAMS.g_sys.def_structure_id,
5279: to_char(sysdate,'YYYY/MM/DD HH24:MI:SS'),
5280: p_category_tbl(i));
5281:
5282: IF (PO_LOG.d_stmt) THEN
5283: PO_LOG.stmt(d_module, d_position, 'index', i);
5284: PO_LOG.stmt(d_module, d_position, 'result', l_result);
5285: END IF;
5286:
5279: to_char(sysdate,'YYYY/MM/DD HH24:MI:SS'),
5280: p_category_tbl(i));
5281:
5282: IF (PO_LOG.d_stmt) THEN
5283: PO_LOG.stmt(d_module, d_position, 'index', i);
5284: PO_LOG.stmt(d_module, d_position, 'result', l_result);
5285: END IF;
5286:
5287: IF (l_result IS NOT NULL AND l_result <> 0) THEN
5280: p_category_tbl(i));
5281:
5282: IF (PO_LOG.d_stmt) THEN
5283: PO_LOG.stmt(d_module, d_position, 'index', i);
5284: PO_LOG.stmt(d_module, d_position, 'result', l_result);
5285: END IF;
5286:
5287: IF (l_result IS NOT NULL AND l_result <> 0) THEN
5288: x_category_id_tbl(i) := l_result;
5289: END IF;
5290: END IF;
5291: END LOOP;
5292:
5293: IF (PO_LOG.d_proc) THEN
5294: PO_LOG.proc_end(d_module);
5295: END IF;
5296:
5297: EXCEPTION
5290: END IF;
5291: END LOOP;
5292:
5293: IF (PO_LOG.d_proc) THEN
5294: PO_LOG.proc_end(d_module);
5295: END IF;
5296:
5297: EXCEPTION
5298: WHEN OTHERS THEN
5345: l_result_tbl PO_TBL_NUMBER;
5346: BEGIN
5347: d_position := 0;
5348:
5349: IF (PO_LOG.d_proc) THEN
5350: PO_LOG.proc_begin(d_module, 'p_ip_category_tbl', p_ip_category_tbl);
5351: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl', p_file_line_language_tbl);
5352: PO_LOG.proc_begin(d_module, 'x_ip_category_id_tbl', x_ip_category_id_tbl);
5353: END IF;
5346: BEGIN
5347: d_position := 0;
5348:
5349: IF (PO_LOG.d_proc) THEN
5350: PO_LOG.proc_begin(d_module, 'p_ip_category_tbl', p_ip_category_tbl);
5351: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl', p_file_line_language_tbl);
5352: PO_LOG.proc_begin(d_module, 'x_ip_category_id_tbl', x_ip_category_id_tbl);
5353: END IF;
5354:
5347: d_position := 0;
5348:
5349: IF (PO_LOG.d_proc) THEN
5350: PO_LOG.proc_begin(d_module, 'p_ip_category_tbl', p_ip_category_tbl);
5351: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl', p_file_line_language_tbl);
5352: PO_LOG.proc_begin(d_module, 'x_ip_category_id_tbl', x_ip_category_id_tbl);
5353: END IF;
5354:
5355: -- 1. derive ip_category_id based on category key
5348:
5349: IF (PO_LOG.d_proc) THEN
5350: PO_LOG.proc_begin(d_module, 'p_ip_category_tbl', p_ip_category_tbl);
5351: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl', p_file_line_language_tbl);
5352: PO_LOG.proc_begin(d_module, 'x_ip_category_id_tbl', x_ip_category_id_tbl);
5353: END IF;
5354:
5355: -- 1. derive ip_category_id based on category key
5356: FORALL i IN 1.. p_index_tbl.COUNT
5374:
5375: -- push the result back to x_unit_of_measure_tbl
5376: FOR i IN 1..l_index_tbl.COUNT
5377: LOOP
5378: IF (PO_LOG.d_stmt) THEN
5379: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5380: PO_LOG.stmt(d_module, d_position, 'new ip category id',
5381: l_result_tbl(i));
5382: END IF;
5375: -- push the result back to x_unit_of_measure_tbl
5376: FOR i IN 1..l_index_tbl.COUNT
5377: LOOP
5378: IF (PO_LOG.d_stmt) THEN
5379: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5380: PO_LOG.stmt(d_module, d_position, 'new ip category id',
5381: l_result_tbl(i));
5382: END IF;
5383:
5376: FOR i IN 1..l_index_tbl.COUNT
5377: LOOP
5378: IF (PO_LOG.d_stmt) THEN
5379: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5380: PO_LOG.stmt(d_module, d_position, 'new ip category id',
5381: l_result_tbl(i));
5382: END IF;
5383:
5384: x_ip_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5412:
5413: -- push the result back to x_unit_of_measure_tbl
5414: FOR i IN 1..l_index_tbl.COUNT
5415: LOOP
5416: IF (PO_LOG.d_stmt) THEN
5417: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5418: PO_LOG.stmt(d_module, d_position, 'new ip category id',
5419: l_result_tbl(i));
5420: END IF;
5413: -- push the result back to x_unit_of_measure_tbl
5414: FOR i IN 1..l_index_tbl.COUNT
5415: LOOP
5416: IF (PO_LOG.d_stmt) THEN
5417: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5418: PO_LOG.stmt(d_module, d_position, 'new ip category id',
5419: l_result_tbl(i));
5420: END IF;
5421:
5414: FOR i IN 1..l_index_tbl.COUNT
5415: LOOP
5416: IF (PO_LOG.d_stmt) THEN
5417: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5418: PO_LOG.stmt(d_module, d_position, 'new ip category id',
5419: l_result_tbl(i));
5420: END IF;
5421:
5422: x_ip_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5421:
5422: x_ip_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5423: END LOOP;
5424:
5425: IF (PO_LOG.d_proc) THEN
5426: PO_LOG.proc_end(d_module);
5427: END IF;
5428:
5429: EXCEPTION
5422: x_ip_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5423: END LOOP;
5424:
5425: IF (PO_LOG.d_proc) THEN
5426: PO_LOG.proc_end(d_module);
5427: END IF;
5428:
5429: EXCEPTION
5430: WHEN OTHERS THEN
5474: l_result_tbl PO_TBL_VARCHAR30;
5475: BEGIN
5476: d_position := 0;
5477:
5478: IF (PO_LOG.d_proc) THEN
5479: PO_LOG.proc_begin(d_module, 'p_uom_code_tbl', p_uom_code_tbl);
5480: PO_LOG.proc_begin(d_module, 'x_unit_of_measure_tbl', x_unit_of_measure_tbl);
5481: END IF;
5482:
5475: BEGIN
5476: d_position := 0;
5477:
5478: IF (PO_LOG.d_proc) THEN
5479: PO_LOG.proc_begin(d_module, 'p_uom_code_tbl', p_uom_code_tbl);
5480: PO_LOG.proc_begin(d_module, 'x_unit_of_measure_tbl', x_unit_of_measure_tbl);
5481: END IF;
5482:
5483: -- derive unit_of_measure from uom_code
5476: d_position := 0;
5477:
5478: IF (PO_LOG.d_proc) THEN
5479: PO_LOG.proc_begin(d_module, 'p_uom_code_tbl', p_uom_code_tbl);
5480: PO_LOG.proc_begin(d_module, 'x_unit_of_measure_tbl', x_unit_of_measure_tbl);
5481: END IF;
5482:
5483: -- derive unit_of_measure from uom_code
5484: FORALL i IN 1.. p_index_tbl.COUNT
5502:
5503: -- push the result back to x_unit_of_measure_tbl
5504: FOR i IN 1..l_index_tbl.COUNT
5505: LOOP
5506: IF (PO_LOG.d_stmt) THEN
5507: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5508: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
5509: l_result_tbl(i));
5510: END IF;
5503: -- push the result back to x_unit_of_measure_tbl
5504: FOR i IN 1..l_index_tbl.COUNT
5505: LOOP
5506: IF (PO_LOG.d_stmt) THEN
5507: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5508: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
5509: l_result_tbl(i));
5510: END IF;
5511:
5504: FOR i IN 1..l_index_tbl.COUNT
5505: LOOP
5506: IF (PO_LOG.d_stmt) THEN
5507: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5508: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
5509: l_result_tbl(i));
5510: END IF;
5511:
5512: x_unit_of_measure_tbl(l_index_tbl(i)) := l_result_tbl(i);
5511:
5512: x_unit_of_measure_tbl(l_index_tbl(i)) := l_result_tbl(i);
5513: END LOOP;
5514:
5515: IF (PO_LOG.d_proc) THEN
5516: PO_LOG.proc_end(d_module);
5517: END IF;
5518:
5519: EXCEPTION
5512: x_unit_of_measure_tbl(l_index_tbl(i)) := l_result_tbl(i);
5513: END LOOP;
5514:
5515: IF (PO_LOG.d_proc) THEN
5516: PO_LOG.proc_end(d_module);
5517: END IF;
5518:
5519: EXCEPTION
5520: WHEN OTHERS THEN
5567: l_result_tbl PO_TBL_NUMBER;
5568: BEGIN
5569: d_position := 0;
5570:
5571: IF (PO_LOG.d_proc) THEN
5572: PO_LOG.proc_begin(d_module, 'p_line_type_tbl', p_line_type_tbl);
5573: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl', p_file_line_language_tbl);
5574: PO_LOG.proc_begin(d_module, 'x_line_type_id_tbl', x_line_type_id_tbl);
5575: END IF;
5568: BEGIN
5569: d_position := 0;
5570:
5571: IF (PO_LOG.d_proc) THEN
5572: PO_LOG.proc_begin(d_module, 'p_line_type_tbl', p_line_type_tbl);
5573: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl', p_file_line_language_tbl);
5574: PO_LOG.proc_begin(d_module, 'x_line_type_id_tbl', x_line_type_id_tbl);
5575: END IF;
5576:
5569: d_position := 0;
5570:
5571: IF (PO_LOG.d_proc) THEN
5572: PO_LOG.proc_begin(d_module, 'p_line_type_tbl', p_line_type_tbl);
5573: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl', p_file_line_language_tbl);
5574: PO_LOG.proc_begin(d_module, 'x_line_type_id_tbl', x_line_type_id_tbl);
5575: END IF;
5576:
5577: -- bug 5489942: derivation is based on line level language
5570:
5571: IF (PO_LOG.d_proc) THEN
5572: PO_LOG.proc_begin(d_module, 'p_line_type_tbl', p_line_type_tbl);
5573: PO_LOG.proc_begin(d_module, 'p_file_line_language_tbl', p_file_line_language_tbl);
5574: PO_LOG.proc_begin(d_module, 'x_line_type_id_tbl', x_line_type_id_tbl);
5575: END IF;
5576:
5577: -- bug 5489942: derivation is based on line level language
5578: -- derive line_type_id from line_type
5602:
5603: -- push the result back to x_line_type_ids
5604: FOR i IN 1..l_index_tbl.COUNT
5605: LOOP
5606: IF (PO_LOG.d_stmt) THEN
5607: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5608: PO_LOG.stmt(d_module, d_position, 'new line type id', l_result_tbl(i));
5609: END IF;
5610:
5603: -- push the result back to x_line_type_ids
5604: FOR i IN 1..l_index_tbl.COUNT
5605: LOOP
5606: IF (PO_LOG.d_stmt) THEN
5607: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5608: PO_LOG.stmt(d_module, d_position, 'new line type id', l_result_tbl(i));
5609: END IF;
5610:
5611: x_line_type_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5604: FOR i IN 1..l_index_tbl.COUNT
5605: LOOP
5606: IF (PO_LOG.d_stmt) THEN
5607: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5608: PO_LOG.stmt(d_module, d_position, 'new line type id', l_result_tbl(i));
5609: END IF;
5610:
5611: x_line_type_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5612: END LOOP;
5610:
5611: x_line_type_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5612: END LOOP;
5613:
5614: IF (PO_LOG.d_proc) THEN
5615: PO_LOG.proc_end(d_module);
5616: END IF;
5617:
5618: EXCEPTION
5611: x_line_type_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5612: END LOOP;
5613:
5614: IF (PO_LOG.d_proc) THEN
5615: PO_LOG.proc_end(d_module);
5616: END IF;
5617:
5618: EXCEPTION
5619: WHEN OTHERS THEN
5663: l_result_tbl PO_TBL_NUMBER;
5664: BEGIN
5665: d_position := 0;
5666:
5667: IF (PO_LOG.d_proc) THEN
5668: PO_LOG.proc_begin(d_module, 'p_un_number_tbl', p_un_number_tbl);
5669: PO_LOG.proc_begin(d_module, 'x_un_number_id_tbl', x_un_number_id_tbl);
5670: END IF;
5671:
5664: BEGIN
5665: d_position := 0;
5666:
5667: IF (PO_LOG.d_proc) THEN
5668: PO_LOG.proc_begin(d_module, 'p_un_number_tbl', p_un_number_tbl);
5669: PO_LOG.proc_begin(d_module, 'x_un_number_id_tbl', x_un_number_id_tbl);
5670: END IF;
5671:
5672: -- derive un_number_id from un_number
5665: d_position := 0;
5666:
5667: IF (PO_LOG.d_proc) THEN
5668: PO_LOG.proc_begin(d_module, 'p_un_number_tbl', p_un_number_tbl);
5669: PO_LOG.proc_begin(d_module, 'x_un_number_id_tbl', x_un_number_id_tbl);
5670: END IF;
5671:
5672: -- derive un_number_id from un_number
5673: FORALL i IN 1.. p_index_tbl.COUNT
5692:
5693: -- push the result back to x_lines
5694: FOR i IN 1..l_index_tbl.COUNT
5695: LOOP
5696: IF (PO_LOG.d_stmt) THEN
5697: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5698: PO_LOG.stmt(d_module, d_position, 'new un number id', l_result_tbl(i));
5699: END IF;
5700:
5693: -- push the result back to x_lines
5694: FOR i IN 1..l_index_tbl.COUNT
5695: LOOP
5696: IF (PO_LOG.d_stmt) THEN
5697: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5698: PO_LOG.stmt(d_module, d_position, 'new un number id', l_result_tbl(i));
5699: END IF;
5700:
5701: x_un_number_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5694: FOR i IN 1..l_index_tbl.COUNT
5695: LOOP
5696: IF (PO_LOG.d_stmt) THEN
5697: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5698: PO_LOG.stmt(d_module, d_position, 'new un number id', l_result_tbl(i));
5699: END IF;
5700:
5701: x_un_number_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5702: END LOOP;
5700:
5701: x_un_number_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5702: END LOOP;
5703:
5704: IF (PO_LOG.d_proc) THEN
5705: PO_LOG.proc_end(d_module);
5706: END IF;
5707:
5708: EXCEPTION
5701: x_un_number_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5702: END LOOP;
5703:
5704: IF (PO_LOG.d_proc) THEN
5705: PO_LOG.proc_end(d_module);
5706: END IF;
5707:
5708: EXCEPTION
5709: WHEN OTHERS THEN
5753: l_result_tbl PO_TBL_NUMBER;
5754: BEGIN
5755: d_position := 0;
5756:
5757: IF (PO_LOG.d_proc) THEN
5758: PO_LOG.proc_begin(d_module, 'p_hazard_class_tbl', p_hazard_class_tbl);
5759: PO_LOG.proc_begin(d_module, 'x_hazard_class_id_tbl', x_hazard_class_id_tbl);
5760: END IF;
5761:
5754: BEGIN
5755: d_position := 0;
5756:
5757: IF (PO_LOG.d_proc) THEN
5758: PO_LOG.proc_begin(d_module, 'p_hazard_class_tbl', p_hazard_class_tbl);
5759: PO_LOG.proc_begin(d_module, 'x_hazard_class_id_tbl', x_hazard_class_id_tbl);
5760: END IF;
5761:
5762: -- derive hazard_class_id from hazard_class
5755: d_position := 0;
5756:
5757: IF (PO_LOG.d_proc) THEN
5758: PO_LOG.proc_begin(d_module, 'p_hazard_class_tbl', p_hazard_class_tbl);
5759: PO_LOG.proc_begin(d_module, 'x_hazard_class_id_tbl', x_hazard_class_id_tbl);
5760: END IF;
5761:
5762: -- derive hazard_class_id from hazard_class
5763: FORALL i IN 1..p_index_tbl.COUNT
5781:
5782: -- push the result back to x_hazard_class_ids
5783: FOR i IN 1..l_index_tbl.COUNT
5784: LOOP
5785: IF (PO_LOG.d_stmt) THEN
5786: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5787: PO_LOG.stmt(d_module, d_position, 'new hazard class id', l_result_tbl(i));
5788: END IF;
5789:
5782: -- push the result back to x_hazard_class_ids
5783: FOR i IN 1..l_index_tbl.COUNT
5784: LOOP
5785: IF (PO_LOG.d_stmt) THEN
5786: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5787: PO_LOG.stmt(d_module, d_position, 'new hazard class id', l_result_tbl(i));
5788: END IF;
5789:
5790: x_hazard_class_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5783: FOR i IN 1..l_index_tbl.COUNT
5784: LOOP
5785: IF (PO_LOG.d_stmt) THEN
5786: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5787: PO_LOG.stmt(d_module, d_position, 'new hazard class id', l_result_tbl(i));
5788: END IF;
5789:
5790: x_hazard_class_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5791: END LOOP;
5789:
5790: x_hazard_class_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5791: END LOOP;
5792:
5793: IF (PO_LOG.d_proc) THEN
5794: PO_LOG.proc_end(d_module);
5795: END IF;
5796:
5797: EXCEPTION
5790: x_hazard_class_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5791: END LOOP;
5792:
5793: IF (PO_LOG.d_proc) THEN
5794: PO_LOG.proc_end(d_module);
5795: END IF;
5796:
5797: EXCEPTION
5798: WHEN OTHERS THEN
5842: l_result_tbl PO_TBL_NUMBER;
5843: BEGIN
5844: d_position := 0;
5845:
5846: IF (PO_LOG.d_proc) THEN
5847: PO_LOG.proc_begin(d_module, 'p_template_name_tbl', p_template_name_tbl);
5848: PO_LOG.proc_begin(d_module, 'x_template_id_tbl', x_template_id_tbl);
5849: END IF;
5850:
5843: BEGIN
5844: d_position := 0;
5845:
5846: IF (PO_LOG.d_proc) THEN
5847: PO_LOG.proc_begin(d_module, 'p_template_name_tbl', p_template_name_tbl);
5848: PO_LOG.proc_begin(d_module, 'x_template_id_tbl', x_template_id_tbl);
5849: END IF;
5850:
5851: -- derive template_id from template_name
5844: d_position := 0;
5845:
5846: IF (PO_LOG.d_proc) THEN
5847: PO_LOG.proc_begin(d_module, 'p_template_name_tbl', p_template_name_tbl);
5848: PO_LOG.proc_begin(d_module, 'x_template_id_tbl', x_template_id_tbl);
5849: END IF;
5850:
5851: -- derive template_id from template_name
5852: FORALL i IN 1..p_index_tbl.COUNT
5873:
5874: -- push the result back to x_lines
5875: FOR i IN 1..l_index_tbl.COUNT
5876: LOOP
5877: IF (PO_LOG.d_stmt) THEN
5878: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5879: PO_LOG.stmt(d_module, d_position, 'new template id', l_result_tbl(i));
5880: END IF;
5881:
5874: -- push the result back to x_lines
5875: FOR i IN 1..l_index_tbl.COUNT
5876: LOOP
5877: IF (PO_LOG.d_stmt) THEN
5878: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5879: PO_LOG.stmt(d_module, d_position, 'new template id', l_result_tbl(i));
5880: END IF;
5881:
5882: x_template_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5875: FOR i IN 1..l_index_tbl.COUNT
5876: LOOP
5877: IF (PO_LOG.d_stmt) THEN
5878: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
5879: PO_LOG.stmt(d_module, d_position, 'new template id', l_result_tbl(i));
5880: END IF;
5881:
5882: x_template_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5883: END LOOP;
5881:
5882: x_template_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5883: END LOOP;
5884:
5885: IF (PO_LOG.d_proc) THEN
5886: PO_LOG.proc_end(d_module);
5887: END IF;
5888:
5889: EXCEPTION
5882: x_template_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
5883: END LOOP;
5884:
5885: IF (PO_LOG.d_proc) THEN
5886: PO_LOG.proc_end(d_module);
5887: END IF;
5888:
5889: EXCEPTION
5890: WHEN OTHERS THEN
5961: l_index NUMBER;
5962: BEGIN
5963: d_position := 0;
5964:
5965: IF (PO_LOG.d_proc) THEN
5966: PO_LOG.proc_begin(d_module);
5967: END IF;
5968:
5969: x_category_id_tbl := PO_TBL_NUMBER();
5962: BEGIN
5963: d_position := 0;
5964:
5965: IF (PO_LOG.d_proc) THEN
5966: PO_LOG.proc_begin(d_module);
5967: END IF;
5968:
5969: x_category_id_tbl := PO_TBL_NUMBER();
5970: x_unit_of_measure_tbl := PO_TBL_VARCHAR30();
6009: FOR i IN 1..l_index_tbl.COUNT
6010: LOOP
6011: l_index := l_index_tbl(i);
6012:
6013: IF (PO_LOG.d_stmt) THEN
6014: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6015: PO_LOG.stmt(d_module, d_position, 'new order type',
6016: l_order_type_lookup_code_tbl(i));
6017: PO_LOG.stmt(d_module, d_position, 'new purchase basis',
6010: LOOP
6011: l_index := l_index_tbl(i);
6012:
6013: IF (PO_LOG.d_stmt) THEN
6014: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6015: PO_LOG.stmt(d_module, d_position, 'new order type',
6016: l_order_type_lookup_code_tbl(i));
6017: PO_LOG.stmt(d_module, d_position, 'new purchase basis',
6018: l_purchase_basis_tbl(i));
6011: l_index := l_index_tbl(i);
6012:
6013: IF (PO_LOG.d_stmt) THEN
6014: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6015: PO_LOG.stmt(d_module, d_position, 'new order type',
6016: l_order_type_lookup_code_tbl(i));
6017: PO_LOG.stmt(d_module, d_position, 'new purchase basis',
6018: l_purchase_basis_tbl(i));
6019: PO_LOG.stmt(d_module, d_position, 'new matching basis',
6013: IF (PO_LOG.d_stmt) THEN
6014: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6015: PO_LOG.stmt(d_module, d_position, 'new order type',
6016: l_order_type_lookup_code_tbl(i));
6017: PO_LOG.stmt(d_module, d_position, 'new purchase basis',
6018: l_purchase_basis_tbl(i));
6019: PO_LOG.stmt(d_module, d_position, 'new matching basis',
6020: l_matching_basis_tbl(i));
6021: PO_LOG.stmt(d_module, d_position, 'new category id',
6015: PO_LOG.stmt(d_module, d_position, 'new order type',
6016: l_order_type_lookup_code_tbl(i));
6017: PO_LOG.stmt(d_module, d_position, 'new purchase basis',
6018: l_purchase_basis_tbl(i));
6019: PO_LOG.stmt(d_module, d_position, 'new matching basis',
6020: l_matching_basis_tbl(i));
6021: PO_LOG.stmt(d_module, d_position, 'new category id',
6022: l_category_id_tbl(i));
6023: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6017: PO_LOG.stmt(d_module, d_position, 'new purchase basis',
6018: l_purchase_basis_tbl(i));
6019: PO_LOG.stmt(d_module, d_position, 'new matching basis',
6020: l_matching_basis_tbl(i));
6021: PO_LOG.stmt(d_module, d_position, 'new category id',
6022: l_category_id_tbl(i));
6023: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6024: l_unit_of_measure_tbl(i));
6025: PO_LOG.stmt(d_module, d_position, 'new unit price',
6019: PO_LOG.stmt(d_module, d_position, 'new matching basis',
6020: l_matching_basis_tbl(i));
6021: PO_LOG.stmt(d_module, d_position, 'new category id',
6022: l_category_id_tbl(i));
6023: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6024: l_unit_of_measure_tbl(i));
6025: PO_LOG.stmt(d_module, d_position, 'new unit price',
6026: l_unit_price_tbl(i));
6027: END IF;
6021: PO_LOG.stmt(d_module, d_position, 'new category id',
6022: l_category_id_tbl(i));
6023: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6024: l_unit_of_measure_tbl(i));
6025: PO_LOG.stmt(d_module, d_position, 'new unit price',
6026: l_unit_price_tbl(i));
6027: END IF;
6028:
6029: x_order_type_lookup_code_tbl(l_index) := l_order_type_lookup_code_tbl(i);
6033: x_unit_of_measure_tbl(l_index) := l_unit_of_measure_tbl(i);
6034: x_unit_price_tbl(l_index) := l_unit_price_tbl(i);
6035: END LOOP;
6036:
6037: IF (PO_LOG.d_proc) THEN
6038: PO_LOG.proc_end(d_module);
6039: END IF;
6040:
6041: EXCEPTION
6034: x_unit_price_tbl(l_index) := l_unit_price_tbl(i);
6035: END LOOP;
6036:
6037: IF (PO_LOG.d_proc) THEN
6038: PO_LOG.proc_end(d_module);
6039: END IF;
6040:
6041: EXCEPTION
6042: WHEN OTHERS THEN
6124: l_index NUMBER;
6125: BEGIN
6126: d_position := 0;
6127:
6128: IF (PO_LOG.d_proc) THEN
6129: PO_LOG.proc_begin(d_module);
6130: END IF;
6131:
6132: x_item_desc_tbl := PO_TBL_VARCHAR2000();
6125: BEGIN
6126: d_position := 0;
6127:
6128: IF (PO_LOG.d_proc) THEN
6129: PO_LOG.proc_begin(d_module);
6130: END IF;
6131:
6132: x_item_desc_tbl := PO_TBL_VARCHAR2000();
6133: x_unit_of_measure_tbl := PO_TBL_VARCHAR30();
6200: FOR i IN 1..l_index_tbl.COUNT
6201: LOOP
6202: l_index := l_index_tbl(i);
6203:
6204: IF (PO_LOG.d_stmt) THEN
6205: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6206: PO_LOG.stmt(d_module, d_position, 'new item desc',
6207: l_item_desc_tbl(i));
6208: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6201: LOOP
6202: l_index := l_index_tbl(i);
6203:
6204: IF (PO_LOG.d_stmt) THEN
6205: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6206: PO_LOG.stmt(d_module, d_position, 'new item desc',
6207: l_item_desc_tbl(i));
6208: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6209: l_unit_of_measure_tbl(i));
6202: l_index := l_index_tbl(i);
6203:
6204: IF (PO_LOG.d_stmt) THEN
6205: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6206: PO_LOG.stmt(d_module, d_position, 'new item desc',
6207: l_item_desc_tbl(i));
6208: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6209: l_unit_of_measure_tbl(i));
6210: PO_LOG.stmt(d_module, d_position, 'new unit price',
6204: IF (PO_LOG.d_stmt) THEN
6205: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6206: PO_LOG.stmt(d_module, d_position, 'new item desc',
6207: l_item_desc_tbl(i));
6208: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6209: l_unit_of_measure_tbl(i));
6210: PO_LOG.stmt(d_module, d_position, 'new unit price',
6211: l_unit_price_tbl(i));
6212: PO_LOG.stmt(d_module, d_position, 'new category id',
6206: PO_LOG.stmt(d_module, d_position, 'new item desc',
6207: l_item_desc_tbl(i));
6208: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6209: l_unit_of_measure_tbl(i));
6210: PO_LOG.stmt(d_module, d_position, 'new unit price',
6211: l_unit_price_tbl(i));
6212: PO_LOG.stmt(d_module, d_position, 'new category id',
6213: l_category_id_tbl(i));
6214: PO_LOG.stmt(d_module, d_position, 'new un number id',
6208: PO_LOG.stmt(d_module, d_position, 'new unit of measure',
6209: l_unit_of_measure_tbl(i));
6210: PO_LOG.stmt(d_module, d_position, 'new unit price',
6211: l_unit_price_tbl(i));
6212: PO_LOG.stmt(d_module, d_position, 'new category id',
6213: l_category_id_tbl(i));
6214: PO_LOG.stmt(d_module, d_position, 'new un number id',
6215: l_un_number_id_tbl(i));
6216: PO_LOG.stmt(d_module, d_position, 'new hazard class id',
6210: PO_LOG.stmt(d_module, d_position, 'new unit price',
6211: l_unit_price_tbl(i));
6212: PO_LOG.stmt(d_module, d_position, 'new category id',
6213: l_category_id_tbl(i));
6214: PO_LOG.stmt(d_module, d_position, 'new un number id',
6215: l_un_number_id_tbl(i));
6216: PO_LOG.stmt(d_module, d_position, 'new hazard class id',
6217: l_hazard_class_id_tbl(i));
6218: PO_LOG.stmt(d_module, d_position, 'new market price',
6212: PO_LOG.stmt(d_module, d_position, 'new category id',
6213: l_category_id_tbl(i));
6214: PO_LOG.stmt(d_module, d_position, 'new un number id',
6215: l_un_number_id_tbl(i));
6216: PO_LOG.stmt(d_module, d_position, 'new hazard class id',
6217: l_hazard_class_id_tbl(i));
6218: PO_LOG.stmt(d_module, d_position, 'new market price',
6219: l_market_price_tbl(i));
6220: PO_LOG.stmt(d_module, d_position, 'new secondary unit of measure',
6214: PO_LOG.stmt(d_module, d_position, 'new un number id',
6215: l_un_number_id_tbl(i));
6216: PO_LOG.stmt(d_module, d_position, 'new hazard class id',
6217: l_hazard_class_id_tbl(i));
6218: PO_LOG.stmt(d_module, d_position, 'new market price',
6219: l_market_price_tbl(i));
6220: PO_LOG.stmt(d_module, d_position, 'new secondary unit of measure',
6221: l_secondary_unit_of_meas_tbl(i));
6222: END IF;
6216: PO_LOG.stmt(d_module, d_position, 'new hazard class id',
6217: l_hazard_class_id_tbl(i));
6218: PO_LOG.stmt(d_module, d_position, 'new market price',
6219: l_market_price_tbl(i));
6220: PO_LOG.stmt(d_module, d_position, 'new secondary unit of measure',
6221: l_secondary_unit_of_meas_tbl(i));
6222: END IF;
6223:
6224: x_item_desc_tbl(l_index) := l_item_desc_tbl(i);
6230: x_market_price_tbl(l_index) := l_market_price_tbl(i);
6231: x_secondary_unit_of_meas_tbl(l_index) := l_secondary_unit_of_meas_tbl(i);
6232: END LOOP;
6233:
6234: IF (PO_LOG.d_proc) THEN
6235: PO_LOG.proc_end(d_module);
6236: END IF;
6237:
6238: EXCEPTION
6231: x_secondary_unit_of_meas_tbl(l_index) := l_secondary_unit_of_meas_tbl(i);
6232: END LOOP;
6233:
6234: IF (PO_LOG.d_proc) THEN
6235: PO_LOG.proc_end(d_module);
6236: END IF;
6237:
6238: EXCEPTION
6239: WHEN OTHERS THEN
6290: l_category_id_tbl PO_TBL_NUMBER;
6291: BEGIN
6292: d_position := 0;
6293:
6294: IF (PO_LOG.d_proc) THEN
6295: PO_LOG.proc_begin(d_module);
6296: END IF;
6297:
6298: x_item_desc_tbl := PO_TBL_VARCHAR2000();
6291: BEGIN
6292: d_position := 0;
6293:
6294: IF (PO_LOG.d_proc) THEN
6295: PO_LOG.proc_begin(d_module);
6296: END IF;
6297:
6298: x_item_desc_tbl := PO_TBL_VARCHAR2000();
6299: x_category_id_tbl := PO_TBL_NUMBER();
6333: FOR i IN 1..l_index_tbl.COUNT
6334: LOOP
6335: l_index := l_index_tbl(i);
6336:
6337: IF (PO_LOG.d_stmt) THEN
6338: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6339: PO_LOG.stmt(d_module, d_position, 'new item desc', l_item_desc_tbl(i));
6340: PO_LOG.stmt(d_module, d_position, 'new category id', l_category_id_tbl(i));
6341: END IF;
6334: LOOP
6335: l_index := l_index_tbl(i);
6336:
6337: IF (PO_LOG.d_stmt) THEN
6338: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6339: PO_LOG.stmt(d_module, d_position, 'new item desc', l_item_desc_tbl(i));
6340: PO_LOG.stmt(d_module, d_position, 'new category id', l_category_id_tbl(i));
6341: END IF;
6342:
6335: l_index := l_index_tbl(i);
6336:
6337: IF (PO_LOG.d_stmt) THEN
6338: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6339: PO_LOG.stmt(d_module, d_position, 'new item desc', l_item_desc_tbl(i));
6340: PO_LOG.stmt(d_module, d_position, 'new category id', l_category_id_tbl(i));
6341: END IF;
6342:
6343: x_item_desc_tbl(l_index) := l_item_desc_tbl(i);
6336:
6337: IF (PO_LOG.d_stmt) THEN
6338: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6339: PO_LOG.stmt(d_module, d_position, 'new item desc', l_item_desc_tbl(i));
6340: PO_LOG.stmt(d_module, d_position, 'new category id', l_category_id_tbl(i));
6341: END IF;
6342:
6343: x_item_desc_tbl(l_index) := l_item_desc_tbl(i);
6344: x_category_id_tbl(l_index) := l_category_id_tbl(i);
6343: x_item_desc_tbl(l_index) := l_item_desc_tbl(i);
6344: x_category_id_tbl(l_index) := l_category_id_tbl(i);
6345: END LOOP;
6346:
6347: IF (PO_LOG.d_proc) THEN
6348: PO_LOG.proc_end(d_module);
6349: END IF;
6350:
6351: EXCEPTION
6344: x_category_id_tbl(l_index) := l_category_id_tbl(i);
6345: END LOOP;
6346:
6347: IF (PO_LOG.d_proc) THEN
6348: PO_LOG.proc_end(d_module);
6349: END IF;
6350:
6351: EXCEPTION
6352: WHEN OTHERS THEN
6393: l_result_tbl PO_TBL_NUMBER;
6394: BEGIN
6395: d_position := 0;
6396:
6397: IF (PO_LOG.d_proc) THEN
6398: PO_LOG.proc_begin(d_module, 'p_ip_category_id_tbl', p_ip_category_id_tbl);
6399: PO_LOG.proc_begin(d_module, 'x_po_category_id_tbl',
6400: x_po_category_id_tbl);
6401: END IF;
6394: BEGIN
6395: d_position := 0;
6396:
6397: IF (PO_LOG.d_proc) THEN
6398: PO_LOG.proc_begin(d_module, 'p_ip_category_id_tbl', p_ip_category_id_tbl);
6399: PO_LOG.proc_begin(d_module, 'x_po_category_id_tbl',
6400: x_po_category_id_tbl);
6401: END IF;
6402:
6395: d_position := 0;
6396:
6397: IF (PO_LOG.d_proc) THEN
6398: PO_LOG.proc_begin(d_module, 'p_ip_category_id_tbl', p_ip_category_id_tbl);
6399: PO_LOG.proc_begin(d_module, 'x_po_category_id_tbl',
6400: x_po_category_id_tbl);
6401: END IF;
6402:
6403: -- retrieve the values based on ip category id
6423:
6424: -- set the result in OUT parameters
6425: FOR i IN 1..l_index_tbl.COUNT
6426: LOOP
6427: IF (PO_LOG.d_stmt) THEN
6428: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6429: PO_LOG.stmt(d_module, d_position, 'new po category id', l_result_tbl(i));
6430: END IF;
6431:
6424: -- set the result in OUT parameters
6425: FOR i IN 1..l_index_tbl.COUNT
6426: LOOP
6427: IF (PO_LOG.d_stmt) THEN
6428: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6429: PO_LOG.stmt(d_module, d_position, 'new po category id', l_result_tbl(i));
6430: END IF;
6431:
6432: x_po_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6425: FOR i IN 1..l_index_tbl.COUNT
6426: LOOP
6427: IF (PO_LOG.d_stmt) THEN
6428: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6429: PO_LOG.stmt(d_module, d_position, 'new po category id', l_result_tbl(i));
6430: END IF;
6431:
6432: x_po_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6433: END LOOP;
6431:
6432: x_po_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6433: END LOOP;
6434:
6435: IF (PO_LOG.d_proc) THEN
6436: PO_LOG.proc_end(d_module);
6437: END IF;
6438:
6439: EXCEPTION
6432: x_po_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6433: END LOOP;
6434:
6435: IF (PO_LOG.d_proc) THEN
6436: PO_LOG.proc_end(d_module);
6437: END IF;
6438:
6439: EXCEPTION
6440: WHEN OTHERS THEN
6481: l_result_tbl PO_TBL_NUMBER;
6482: BEGIN
6483: d_position := 0;
6484:
6485: IF (PO_LOG.d_proc) THEN
6486: PO_LOG.proc_begin(d_module, 'p_po_category_id_tbl', p_po_category_id_tbl);
6487: PO_LOG.proc_begin(d_module, 'x_ip_category_id_tbl',
6488: x_ip_category_id_tbl);
6489: END IF;
6482: BEGIN
6483: d_position := 0;
6484:
6485: IF (PO_LOG.d_proc) THEN
6486: PO_LOG.proc_begin(d_module, 'p_po_category_id_tbl', p_po_category_id_tbl);
6487: PO_LOG.proc_begin(d_module, 'x_ip_category_id_tbl',
6488: x_ip_category_id_tbl);
6489: END IF;
6490:
6483: d_position := 0;
6484:
6485: IF (PO_LOG.d_proc) THEN
6486: PO_LOG.proc_begin(d_module, 'p_po_category_id_tbl', p_po_category_id_tbl);
6487: PO_LOG.proc_begin(d_module, 'x_ip_category_id_tbl',
6488: x_ip_category_id_tbl);
6489: END IF;
6490:
6491: -- retrieve the values based on po category id
6511:
6512: -- set the result in OUT parameters
6513: FOR i IN 1..l_index_tbl.COUNT
6514: LOOP
6515: IF (PO_LOG.d_stmt) THEN
6516: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6517: PO_LOG.stmt(d_module, d_position, 'new ip category id', l_result_tbl(i));
6518: END IF;
6519:
6512: -- set the result in OUT parameters
6513: FOR i IN 1..l_index_tbl.COUNT
6514: LOOP
6515: IF (PO_LOG.d_stmt) THEN
6516: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6517: PO_LOG.stmt(d_module, d_position, 'new ip category id', l_result_tbl(i));
6518: END IF;
6519:
6520: x_ip_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6513: FOR i IN 1..l_index_tbl.COUNT
6514: LOOP
6515: IF (PO_LOG.d_stmt) THEN
6516: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6517: PO_LOG.stmt(d_module, d_position, 'new ip category id', l_result_tbl(i));
6518: END IF;
6519:
6520: x_ip_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6521: END LOOP;
6519:
6520: x_ip_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6521: END LOOP;
6522:
6523: IF (PO_LOG.d_proc) THEN
6524: PO_LOG.proc_end(d_module);
6525: END IF;
6526:
6527: EXCEPTION
6520: x_ip_category_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6521: END LOOP;
6522:
6523: IF (PO_LOG.d_proc) THEN
6524: PO_LOG.proc_end(d_module);
6525: END IF;
6526:
6527: EXCEPTION
6528: WHEN OTHERS THEN
6569: l_result_tbl PO_TBL_NUMBER;
6570: BEGIN
6571: d_position := 0;
6572:
6573: IF (PO_LOG.d_proc) THEN
6574: PO_LOG.proc_begin(d_module, 'p_un_number_tbl', p_un_number_tbl);
6575: PO_LOG.proc_begin(d_module, 'x_hazard_class_id_tbl',
6576: x_hazard_class_id_tbl);
6577: END IF;
6570: BEGIN
6571: d_position := 0;
6572:
6573: IF (PO_LOG.d_proc) THEN
6574: PO_LOG.proc_begin(d_module, 'p_un_number_tbl', p_un_number_tbl);
6575: PO_LOG.proc_begin(d_module, 'x_hazard_class_id_tbl',
6576: x_hazard_class_id_tbl);
6577: END IF;
6578:
6571: d_position := 0;
6572:
6573: IF (PO_LOG.d_proc) THEN
6574: PO_LOG.proc_begin(d_module, 'p_un_number_tbl', p_un_number_tbl);
6575: PO_LOG.proc_begin(d_module, 'x_hazard_class_id_tbl',
6576: x_hazard_class_id_tbl);
6577: END IF;
6578:
6579: -- retrieve the values based on line type id
6600:
6601: -- set the result in OUT parameters
6602: FOR i IN 1..l_index_tbl.COUNT
6603: LOOP
6604: IF (PO_LOG.d_stmt) THEN
6605: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6606: PO_LOG.stmt(d_module, d_position, 'new hazard class id', l_result_tbl(i));
6607: END IF;
6608:
6601: -- set the result in OUT parameters
6602: FOR i IN 1..l_index_tbl.COUNT
6603: LOOP
6604: IF (PO_LOG.d_stmt) THEN
6605: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6606: PO_LOG.stmt(d_module, d_position, 'new hazard class id', l_result_tbl(i));
6607: END IF;
6608:
6609: x_hazard_class_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6602: FOR i IN 1..l_index_tbl.COUNT
6603: LOOP
6604: IF (PO_LOG.d_stmt) THEN
6605: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
6606: PO_LOG.stmt(d_module, d_position, 'new hazard class id', l_result_tbl(i));
6607: END IF;
6608:
6609: x_hazard_class_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6610: END LOOP;
6608:
6609: x_hazard_class_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6610: END LOOP;
6611:
6612: IF (PO_LOG.d_proc) THEN
6613: PO_LOG.proc_end(d_module);
6614: END IF;
6615:
6616: EXCEPTION
6609: x_hazard_class_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
6610: END LOOP;
6611:
6612: IF (PO_LOG.d_proc) THEN
6613: PO_LOG.proc_end(d_module);
6614: END IF;
6615:
6616: EXCEPTION
6617: WHEN OTHERS THEN
6672: l_match_index NUMBER;
6673: BEGIN
6674: d_position := 0;
6675:
6676: IF (PO_LOG.d_proc) THEN
6677: PO_LOG.proc_begin(d_module);
6678: END IF;
6679:
6680: -- get new key value for po_session_gt table
6673: BEGIN
6674: d_position := 0;
6675:
6676: IF (PO_LOG.d_proc) THEN
6677: PO_LOG.proc_begin(d_module);
6678: END IF;
6679:
6680: -- get new key value for po_session_gt table
6681: l_key := PO_CORE_S.get_session_gt_nextval;
6703: FOR i IN 1..l_index_tbl.COUNT
6704: LOOP
6705: l_index := l_index_tbl(i);
6706:
6707: IF (PO_LOG.d_stmt) THEN
6708: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6709: PO_LOG.stmt(d_module, d_position, 'matched po line id', l_result_tbl(i));
6710: END IF;
6711:
6704: LOOP
6705: l_index := l_index_tbl(i);
6706:
6707: IF (PO_LOG.d_stmt) THEN
6708: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6709: PO_LOG.stmt(d_module, d_position, 'matched po line id', l_result_tbl(i));
6710: END IF;
6711:
6712: x_lines.po_line_id_tbl(l_index) := l_result_tbl(i);
6705: l_index := l_index_tbl(i);
6706:
6707: IF (PO_LOG.d_stmt) THEN
6708: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6709: PO_LOG.stmt(d_module, d_position, 'matched po line id', l_result_tbl(i));
6710: END IF;
6711:
6712: x_lines.po_line_id_tbl(l_index) := l_result_tbl(i);
6713: x_lines.action_tbl(l_index) := PO_PDOI_CONSTANTS.g_ACTION_UPDATE;
6722: x_lines.po_line_id_tbl(i) IS NULL) THEN
6723: l_po_header_id := x_lines.hd_po_header_id_tbl(i);
6724: l_line_num := x_lines.line_num_tbl(i);
6725:
6726: IF (PO_LOG.d_stmt) THEN
6727: PO_LOG.stmt(d_module, d_position, 'index', i);
6728: PO_LOG.stmt(d_module, d_position, 'po header id', l_po_header_id);
6729: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num);
6730: END IF;
6723: l_po_header_id := x_lines.hd_po_header_id_tbl(i);
6724: l_line_num := x_lines.line_num_tbl(i);
6725:
6726: IF (PO_LOG.d_stmt) THEN
6727: PO_LOG.stmt(d_module, d_position, 'index', i);
6728: PO_LOG.stmt(d_module, d_position, 'po header id', l_po_header_id);
6729: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num);
6730: END IF;
6731:
6724: l_line_num := x_lines.line_num_tbl(i);
6725:
6726: IF (PO_LOG.d_stmt) THEN
6727: PO_LOG.stmt(d_module, d_position, 'index', i);
6728: PO_LOG.stmt(d_module, d_position, 'po header id', l_po_header_id);
6729: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num);
6730: END IF;
6731:
6732: IF (l_line_reference_tbl.EXISTS(l_po_header_id) AND
6725:
6726: IF (PO_LOG.d_stmt) THEN
6727: PO_LOG.stmt(d_module, d_position, 'index', i);
6728: PO_LOG.stmt(d_module, d_position, 'po header id', l_po_header_id);
6729: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num);
6730: END IF;
6731:
6732: IF (l_line_reference_tbl.EXISTS(l_po_header_id) AND
6733: l_line_reference_tbl(l_po_header_id).EXISTS(l_line_num)) THEN
6736: x_lines.po_line_id_tbl(i) :=
6737: l_line_reference_tbl(l_po_header_id)(l_line_num);
6738: x_lines.action_tbl(i) := PO_PDOI_CONSTANTS.g_ACTION_UPDATE;
6739:
6740: IF (PO_LOG.d_stmt) THEN
6741: PO_LOG.stmt(d_module, d_position, 'match found for line num');
6742: PO_LOG.stmt(d_module, d_position, 'new po line id',
6743: x_lines.po_line_id_tbl(i));
6744: END IF;
6737: l_line_reference_tbl(l_po_header_id)(l_line_num);
6738: x_lines.action_tbl(i) := PO_PDOI_CONSTANTS.g_ACTION_UPDATE;
6739:
6740: IF (PO_LOG.d_stmt) THEN
6741: PO_LOG.stmt(d_module, d_position, 'match found for line num');
6742: PO_LOG.stmt(d_module, d_position, 'new po line id',
6743: x_lines.po_line_id_tbl(i));
6744: END IF;
6745: ELSE
6738: x_lines.action_tbl(i) := PO_PDOI_CONSTANTS.g_ACTION_UPDATE;
6739:
6740: IF (PO_LOG.d_stmt) THEN
6741: PO_LOG.stmt(d_module, d_position, 'match found for line num');
6742: PO_LOG.stmt(d_module, d_position, 'new po line id',
6743: x_lines.po_line_id_tbl(i));
6744: END IF;
6745: ELSE
6746: d_position := 40;
6751:
6752: l_line_reference_tbl(l_po_header_id)(l_line_num) :=
6753: x_lines.po_line_id_tbl(i);
6754:
6755: IF (PO_LOG.d_stmt) THEN
6756: PO_LOG.stmt(d_module, d_position, 'match not found for line num');
6757: PO_LOG.stmt(d_module, d_position, 'new po line id',
6758: x_lines.po_line_id_tbl(i));
6759: END IF;
6752: l_line_reference_tbl(l_po_header_id)(l_line_num) :=
6753: x_lines.po_line_id_tbl(i);
6754:
6755: IF (PO_LOG.d_stmt) THEN
6756: PO_LOG.stmt(d_module, d_position, 'match not found for line num');
6757: PO_LOG.stmt(d_module, d_position, 'new po line id',
6758: x_lines.po_line_id_tbl(i));
6759: END IF;
6760: END IF;
6753: x_lines.po_line_id_tbl(i);
6754:
6755: IF (PO_LOG.d_stmt) THEN
6756: PO_LOG.stmt(d_module, d_position, 'match not found for line num');
6757: PO_LOG.stmt(d_module, d_position, 'new po line id',
6758: x_lines.po_line_id_tbl(i));
6759: END IF;
6760: END IF;
6761: END IF;
6760: END IF;
6761: END IF;
6762: END LOOP;
6763:
6764: IF (PO_LOG.d_proc) THEN
6765: PO_LOG.proc_end(d_module);
6766: END IF;
6767:
6768: EXCEPTION
6761: END IF;
6762: END LOOP;
6763:
6764: IF (PO_LOG.d_proc) THEN
6765: PO_LOG.proc_end(d_module);
6766: END IF;
6767:
6768: EXCEPTION
6769: WHEN OTHERS THEN
6820: l_match_index NUMBER;
6821: BEGIN
6822: d_position := 0;
6823:
6824: IF (PO_LOG.d_proc) THEN
6825: PO_LOG.proc_begin(d_module);
6826: END IF;
6827:
6828: -- get key value for po_session_gt table
6821: BEGIN
6822: d_position := 0;
6823:
6824: IF (PO_LOG.d_proc) THEN
6825: PO_LOG.proc_begin(d_module);
6826: END IF;
6827:
6828: -- get key value for po_session_gt table
6829: l_key := PO_CORE_S.get_session_gt_nextval;
6840: x_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
6841: NOT (x_lines.order_type_lookup_code_tbl(i) = 'AMOUNT' AND
6842: PO_PDOI_PARAMS.g_request.document_type =
6843: PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET)) THEN
6844: IF (PO_LOG.d_stmt) THEN
6845: PO_LOG.stmt(d_module, d_position, 'processing index', i);
6846: END IF;
6847:
6848: l_processing_line_tbl(i) := i;
6841: NOT (x_lines.order_type_lookup_code_tbl(i) = 'AMOUNT' AND
6842: PO_PDOI_PARAMS.g_request.document_type =
6843: PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET)) THEN
6844: IF (PO_LOG.d_stmt) THEN
6845: PO_LOG.stmt(d_module, d_position, 'processing index', i);
6846: END IF;
6847:
6848: l_processing_line_tbl(i) := i;
6849: ELSE
6852: x_lines.line_num_tbl(i) :=
6853: PO_PDOI_MAINPROC_UTL_PVT.get_next_line_num(x_lines.po_header_id_tbl(i));
6854: x_lines.action_tbl(i) := PO_PDOI_CONSTANTS.g_ACTION_ADD;
6855:
6856: IF (PO_LOG.d_stmt) THEN
6857: PO_LOG.stmt(d_module, d_position, 'new po line id', x_lines.po_line_id_tbl(i));
6858: PO_LOG.stmt(d_module, d_position, 'new line num', x_lines.line_num_tbl(i));
6859: END IF;
6860: END IF;
6853: PO_PDOI_MAINPROC_UTL_PVT.get_next_line_num(x_lines.po_header_id_tbl(i));
6854: x_lines.action_tbl(i) := PO_PDOI_CONSTANTS.g_ACTION_ADD;
6855:
6856: IF (PO_LOG.d_stmt) THEN
6857: PO_LOG.stmt(d_module, d_position, 'new po line id', x_lines.po_line_id_tbl(i));
6858: PO_LOG.stmt(d_module, d_position, 'new line num', x_lines.line_num_tbl(i));
6859: END IF;
6860: END IF;
6861: END IF;
6854: x_lines.action_tbl(i) := PO_PDOI_CONSTANTS.g_ACTION_ADD;
6855:
6856: IF (PO_LOG.d_stmt) THEN
6857: PO_LOG.stmt(d_module, d_position, 'new po line id', x_lines.po_line_id_tbl(i));
6858: PO_LOG.stmt(d_module, d_position, 'new line num', x_lines.line_num_tbl(i));
6859: END IF;
6860: END IF;
6861: END IF;
6862: END LOOP;
6917: FOR i IN 1..l_index_tbl.COUNT
6918: LOOP
6919: l_index := l_index_tbl(i);
6920:
6921: IF (PO_LOG.d_stmt) THEN
6922: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6923: PO_LOG.stmt(d_module, d_position, 'matched po line id', l_po_line_id_tbl(i));
6924: PO_LOG.stmt(d_module, d_position, 'matched line num', l_line_num_tbl(i));
6925: END IF;
6918: LOOP
6919: l_index := l_index_tbl(i);
6920:
6921: IF (PO_LOG.d_stmt) THEN
6922: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6923: PO_LOG.stmt(d_module, d_position, 'matched po line id', l_po_line_id_tbl(i));
6924: PO_LOG.stmt(d_module, d_position, 'matched line num', l_line_num_tbl(i));
6925: END IF;
6926:
6919: l_index := l_index_tbl(i);
6920:
6921: IF (PO_LOG.d_stmt) THEN
6922: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6923: PO_LOG.stmt(d_module, d_position, 'matched po line id', l_po_line_id_tbl(i));
6924: PO_LOG.stmt(d_module, d_position, 'matched line num', l_line_num_tbl(i));
6925: END IF;
6926:
6927: x_lines.po_line_id_tbl(l_index) := l_po_line_id_tbl(i);
6920:
6921: IF (PO_LOG.d_stmt) THEN
6922: PO_LOG.stmt(d_module, d_position, 'index', l_index);
6923: PO_LOG.stmt(d_module, d_position, 'matched po line id', l_po_line_id_tbl(i));
6924: PO_LOG.stmt(d_module, d_position, 'matched line num', l_line_num_tbl(i));
6925: END IF;
6926:
6927: x_lines.po_line_id_tbl(l_index) := l_po_line_id_tbl(i);
6928: x_lines.line_num_tbl(l_index) := l_line_num_tbl(i);
7022: x_lines.line_num_tbl(l_index) := PO_PDOI_MAINPROC_UTL_PVT.get_next_line_num(x_lines.po_header_id_tbl(l_index)); --bug 8295593
7023: -- delete the corresponding node so the line won't be matched within batch
7024: l_processing_line_tbl.DELETE(l_index); --bug 8295593
7025:
7026: IF (PO_LOG.d_stmt) THEN
7027: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7028: PO_LOG.stmt(d_module, d_position, 'assigned po line id',
7029: x_lines.po_line_id_tbl(l_index));
7030: PO_LOG.stmt(d_module, d_position, 'assigned line num', x_lines.line_num_tbl(l_index));
7023: -- delete the corresponding node so the line won't be matched within batch
7024: l_processing_line_tbl.DELETE(l_index); --bug 8295593
7025:
7026: IF (PO_LOG.d_stmt) THEN
7027: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7028: PO_LOG.stmt(d_module, d_position, 'assigned po line id',
7029: x_lines.po_line_id_tbl(l_index));
7030: PO_LOG.stmt(d_module, d_position, 'assigned line num', x_lines.line_num_tbl(l_index));
7031: END IF;
7024: l_processing_line_tbl.DELETE(l_index); --bug 8295593
7025:
7026: IF (PO_LOG.d_stmt) THEN
7027: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7028: PO_LOG.stmt(d_module, d_position, 'assigned po line id',
7029: x_lines.po_line_id_tbl(l_index));
7030: PO_LOG.stmt(d_module, d_position, 'assigned line num', x_lines.line_num_tbl(l_index));
7031: END IF;
7032: END LOOP;
7026: IF (PO_LOG.d_stmt) THEN
7027: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7028: PO_LOG.stmt(d_module, d_position, 'assigned po line id',
7029: x_lines.po_line_id_tbl(l_index));
7030: PO_LOG.stmt(d_module, d_position, 'assigned line num', x_lines.line_num_tbl(l_index));
7031: END IF;
7032: END LOOP;
7033:
7034: d_position := 80;
7077: DELETE FROM po_session_gt
7078: WHERE key = l_key
7079: RETURNING num1, num2 BULK COLLECT INTO l_index_tbl, l_match_index_tbl;
7080:
7081: IF (PO_LOG.d_stmt) THEN
7082: PO_LOG.stmt(d_module, d_position, 'l_index_tbl', l_index_tbl);
7083: PO_LOG.stmt(d_module, d_position, 'l_match_index_tbl', l_match_index_tbl);
7084: END IF;
7085:
7078: WHERE key = l_key
7079: RETURNING num1, num2 BULK COLLECT INTO l_index_tbl, l_match_index_tbl;
7080:
7081: IF (PO_LOG.d_stmt) THEN
7082: PO_LOG.stmt(d_module, d_position, 'l_index_tbl', l_index_tbl);
7083: PO_LOG.stmt(d_module, d_position, 'l_match_index_tbl', l_match_index_tbl);
7084: END IF;
7085:
7086: FOR i IN 1..l_index_tbl.COUNT
7079: RETURNING num1, num2 BULK COLLECT INTO l_index_tbl, l_match_index_tbl;
7080:
7081: IF (PO_LOG.d_stmt) THEN
7082: PO_LOG.stmt(d_module, d_position, 'l_index_tbl', l_index_tbl);
7083: PO_LOG.stmt(d_module, d_position, 'l_match_index_tbl', l_match_index_tbl);
7084: END IF;
7085:
7086: FOR i IN 1..l_index_tbl.COUNT
7087: LOOP
7091: x_lines.po_line_id_tbl(l_index) := x_lines.po_line_id_tbl(l_match_index);
7092: x_lines.line_num_tbl(l_index) := x_lines.line_num_tbl(l_match_index);
7093: x_lines.action_tbl(l_index) := PO_PDOI_CONSTANTS.g_ACTION_UPDATE;
7094:
7095: IF (PO_LOG.d_stmt) THEN
7096: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7097: PO_LOG.stmt(d_module, d_position, 'match index', l_match_index);
7098: PO_LOG.stmt(d_module, d_position, 'matched po line id',
7099: x_lines.po_line_id_tbl(l_index));
7092: x_lines.line_num_tbl(l_index) := x_lines.line_num_tbl(l_match_index);
7093: x_lines.action_tbl(l_index) := PO_PDOI_CONSTANTS.g_ACTION_UPDATE;
7094:
7095: IF (PO_LOG.d_stmt) THEN
7096: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7097: PO_LOG.stmt(d_module, d_position, 'match index', l_match_index);
7098: PO_LOG.stmt(d_module, d_position, 'matched po line id',
7099: x_lines.po_line_id_tbl(l_index));
7100: PO_LOG.stmt(d_module, d_position, 'matched line num', x_lines.line_num_tbl(l_index));
7093: x_lines.action_tbl(l_index) := PO_PDOI_CONSTANTS.g_ACTION_UPDATE;
7094:
7095: IF (PO_LOG.d_stmt) THEN
7096: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7097: PO_LOG.stmt(d_module, d_position, 'match index', l_match_index);
7098: PO_LOG.stmt(d_module, d_position, 'matched po line id',
7099: x_lines.po_line_id_tbl(l_index));
7100: PO_LOG.stmt(d_module, d_position, 'matched line num', x_lines.line_num_tbl(l_index));
7101: END IF;
7094:
7095: IF (PO_LOG.d_stmt) THEN
7096: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7097: PO_LOG.stmt(d_module, d_position, 'match index', l_match_index);
7098: PO_LOG.stmt(d_module, d_position, 'matched po line id',
7099: x_lines.po_line_id_tbl(l_index));
7100: PO_LOG.stmt(d_module, d_position, 'matched line num', x_lines.line_num_tbl(l_index));
7101: END IF;
7102: END LOOP;
7096: PO_LOG.stmt(d_module, d_position, 'index', l_index);
7097: PO_LOG.stmt(d_module, d_position, 'match index', l_match_index);
7098: PO_LOG.stmt(d_module, d_position, 'matched po line id',
7099: x_lines.po_line_id_tbl(l_index));
7100: PO_LOG.stmt(d_module, d_position, 'matched line num', x_lines.line_num_tbl(l_index));
7101: END IF;
7102: END LOOP;
7103:
7104: d_position := 110;
7107: PO_PDOI_UTL.remove_session_gt_records
7108: ( p_key => l_data_key
7109: );
7110:
7111: IF (PO_LOG.d_proc) THEN
7112: PO_LOG.proc_end(d_module);
7113: END IF;
7114:
7115: EXCEPTION
7108: ( p_key => l_data_key
7109: );
7110:
7111: IF (PO_LOG.d_proc) THEN
7112: PO_LOG.proc_end(d_module);
7113: END IF;
7114:
7115: EXCEPTION
7116: WHEN OTHERS THEN
7154: l_target_index NUMBER :=0;
7155: BEGIN
7156: d_position := 0;
7157:
7158: IF (PO_LOG.d_proc) THEN
7159: PO_LOG.proc_begin(d_module);
7160: END IF;
7161:
7162: -- bug5107324
7155: BEGIN
7156: d_position := 0;
7157:
7158: IF (PO_LOG.d_proc) THEN
7159: PO_LOG.proc_begin(d_module);
7160: END IF;
7161:
7162: -- bug5107324
7163: -- Refactored the code as PO_PDOI_TYPES.fill_all_lines_attr already does
7173: );
7174:
7175: IF (p_source_index_tbl.COUNT = 0) THEN
7176:
7177: IF (PO_LOG.d_proc) THEN
7178: PO_LOG.proc_end(d_module, 'no line is copied', p_source_index_tbl.COUNT);
7179: END IF;
7180:
7181: RETURN;
7174:
7175: IF (p_source_index_tbl.COUNT = 0) THEN
7176:
7177: IF (PO_LOG.d_proc) THEN
7178: PO_LOG.proc_end(d_module, 'no line is copied', p_source_index_tbl.COUNT);
7179: END IF;
7180:
7181: RETURN;
7182: END IF;
7357: LOOP
7358: x_target_lines.intf_id_index_tbl(x_target_lines.intf_line_id_tbl(i)) := i;
7359: END LOOP;
7360:
7361: IF (PO_LOG.d_proc) THEN
7362: PO_LOG.proc_end(d_module, 'number of copied lines', l_target_index);
7363: END IF;
7364:
7365: EXCEPTION
7358: x_target_lines.intf_id_index_tbl(x_target_lines.intf_line_id_tbl(i)) := i;
7359: END LOOP;
7360:
7361: IF (PO_LOG.d_proc) THEN
7362: PO_LOG.proc_end(d_module, 'number of copied lines', l_target_index);
7363: END IF;
7364:
7365: EXCEPTION
7366: WHEN OTHERS THEN
7414:
7415: BEGIN
7416: d_position := 0;
7417:
7418: IF (PO_LOG.d_proc) THEN
7419: PO_LOG.proc_begin(d_module);
7420: END IF;
7421:
7422: -- check matchings on draft table
7415: BEGIN
7416: d_position := 0;
7417:
7418: IF (PO_LOG.d_proc) THEN
7419: PO_LOG.proc_begin(d_module);
7420: END IF;
7421:
7422: -- check matchings on draft table
7423: FORALL i IN INDICES OF x_processing_row_tbl
7492: LOOP
7493: l_index := l_index_tbl(i);
7494:
7495: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
7496: IF (PO_LOG.d_stmt) THEN
7497: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
7498: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7499: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7500: END IF;
7493: l_index := l_index_tbl(i);
7494:
7495: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
7496: IF (PO_LOG.d_stmt) THEN
7497: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
7498: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7499: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7500: END IF;
7501:
7494:
7495: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
7496: IF (PO_LOG.d_stmt) THEN
7497: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
7498: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7499: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7500: END IF;
7501:
7502: -- first match found
7495: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
7496: IF (PO_LOG.d_stmt) THEN
7497: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
7498: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7499: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7500: END IF;
7501:
7502: -- first match found
7503: x_lines.origin_line_num_tbl(l_index) := x_lines.line_num_tbl(l_index);
7509: IF (l_line_num_tbl(i) = x_lines.origin_line_num_tbl(l_index)) THEN
7510: x_lines.match_line_found_tbl(l_index) := FND_API.g_TRUE;
7511: END IF;
7512: ELSE
7513: IF (PO_LOG.d_stmt) THEN
7514: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7515: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7516: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7517: PO_LOG.stmt(d_module, d_position, 'original line num',
7510: x_lines.match_line_found_tbl(l_index) := FND_API.g_TRUE;
7511: END IF;
7512: ELSE
7513: IF (PO_LOG.d_stmt) THEN
7514: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7515: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7516: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7517: PO_LOG.stmt(d_module, d_position, 'original line num',
7518: x_lines.origin_line_num_tbl(l_index));
7511: END IF;
7512: ELSE
7513: IF (PO_LOG.d_stmt) THEN
7514: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7515: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7516: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7517: PO_LOG.stmt(d_module, d_position, 'original line num',
7518: x_lines.origin_line_num_tbl(l_index));
7519: PO_LOG.stmt(d_module, d_position, 'match line found',
7512: ELSE
7513: IF (PO_LOG.d_stmt) THEN
7514: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7515: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7516: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7517: PO_LOG.stmt(d_module, d_position, 'original line num',
7518: x_lines.origin_line_num_tbl(l_index));
7519: PO_LOG.stmt(d_module, d_position, 'match line found',
7520: x_lines.match_line_found_tbl(l_index));
7513: IF (PO_LOG.d_stmt) THEN
7514: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7515: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7516: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7517: PO_LOG.stmt(d_module, d_position, 'original line num',
7518: x_lines.origin_line_num_tbl(l_index));
7519: PO_LOG.stmt(d_module, d_position, 'match line found',
7520: x_lines.match_line_found_tbl(l_index));
7521: PO_LOG.stmt(d_module, d_position, 'current line num',
7515: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7516: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7517: PO_LOG.stmt(d_module, d_position, 'original line num',
7518: x_lines.origin_line_num_tbl(l_index));
7519: PO_LOG.stmt(d_module, d_position, 'match line found',
7520: x_lines.match_line_found_tbl(l_index));
7521: PO_LOG.stmt(d_module, d_position, 'current line num',
7522: x_lines.line_num_tbl(l_index));
7523: END IF;
7517: PO_LOG.stmt(d_module, d_position, 'original line num',
7518: x_lines.origin_line_num_tbl(l_index));
7519: PO_LOG.stmt(d_module, d_position, 'match line found',
7520: x_lines.match_line_found_tbl(l_index));
7521: PO_LOG.stmt(d_module, d_position, 'current line num',
7522: x_lines.line_num_tbl(l_index));
7523: END IF;
7524:
7525: -- multiple matches found
7610: PO_PDOI_UTL.remove_session_gt_records
7611: ( p_key => l_data_key
7612: );
7613:
7614: IF (PO_LOG.d_proc) THEN
7615: PO_LOG.proc_end(d_module);
7616: END IF;
7617:
7618: EXCEPTION
7611: ( p_key => l_data_key
7612: );
7613:
7614: IF (PO_LOG.d_proc) THEN
7615: PO_LOG.proc_end(d_module);
7616: END IF;
7617:
7618: EXCEPTION
7619: WHEN OTHERS THEN
7670:
7671: BEGIN
7672: d_position := 0;
7673:
7674: IF (PO_LOG.d_proc) THEN
7675: PO_LOG.proc_begin(d_module);
7676: END IF;
7677:
7678: -- get default master org id
7671: BEGIN
7672: d_position := 0;
7673:
7674: IF (PO_LOG.d_proc) THEN
7675: PO_LOG.proc_begin(d_module);
7676: END IF;
7677:
7678: -- get default master org id
7679: l_def_master_org_id := PO_PDOI_PARAMS.g_sys.master_inv_org_id;
7677:
7678: -- get default master org id
7679: l_def_master_org_id := PO_PDOI_PARAMS.g_sys.master_inv_org_id;
7680:
7681: IF (PO_LOG.d_stmt) THEN
7682: PO_LOG.stmt(d_module, d_position, 'l_def_master_org_id',
7683: l_def_master_org_id);
7684: PO_LOG.stmt(d_module, d_position, 'item_tbl', x_lines.item_tbl);
7685: PO_LOG.stmt(d_module, d_position, 'po_header_id_tbl',
7678: -- get default master org id
7679: l_def_master_org_id := PO_PDOI_PARAMS.g_sys.master_inv_org_id;
7680:
7681: IF (PO_LOG.d_stmt) THEN
7682: PO_LOG.stmt(d_module, d_position, 'l_def_master_org_id',
7683: l_def_master_org_id);
7684: PO_LOG.stmt(d_module, d_position, 'item_tbl', x_lines.item_tbl);
7685: PO_LOG.stmt(d_module, d_position, 'po_header_id_tbl',
7686: x_lines.hd_po_header_id_tbl);
7680:
7681: IF (PO_LOG.d_stmt) THEN
7682: PO_LOG.stmt(d_module, d_position, 'l_def_master_org_id',
7683: l_def_master_org_id);
7684: PO_LOG.stmt(d_module, d_position, 'item_tbl', x_lines.item_tbl);
7685: PO_LOG.stmt(d_module, d_position, 'po_header_id_tbl',
7686: x_lines.hd_po_header_id_tbl);
7687: PO_LOG.stmt(d_module, d_position, 'draft_id_tbl', x_lines.draft_id_tbl);
7688: PO_LOG.stmt(d_module, d_position, 'item_revision_tbl',
7681: IF (PO_LOG.d_stmt) THEN
7682: PO_LOG.stmt(d_module, d_position, 'l_def_master_org_id',
7683: l_def_master_org_id);
7684: PO_LOG.stmt(d_module, d_position, 'item_tbl', x_lines.item_tbl);
7685: PO_LOG.stmt(d_module, d_position, 'po_header_id_tbl',
7686: x_lines.hd_po_header_id_tbl);
7687: PO_LOG.stmt(d_module, d_position, 'draft_id_tbl', x_lines.draft_id_tbl);
7688: PO_LOG.stmt(d_module, d_position, 'item_revision_tbl',
7689: x_lines.item_revision_tbl);
7683: l_def_master_org_id);
7684: PO_LOG.stmt(d_module, d_position, 'item_tbl', x_lines.item_tbl);
7685: PO_LOG.stmt(d_module, d_position, 'po_header_id_tbl',
7686: x_lines.hd_po_header_id_tbl);
7687: PO_LOG.stmt(d_module, d_position, 'draft_id_tbl', x_lines.draft_id_tbl);
7688: PO_LOG.stmt(d_module, d_position, 'item_revision_tbl',
7689: x_lines.item_revision_tbl);
7690: PO_LOG.stmt(d_module, d_position, 'vendor_product_num_tbl',
7691: x_lines.vendor_product_num_tbl);
7684: PO_LOG.stmt(d_module, d_position, 'item_tbl', x_lines.item_tbl);
7685: PO_LOG.stmt(d_module, d_position, 'po_header_id_tbl',
7686: x_lines.hd_po_header_id_tbl);
7687: PO_LOG.stmt(d_module, d_position, 'draft_id_tbl', x_lines.draft_id_tbl);
7688: PO_LOG.stmt(d_module, d_position, 'item_revision_tbl',
7689: x_lines.item_revision_tbl);
7690: PO_LOG.stmt(d_module, d_position, 'vendor_product_num_tbl',
7691: x_lines.vendor_product_num_tbl);
7692: PO_LOG.stmt(d_module, d_position, 'supplier_part_auxid_tbl',
7686: x_lines.hd_po_header_id_tbl);
7687: PO_LOG.stmt(d_module, d_position, 'draft_id_tbl', x_lines.draft_id_tbl);
7688: PO_LOG.stmt(d_module, d_position, 'item_revision_tbl',
7689: x_lines.item_revision_tbl);
7690: PO_LOG.stmt(d_module, d_position, 'vendor_product_num_tbl',
7691: x_lines.vendor_product_num_tbl);
7692: PO_LOG.stmt(d_module, d_position, 'supplier_part_auxid_tbl',
7693: x_lines.supplier_part_auxid_tbl);
7694: END IF;
7688: PO_LOG.stmt(d_module, d_position, 'item_revision_tbl',
7689: x_lines.item_revision_tbl);
7690: PO_LOG.stmt(d_module, d_position, 'vendor_product_num_tbl',
7691: x_lines.vendor_product_num_tbl);
7692: PO_LOG.stmt(d_module, d_position, 'supplier_part_auxid_tbl',
7693: x_lines.supplier_part_auxid_tbl);
7694: END IF;
7695:
7696: -- check matching on draft table
7782: LOOP
7783: l_index := l_index_tbl(i);
7784:
7785: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
7786: IF (PO_LOG.d_stmt) THEN
7787: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
7788: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7789: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7790: END IF;
7783: l_index := l_index_tbl(i);
7784:
7785: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
7786: IF (PO_LOG.d_stmt) THEN
7787: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
7788: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7789: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7790: END IF;
7791:
7784:
7785: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
7786: IF (PO_LOG.d_stmt) THEN
7787: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
7788: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7789: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7790: END IF;
7791:
7792: -- first match found
7785: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
7786: IF (PO_LOG.d_stmt) THEN
7787: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
7788: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7789: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7790: END IF;
7791:
7792: -- first match found
7793: x_lines.origin_line_num_tbl(l_index) := x_lines.line_num_tbl(l_index);
7799: IF (l_line_num_tbl(i) = x_lines.origin_line_num_tbl(l_index)) THEN
7800: x_lines.match_line_found_tbl(l_index) := FND_API.g_TRUE;
7801: END IF;
7802: ELSE
7803: IF (PO_LOG.d_stmt) THEN
7804: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7805: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7806: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7807: PO_LOG.stmt(d_module, d_position, 'original line num',
7800: x_lines.match_line_found_tbl(l_index) := FND_API.g_TRUE;
7801: END IF;
7802: ELSE
7803: IF (PO_LOG.d_stmt) THEN
7804: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7805: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7806: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7807: PO_LOG.stmt(d_module, d_position, 'original line num',
7808: x_lines.origin_line_num_tbl(l_index));
7801: END IF;
7802: ELSE
7803: IF (PO_LOG.d_stmt) THEN
7804: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7805: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7806: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7807: PO_LOG.stmt(d_module, d_position, 'original line num',
7808: x_lines.origin_line_num_tbl(l_index));
7809: PO_LOG.stmt(d_module, d_position, 'match line found',
7802: ELSE
7803: IF (PO_LOG.d_stmt) THEN
7804: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7805: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7806: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7807: PO_LOG.stmt(d_module, d_position, 'original line num',
7808: x_lines.origin_line_num_tbl(l_index));
7809: PO_LOG.stmt(d_module, d_position, 'match line found',
7810: x_lines.match_line_found_tbl(l_index));
7803: IF (PO_LOG.d_stmt) THEN
7804: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
7805: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7806: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7807: PO_LOG.stmt(d_module, d_position, 'original line num',
7808: x_lines.origin_line_num_tbl(l_index));
7809: PO_LOG.stmt(d_module, d_position, 'match line found',
7810: x_lines.match_line_found_tbl(l_index));
7811: PO_LOG.stmt(d_module, d_position, 'current line num',
7805: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
7806: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
7807: PO_LOG.stmt(d_module, d_position, 'original line num',
7808: x_lines.origin_line_num_tbl(l_index));
7809: PO_LOG.stmt(d_module, d_position, 'match line found',
7810: x_lines.match_line_found_tbl(l_index));
7811: PO_LOG.stmt(d_module, d_position, 'current line num',
7812: x_lines.line_num_tbl(l_index));
7813: END IF;
7807: PO_LOG.stmt(d_module, d_position, 'original line num',
7808: x_lines.origin_line_num_tbl(l_index));
7809: PO_LOG.stmt(d_module, d_position, 'match line found',
7810: x_lines.match_line_found_tbl(l_index));
7811: PO_LOG.stmt(d_module, d_position, 'current line num',
7812: x_lines.line_num_tbl(l_index));
7813: END IF;
7814:
7815: -- multiple matches found
7913: PO_PDOI_UTL.remove_session_gt_records
7914: ( p_key => l_data_key
7915: );
7916:
7917: IF (PO_LOG.d_proc) THEN
7918: PO_LOG.proc_end(d_module);
7919: END IF;
7920:
7921: EXCEPTION
7914: ( p_key => l_data_key
7915: );
7916:
7917: IF (PO_LOG.d_proc) THEN
7918: PO_LOG.proc_end(d_module);
7919: END IF;
7920:
7921: EXCEPTION
7922: WHEN OTHERS THEN
7970:
7971: BEGIN
7972: d_position := 0;
7973:
7974: IF (PO_LOG.d_proc) THEN
7975: PO_LOG.proc_begin(d_module);
7976: END IF;
7977:
7978: -- check matchings on draft table
7971: BEGIN
7972: d_position := 0;
7973:
7974: IF (PO_LOG.d_proc) THEN
7975: PO_LOG.proc_begin(d_module);
7976: END IF;
7977:
7978: -- check matchings on draft table
7979: FORALL i IN INDICES OF x_processing_row_tbl
8048: LOOP
8049: l_index := l_index_tbl(i);
8050:
8051: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
8052: IF (PO_LOG.d_stmt) THEN
8053: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
8054: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8055: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8056: END IF;
8049: l_index := l_index_tbl(i);
8050:
8051: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
8052: IF (PO_LOG.d_stmt) THEN
8053: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
8054: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8055: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8056: END IF;
8057:
8050:
8051: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
8052: IF (PO_LOG.d_stmt) THEN
8053: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
8054: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8055: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8056: END IF;
8057:
8058: -- first match found
8051: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
8052: IF (PO_LOG.d_stmt) THEN
8053: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
8054: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8055: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8056: END IF;
8057:
8058: -- first match found
8059: x_lines.origin_line_num_tbl(l_index) := x_lines.line_num_tbl(l_index);
8065: IF (l_line_num_tbl(i) = x_lines.origin_line_num_tbl(l_index)) THEN
8066: x_lines.match_line_found_tbl(l_index) := FND_API.g_TRUE;
8067: END IF;
8068: ELSE
8069: IF (PO_LOG.d_stmt) THEN
8070: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8071: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8072: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8073: PO_LOG.stmt(d_module, d_position, 'original line num',
8066: x_lines.match_line_found_tbl(l_index) := FND_API.g_TRUE;
8067: END IF;
8068: ELSE
8069: IF (PO_LOG.d_stmt) THEN
8070: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8071: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8072: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8073: PO_LOG.stmt(d_module, d_position, 'original line num',
8074: x_lines.origin_line_num_tbl(l_index));
8067: END IF;
8068: ELSE
8069: IF (PO_LOG.d_stmt) THEN
8070: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8071: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8072: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8073: PO_LOG.stmt(d_module, d_position, 'original line num',
8074: x_lines.origin_line_num_tbl(l_index));
8075: PO_LOG.stmt(d_module, d_position, 'match line found',
8068: ELSE
8069: IF (PO_LOG.d_stmt) THEN
8070: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8071: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8072: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8073: PO_LOG.stmt(d_module, d_position, 'original line num',
8074: x_lines.origin_line_num_tbl(l_index));
8075: PO_LOG.stmt(d_module, d_position, 'match line found',
8076: x_lines.match_line_found_tbl(l_index));
8069: IF (PO_LOG.d_stmt) THEN
8070: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8071: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8072: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8073: PO_LOG.stmt(d_module, d_position, 'original line num',
8074: x_lines.origin_line_num_tbl(l_index));
8075: PO_LOG.stmt(d_module, d_position, 'match line found',
8076: x_lines.match_line_found_tbl(l_index));
8077: PO_LOG.stmt(d_module, d_position, 'current line num',
8071: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8072: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8073: PO_LOG.stmt(d_module, d_position, 'original line num',
8074: x_lines.origin_line_num_tbl(l_index));
8075: PO_LOG.stmt(d_module, d_position, 'match line found',
8076: x_lines.match_line_found_tbl(l_index));
8077: PO_LOG.stmt(d_module, d_position, 'current line num',
8078: x_lines.line_num_tbl(l_index));
8079: END IF;
8073: PO_LOG.stmt(d_module, d_position, 'original line num',
8074: x_lines.origin_line_num_tbl(l_index));
8075: PO_LOG.stmt(d_module, d_position, 'match line found',
8076: x_lines.match_line_found_tbl(l_index));
8077: PO_LOG.stmt(d_module, d_position, 'current line num',
8078: x_lines.line_num_tbl(l_index));
8079: END IF;
8080:
8081: -- multiple matches found
8171: PO_PDOI_UTL.remove_session_gt_records
8172: ( p_key => l_data_key
8173: );
8174:
8175: IF (PO_LOG.d_proc) THEN
8176: PO_LOG.proc_end(d_module);
8177: END IF;
8178:
8179: EXCEPTION
8172: ( p_key => l_data_key
8173: );
8174:
8175: IF (PO_LOG.d_proc) THEN
8176: PO_LOG.proc_end(d_module);
8177: END IF;
8178:
8179: EXCEPTION
8180: WHEN OTHERS THEN
8228:
8229: BEGIN
8230: d_position := 0;
8231:
8232: IF (PO_LOG.d_proc) THEN
8233: PO_LOG.proc_begin(d_module);
8234: END IF;
8235:
8236: -- check matchings on draft table
8229: BEGIN
8230: d_position := 0;
8231:
8232: IF (PO_LOG.d_proc) THEN
8233: PO_LOG.proc_begin(d_module);
8234: END IF;
8235:
8236: -- check matchings on draft table
8237: FORALL i IN INDICES OF x_processing_row_tbl
8309: LOOP
8310: l_index := l_index_tbl(i);
8311:
8312: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
8313: IF (PO_LOG.d_stmt) THEN
8314: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
8315: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8316: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8317: END IF;
8310: l_index := l_index_tbl(i);
8311:
8312: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
8313: IF (PO_LOG.d_stmt) THEN
8314: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
8315: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8316: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8317: END IF;
8318:
8311:
8312: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
8313: IF (PO_LOG.d_stmt) THEN
8314: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
8315: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8316: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8317: END IF;
8318:
8319: -- first match found
8312: IF (x_lines.po_line_id_tbl(l_index) IS NULL) THEN
8313: IF (PO_LOG.d_stmt) THEN
8314: PO_LOG.stmt(d_module, d_position, 'first match index', l_index);
8315: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8316: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8317: END IF;
8318:
8319: -- first match found
8320: x_lines.origin_line_num_tbl(l_index) := x_lines.line_num_tbl(l_index);
8326: IF (l_line_num_tbl(i) = x_lines.origin_line_num_tbl(l_index)) THEN
8327: x_lines.match_line_found_tbl(l_index) := FND_API.g_TRUE;
8328: END IF;
8329: ELSE
8330: IF (PO_LOG.d_stmt) THEN
8331: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8332: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8333: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8334: PO_LOG.stmt(d_module, d_position, 'original line num',
8327: x_lines.match_line_found_tbl(l_index) := FND_API.g_TRUE;
8328: END IF;
8329: ELSE
8330: IF (PO_LOG.d_stmt) THEN
8331: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8332: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8333: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8334: PO_LOG.stmt(d_module, d_position, 'original line num',
8335: x_lines.origin_line_num_tbl(l_index));
8328: END IF;
8329: ELSE
8330: IF (PO_LOG.d_stmt) THEN
8331: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8332: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8333: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8334: PO_LOG.stmt(d_module, d_position, 'original line num',
8335: x_lines.origin_line_num_tbl(l_index));
8336: PO_LOG.stmt(d_module, d_position, 'match line found',
8329: ELSE
8330: IF (PO_LOG.d_stmt) THEN
8331: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8332: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8333: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8334: PO_LOG.stmt(d_module, d_position, 'original line num',
8335: x_lines.origin_line_num_tbl(l_index));
8336: PO_LOG.stmt(d_module, d_position, 'match line found',
8337: x_lines.match_line_found_tbl(l_index));
8330: IF (PO_LOG.d_stmt) THEN
8331: PO_LOG.stmt(d_module, d_position, 'multi match index', l_index);
8332: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8333: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8334: PO_LOG.stmt(d_module, d_position, 'original line num',
8335: x_lines.origin_line_num_tbl(l_index));
8336: PO_LOG.stmt(d_module, d_position, 'match line found',
8337: x_lines.match_line_found_tbl(l_index));
8338: PO_LOG.stmt(d_module, d_position, 'current line num',
8332: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8333: PO_LOG.stmt(d_module, d_position, 'line num', l_line_num_tbl(i));
8334: PO_LOG.stmt(d_module, d_position, 'original line num',
8335: x_lines.origin_line_num_tbl(l_index));
8336: PO_LOG.stmt(d_module, d_position, 'match line found',
8337: x_lines.match_line_found_tbl(l_index));
8338: PO_LOG.stmt(d_module, d_position, 'current line num',
8339: x_lines.line_num_tbl(l_index));
8340: END IF;
8334: PO_LOG.stmt(d_module, d_position, 'original line num',
8335: x_lines.origin_line_num_tbl(l_index));
8336: PO_LOG.stmt(d_module, d_position, 'match line found',
8337: x_lines.match_line_found_tbl(l_index));
8338: PO_LOG.stmt(d_module, d_position, 'current line num',
8339: x_lines.line_num_tbl(l_index));
8340: END IF;
8341:
8342: -- multiple matches found
8426: PO_PDOI_UTL.remove_session_gt_records
8427: ( p_key => l_data_key
8428: );
8429:
8430: IF (PO_LOG.d_proc) THEN
8431: PO_LOG.proc_end(d_module);
8432: END IF;
8433:
8434: EXCEPTION
8427: ( p_key => l_data_key
8428: );
8429:
8430: IF (PO_LOG.d_proc) THEN
8431: PO_LOG.proc_end(d_module);
8432: END IF;
8433:
8434: EXCEPTION
8435: WHEN OTHERS THEN
8483:
8484: BEGIN
8485: d_position := 0;
8486:
8487: IF (PO_LOG.d_proc) THEN
8488: PO_LOG.proc_begin(d_module);
8489: END IF;
8490:
8491: -- check matchings on draft table
8484: BEGIN
8485: d_position := 0;
8486:
8487: IF (PO_LOG.d_proc) THEN
8488: PO_LOG.proc_begin(d_module);
8489: END IF;
8490:
8491: -- check matchings on draft table
8492: FORALL i IN INDICES OF x_processing_row_tbl
8561: x_lines.group_num_tbl(l_index) := p_group_num;
8562: x_lines.po_line_id_tbl(l_index) := l_po_line_id_tbl(i);
8563: x_processing_row_tbl.DELETE(l_index);
8564:
8565: IF (PO_LOG.d_stmt) THEN
8566: PO_LOG.stmt(d_module, d_position, 'match index', l_index);
8567: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8568: PO_LOG.stmt(d_module, d_position, 'current line num',
8569: x_lines.line_num_tbl(l_index));
8562: x_lines.po_line_id_tbl(l_index) := l_po_line_id_tbl(i);
8563: x_processing_row_tbl.DELETE(l_index);
8564:
8565: IF (PO_LOG.d_stmt) THEN
8566: PO_LOG.stmt(d_module, d_position, 'match index', l_index);
8567: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8568: PO_LOG.stmt(d_module, d_position, 'current line num',
8569: x_lines.line_num_tbl(l_index));
8570: END IF;
8563: x_processing_row_tbl.DELETE(l_index);
8564:
8565: IF (PO_LOG.d_stmt) THEN
8566: PO_LOG.stmt(d_module, d_position, 'match index', l_index);
8567: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8568: PO_LOG.stmt(d_module, d_position, 'current line num',
8569: x_lines.line_num_tbl(l_index));
8570: END IF;
8571: END LOOP;
8564:
8565: IF (PO_LOG.d_stmt) THEN
8566: PO_LOG.stmt(d_module, d_position, 'match index', l_index);
8567: PO_LOG.stmt(d_module, d_position, 'po line id', l_po_line_id_tbl(i));
8568: PO_LOG.stmt(d_module, d_position, 'current line num',
8569: x_lines.line_num_tbl(l_index));
8570: END IF;
8571: END LOOP;
8572:
8636: PO_PDOI_UTL.remove_session_gt_records
8637: ( p_key => l_data_key
8638: );
8639:
8640: IF (PO_LOG.d_proc) THEN
8641: PO_LOG.proc_end(d_module);
8642: END IF;
8643:
8644: EXCEPTION
8637: ( p_key => l_data_key
8638: );
8639:
8640: IF (PO_LOG.d_proc) THEN
8641: PO_LOG.proc_end(d_module);
8642: END IF;
8643:
8644: EXCEPTION
8645: WHEN OTHERS THEN
8699: l_index NUMBER;
8700: BEGIN
8701: d_position := 0;
8702:
8703: IF (PO_LOG.d_proc) THEN
8704: PO_LOG.proc_begin(d_module);
8705: END IF;
8706:
8707: -- mark all lines as to be created
8700: BEGIN
8701: d_position := 0;
8702:
8703: IF (PO_LOG.d_proc) THEN
8704: PO_LOG.proc_begin(d_module);
8705: END IF;
8706:
8707: -- mark all lines as to be created
8708: FOR i IN 1..p_target_lines_index_tbl.COUNT
8728: (
8729: p_po_header_id => x_lines.hd_po_header_id_tbl(l_index)
8730: );
8731:
8732: IF (PO_LOG.d_stmt) THEN
8733: PO_LOG.stmt(d_module, d_position, 'assign new line num', x_lines.line_num_tbl(l_index));
8734: END IF;
8735:
8736: END IF;
8729: p_po_header_id => x_lines.hd_po_header_id_tbl(l_index)
8730: );
8731:
8732: IF (PO_LOG.d_stmt) THEN
8733: PO_LOG.stmt(d_module, d_position, 'assign new line num', x_lines.line_num_tbl(l_index));
8734: END IF;
8735:
8736: END IF;
8737:
8741:
8742: -- action is determined. No longer need to process it
8743: x_processing_row_tbl.DELETE(l_index);
8744:
8745: IF (PO_LOG.d_stmt) THEN
8746: PO_LOG.stmt(d_module, d_position, 'match index', l_index);
8747: PO_LOG.stmt(d_module, d_position, 'po line id',
8748: x_lines.po_line_id_tbl(l_index));
8749: END IF;
8742: -- action is determined. No longer need to process it
8743: x_processing_row_tbl.DELETE(l_index);
8744:
8745: IF (PO_LOG.d_stmt) THEN
8746: PO_LOG.stmt(d_module, d_position, 'match index', l_index);
8747: PO_LOG.stmt(d_module, d_position, 'po line id',
8748: x_lines.po_line_id_tbl(l_index));
8749: END IF;
8750:
8743: x_processing_row_tbl.DELETE(l_index);
8744:
8745: IF (PO_LOG.d_stmt) THEN
8746: PO_LOG.stmt(d_module, d_position, 'match index', l_index);
8747: PO_LOG.stmt(d_module, d_position, 'po line id',
8748: x_lines.po_line_id_tbl(l_index));
8749: END IF;
8750:
8751: END LOOP;
8749: END IF;
8750:
8751: END LOOP;
8752:
8753: IF (PO_LOG.d_proc) THEN
8754: PO_LOG.proc_end(d_module);
8755: END IF;
8756:
8757: EXCEPTION
8750:
8751: END LOOP;
8752:
8753: IF (PO_LOG.d_proc) THEN
8754: PO_LOG.proc_end(d_module);
8755: END IF;
8756:
8757: EXCEPTION
8758: WHEN OTHERS THEN
8801: l_index NUMBER;
8802: BEGIN
8803: d_position := 0;
8804:
8805: IF (PO_LOG.d_proc) THEN
8806: PO_LOG.proc_begin(d_module);
8807: END IF;
8808:
8809: -- assign a new key used in temporary table
8802: BEGIN
8803: d_position := 0;
8804:
8805: IF (PO_LOG.d_proc) THEN
8806: PO_LOG.proc_begin(d_module);
8807: END IF;
8808:
8809: -- assign a new key used in temporary table
8810: l_key := PO_CORE_S.get_session_gt_nextval;
8852: FOR i IN 1..l_index_tbl.COUNT
8853: LOOP
8854: l_index := l_index_tbl(i);
8855:
8856: IF (PO_LOG.d_stmt) THEN
8857: PO_LOG.stmt(d_module, d_position, 'error on index', l_index);
8858: END IF;
8859:
8860: PO_PDOI_ERR_UTL.add_fatal_error
8853: LOOP
8854: l_index := l_index_tbl(i);
8855:
8856: IF (PO_LOG.d_stmt) THEN
8857: PO_LOG.stmt(d_module, d_position, 'error on index', l_index);
8858: END IF;
8859:
8860: PO_PDOI_ERR_UTL.add_fatal_error
8861: (
8871:
8872: x_lines.error_flag_tbl(l_index) := FND_API.g_TRUE;
8873: END LOOP;
8874:
8875: IF (PO_LOG.d_proc) THEN
8876: PO_LOG.proc_end(d_module);
8877: END IF;
8878:
8879: EXCEPTION
8872: x_lines.error_flag_tbl(l_index) := FND_API.g_TRUE;
8873: END LOOP;
8874:
8875: IF (PO_LOG.d_proc) THEN
8876: PO_LOG.proc_end(d_module);
8877: END IF;
8878:
8879: EXCEPTION
8880: WHEN OTHERS THEN
8918:
8919: BEGIN
8920: d_position := 0;
8921:
8922: IF (PO_LOG.d_proc) THEN
8923: PO_LOG.proc_begin(d_module);
8924: END IF;
8925:
8926: d_position := 10;
8919: BEGIN
8920: d_position := 0;
8921:
8922: IF (PO_LOG.d_proc) THEN
8923: PO_LOG.proc_begin(d_module);
8924: END IF;
8925:
8926: d_position := 10;
8927:
8932: d_position := 20;
8933:
8934: FOR i IN 1 .. x_results.entity_id.COUNT LOOP
8935: IF x_results.result_type(i) = po_validations.c_result_type_failure THEN
8936: IF (PO_LOG.d_stmt) THEN
8937: PO_LOG.stmt(d_module, d_position, 'error on index',
8938: l_index_tbl(x_results.entity_id(i)));
8939: END IF;
8940:
8933:
8934: FOR i IN 1 .. x_results.entity_id.COUNT LOOP
8935: IF x_results.result_type(i) = po_validations.c_result_type_failure THEN
8936: IF (PO_LOG.d_stmt) THEN
8937: PO_LOG.stmt(d_module, d_position, 'error on index',
8938: l_index_tbl(x_results.entity_id(i)));
8939: END IF;
8940:
8941: x_lines.error_flag_tbl(l_index_tbl(x_results.entity_id(i))) := FND_API.g_TRUE;
8941: x_lines.error_flag_tbl(l_index_tbl(x_results.entity_id(i))) := FND_API.g_TRUE;
8942: END IF;
8943: END LOOP;
8944:
8945: IF (PO_LOG.d_proc) THEN
8946: PO_LOG.proc_end(d_module);
8947: END IF;
8948:
8949: EXCEPTION
8942: END IF;
8943: END LOOP;
8944:
8945: IF (PO_LOG.d_proc) THEN
8946: PO_LOG.proc_end(d_module);
8947: END IF;
8948:
8949: EXCEPTION
8950: WHEN OTHERS THEN
8999: BEGIN
9000:
9001: d_position := 0;
9002:
9003: IF (PO_LOG.d_proc) THEN
9004: PO_LOG.proc_begin(d_module, 'err_lines_tolerance', l_err_lines_tolerance);
9005: END IF;
9006:
9007: FOR i IN 1 .. x_lines.rec_count
9000:
9001: d_position := 0;
9002:
9003: IF (PO_LOG.d_proc) THEN
9004: PO_LOG.proc_begin(d_module, 'err_lines_tolerance', l_err_lines_tolerance);
9005: END IF;
9006:
9007: FOR i IN 1 .. x_lines.rec_count
9008: LOOP
9007: FOR i IN 1 .. x_lines.rec_count
9008: LOOP
9009: l_intf_header_id := x_lines.intf_header_id_tbl(i);
9010:
9011: IF (PO_LOG.d_stmt) THEN
9012: PO_LOG.stmt(d_module, d_position, 'index', i);
9013: PO_LOG.stmt(d_module, d_position, 'intf header id', l_intf_header_id);
9014: END IF;
9015:
9008: LOOP
9009: l_intf_header_id := x_lines.intf_header_id_tbl(i);
9010:
9011: IF (PO_LOG.d_stmt) THEN
9012: PO_LOG.stmt(d_module, d_position, 'index', i);
9013: PO_LOG.stmt(d_module, d_position, 'intf header id', l_intf_header_id);
9014: END IF;
9015:
9016: d_position := 10;
9009: l_intf_header_id := x_lines.intf_header_id_tbl(i);
9010:
9011: IF (PO_LOG.d_stmt) THEN
9012: PO_LOG.stmt(d_module, d_position, 'index', i);
9013: PO_LOG.stmt(d_module, d_position, 'intf header id', l_intf_header_id);
9014: END IF;
9015:
9016: d_position := 10;
9017:
9027: ELSE
9028: l_num_processed_lines := PO_PDOI_PARAMS.g_docs_info(l_intf_header_id).number_of_processed_lines + 1;
9029: PO_PDOI_PARAMS.g_docs_info(l_intf_header_id).number_of_processed_lines := l_num_processed_lines;
9030:
9031: IF (PO_LOG.d_stmt) THEN
9032: PO_LOG.stmt(d_module, d_position, 'num_processed_lines', l_num_processed_lines);
9033: END IF;
9034:
9035: d_position := 20;
9028: l_num_processed_lines := PO_PDOI_PARAMS.g_docs_info(l_intf_header_id).number_of_processed_lines + 1;
9029: PO_PDOI_PARAMS.g_docs_info(l_intf_header_id).number_of_processed_lines := l_num_processed_lines;
9030:
9031: IF (PO_LOG.d_stmt) THEN
9032: PO_LOG.stmt(d_module, d_position, 'num_processed_lines', l_num_processed_lines);
9033: END IF;
9034:
9035: d_position := 20;
9036:
9040:
9041: -- set corresponding line to ERROR
9042: PO_PDOI_PARAMS.g_errored_lines(x_lines.intf_line_id_tbl(i)) := 'Y';
9043:
9044: IF (PO_LOG.d_stmt) THEN
9045: PO_LOG.stmt(d_module, d_position, 'num_errored_lines', l_num_errored_lines);
9046: END IF;
9047:
9048: d_position := 30;
9041: -- set corresponding line to ERROR
9042: PO_PDOI_PARAMS.g_errored_lines(x_lines.intf_line_id_tbl(i)) := 'Y';
9043:
9044: IF (PO_LOG.d_stmt) THEN
9045: PO_LOG.stmt(d_module, d_position, 'num_errored_lines', l_num_errored_lines);
9046: END IF;
9047:
9048: d_position := 30;
9049:
9079: WHERE interface_line_id = l_remove_err_line_tbl(i);
9080:
9081: d_position := 70;
9082:
9083: IF (PO_LOG.d_proc) THEN
9084: PO_LOG.proc_end(d_module, 'num_processed_lines', l_num_processed_lines);
9085: PO_LOG.proc_end(d_module, 'num_errored_lines', l_num_errored_lines);
9086: END IF;
9087:
9080:
9081: d_position := 70;
9082:
9083: IF (PO_LOG.d_proc) THEN
9084: PO_LOG.proc_end(d_module, 'num_processed_lines', l_num_processed_lines);
9085: PO_LOG.proc_end(d_module, 'num_errored_lines', l_num_errored_lines);
9086: END IF;
9087:
9088: EXCEPTION
9081: d_position := 70;
9082:
9083: IF (PO_LOG.d_proc) THEN
9084: PO_LOG.proc_end(d_module, 'num_processed_lines', l_num_processed_lines);
9085: PO_LOG.proc_end(d_module, 'num_errored_lines', l_num_errored_lines);
9086: END IF;
9087:
9088: EXCEPTION
9089: WHEN OTHERS THEN
9115: l_result_tbl PO_TBL_VARCHAR240;
9116: BEGIN
9117: d_position := 0;
9118:
9119: IF (PO_LOG.d_proc) THEN
9120: PO_LOG.proc_begin(d_module);--, 'p_contract_type_display_tbl', p_contract_type_display_tbl);
9121: END IF;
9122:
9123: --derive contract_type based on contract_type_display
9116: BEGIN
9117: d_position := 0;
9118:
9119: IF (PO_LOG.d_proc) THEN
9120: PO_LOG.proc_begin(d_module);--, 'p_contract_type_display_tbl', p_contract_type_display_tbl);
9121: END IF;
9122:
9123: --derive contract_type based on contract_type_display
9124: FORALL i IN 1..p_index_tbl.COUNT
9144:
9145: -- push the result back to x_line_type_ids
9146: FOR i IN 1..l_index_tbl.COUNT
9147: LOOP
9148: IF (PO_LOG.d_stmt) THEN
9149: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9150: PO_LOG.stmt(d_module, d_position, 'new contract type', l_result_tbl(i));
9151: END IF;
9152:
9145: -- push the result back to x_line_type_ids
9146: FOR i IN 1..l_index_tbl.COUNT
9147: LOOP
9148: IF (PO_LOG.d_stmt) THEN
9149: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9150: PO_LOG.stmt(d_module, d_position, 'new contract type', l_result_tbl(i));
9151: END IF;
9152:
9153: x_contract_type_tbl(l_index_tbl(i)) := l_result_tbl(i);
9146: FOR i IN 1..l_index_tbl.COUNT
9147: LOOP
9148: IF (PO_LOG.d_stmt) THEN
9149: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9150: PO_LOG.stmt(d_module, d_position, 'new contract type', l_result_tbl(i));
9151: END IF;
9152:
9153: x_contract_type_tbl(l_index_tbl(i)) := l_result_tbl(i);
9154: END LOOP;
9152:
9153: x_contract_type_tbl(l_index_tbl(i)) := l_result_tbl(i);
9154: END LOOP;
9155:
9156: IF (PO_LOG.d_proc) THEN
9157: PO_LOG.proc_end(d_module);
9158: END IF;
9159:
9160: EXCEPTION
9153: x_contract_type_tbl(l_index_tbl(i)) := l_result_tbl(i);
9154: END LOOP;
9155:
9156: IF (PO_LOG.d_proc) THEN
9157: PO_LOG.proc_end(d_module);
9158: END IF;
9159:
9160: EXCEPTION
9161: WHEN OTHERS THEN
9186: l_result_tbl PO_TBL_VARCHAR240;
9187: BEGIN
9188: d_position := 0;
9189:
9190: IF (PO_LOG.d_proc) THEN
9191: PO_LOG.proc_begin(d_module);--, 'p_cost_constraint_display_tbl', p_cost_constraint_display_tbl);
9192: END IF;
9193:
9194: --derive cost_constraint based on cost_constraint_display
9187: BEGIN
9188: d_position := 0;
9189:
9190: IF (PO_LOG.d_proc) THEN
9191: PO_LOG.proc_begin(d_module);--, 'p_cost_constraint_display_tbl', p_cost_constraint_display_tbl);
9192: END IF;
9193:
9194: --derive cost_constraint based on cost_constraint_display
9195: FORALL i IN 1..p_index_tbl.COUNT
9214:
9215: -- push the result back to x_line_type_ids
9216: FOR i IN 1..l_index_tbl.COUNT
9217: LOOP
9218: IF (PO_LOG.d_stmt) THEN
9219: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9220: PO_LOG.stmt(d_module, d_position, 'new cost constraint', l_result_tbl(i));
9221: END IF;
9222:
9215: -- push the result back to x_line_type_ids
9216: FOR i IN 1..l_index_tbl.COUNT
9217: LOOP
9218: IF (PO_LOG.d_stmt) THEN
9219: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9220: PO_LOG.stmt(d_module, d_position, 'new cost constraint', l_result_tbl(i));
9221: END IF;
9222:
9223: x_cost_constraint_tbl(l_index_tbl(i)) := l_result_tbl(i);
9216: FOR i IN 1..l_index_tbl.COUNT
9217: LOOP
9218: IF (PO_LOG.d_stmt) THEN
9219: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9220: PO_LOG.stmt(d_module, d_position, 'new cost constraint', l_result_tbl(i));
9221: END IF;
9222:
9223: x_cost_constraint_tbl(l_index_tbl(i)) := l_result_tbl(i);
9224: END LOOP;
9222:
9223: x_cost_constraint_tbl(l_index_tbl(i)) := l_result_tbl(i);
9224: END LOOP;
9225:
9226: IF (PO_LOG.d_proc) THEN
9227: PO_LOG.proc_end(d_module);
9228: END IF;
9229:
9230: EXCEPTION
9223: x_cost_constraint_tbl(l_index_tbl(i)) := l_result_tbl(i);
9224: END LOOP;
9225:
9226: IF (PO_LOG.d_proc) THEN
9227: PO_LOG.proc_end(d_module);
9228: END IF;
9229:
9230: EXCEPTION
9231: WHEN OTHERS THEN
9256: l_result_tbl PO_TBL_VARCHAR240;
9257: BEGIN
9258: d_position := 0;
9259:
9260: IF (PO_LOG.d_proc) THEN
9261: PO_LOG.proc_begin(d_module);--, 'p_clm_idc_type_display_tbl', p_clm_idc_type_display_tbl);
9262: END IF;
9263:
9264: --derive idc_type based on clm_idc_type_display
9257: BEGIN
9258: d_position := 0;
9259:
9260: IF (PO_LOG.d_proc) THEN
9261: PO_LOG.proc_begin(d_module);--, 'p_clm_idc_type_display_tbl', p_clm_idc_type_display_tbl);
9262: END IF;
9263:
9264: --derive idc_type based on clm_idc_type_display
9265: FORALL i IN 1..p_index_tbl.COUNT
9284:
9285: -- push the result back to x_line_type_ids
9286: FOR i IN 1..l_index_tbl.COUNT
9287: LOOP
9288: IF (PO_LOG.d_stmt) THEN
9289: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9290: PO_LOG.stmt(d_module, d_position, 'new idc type', l_result_tbl(i));
9291: END IF;
9292:
9285: -- push the result back to x_line_type_ids
9286: FOR i IN 1..l_index_tbl.COUNT
9287: LOOP
9288: IF (PO_LOG.d_stmt) THEN
9289: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9290: PO_LOG.stmt(d_module, d_position, 'new idc type', l_result_tbl(i));
9291: END IF;
9292:
9293: x_clm_idc_type_tbl(l_index_tbl(i)) := l_result_tbl(i);
9286: FOR i IN 1..l_index_tbl.COUNT
9287: LOOP
9288: IF (PO_LOG.d_stmt) THEN
9289: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9290: PO_LOG.stmt(d_module, d_position, 'new idc type', l_result_tbl(i));
9291: END IF;
9292:
9293: x_clm_idc_type_tbl(l_index_tbl(i)) := l_result_tbl(i);
9294: END LOOP;
9292:
9293: x_clm_idc_type_tbl(l_index_tbl(i)) := l_result_tbl(i);
9294: END LOOP;
9295:
9296: IF (PO_LOG.d_proc) THEN
9297: PO_LOG.proc_end(d_module);
9298: END IF;
9299:
9300: EXCEPTION
9293: x_clm_idc_type_tbl(l_index_tbl(i)) := l_result_tbl(i);
9294: END LOOP;
9295:
9296: IF (PO_LOG.d_proc) THEN
9297: PO_LOG.proc_end(d_module);
9298: END IF;
9299:
9300: EXCEPTION
9301: WHEN OTHERS THEN
9330: l_result_tbl PO_TBL_NUMBER;
9331: BEGIN
9332: d_position := 0;
9333:
9334: IF (PO_LOG.d_proc) THEN
9335: PO_LOG.proc_begin(d_module);--, 'p_clm_base_line_num_disp_tbl', p_clm_base_line_num_disp_tbl);
9336: END IF;
9337:
9338: --derive clm_base_line_num based on clm_base_line_num_disp
9331: BEGIN
9332: d_position := 0;
9333:
9334: IF (PO_LOG.d_proc) THEN
9335: PO_LOG.proc_begin(d_module);--, 'p_clm_base_line_num_disp_tbl', p_clm_base_line_num_disp_tbl);
9336: END IF;
9337:
9338: --derive clm_base_line_num based on clm_base_line_num_disp
9339: FORALL i IN 1..p_index_tbl.COUNT
9367:
9368: -- push the result back to x_line_type_ids
9369: FOR i IN 1..l_index_tbl.COUNT
9370: LOOP
9371: IF (PO_LOG.d_stmt) THEN
9372: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9373: PO_LOG.stmt(d_module, d_position, 'new base line num', l_result_tbl(i));
9374: END IF;
9375: x_clm_base_line_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9368: -- push the result back to x_line_type_ids
9369: FOR i IN 1..l_index_tbl.COUNT
9370: LOOP
9371: IF (PO_LOG.d_stmt) THEN
9372: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9373: PO_LOG.stmt(d_module, d_position, 'new base line num', l_result_tbl(i));
9374: END IF;
9375: x_clm_base_line_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9376: END LOOP;
9369: FOR i IN 1..l_index_tbl.COUNT
9370: LOOP
9371: IF (PO_LOG.d_stmt) THEN
9372: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9373: PO_LOG.stmt(d_module, d_position, 'new base line num', l_result_tbl(i));
9374: END IF;
9375: x_clm_base_line_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9376: END LOOP;
9377:
9374: END IF;
9375: x_clm_base_line_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9376: END LOOP;
9377:
9378: IF (PO_LOG.d_proc) THEN
9379: PO_LOG.proc_end(d_module);
9380: END IF;
9381:
9382: EXCEPTION
9375: x_clm_base_line_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9376: END LOOP;
9377:
9378: IF (PO_LOG.d_proc) THEN
9379: PO_LOG.proc_end(d_module);
9380: END IF;
9381:
9382: EXCEPTION
9383: WHEN OTHERS THEN
9407: l_result_tbl PO_TBL_NUMBER;
9408: BEGIN
9409: d_position := 0;
9410:
9411: IF (PO_LOG.d_proc) THEN
9412: PO_LOG.proc_begin(d_module);--, 'p_clm_base_line_num_disp_tbl', p_clm_base_line_num_disp_tbl);
9413: END IF;
9414:
9415: --derive from_header_id based on from_header_id
9408: BEGIN
9409: d_position := 0;
9410:
9411: IF (PO_LOG.d_proc) THEN
9412: PO_LOG.proc_begin(d_module);--, 'p_clm_base_line_num_disp_tbl', p_clm_base_line_num_disp_tbl);
9413: END IF;
9414:
9415: --derive from_header_id based on from_header_id
9416: FORALL i IN 1..p_index_tbl.COUNT
9438:
9439: -- push the result back to x_line_type_ids
9440: FOR i IN 1..l_index_tbl.COUNT
9441: LOOP
9442: IF (PO_LOG.d_stmt) THEN
9443: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9444: PO_LOG.stmt(d_module, d_position, 'new from header id', l_result_tbl(i));
9445: END IF;
9446: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9439: -- push the result back to x_line_type_ids
9440: FOR i IN 1..l_index_tbl.COUNT
9441: LOOP
9442: IF (PO_LOG.d_stmt) THEN
9443: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9444: PO_LOG.stmt(d_module, d_position, 'new from header id', l_result_tbl(i));
9445: END IF;
9446: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9447: END LOOP;
9440: FOR i IN 1..l_index_tbl.COUNT
9441: LOOP
9442: IF (PO_LOG.d_stmt) THEN
9443: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9444: PO_LOG.stmt(d_module, d_position, 'new from header id', l_result_tbl(i));
9445: END IF;
9446: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9447: END LOOP;
9448:
9445: END IF;
9446: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9447: END LOOP;
9448:
9449: IF (PO_LOG.d_proc) THEN
9450: PO_LOG.proc_end(d_module);
9451: END IF;
9452:
9453: EXCEPTION
9446: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9447: END LOOP;
9448:
9449: IF (PO_LOG.d_proc) THEN
9450: PO_LOG.proc_end(d_module);
9451: END IF;
9452:
9453: EXCEPTION
9454: WHEN OTHERS THEN
9482: l_result_tbl PO_TBL_NUMBER;
9483: BEGIN
9484: d_position := 0;
9485:
9486: IF (PO_LOG.d_proc) THEN
9487: PO_LOG.proc_begin(d_module);--, 'p_clm_base_line_num_disp_tbl', p_clm_base_line_num_disp_tbl);
9488: END IF;
9489:
9490: --derive from_line_id based on from_line_disp_tbl
9483: BEGIN
9484: d_position := 0;
9485:
9486: IF (PO_LOG.d_proc) THEN
9487: PO_LOG.proc_begin(d_module);--, 'p_clm_base_line_num_disp_tbl', p_clm_base_line_num_disp_tbl);
9488: END IF;
9489:
9490: --derive from_line_id based on from_line_disp_tbl
9491: FORALL i IN 1..p_index_tbl.COUNT
9516:
9517: -- push the result back to x_from_line_id_tbl
9518: FOR i IN 1..l_index_tbl.COUNT
9519: LOOP
9520: IF (PO_LOG.d_stmt) THEN
9521: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9522: PO_LOG.stmt(d_module, d_position, 'new from line id', l_result_tbl(i));
9523: END IF;
9524: x_from_line_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9517: -- push the result back to x_from_line_id_tbl
9518: FOR i IN 1..l_index_tbl.COUNT
9519: LOOP
9520: IF (PO_LOG.d_stmt) THEN
9521: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9522: PO_LOG.stmt(d_module, d_position, 'new from line id', l_result_tbl(i));
9523: END IF;
9524: x_from_line_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9525: END LOOP;
9518: FOR i IN 1..l_index_tbl.COUNT
9519: LOOP
9520: IF (PO_LOG.d_stmt) THEN
9521: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9522: PO_LOG.stmt(d_module, d_position, 'new from line id', l_result_tbl(i));
9523: END IF;
9524: x_from_line_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9525: END LOOP;
9526:
9523: END IF;
9524: x_from_line_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9525: END LOOP;
9526:
9527: IF (PO_LOG.d_proc) THEN
9528: PO_LOG.proc_end(d_module);
9529: END IF;
9530:
9531: EXCEPTION
9524: x_from_line_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9525: END LOOP;
9526:
9527: IF (PO_LOG.d_proc) THEN
9528: PO_LOG.proc_end(d_module);
9529: END IF;
9530:
9531: EXCEPTION
9532: WHEN OTHERS THEN
9558: l_result_tbl PO_TBL_VARCHAR1;
9559: BEGIN
9560: d_position := 0;
9561:
9562: IF (PO_LOG.d_proc) THEN
9563: PO_LOG.proc_begin(d_module);
9564: END IF;
9565:
9566: --derive default_clm_option_indicator based on clm_base_line_num
9559: BEGIN
9560: d_position := 0;
9561:
9562: IF (PO_LOG.d_proc) THEN
9563: PO_LOG.proc_begin(d_module);
9564: END IF;
9565:
9566: --derive default_clm_option_indicator based on clm_base_line_num
9567: FORALL i IN 1..p_index_tbl.COUNT
9590:
9591: -- push the result back to x_clm_option_indicator_tbl
9592: FOR i IN 1..l_index_tbl.COUNT
9593: LOOP
9594: IF (PO_LOG.d_stmt) THEN
9595: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9596: PO_LOG.stmt(d_module, d_position, 'new option indicator', l_result_tbl(i));
9597: END IF;
9598:
9591: -- push the result back to x_clm_option_indicator_tbl
9592: FOR i IN 1..l_index_tbl.COUNT
9593: LOOP
9594: IF (PO_LOG.d_stmt) THEN
9595: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9596: PO_LOG.stmt(d_module, d_position, 'new option indicator', l_result_tbl(i));
9597: END IF;
9598:
9599: x_clm_option_indicator_tbl(l_index_tbl(i)) := l_result_tbl(i);
9592: FOR i IN 1..l_index_tbl.COUNT
9593: LOOP
9594: IF (PO_LOG.d_stmt) THEN
9595: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9596: PO_LOG.stmt(d_module, d_position, 'new option indicator', l_result_tbl(i));
9597: END IF;
9598:
9599: x_clm_option_indicator_tbl(l_index_tbl(i)) := l_result_tbl(i);
9600: END LOOP;
9598:
9599: x_clm_option_indicator_tbl(l_index_tbl(i)) := l_result_tbl(i);
9600: END LOOP;
9601:
9602: IF (PO_LOG.d_proc) THEN
9603: PO_LOG.proc_end(d_module);
9604: END IF;
9605:
9606: EXCEPTION
9599: x_clm_option_indicator_tbl(l_index_tbl(i)) := l_result_tbl(i);
9600: END LOOP;
9601:
9602: IF (PO_LOG.d_proc) THEN
9603: PO_LOG.proc_end(d_module);
9604: END IF;
9605:
9606: EXCEPTION
9607: WHEN OTHERS THEN
9637: l_option_num_tbl PO_TBL_NUMBER;
9638: BEGIN
9639: d_position := 0;
9640:
9641: IF (PO_LOG.d_proc) THEN
9642: PO_LOG.proc_begin(d_module);
9643: END IF;
9644:
9645: FORALL i IN 1..p_index_tbl.COUNT
9638: BEGIN
9639: d_position := 0;
9640:
9641: IF (PO_LOG.d_proc) THEN
9642: PO_LOG.proc_begin(d_module);
9643: END IF;
9644:
9645: FORALL i IN 1..p_index_tbl.COUNT
9646: INSERT INTO po_session_gt(key, num1, num2, num3, num4, char1, num5)
9676:
9677: -- push the result back to x_clm_option_num_tbl
9678: FOR i IN 1..l_index_tbl.COUNT
9679: LOOP
9680: IF (PO_LOG.d_stmt) THEN
9681: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9682: PO_LOG.stmt(d_module, d_position, 'new option num', l_result_tbl(i));
9683: END IF;
9684:
9677: -- push the result back to x_clm_option_num_tbl
9678: FOR i IN 1..l_index_tbl.COUNT
9679: LOOP
9680: IF (PO_LOG.d_stmt) THEN
9681: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9682: PO_LOG.stmt(d_module, d_position, 'new option num', l_result_tbl(i));
9683: END IF;
9684:
9685: x_clm_option_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9678: FOR i IN 1..l_index_tbl.COUNT
9679: LOOP
9680: IF (PO_LOG.d_stmt) THEN
9681: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9682: PO_LOG.stmt(d_module, d_position, 'new option num', l_result_tbl(i));
9683: END IF;
9684:
9685: x_clm_option_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9686: END LOOP;
9684:
9685: x_clm_option_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9686: END LOOP;
9687:
9688: IF (PO_LOG.d_proc) THEN
9689: PO_LOG.proc_end(d_module);
9690: END IF;
9691:
9692: EXCEPTION
9685: x_clm_option_num_tbl(l_index_tbl(i)) := l_result_tbl(i);
9686: END LOOP;
9687:
9688: IF (PO_LOG.d_proc) THEN
9689: PO_LOG.proc_end(d_module);
9690: END IF;
9691:
9692: EXCEPTION
9693: WHEN OTHERS THEN
9723:
9724: BEGIN
9725: d_position := 0;
9726:
9727: IF (PO_LOG.d_proc) THEN
9728: PO_LOG.proc_begin(d_module);
9729: END IF;
9730:
9731: FORALL i IN 1..p_index_tbl.COUNT
9724: BEGIN
9725: d_position := 0;
9726:
9727: IF (PO_LOG.d_proc) THEN
9728: PO_LOG.proc_begin(d_module);
9729: END IF;
9730:
9731: FORALL i IN 1..p_index_tbl.COUNT
9732: INSERT INTO po_session_gt(key, num1, num2, num3, num4)
9755:
9756: -- push the result back to x_from_header_id_tbl
9757: FOR i IN 1..l_index_tbl.COUNT
9758: LOOP
9759: IF (PO_LOG.d_stmt) THEN
9760: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9761: PO_LOG.stmt(d_module, d_position, 'new from header id', l_result_tbl(i));
9762: END IF;
9763:
9756: -- push the result back to x_from_header_id_tbl
9757: FOR i IN 1..l_index_tbl.COUNT
9758: LOOP
9759: IF (PO_LOG.d_stmt) THEN
9760: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9761: PO_LOG.stmt(d_module, d_position, 'new from header id', l_result_tbl(i));
9762: END IF;
9763:
9764: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9757: FOR i IN 1..l_index_tbl.COUNT
9758: LOOP
9759: IF (PO_LOG.d_stmt) THEN
9760: PO_LOG.stmt(d_module, d_position, 'index', l_index_tbl(i));
9761: PO_LOG.stmt(d_module, d_position, 'new from header id', l_result_tbl(i));
9762: END IF;
9763:
9764: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9765: END LOOP;
9763:
9764: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9765: END LOOP;
9766:
9767: IF (PO_LOG.d_proc) THEN
9768: PO_LOG.proc_end(d_module);
9769: END IF;
9770:
9771: EXCEPTION
9764: x_from_header_id_tbl(l_index_tbl(i)) := l_result_tbl(i);
9765: END LOOP;
9766:
9767: IF (PO_LOG.d_proc) THEN
9768: PO_LOG.proc_end(d_module);
9769: END IF;
9770:
9771: EXCEPTION
9772: WHEN OTHERS THEN