84: PROCEDURE Store_XML_Elements (
85: p_xml_doc_id IN NUMBER,
86: p_imp_list_header_id IN NUMBER,
87: p_xml_content IN CLOB,
88: p_commit IN VARCHAR2 := FND_API.G_FALSE,
89: x_return_status OUT NOCOPY VARCHAR2,
90: x_msg_data OUT NOCOPY VARCHAR2
91: );
92:
95: -- p_source_fields IN xml_source_column_set_type,
96: -- p_target_fields IN xml_target_column_set_type,
97: -- p_col_name IN VARCHAR2,
98: -- p_xml_doc_id IN NUMBER,
99: -- p_commit IN VARCHAR2 := FND_API.G_TRUE,
100: -- x_order_num IN OUT NUMBER
101: --);
102:
103: PROCEDURE Store_XML_Elements_Helper (
105: p_source_fields IN xml_source_column_set_type,
106: p_target_fields IN xml_target_column_set_type,
107: p_col_name IN VARCHAR2,
108: p_xml_doc_id IN NUMBER,
109: p_commit IN VARCHAR2 := FND_API.G_FALSE,
110: x_order_num IN OUT NOCOPY NUMBER,
111: p_result_node IN OUT NOCOPY xmldom.DOMNode,
112: p_column_name IN OUT NOCOPY VARCHAR2,
113: p_value IN OUT NOCOPY VARCHAR2,
117: FUNCTION Store_XML_Attributes (
118: p_node IN xmldom.DOMNode,
119: p_order_init IN NUMBER,
120: p_xml_doc_id IN NUMBER,
121: p_commit IN VARCHAR2 := FND_API.G_FALSE
122: ) RETURN NUMBER;
123:
124: FUNCTION Get_Col_name (
125: p_source_fields IN xml_source_column_set_type,
165:
166: --
167: -- Initialize API return status to success.
168: --
169: x_return_status := FND_API.G_RET_STS_SUCCESS;
170:
171: IF p_imp_xml_element_id IS NULL THEN
172: x_msg_data := 'Expected error in ' || L_FULL_NAME
173: || ' list import header is null';
170:
171: IF p_imp_xml_element_id IS NULL THEN
172: x_msg_data := 'Expected error in ' || L_FULL_NAME
173: || ' list import header is null';
174: RAISE FND_API.G_EXC_ERROR;
175: END IF;
176:
177: OPEN c_element_info (p_imp_xml_element_id);
178: FETCH c_element_info INTO l_element_info;
185: RETURN FALSE;
186: END IF;
187:
188: EXCEPTION
189: WHEN FND_API.G_EXC_ERROR THEN
190: x_return_status := FND_API.G_RET_STS_ERROR;
191: WHEN OTHERS THEN
192: x_msg_data := 'Unexpected error in '
193: || L_FULL_NAME || ': '|| SQLERRM;
186: END IF;
187:
188: EXCEPTION
189: WHEN FND_API.G_EXC_ERROR THEN
190: x_return_status := FND_API.G_RET_STS_ERROR;
191: WHEN OTHERS THEN
192: x_msg_data := 'Unexpected error in '
193: || L_FULL_NAME || ': '|| SQLERRM;
194: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
190: x_return_status := FND_API.G_RET_STS_ERROR;
191: WHEN OTHERS THEN
192: x_msg_data := 'Unexpected error in '
193: || L_FULL_NAME || ': '|| SQLERRM;
194: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
195: END Is_Leaf_Node;
196:
197:
198: -- Start of comments
230:
231: --
232: -- Initialize API return status to success.
233: --
234: x_return_status := FND_API.G_RET_STS_SUCCESS;
235:
236: IF p_import_list_header_id IS NULL THEN
237: x_msg_data := 'Expected error in ' || L_FULL_NAME
238: || ' list import header is null';
235:
236: IF p_import_list_header_id IS NULL THEN
237: x_msg_data := 'Expected error in ' || L_FULL_NAME
238: || ' list import header is null';
239: RAISE FND_API.G_EXC_ERROR;
240: END IF;
241:
242: OPEN c_file_type (p_import_list_header_id);
243: FETCH c_file_type INTO x_file_type;
243: FETCH c_file_type INTO x_file_type;
244: CLOSE c_file_type;
245:
246: EXCEPTION
247: WHEN FND_API.G_EXC_ERROR THEN
248: x_return_status := FND_API.G_RET_STS_ERROR;
249: WHEN OTHERS THEN
250: x_msg_data := 'Unexpected error in '
251: || L_FULL_NAME || ': '|| SQLERRM;
244: CLOSE c_file_type;
245:
246: EXCEPTION
247: WHEN FND_API.G_EXC_ERROR THEN
248: x_return_status := FND_API.G_RET_STS_ERROR;
249: WHEN OTHERS THEN
250: x_msg_data := 'Unexpected error in '
251: || L_FULL_NAME || ': '|| SQLERRM;
252: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
248: x_return_status := FND_API.G_RET_STS_ERROR;
249: WHEN OTHERS THEN
250: x_msg_data := 'Unexpected error in '
251: || L_FULL_NAME || ': '|| SQLERRM;
252: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
253: END Get_File_Type;
254:
255:
256: -- Start of comments
292:
293: --
294: -- Initialize API return status to success.
295: --
296: x_return_status := FND_API.G_RET_STS_SUCCESS;
297:
298: IF p_import_list_header_id IS NULL THEN
299: x_msg_data := 'Expected error in ' || L_FULL_NAME
300: || ' list import header is null';
297:
298: IF p_import_list_header_id IS NULL THEN
299: x_msg_data := 'Expected error in ' || L_FULL_NAME
300: || ' list import header is null';
301: RAISE FND_API.G_EXC_ERROR;
302: END IF;
303:
304: OPEN c_root_node_rec (p_import_list_header_id);
305: FETCH c_root_node_rec INTO x_node_rec;
305: FETCH c_root_node_rec INTO x_node_rec;
306: CLOSE c_root_node_rec;
307:
308: EXCEPTION
309: WHEN FND_API.G_EXC_ERROR THEN
310: x_return_status := FND_API.G_RET_STS_ERROR;
311: WHEN OTHERS THEN
312: x_msg_data := 'Unexpected error in '
313: || L_FULL_NAME || ': '|| SQLERRM;
306: CLOSE c_root_node_rec;
307:
308: EXCEPTION
309: WHEN FND_API.G_EXC_ERROR THEN
310: x_return_status := FND_API.G_RET_STS_ERROR;
311: WHEN OTHERS THEN
312: x_msg_data := 'Unexpected error in '
313: || L_FULL_NAME || ': '|| SQLERRM;
314: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
310: x_return_status := FND_API.G_RET_STS_ERROR;
311: WHEN OTHERS THEN
312: x_msg_data := 'Unexpected error in '
313: || L_FULL_NAME || ': '|| SQLERRM;
314: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
315: END Get_Root_Node;
316:
317: -- Start of comments
318: -- API Name Get_First_Child_Node
357: BEGIN
358: --
359: -- Initialize API return status to success.
360: --
361: x_return_status := FND_API.G_RET_STS_SUCCESS;
362:
363: IF p_imp_xml_element_id IS NULL THEN
364: x_msg_data := 'Expected error in ' || L_FULL_NAME
365: || ' xml element id is null';
362:
363: IF p_imp_xml_element_id IS NULL THEN
364: x_msg_data := 'Expected error in ' || L_FULL_NAME
365: || ' xml element id is null';
366: RAISE FND_API.G_EXC_ERROR;
367: END IF;
368:
369: OPEN c_xml_element (p_imp_xml_element_id);
370: FETCH c_xml_element INTO l_xml_element_rec;
378: END IF;
379: CLOSE c_xml_element;
380:
381: EXCEPTION
382: WHEN FND_API.G_EXC_ERROR THEN
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: WHEN OTHERS THEN
385: x_msg_data := 'Unexpected error in '
386: || L_FULL_NAME || ': '|| SQLERRM;
379: CLOSE c_xml_element;
380:
381: EXCEPTION
382: WHEN FND_API.G_EXC_ERROR THEN
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: WHEN OTHERS THEN
385: x_msg_data := 'Unexpected error in '
386: || L_FULL_NAME || ': '|| SQLERRM;
387: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: WHEN OTHERS THEN
385: x_msg_data := 'Unexpected error in '
386: || L_FULL_NAME || ': '|| SQLERRM;
387: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
388: END Get_First_Child_Node;
389:
390: -- Start of comments
391: -- API Name Get_Next_Sibling_Node
431: BEGIN
432: --
433: -- Initialize API return status to success.
434: --
435: x_return_status := FND_API.G_RET_STS_SUCCESS;
436:
437: IF p_imp_xml_element_id IS NULL THEN
438: x_msg_data := 'Expected error in ' || L_FULL_NAME
439: || ' xml element id is null';
436:
437: IF p_imp_xml_element_id IS NULL THEN
438: x_msg_data := 'Expected error in ' || L_FULL_NAME
439: || ' xml element id is null';
440: RAISE FND_API.G_EXC_ERROR;
441: END IF;
442:
443: OPEN c_xml_element (p_imp_xml_element_id);
444: FETCH c_xml_element INTO l_xml_element_rec;
451: END IF;
452: CLOSE c_xml_element;
453:
454: EXCEPTION
455: WHEN FND_API.G_EXC_ERROR THEN
456: x_return_status := FND_API.G_RET_STS_ERROR;
457: WHEN OTHERS THEN
458: x_msg_data := 'Unexpected error in '
459: || L_FULL_NAME || ': '|| SQLERRM;
452: CLOSE c_xml_element;
453:
454: EXCEPTION
455: WHEN FND_API.G_EXC_ERROR THEN
456: x_return_status := FND_API.G_RET_STS_ERROR;
457: WHEN OTHERS THEN
458: x_msg_data := 'Unexpected error in '
459: || L_FULL_NAME || ': '|| SQLERRM;
460: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
456: x_return_status := FND_API.G_RET_STS_ERROR;
457: WHEN OTHERS THEN
458: x_msg_data := 'Unexpected error in '
459: || L_FULL_NAME || ': '|| SQLERRM;
460: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
461: END Get_Next_Sibling_Node;
462:
463: -- Start of comments
464: -- API Name Get_Parent_Node
513: BEGIN
514: --
515: -- Initialize API return status to success.
516: --
517: x_return_status := FND_API.G_RET_STS_SUCCESS;
518:
519: IF p_imp_xml_element_id IS NULL THEN
520: x_msg_data := 'Expected error in ' || L_FULL_NAME
521: || ' xml element id is null';
518:
519: IF p_imp_xml_element_id IS NULL THEN
520: x_msg_data := 'Expected error in ' || L_FULL_NAME
521: || ' xml element id is null';
522: RAISE FND_API.G_EXC_ERROR;
523: END IF;
524:
525: OPEN c_xml_element (p_imp_xml_element_id);
526: FETCH c_xml_element INTO l_xml_element_rec;
536: END IF;
537: CLOSE c_xml_element;
538:
539: EXCEPTION
540: WHEN FND_API.G_EXC_ERROR THEN
541: x_return_status := FND_API.G_RET_STS_ERROR;
542: WHEN OTHERS THEN
543: x_msg_data := 'Unexpected error in '
544: || L_FULL_NAME || ': '|| SQLERRM;
537: CLOSE c_xml_element;
538:
539: EXCEPTION
540: WHEN FND_API.G_EXC_ERROR THEN
541: x_return_status := FND_API.G_RET_STS_ERROR;
542: WHEN OTHERS THEN
543: x_msg_data := 'Unexpected error in '
544: || L_FULL_NAME || ': '|| SQLERRM;
545: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
541: x_return_status := FND_API.G_RET_STS_ERROR;
542: WHEN OTHERS THEN
543: x_msg_data := 'Unexpected error in '
544: || L_FULL_NAME || ': '|| SQLERRM;
545: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
546: END Get_Parent_Node;
547:
548: -- Start of comments
549: -- API Name Get_Error_Info
579: BEGIN
580: --
581: -- Initialize API return status to success.
582: --
583: x_return_status := FND_API.G_RET_STS_SUCCESS;
584:
585: IF p_imp_xml_element_id IS NULL THEN
586: x_msg_data := 'Expected error in ' || L_FULL_NAME
587: || ' xml element id is null';
584:
585: IF p_imp_xml_element_id IS NULL THEN
586: x_msg_data := 'Expected error in ' || L_FULL_NAME
587: || ' xml element id is null';
588: RAISE FND_API.G_EXC_ERROR;
589: END IF;
590:
591: OPEN c_error_xml_element (p_imp_xml_element_id);
592: FETCH c_error_xml_element INTO l_error_info;
604: x_return_status => x_return_status,
605: x_msg_data => x_msg_data
606: );
607:
608: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
609: CLOSE c_error_xml_element;
610: RAISE FND_API.G_EXC_ERROR;
611: END IF;
612:
606: );
607:
608: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
609: CLOSE c_error_xml_element;
610: RAISE FND_API.G_EXC_ERROR;
611: END IF;
612:
613: l_element_id := l_parent_node_rec.IMP_XML_ELEMENT_ID;
614: IF l_element_id IS NOT NULL THEN
622: x_column_name := l_column_name;
623: x_column_value := l_data;
624:
625: EXCEPTION
626: WHEN FND_API.G_EXC_ERROR THEN
627: x_return_status := FND_API.G_RET_STS_ERROR;
628: WHEN OTHERS THEN
629: x_msg_data := 'Unexpected error in '
630: || L_FULL_NAME || ': '|| SQLERRM;
623: x_column_value := l_data;
624:
625: EXCEPTION
626: WHEN FND_API.G_EXC_ERROR THEN
627: x_return_status := FND_API.G_RET_STS_ERROR;
628: WHEN OTHERS THEN
629: x_msg_data := 'Unexpected error in '
630: || L_FULL_NAME || ': '|| SQLERRM;
631: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
627: x_return_status := FND_API.G_RET_STS_ERROR;
628: WHEN OTHERS THEN
629: x_msg_data := 'Unexpected error in '
630: || L_FULL_NAME || ': '|| SQLERRM;
631: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
632:
633: END Get_Error_Info;
634:
635: -- Start of comments
671:
672: --
673: -- Initialize API return status to success.
674: --
675: x_return_status := FND_API.G_RET_STS_SUCCESS;
676: l_return_status := FND_API.G_RET_STS_SUCCESS;
677:
678: IF p_imp_xml_element_id IS NULL THEN
679: x_msg_data := 'Expected error in ' || L_FULL_NAME
672: --
673: -- Initialize API return status to success.
674: --
675: x_return_status := FND_API.G_RET_STS_SUCCESS;
676: l_return_status := FND_API.G_RET_STS_SUCCESS;
677:
678: IF p_imp_xml_element_id IS NULL THEN
679: x_msg_data := 'Expected error in ' || L_FULL_NAME
680: || ' xml element id is null';
677:
678: IF p_imp_xml_element_id IS NULL THEN
679: x_msg_data := 'Expected error in ' || L_FULL_NAME
680: || ' xml element id is null';
681: RAISE FND_API.G_EXC_ERROR;
682: END IF;
683:
684: Get_Element_Info (
685: p_element_id => p_imp_xml_element_id,
686: x_element_info => l_element_rec);
687:
688: IF l_element_rec.imp_xml_document_id IS NULL
689: OR l_element_rec.order_initial IS NULL THEN
690: RAISE FND_API.G_EXC_ERROR;
691: END IF;
692:
693: rc_child_set := Get_Children_Cursor (
694: p_imp_doc_id => l_element_rec.imp_xml_document_id,
701: END LOOP;
702: CLOSE rc_child_set;
703:
704: EXCEPTION
705: WHEN FND_API.G_EXC_ERROR THEN
706: x_return_status := FND_API.G_RET_STS_ERROR;
707: WHEN OTHERS THEN
708: x_msg_data := 'Unexpected error in ' || L_FULL_NAME || ': '|| SQLERRM;
709: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
702: CLOSE rc_child_set;
703:
704: EXCEPTION
705: WHEN FND_API.G_EXC_ERROR THEN
706: x_return_status := FND_API.G_RET_STS_ERROR;
707: WHEN OTHERS THEN
708: x_msg_data := 'Unexpected error in ' || L_FULL_NAME || ': '|| SQLERRM;
709: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
710: END Get_Children_Nodes;
705: WHEN FND_API.G_EXC_ERROR THEN
706: x_return_status := FND_API.G_RET_STS_ERROR;
707: WHEN OTHERS THEN
708: x_msg_data := 'Unexpected error in ' || L_FULL_NAME || ': '|| SQLERRM;
709: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
710: END Get_Children_Nodes;
711:
712:
713: -- Start of comments
746:
747: --
748: -- Initialize API return status to success.
749: --
750: x_return_status := FND_API.G_RET_STS_SUCCESS;
751: l_return_status := FND_API.G_RET_STS_SUCCESS;
752:
753: IF p_imp_xml_element_id IS NULL THEN
754: x_msg_data := 'Expected error in ' || L_FULL_NAME
747: --
748: -- Initialize API return status to success.
749: --
750: x_return_status := FND_API.G_RET_STS_SUCCESS;
751: l_return_status := FND_API.G_RET_STS_SUCCESS;
752:
753: IF p_imp_xml_element_id IS NULL THEN
754: x_msg_data := 'Expected error in ' || L_FULL_NAME
755: || ' xml element id is null';
752:
753: IF p_imp_xml_element_id IS NULL THEN
754: x_msg_data := 'Expected error in ' || L_FULL_NAME
755: || ' xml element id is null';
756: RAISE FND_API.G_EXC_ERROR;
757: END IF;
758:
759: Get_Element_Info (
760: p_element_id => p_imp_xml_element_id,
761: x_element_info => l_element_rec);
762:
763: IF l_element_rec.imp_xml_document_id IS NULL
764: OR l_element_rec.order_initial IS NULL THEN
765: RAISE FND_API.G_EXC_ERROR;
766: END IF;
767:
768: rc_child_set := Get_Children_Cursor (
769: p_imp_doc_id => l_element_rec.imp_xml_document_id,
776: END LOOP;
777: CLOSE rc_child_set;
778:
779: EXCEPTION
780: WHEN FND_API.G_EXC_ERROR THEN
781: x_return_status := FND_API.G_RET_STS_ERROR;
782: WHEN OTHERS THEN
783: x_msg_data := 'Unexpected error in '
784: || L_FULL_NAME || ': '|| SQLERRM;
777: CLOSE rc_child_set;
778:
779: EXCEPTION
780: WHEN FND_API.G_EXC_ERROR THEN
781: x_return_status := FND_API.G_RET_STS_ERROR;
782: WHEN OTHERS THEN
783: x_msg_data := 'Unexpected error in '
784: || L_FULL_NAME || ': '|| SQLERRM;
785: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
781: x_return_status := FND_API.G_RET_STS_ERROR;
782: WHEN OTHERS THEN
783: x_msg_data := 'Unexpected error in '
784: || L_FULL_NAME || ': '|| SQLERRM;
785: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
786: END Get_Children_Nodes;
787:
788: -- Start of comments
789: -- API Name Get_Children_Nodes
820:
821: --
822: -- Initialize API return status to success.
823: --
824: x_return_status := FND_API.G_RET_STS_SUCCESS;
825: l_return_status := FND_API.G_RET_STS_SUCCESS;
826:
827: IF p_imp_xml_element_id IS NULL THEN
828: x_msg_data := 'Expected error in ' || L_FULL_NAME
821: --
822: -- Initialize API return status to success.
823: --
824: x_return_status := FND_API.G_RET_STS_SUCCESS;
825: l_return_status := FND_API.G_RET_STS_SUCCESS;
826:
827: IF p_imp_xml_element_id IS NULL THEN
828: x_msg_data := 'Expected error in ' || L_FULL_NAME
829: || ' xml element id is null';
826:
827: IF p_imp_xml_element_id IS NULL THEN
828: x_msg_data := 'Expected error in ' || L_FULL_NAME
829: || ' xml element id is null';
830: RAISE FND_API.G_EXC_ERROR;
831: END IF;
832:
833: Get_Element_Info (
834: p_element_id => p_imp_xml_element_id,
835: x_element_info => l_element_rec);
836:
837: IF l_element_rec.imp_xml_document_id IS NULL
838: OR l_element_rec.order_initial IS NULL THEN
839: RAISE FND_API.G_EXC_ERROR;
840: END IF;
841:
842: x_rc_child_set := Get_Children_Cursor (
843: p_imp_doc_id => l_element_rec.imp_xml_document_id,
843: p_imp_doc_id => l_element_rec.imp_xml_document_id,
844: p_order_initial => l_element_rec.order_initial);
845:
846: EXCEPTION
847: WHEN FND_API.G_EXC_ERROR THEN
848: x_return_status := FND_API.G_RET_STS_ERROR;
849: WHEN OTHERS THEN
850: x_msg_data := 'Unexpected error in '
851: || L_FULL_NAME || ': '|| SQLERRM;
844: p_order_initial => l_element_rec.order_initial);
845:
846: EXCEPTION
847: WHEN FND_API.G_EXC_ERROR THEN
848: x_return_status := FND_API.G_RET_STS_ERROR;
849: WHEN OTHERS THEN
850: x_msg_data := 'Unexpected error in '
851: || L_FULL_NAME || ': '|| SQLERRM;
852: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
848: x_return_status := FND_API.G_RET_STS_ERROR;
849: WHEN OTHERS THEN
850: x_msg_data := 'Unexpected error in '
851: || L_FULL_NAME || ': '|| SQLERRM;
852: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
853: END Get_Children_Nodes;
854:
855: -- Start of comments
856: -- API Name Filter_XML
911:
912: --
913: -- Initialize API return status to success.
914: --
915: x_return_status := FND_API.G_RET_STS_SUCCESS;
916: l_return_status := FND_API.G_RET_STS_SUCCESS;
917:
918: IF p_import_list_header_id IS NULL THEN
919: x_msg_data := 'Expected error in ' || L_FULL_NAME
912: --
913: -- Initialize API return status to success.
914: --
915: x_return_status := FND_API.G_RET_STS_SUCCESS;
916: l_return_status := FND_API.G_RET_STS_SUCCESS;
917:
918: IF p_import_list_header_id IS NULL THEN
919: x_msg_data := 'Expected error in ' || L_FULL_NAME
920: || ' list header id is null';
917:
918: IF p_import_list_header_id IS NULL THEN
919: x_msg_data := 'Expected error in ' || L_FULL_NAME
920: || ' list header id is null';
921: RAISE FND_API.G_EXC_ERROR;
922: END IF;
923:
924: OPEN c_import_source_fields (p_import_list_header_id);
925: FETCH c_import_source_fields BULK COLLECT INTO
969:
970: EXCEPTION
971: WHEN XMLParseError THEN
972: xmlparser.freeParser (l_parser);
973: x_return_status := FND_API.G_RET_STS_ERROR;
974: x_msg_data := x_msg_data || 'XML parse error in ' || L_FULL_NAME || ': '|| SQLERRM;
975: WHEN FND_API.G_EXC_ERROR THEN
976: x_return_status := FND_API.G_RET_STS_ERROR;
977: WHEN OTHERS THEN
971: WHEN XMLParseError THEN
972: xmlparser.freeParser (l_parser);
973: x_return_status := FND_API.G_RET_STS_ERROR;
974: x_msg_data := x_msg_data || 'XML parse error in ' || L_FULL_NAME || ': '|| SQLERRM;
975: WHEN FND_API.G_EXC_ERROR THEN
976: x_return_status := FND_API.G_RET_STS_ERROR;
977: WHEN OTHERS THEN
978: x_msg_data := x_msg_data || 'Unexpected error in '
979: || L_FULL_NAME || ': '|| SQLERRM;
972: xmlparser.freeParser (l_parser);
973: x_return_status := FND_API.G_RET_STS_ERROR;
974: x_msg_data := x_msg_data || 'XML parse error in ' || L_FULL_NAME || ': '|| SQLERRM;
975: WHEN FND_API.G_EXC_ERROR THEN
976: x_return_status := FND_API.G_RET_STS_ERROR;
977: WHEN OTHERS THEN
978: x_msg_data := x_msg_data || 'Unexpected error in '
979: || L_FULL_NAME || ': '|| SQLERRM;
980: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
976: x_return_status := FND_API.G_RET_STS_ERROR;
977: WHEN OTHERS THEN
978: x_msg_data := x_msg_data || 'Unexpected error in '
979: || L_FULL_NAME || ': '|| SQLERRM;
980: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
981: END Filter_XML;
982:
983: PROCEDURE Filter_XML_Helper (
984: p_node IN OUT NOCOPY xmldom.DOMNode,
1076: PROCEDURE Store_XML_Elements (
1077: p_xml_doc_id IN NUMBER,
1078: p_imp_list_header_id IN NUMBER,
1079: p_xml_content IN CLOB,
1080: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1081: x_return_status OUT NOCOPY VARCHAR2,
1082: x_msg_data OUT NOCOPY VARCHAR2
1083: )
1084: IS
1129:
1130: --
1131: -- Initialize API return status to success.
1132: --
1133: x_return_status := FND_API.G_RET_STS_SUCCESS;
1134: l_return_status := FND_API.G_RET_STS_SUCCESS;
1135:
1136: OPEN c_xml_content (p_imp_list_header_id);
1137: FETCH c_xml_content INTO l_xml_content;
1130: --
1131: -- Initialize API return status to success.
1132: --
1133: x_return_status := FND_API.G_RET_STS_SUCCESS;
1134: l_return_status := FND_API.G_RET_STS_SUCCESS;
1135:
1136: OPEN c_xml_content (p_imp_list_header_id);
1137: FETCH c_xml_content INTO l_xml_content;
1138: CLOSE c_xml_content;
1190: FOR UPDATE;
1191:
1192: xmldom.writeToClob (l_result_xml_node, l_result_xml_content);
1193: --commit;
1194: IF FND_API.to_boolean(p_commit) THEN
1195: COMMIT;
1196: END IF;
1197: xmldom.freeDocument(l_temp_doc);
1198: ELSE
1195: COMMIT;
1196: END IF;
1197: xmldom.freeDocument(l_temp_doc);
1198: ELSE
1199: x_return_status := FND_API.G_RET_STS_ERROR;
1200: x_msg_data := 'No XML data found';
1201: RAISE FND_API.G_EXC_ERROR;
1202: END IF;
1203:
1197: xmldom.freeDocument(l_temp_doc);
1198: ELSE
1199: x_return_status := FND_API.G_RET_STS_ERROR;
1200: x_msg_data := 'No XML data found';
1201: RAISE FND_API.G_EXC_ERROR;
1202: END IF;
1203:
1204: EXCEPTION
1205: WHEN XMLParseError THEN
1203:
1204: EXCEPTION
1205: WHEN XMLParseError THEN
1206: xmlparser.freeParser (l_parser);
1207: x_return_status := FND_API.G_RET_STS_ERROR;
1208: x_msg_data := x_msg_data || 'XML parse error in ' || L_FULL_NAME || ': '|| SQLERRM;
1209:
1210: WHEN FND_API.G_EXC_ERROR THEN
1211: x_return_status := FND_API.G_RET_STS_ERROR;
1206: xmlparser.freeParser (l_parser);
1207: x_return_status := FND_API.G_RET_STS_ERROR;
1208: x_msg_data := x_msg_data || 'XML parse error in ' || L_FULL_NAME || ': '|| SQLERRM;
1209:
1210: WHEN FND_API.G_EXC_ERROR THEN
1211: x_return_status := FND_API.G_RET_STS_ERROR;
1212: WHEN OTHERS THEN
1213: x_msg_data := x_msg_data || 'Unexpected error in '
1214: || L_FULL_NAME || ': '|| SQLERRM;
1207: x_return_status := FND_API.G_RET_STS_ERROR;
1208: x_msg_data := x_msg_data || 'XML parse error in ' || L_FULL_NAME || ': '|| SQLERRM;
1209:
1210: WHEN FND_API.G_EXC_ERROR THEN
1211: x_return_status := FND_API.G_RET_STS_ERROR;
1212: WHEN OTHERS THEN
1213: x_msg_data := x_msg_data || 'Unexpected error in '
1214: || L_FULL_NAME || ': '|| SQLERRM;
1215: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1211: x_return_status := FND_API.G_RET_STS_ERROR;
1212: WHEN OTHERS THEN
1213: x_msg_data := x_msg_data || 'Unexpected error in '
1214: || L_FULL_NAME || ': '|| SQLERRM;
1215: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1216: END Store_XML_Elements;
1217:
1218: PROCEDURE Store_XML_Elements_Helper (
1219: p_node IN xmldom.DOMNode,
1220: p_source_fields IN xml_source_column_set_type,
1221: p_target_fields IN xml_target_column_set_type,
1222: p_col_name IN VARCHAR2,
1223: p_xml_doc_id IN NUMBER,
1224: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1225: x_order_num IN OUT NOCOPY NUMBER,
1226: p_result_node IN OUT NOCOPY xmldom.DOMNode,
1227: p_column_name IN OUT NOCOPY VARCHAR2,
1228: p_value IN OUT NOCOPY VARCHAR2,
1413: --COMMIT WORK;
1414: --
1415: -- Standard check for commit request.
1416: --
1417: IF FND_API.To_Boolean(p_commit) THEN
1418: COMMIT WORK;
1419: END IF;
1420: EXCEPTION
1421:
1426: FUNCTION Store_XML_Attributes (
1427: p_node IN xmldom.DOMNode,
1428: p_order_init IN NUMBER,
1429: p_xml_doc_id IN NUMBER,
1430: p_commit IN VARCHAR2 := FND_API.G_FALSE
1431: ) RETURN NUMBER
1432: IS
1433: l_xml_attribute_rec AMS_IMP_XML_ATTRIBUTES%ROWTYPE;
1434: l_num_attr NUMBER := 0;
1481:
1482: --
1483: -- Standard check for commit request.
1484: --
1485: IF FND_API.To_Boolean (p_commit) THEN
1486: COMMIT WORK;
1487: END IF;
1488: RETURN l_num_attr;
1489: END Store_XML_Attributes;
1559: AND default_flag = 'Y';
1560:
1561: l_user_status_id NUMBER;
1562: BEGIN
1563: Retcode := FND_API.G_RET_STS_SUCCESS;
1564: SAVEPOINT Store_XML_Util;
1565:
1566: IF UPPER(p_status_code) = 'NEW' THEN
1567: --Filter_XML (
1571: -- x_result_xml => l_xml_doc_content,
1572: -- x_doc_id => l_doc_id
1573: --);
1574:
1575: --IF Retcode <> FND_API.G_RET_STS_SUCCESS THEN
1576: -- RAISE FND_API.G_EXC_ERROR;
1577: --END IF;
1578:
1579: OPEN c_doc_id (p_import_list_header_id);
1572: -- x_doc_id => l_doc_id
1573: --);
1574:
1575: --IF Retcode <> FND_API.G_RET_STS_SUCCESS THEN
1576: -- RAISE FND_API.G_EXC_ERROR;
1577: --END IF;
1578:
1579: OPEN c_doc_id (p_import_list_header_id);
1580: FETCH c_doc_id INTO l_doc_id;
1581: CLOSE c_doc_id;
1582:
1583: IF l_doc_id IS NULL THEN
1584: Errbuf := 'Can not find document id:';
1585: RAISE FND_API.G_EXC_ERROR;
1586: END IF;
1587:
1588: Store_XML_Elements (
1589: p_xml_doc_id => l_doc_id,
1588: Store_XML_Elements (
1589: p_xml_doc_id => l_doc_id,
1590: p_imp_list_header_id => p_import_list_header_id,
1591: p_xml_content => l_xml_doc_content,
1592: p_commit => FND_API.G_TRUE,
1593: x_return_status => Retcode,
1594: x_msg_data => Errbuf
1595: );
1596:
1593: x_return_status => Retcode,
1594: x_msg_data => Errbuf
1595: );
1596:
1597: IF Retcode <> FND_API.G_RET_STS_SUCCESS THEN
1598: RAISE FND_API.G_EXC_ERROR;
1599: END IF;
1600:
1601: OPEN c_status_id;
1594: x_msg_data => Errbuf
1595: );
1596:
1597: IF Retcode <> FND_API.G_RET_STS_SUCCESS THEN
1598: RAISE FND_API.G_EXC_ERROR;
1599: END IF;
1600:
1601: OPEN c_status_id;
1602: FETCH c_status_id INTO l_user_status_id;
1621: --DBMS_LOB.FREETEMPORARY (l_xml_doc_content);
1622: COMMIT WORK;
1623:
1624: EXCEPTION
1625: WHEN FND_API.G_EXC_ERROR THEN
1626: --DBMS_LOB.FREETEMPORARY (l_xml_doc_content);
1627: ROLLBACK TO Store_XML_Util;
1628: Retcode := FND_API.G_RET_STS_ERROR;
1629: WHEN OTHERS THEN
1624: EXCEPTION
1625: WHEN FND_API.G_EXC_ERROR THEN
1626: --DBMS_LOB.FREETEMPORARY (l_xml_doc_content);
1627: ROLLBACK TO Store_XML_Util;
1628: Retcode := FND_API.G_RET_STS_ERROR;
1629: WHEN OTHERS THEN
1630: --DBMS_LOB.FREETEMPORARY (l_xml_doc_content);
1631: ROLLBACK TO Store_XML_Util;
1632: Errbuf := 'Unexpected error in '
1630: --DBMS_LOB.FREETEMPORARY (l_xml_doc_content);
1631: ROLLBACK TO Store_XML_Util;
1632: Errbuf := 'Unexpected error in '
1633: || L_FULL_NAME || ': '|| SQLERRM;
1634: Retcode := FND_API.G_RET_STS_UNEXP_ERROR;
1635: END Store_XML_Util;
1636:
1637: -- Start of comments
1638: -- API Name Store_XML
1642: -- xml attribute tables.
1643: -- Parameters
1644: -- IN
1645: -- p_import_list_header_id IN NUMBER,
1646: -- p_commit IN VARCHAR2 := FND_API.G_TRUE,
1647: -- p_ownerId IN NUMBER,
1648: -- p_generateList_flag IN VARCHAR2,
1649: -- p_list_name IN VARCHAR2,
1650: -- p_import_flag IN VARCHAR2,
1657: -- Initial version: 1.0
1658: -- End of comments
1659: PROCEDURE Store_XML (
1660: p_import_list_header_id IN NUMBER,
1661: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1662: p_ownerId IN NUMBER,
1663: p_generateList_flag IN VARCHAR2,
1664: p_list_name IN VARCHAR2,
1665: p_import_flag IN VARCHAR2,
1682: l_msg_count NUMBER;
1683: BEGIN
1684:
1685: SAVEPOINT Store_XML;
1686: x_return_status := FND_API.G_RET_STS_SUCCESS;
1687:
1688: --l_request_id := FND_REQUEST.SUBMIT_REQUEST (
1689: -- application => 'AMS',
1690: -- program => 'AMS_IMP_REP_TEST',
1715: p_msg_type => 'DEBUG'
1716: );
1717: x_msg_data := 'Can not start the list import XML Load Concurrent Program.';
1718:
1719: RAISE FND_API.G_EXC_ERROR;
1720: END IF;
1721:
1722: AMS_Utility_PVT.Create_Log (
1723: x_return_status => l_ret_status,
1737: p_list_name => p_list_name,
1738: p_import_flag => p_import_flag,
1739: p_status_code => p_status_code
1740: );
1741: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1742: RAISE FND_API.G_EXC_ERROR;
1743: END IF;
1744: END IF;
1745: END IF;
1738: p_import_flag => p_import_flag,
1739: p_status_code => p_status_code
1740: );
1741: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1742: RAISE FND_API.G_EXC_ERROR;
1743: END IF;
1744: END IF;
1745: END IF;
1746: CLOSE c_xml_doc;
1745: END IF;
1746: CLOSE c_xml_doc;
1747:
1748: EXCEPTION
1749: WHEN FND_API.G_EXC_ERROR THEN
1750: ROLLBACK TO Store_XML;
1751: x_return_status := FND_API.G_RET_STS_ERROR;
1752: FND_MSG_PUB.count_and_get(
1753: p_encoded => FND_API.g_false,
1747:
1748: EXCEPTION
1749: WHEN FND_API.G_EXC_ERROR THEN
1750: ROLLBACK TO Store_XML;
1751: x_return_status := FND_API.G_RET_STS_ERROR;
1752: FND_MSG_PUB.count_and_get(
1753: p_encoded => FND_API.g_false,
1754: p_count => l_msg_count,
1755: p_data => x_msg_data
1749: WHEN FND_API.G_EXC_ERROR THEN
1750: ROLLBACK TO Store_XML;
1751: x_return_status := FND_API.G_RET_STS_ERROR;
1752: FND_MSG_PUB.count_and_get(
1753: p_encoded => FND_API.g_false,
1754: p_count => l_msg_count,
1755: p_data => x_msg_data
1756: );
1757: WHEN OTHERS THEN
1755: p_data => x_msg_data
1756: );
1757: WHEN OTHERS THEN
1758: ROLLBACK TO Store_XML;
1759: x_return_status := FND_API.g_ret_sts_unexp_error ;
1760:
1761: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1762: FND_MSG_PUB.add_exc_msg(g_pkg_name, 'error_capture');
1763: END IF;
1762: FND_MSG_PUB.add_exc_msg(g_pkg_name, 'error_capture');
1763: END IF;
1764:
1765: FND_MSG_PUB.count_and_get(
1766: p_encoded => FND_API.g_false,
1767: p_count => l_msg_count,
1768: p_data => x_msg_data
1769: );
1770: