Modifying an existing Transform Map

jesusemelendezm
Mega Guru

Hi everyone,

 

I need to modify a transform map used for LDAP user import. I need to add "user account expiry date" from active directory into the user form of ServiceNow. I have done the following:

 

1) create a new field "u_expirydate" of date type and added to the user form.

2) from Table Transform Map I created a new field map and select   the source field "u_accountexpires" to "u_expirydate"

3) run the scheduled ldap import.

 

I can't get this field "Expiry date" updated? is there anything else that I need to do additionally?

 

Thanks,

Jesus E.

1 ACCEPTED SOLUTION

Go into System LDAP > LDAP Servers > <your ldap server>


Click Browse under Related Links


Enter the distinguishedName of a user that has an expiration date and click Search


See if the accountexpires field appears



What I think you will find is this:


acctxpires.png



While you see a date/time in ADUC, this field is actually a 64-bit number representing the number of "ticks" since 12:00 AM January 1, 1601. If the accountexpires field is being pulled, it will likely not allow you to shoehorn it into the date field you created on your import table. You will have to change that data type and handle the conversion to a date in your transform map. There is some information about this here:


https://community.servicenow.com/message/652592#652592


View solution in original post

22 REPLIES 22

Thank you guys! I got it. It was just a typo on the code. Thanks again everyone!


Jesus,



What did the typo end up being? I am running into the exact same error and can't seem to see what I'm missing.



I believe my incoming data isn't matching my date format that I'm trying to convert it to.   I have tried almost all formats with no luck.



Thanks,


Hi Brian,



In my case was the name of the u_field on the code, I name it u_expiry_date but in the code I had u_expires_date.



Can you post the log error?



Thanks


I figured out where the issue was. We recently upgraded to Eureka and the GlideDateTime();   class is included in Eureka.



You no longer can call the full path... var gDate = new Packages.com.glide.glideobject.GlideDateTime();  



It will give you a java security error if you attempt to.


How does it appear the date to you? For me It is appearing the date +1 day. If expiry date is 12/31/2014 the date on the user record would be 01/01/2015



Are you all good?