390: xmlparser.parseBuffer(parser,xml_response);
391: address_doc:=xmlparser.getDocument(parser);
392: xmlparser.freeParser(parser);
393: hr_utility.set_location(l_proc, 20);
394: match_nodes:=xslprocessor.selectNodes(xmldom.makeNode(address_doc),'/geocode_response/geocode/match');
395: if xmldom.getlength(match_nodes)>0 then
396: hr_utility.set_location(l_proc, 30);
397: match_node :=xmldom.item(match_nodes,0);
398: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
394: match_nodes:=xslprocessor.selectNodes(xmldom.makeNode(address_doc),'/geocode_response/geocode/match');
395: if xmldom.getlength(match_nodes)>0 then
396: hr_utility.set_location(l_proc, 30);
397: match_node :=xmldom.item(match_nodes,0);
398: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
399: xslprocessor.valueOf(match_node,'@latitude',l_latitude);
400: end if;
401: xmldom.freeDocument(address_doc);
402: hr_utility.set_location(l_proc, 40);
395: if xmldom.getlength(match_nodes)>0 then
396: hr_utility.set_location(l_proc, 30);
397: match_node :=xmldom.item(match_nodes,0);
398: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
399: xslprocessor.valueOf(match_node,'@latitude',l_latitude);
400: end if;
401: xmldom.freeDocument(address_doc);
402: hr_utility.set_location(l_proc, 40);
403: if (l_longitude is not null and l_latitude is not null) then
618: end loop;
619: xmlparser.parseBuffer(parser,return_string);
620: address_doc := xmlparser.getDocument(parser);
621: BEGIN
622: geocode_nodes := xslprocessor.selectNodes(xmldom.makeNode(address_doc),'/geocode_response/geocode');
623: if xmldom.getLength(geocode_nodes) > 0 then
624: for j in 1 .. xmldom.getLength(geocode_nodes) loop
625: geocode_node := xmldom.item(geocode_nodes,j-1);
626: hr_utility.set_location(xslprocessor.valueOf(geocode_node,'@match_count')||' for line '||j,130);
622: geocode_nodes := xslprocessor.selectNodes(xmldom.makeNode(address_doc),'/geocode_response/geocode');
623: if xmldom.getLength(geocode_nodes) > 0 then
624: for j in 1 .. xmldom.getLength(geocode_nodes) loop
625: geocode_node := xmldom.item(geocode_nodes,j-1);
626: hr_utility.set_location(xslprocessor.valueOf(geocode_node,'@match_count')||' for line '||j,130);
627: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
628: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
629: longitude(first_line+j) :=xslprocessor.valueOf(match_node,'@longitude');
630: latitude(first_line+j) :=xslprocessor.valueOf(match_node,'@latitude');
623: if xmldom.getLength(geocode_nodes) > 0 then
624: for j in 1 .. xmldom.getLength(geocode_nodes) loop
625: geocode_node := xmldom.item(geocode_nodes,j-1);
626: hr_utility.set_location(xslprocessor.valueOf(geocode_node,'@match_count')||' for line '||j,130);
627: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
628: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
629: longitude(first_line+j) :=xslprocessor.valueOf(match_node,'@longitude');
630: latitude(first_line+j) :=xslprocessor.valueOf(match_node,'@latitude');
631: if latitude(first_line+j) is not null and longitude(first_line+j) is not null then
624: for j in 1 .. xmldom.getLength(geocode_nodes) loop
625: geocode_node := xmldom.item(geocode_nodes,j-1);
626: hr_utility.set_location(xslprocessor.valueOf(geocode_node,'@match_count')||' for line '||j,130);
627: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
628: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
629: longitude(first_line+j) :=xslprocessor.valueOf(match_node,'@longitude');
630: latitude(first_line+j) :=xslprocessor.valueOf(match_node,'@latitude');
631: if latitude(first_line+j) is not null and longitude(first_line+j) is not null then
632: l_success:=l_success+1;
625: geocode_node := xmldom.item(geocode_nodes,j-1);
626: hr_utility.set_location(xslprocessor.valueOf(geocode_node,'@match_count')||' for line '||j,130);
627: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
628: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
629: longitude(first_line+j) :=xslprocessor.valueOf(match_node,'@longitude');
630: latitude(first_line+j) :=xslprocessor.valueOf(match_node,'@latitude');
631: if latitude(first_line+j) is not null and longitude(first_line+j) is not null then
632: l_success:=l_success+1;
633: hr_utility.set_location('Geometry found for address_id :'||address_id(first_line+j) ,140);
626: hr_utility.set_location(xslprocessor.valueOf(geocode_node,'@match_count')||' for line '||j,130);
627: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
628: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
629: longitude(first_line+j) :=xslprocessor.valueOf(match_node,'@longitude');
630: latitude(first_line+j) :=xslprocessor.valueOf(match_node,'@latitude');
631: if latitude(first_line+j) is not null and longitude(first_line+j) is not null then
632: l_success:=l_success+1;
633: hr_utility.set_location('Geometry found for address_id :'||address_id(first_line+j) ,140);
634: hr_utility.set_location('Longitude :'||longitude(first_line+j) ,141);
638: hr_utility.set_location('Geometry not found for address_id :'||address_id(first_line+j) ,150);
639: end if;
640: end loop;
641: else
642: geocode_node := xslprocessor.selectSingleNode(xmldom.makeNode(address_doc),'/component_error');
643: errorMsg := xslprocessor.valueOf(geocode_node,'/component_error');
644: hr_utility.set_location('ERROR thrown from geocode host',155);
645: hr_utility.set_location(substrb(substrb(errorMsg,1,instrb(errorMsg,fnd_global.local_chr(10))-1),1,80),160);
646: end if;
639: end if;
640: end loop;
641: else
642: geocode_node := xslprocessor.selectSingleNode(xmldom.makeNode(address_doc),'/component_error');
643: errorMsg := xslprocessor.valueOf(geocode_node,'/component_error');
644: hr_utility.set_location('ERROR thrown from geocode host',155);
645: hr_utility.set_location(substrb(substrb(errorMsg,1,instrb(errorMsg,fnd_global.local_chr(10))-1),1,80),160);
646: end if;
647: xmldom.freeDocument(address_doc);
760: parser:=xmlparser.newParser;
761: xmlparser.parseBuffer(parser,xml_response);
762: address_doc:=xmlparser.getDocument(parser);
763: xmlparser.freeParser(parser);
764: geocode_node:=xslprocessor.selectSingleNode(xmldom.makeNode(address_doc),'/geocode_response/geocode');
765: xslprocessor.valueOf(geocode_node,'@match_count',l_match_count);
766: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
767: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
761: xmlparser.parseBuffer(parser,xml_response);
762: address_doc:=xmlparser.getDocument(parser);
763: xmlparser.freeParser(parser);
764: geocode_node:=xslprocessor.selectSingleNode(xmldom.makeNode(address_doc),'/geocode_response/geocode');
765: xslprocessor.valueOf(geocode_node,'@match_count',l_match_count);
766: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
767: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
769: xslprocessor.valueOf(address_node,'@name',name);
762: address_doc:=xmlparser.getDocument(parser);
763: xmlparser.freeParser(parser);
764: geocode_node:=xslprocessor.selectSingleNode(xmldom.makeNode(address_doc),'/geocode_response/geocode');
765: xslprocessor.valueOf(geocode_node,'@match_count',l_match_count);
766: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
767: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
769: xslprocessor.valueOf(address_node,'@name',name);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
763: xmlparser.freeParser(parser);
764: geocode_node:=xslprocessor.selectSingleNode(xmldom.makeNode(address_doc),'/geocode_response/geocode');
765: xslprocessor.valueOf(geocode_node,'@match_count',l_match_count);
766: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
767: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
769: xslprocessor.valueOf(address_node,'@name',name);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
771: xslprocessor.valueOf(address_node,'@street',street);
764: geocode_node:=xslprocessor.selectSingleNode(xmldom.makeNode(address_doc),'/geocode_response/geocode');
765: xslprocessor.valueOf(geocode_node,'@match_count',l_match_count);
766: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
767: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
769: xslprocessor.valueOf(address_node,'@name',name);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
771: xslprocessor.valueOf(address_node,'@street',street);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
765: xslprocessor.valueOf(geocode_node,'@match_count',l_match_count);
766: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
767: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
769: xslprocessor.valueOf(address_node,'@name',name);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
771: xslprocessor.valueOf(address_node,'@street',street);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
766: if to_number(xslprocessor.valueOf(geocode_node,'@match_count'))>0 then
767: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
769: xslprocessor.valueOf(address_node,'@name',name);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
771: xslprocessor.valueOf(address_node,'@street',street);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
767: match_node :=xslprocessor.selectSingleNode(geocode_node,'match');
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
769: xslprocessor.valueOf(address_node,'@name',name);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
771: xslprocessor.valueOf(address_node,'@street',street);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
768: address_node :=xslprocessor.selectSingleNode(match_node,'output_address');
769: xslprocessor.valueOf(address_node,'@name',name);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
771: xslprocessor.valueOf(address_node,'@street',street);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
776: xslprocessor.valueOf(address_node,'@country',country_name);
769: xslprocessor.valueOf(address_node,'@name',name);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
771: xslprocessor.valueOf(address_node,'@street',street);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
776: xslprocessor.valueOf(address_node,'@country',country_name);
777: xslprocessor.valueOf(address_node,'@postal_code',postal_code);
770: xslprocessor.valueOf(address_node,'@house_number',house_number);
771: xslprocessor.valueOf(address_node,'@street',street);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
776: xslprocessor.valueOf(address_node,'@country',country_name);
777: xslprocessor.valueOf(address_node,'@postal_code',postal_code);
778: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
771: xslprocessor.valueOf(address_node,'@street',street);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
776: xslprocessor.valueOf(address_node,'@country',country_name);
777: xslprocessor.valueOf(address_node,'@postal_code',postal_code);
778: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
779: xslprocessor.valueOf(match_node,'@latitude',l_latitude);
772: xslprocessor.valueOf(address_node,'@builtup_area',builtup_area);
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
776: xslprocessor.valueOf(address_node,'@country',country_name);
777: xslprocessor.valueOf(address_node,'@postal_code',postal_code);
778: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
779: xslprocessor.valueOf(match_node,'@latitude',l_latitude);
780: if (l_longitude is not null and l_latitude is not null) then
773: xslprocessor.valueOf(address_node,'@order1_area',order1_area);
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
776: xslprocessor.valueOf(address_node,'@country',country_name);
777: xslprocessor.valueOf(address_node,'@postal_code',postal_code);
778: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
779: xslprocessor.valueOf(match_node,'@latitude',l_latitude);
780: if (l_longitude is not null and l_latitude is not null) then
781: geometry :=MDSYS.SDO_GEOMETRY(2001
774: xslprocessor.valueOf(address_node,'@order2_area',order2_area);
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
776: xslprocessor.valueOf(address_node,'@country',country_name);
777: xslprocessor.valueOf(address_node,'@postal_code',postal_code);
778: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
779: xslprocessor.valueOf(match_node,'@latitude',l_latitude);
780: if (l_longitude is not null and l_latitude is not null) then
781: geometry :=MDSYS.SDO_GEOMETRY(2001
782: ,8307
775: xslprocessor.valueOf(address_node,'@order8_area',order8_area);
776: xslprocessor.valueOf(address_node,'@country',country_name);
777: xslprocessor.valueOf(address_node,'@postal_code',postal_code);
778: xslprocessor.valueOf(match_node,'@longitude',l_longitude);
779: xslprocessor.valueOf(match_node,'@latitude',l_latitude);
780: if (l_longitude is not null and l_latitude is not null) then
781: geometry :=MDSYS.SDO_GEOMETRY(2001
782: ,8307
783: ,MDSYS.SDO_POINT_TYPE