you are missing a single quote on SET @ADLDAP ='OU=abc,OU=abc,DC=abc,DC=abc'
Could you try this?
DECLARE @ADLDAP varchar (50)
SET @ADLDAP ='OU=abc,OU=abc,DC=abc,DC=abc'
DECLARE @SQL VARCHAR(MAX)
DECLARE @Select VARCHAR(MAX)
SET @Select =
'SELECT name,
sn,
givenName,
mail,
sAMAccountName,
mobile,
telephoneNumber,
facsimileTelephoneNumber,
department,
physicalDeliveryOfficeName,
c,
streetAddress,
l,
manager,
wWWHomePage,
postalCode,
Company
FROM LDAP://' + @ADLDAP + ' WHERE objectCategory = ''''Person'''' AND objectClass= ''''user'''''
SET @SQL = 'SELECT sAMAccountName AS LogonName INTO #UsersTmp FROM OPENQUERY(ADSI,''' + @Select + ''' )'
SET @SQL = @SQL + CHAR(10) + ' SELECT * FROM #UsersTmp'
PRINT @SQL
EXEC ( @SQL)
If you don't have the passion to help people, you have no passion