39: --IN:
40: --IN OUT:
41: --OUT:
42: --x_all_headers_processed
43: -- FND_API.G_TRUE if all the headers are processed
44: -- FND_API.G_FALSE otherwise
45: --End of Comments
46: ------------------------------------------------------------------------
47: PROCEDURE process
40: --IN OUT:
41: --OUT:
42: --x_all_headers_processed
43: -- FND_API.G_TRUE if all the headers are processed
44: -- FND_API.G_FALSE otherwise
45: --End of Comments
46: ------------------------------------------------------------------------
47: PROCEDURE process
48: ( x_all_headers_processed OUT NOCOPY VARCHAR2
70:
71: d_position := 20;
72:
73: -- create draft for records that will be processed in current round
74: IF (x_all_headers_processed = FND_API.G_FALSE) THEN
75: assign_draft_id;
76:
77: d_position := 30;
78:
126: --IN:
127: --IN OUT:
128: --OUT:
129: --x_all_headers_processed
130: -- FND_API.G_TRUE if all the headers are processed
131: -- FND_API.G_FALSE otherwise
132: --End of Comments
133: ------------------------------------------------------------------------
134: PROCEDURE assign_round_num
127: --IN OUT:
128: --OUT:
129: --x_all_headers_processed
130: -- FND_API.G_TRUE if all the headers are processed
131: -- FND_API.G_FALSE otherwise
132: --End of Comments
133: ------------------------------------------------------------------------
134: PROCEDURE assign_round_num
135: ( x_all_headers_processed OUT NOCOPY VARCHAR2
152: IF (PO_LOG.d_proc) THEN
153: PO_LOG.proc_begin (d_module);
154: END IF;
155:
156: x_all_headers_processed := FND_API.G_FALSE;
157:
158: -- Increment round number
159: PO_PDOI_PARAMS.g_current_round_num := PO_PDOI_PARAMS.g_current_round_num + 1;
160:
162: PO_LOG.stmt(d_module, d_position, 'Current Round Number: ' ||
163: PO_PDOI_PARAMS.g_current_round_num);
164: END IF;
165:
166: IF (PO_PDOI_PARAMS.g_original_doc_processed = FND_API.G_FALSE) THEN
167: d_position := 10;
168:
169: -- First, we need to process NEW documents
170:
184: d_position := 20;
185:
186: -- mark g_original_doc_processed to TRUE so that we won't process
187: -- NEW documents the next time we come here
188: PO_PDOI_PARAMS.g_original_doc_processed := FND_API.G_TRUE;
189:
190: IF (PO_LOG.d_stmt) THEN
191: PO_LOG.stmt(d_module, d_position, 'Finished progressing doc with ' ||
192: 'action = original ');
280: IF (PO_LOG.d_stmt) THEN
281: PO_LOG.stmt(d_module, d_position, '** No more doc to process ***');
282: END IF;
283:
284: x_all_headers_processed := FND_API.G_TRUE;
285: END IF;
286:
287: END IF;
288:
455:
456: d_position := 60;
457:
458:
459: IF (l_new_draft_needed = FND_API.G_TRUE) THEN
460: d_position := 70;
461:
462: IF (PO_LOG.d_stmt) THEN
463: PO_LOG.stmt(d_module, d_position, 'old draft can be removed. ' ||
465: END IF;
466:
467: PO_DRAFTS_PVT.remove_draft_changes
468: ( p_draft_id => l_tmp_draft_id,
469: p_exclude_ctrl_tbl => FND_API.G_FALSE,
470: x_return_status => l_return_status
471: );
472:
473: -- new draft to be created
526:
527: PO_PDOI_UTL.reject_headers_intf
528: ( p_id_param_type => PO_PDOI_CONSTANTS.g_INTERFACE_HEADER_ID,
529: p_id_tbl => l_reject_list,
530: p_cascade => FND_API.G_TRUE
531: );
532:
533: d_position := 120;
534:
584: FOR i IN 1..l_new_dft_idx_tbl.COUNT LOOP
585: -- get the interface header id that creates the new draft, and set
586: -- the new draft flag
587: l_intf_hdr_id := l_intf_header_id_tbl ( l_new_dft_idx_tbl(i) );
588: PO_PDOI_PARAMS.g_docs_info(l_intf_hdr_id).new_draft := FND_API.G_TRUE;
589:
590: END LOOP;
591:
592: d_position := 150;
772: l_reject_count;
773: PO_PDOI_PARAMS.g_docs_info(l_id).number_of_errored_lines :=
774: l_reject_count;
775: PO_PDOI_PARAMS.g_docs_info(l_id).number_of_valid_lines := 0;
776: PO_PDOI_PARAMS.g_docs_info(l_id).err_tolerance_exceeded := FND_API.G_FALSE;
777: PO_PDOI_PARAMS.g_docs_info(l_id).has_errors := FND_API.G_FALSE;
778: PO_PDOI_PARAMS.g_docs_info(l_id).has_lines_to_notify := FND_API.G_FALSE;
779: PO_PDOI_PARAMS.g_docs_info(l_id).new_draft := FND_API.G_FALSE; -- bug5129752
780: END LOOP;
773: PO_PDOI_PARAMS.g_docs_info(l_id).number_of_errored_lines :=
774: l_reject_count;
775: PO_PDOI_PARAMS.g_docs_info(l_id).number_of_valid_lines := 0;
776: PO_PDOI_PARAMS.g_docs_info(l_id).err_tolerance_exceeded := FND_API.G_FALSE;
777: PO_PDOI_PARAMS.g_docs_info(l_id).has_errors := FND_API.G_FALSE;
778: PO_PDOI_PARAMS.g_docs_info(l_id).has_lines_to_notify := FND_API.G_FALSE;
779: PO_PDOI_PARAMS.g_docs_info(l_id).new_draft := FND_API.G_FALSE; -- bug5129752
780: END LOOP;
781:
774: l_reject_count;
775: PO_PDOI_PARAMS.g_docs_info(l_id).number_of_valid_lines := 0;
776: PO_PDOI_PARAMS.g_docs_info(l_id).err_tolerance_exceeded := FND_API.G_FALSE;
777: PO_PDOI_PARAMS.g_docs_info(l_id).has_errors := FND_API.G_FALSE;
778: PO_PDOI_PARAMS.g_docs_info(l_id).has_lines_to_notify := FND_API.G_FALSE;
779: PO_PDOI_PARAMS.g_docs_info(l_id).new_draft := FND_API.G_FALSE; -- bug5129752
780: END LOOP;
781:
782: IF (PO_LOG.d_proc) THEN
775: PO_PDOI_PARAMS.g_docs_info(l_id).number_of_valid_lines := 0;
776: PO_PDOI_PARAMS.g_docs_info(l_id).err_tolerance_exceeded := FND_API.G_FALSE;
777: PO_PDOI_PARAMS.g_docs_info(l_id).has_errors := FND_API.G_FALSE;
778: PO_PDOI_PARAMS.g_docs_info(l_id).has_lines_to_notify := FND_API.G_FALSE;
779: PO_PDOI_PARAMS.g_docs_info(l_id).new_draft := FND_API.G_FALSE; -- bug5129752
780: END LOOP;
781:
782: IF (PO_LOG.d_proc) THEN
783: PO_LOG.proc_end (d_module);
809: -- PDOI_PROCESSING, PDOI_ERROR
810: --IN OUT:
811: --OUT:
812: --x_new_draft_needed
813: -- FND_API.G_TRUE if a new draft needs to be created
814: -- FND_API.G_FALSE if the old draft is still effective
815: --End of Comments
816: ------------------------------------------------------------------------
817: PROCEDURE check_new_draft_needed
810: --IN OUT:
811: --OUT:
812: --x_new_draft_needed
813: -- FND_API.G_TRUE if a new draft needs to be created
814: -- FND_API.G_FALSE if the old draft is still effective
815: --End of Comments
816: ------------------------------------------------------------------------
817: PROCEDURE check_new_draft_needed
818: ( p_draft_id IN NUMBER,
835: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
836: PO_LOG.proc_begin (d_module, 'p_status', p_status);
837: END IF;
838:
839: x_new_draft_needed := FND_API.G_FALSE;
840:
841: IF (p_status = PO_DRAFTS_PVT.g_status_PDOI_ERROR) THEN
842: d_position := 10;
843:
840:
841: IF (p_status = PO_DRAFTS_PVT.g_status_PDOI_ERROR) THEN
842: d_position := 10;
843:
844: x_new_draft_needed := FND_API.G_TRUE;
845:
846: ELSIF (p_status = PO_DRAFTS_PVT.g_status_PDOI_PROCESSING) THEN
847: d_position := 20;
848: