Hi All,
I am trying to use Web API call to retrieve the Logged in user's Business Unit from System user form (Lookup field) and populating it in a system/Custom form field (Lookup field), Getting error Bad Request, can someone help me whats wrong with the below code. Thanks in Advance.
function GetBU() {
if (Xrm.Page.getAttribute("new_BUnit").getValue() == null) {
try {
var AccId = Xrm.Page.context.getUserId();
alert(AccId);
var req = new XMLHttpRequest();
var url = Xrm.Page.context.getClientUrl() + "/" + "/api/data/v8.2/systemusers?$select=_businessunitid_value&$filter=SystemUserId eq guid'" + AccId + "'";
alert(url);
req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/systemusers(AccId)?$select=_businessunitid_value", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.onreadystatechange = function() {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200) {
var result = JSON.parse(this.responseText).d;
if (requestResults != null && requestResults.results.length == 1) {
var _value = requestResults.results[0];
var _businessunitid_value = result["_businessunitid_value"];
var _businessunitid_value_formatted = result["_businessunitid_value@OData.Community.Display.V1.FormattedValue"];
var lookupReference = new Array();
lookupReference[0] = new Object();
lookupReference[0].id = results.value[i]["_businessunitid_value"];;
lookupReference[0].entityType = "businessunit";
lookupReference[0].name = _businessunitid_value_formatted.LogicalName;
Xrm.Page.getAttribute("new_BUnit").setValue(lookupReference);
}
}
else {
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send();
}
catch(e)
{
}
}
}