I'm not 100% certain that I understand your question... My approach would be to use the CEWP and pull the data with JavaScript. You could have an element on your page that contains the user entered part number and returns info regarding the part.
What I can show you is how to pull list entry items from lists within your site collection using a SOAP envelope in conjunction with a lists webservice call. The returned values can be addressed using JavaScript to create any kind of HTML table that you like. I've been working on this code myself for the past two weeks. I hope that it is of use:
<script type="text/javascript">
if (!window.console) console = {log: function() {}}; </script>
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js " type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
z=0;
GetFile();
function GetFile(){
var soapEnv =
"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
<soapenv:Body> \
<GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
<listName>Parts</listName> \
<ViewFields> \
<FieldRef Name='PartNumber' /> \
</ViewFields> \
</GetListItems> \
</soapenv:Body> \
</soapenv:Envelope>";
$.ajax({
/*Note that this is an ABSOLUTE lists webservice call.
You must point at the target site which houses the list
you are trying to manipulate */
url: "https://mydomain.com/warehouse/bitest/_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
success: function(xData, status) {
var PartNumberArray = [];
i=0;
//You must parse the returned string as XML to ensure that IE can access
xmlDoc = $.parseXML(xData.xml);
$(xmlDoc).find("z\\:row").each(function() {
PartNumber[i] = parseFloat($(this).attr("ows_PartNumber"));
i++;
$("#tasksULa").append(PartNumber[i].toString());
});
//HERE you can work to winnow out the part number you are looking for
//You will need to pull the value of the target part number from an element within another div on the page or CEWP
},
error: function (xhr, ajaxOptions, thrownError){
//This function throws an error and retries if the call is not successful
z++;
alert(xhr.status);
alert(thrownError);
setTimeout(GetFile(), 5000);
console.log("Error " +z+": " + thrownError);
},
contentType: "text/xml; charset=\"utf-8\"",
async: false
});
};
});</script><ul id="tasksULa"></ul>
Particular fields to pay attention to:
- FieldRef Name
- listName
- URL field in the AJAX method
- Value in the .attr field in the XML iterator
As a sidenote I modified this code and pasted it directly; no guarantees that it is 100% bug free. Again, I hope this meets your needs.
EDIT & UPDATE Also use this code to pull a full xml file based on your target list. All you need is the parent site URL and the list GUID. Use this code inside of a CEWP and it will build the target URL for you. I.E. just stick the components in the textboxes, click the button and then use the resulting URL to get the XML doc:
<script type="text/javascript">
//This is the target format for the XML request
//{SITEURL}/_vti_bin/owssvr.dll?Cmd=Display&List={GUID}&XMLDATA=TRUE&Query=*
function buildTargetXMLURL() {
var XMLURL = "";
XMLURL = document.getElementById("SiteURL").value + "/_vti_bin/owssvr.dll?Cmd=Display&List=" + document.getElementById("ListGUID").value + "&XMLDATA=TRUE&Query=*";
document.getElementById("TargetURL").value= XMLURL;
}
</script>
Parent Site URL: <input id="SiteURL"/><br/>List GUID: <input id="ListGUID"/> <br/><br/>Target URL: <input id="TargetURL"/><br/><button onclick="buildTargetXMLURL()">Get XML URL</button>