Quantcast
Channel: SharePoint 2013 - Development and Programming forum
Viewing all articles
Browse latest Browse all 7589

CSOM (Javascript) Inner join CAML query on 'User Information List'

$
0
0

I need to pull site user details like (email, display name, phone) from 'User information list' using a 'inner join' on a different list 'SiteOwners' where 'Contact' is a person or group field.

The result object is not returning the details from 'User Information List' though it returns details from 'SiteOwners' list

<script src="/_layouts/15/SP.runtime.js" type="text/javascript"></script><script src="/_layouts/15/SP.js" type="text/javascript"></script><script type='text/javascript'>
  'use strict';
  //$(document).ready(function() {

  function abc() {
  var context = SP.ClientContext.get_current();
  var web =context.get_web();
  var stownrlist = web.get_lists().getByTitle('SiteOwners');
  var camlqry = new SP.CamlQuery();

  camlqry.set_viewXml = "<View>" +"<Query></Query>" +"<ViewFields>" +"<FieldRef Name='Title'/>" +"<FieldRef Name='Contact'/>" +"<FieldRef Name='UserName'/>" +"<FieldRef Name='UserEMail'/>" +"<FieldRef Name='UserMobilePhone'/>" +"</ViewFields>" +"<ProjectedFields>" +"<Field Name='UserName' Type='Lookup' List='User Information List' ShowField='Name' />" +"<Field Name='UserEMail' Type='Lookup' List='User Information List' ShowField='EMail' />" +"<Field Name='UserMobilePhone' Type='Lookup' List='User Information List' ShowField='MobilePhone' />" +"</ProjectedFields>" +"<Joins>" +"<Join Type='INNER' ListAlias='User Information List'>" +"<Eq>" +"<FieldRef Name='Contact' RefType='Id'/>" +"<FieldRef List='User Information List' Name='ID'/>" +"</Eq>" +"</Join>" +"</Joins>" +"</View>";
  debugger;

  var stownritems = stownrlist.getItems(camlqry);
  context.load(stownritems);//, 'Include(Title,Contact,UserName,UserEMail,UserMobilePhone)'); 

  context.executeQueryAsync(
  Function.createDelegate(this, function () {
  debugger;
  var stownenm = stownritems.getEnumerator();
  while (stownenm.moveNext()) {
  var userid, loginname,email,name,mobilephone;
  if (stownenm.get_current().get_item('Contact') != null) {
  userid = stownenm.get_current().get_item('Contact').get_lookupId();
  loginname = stownenm.get_current().get_item('Contact').get_lookupValue();
  email = stownenm.get_current().get_item('ows_UserEMail');
  name = stownenm.get_current().get_item('UserName');
  mobilephone = stownenm.get_current().get_item('UserMobilePhone');
  }
  }

  }), function() {alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());});

  }

  //);


</script>
Any suggestions / help please.


Sai


Viewing all articles
Browse latest Browse all 7589

Trending Articles