Eduard - thank you. That really helped. I can open a new thread if needed but do you know if we can use the Modify class to reset an user's password?

Edit: Found this in %SYS.LDAP but was wondering if I can do this with the existing operation EnsLib.LDAP.Operation.Standard without creating another inherited class.

s password="NewPassword"
s ChangePassword=$zcvt(""""_password_"""","o","UnicodeLittle")
s Attr1=$lb(130,"unicodePwd",$lb(ChangePassword))
s Attributes=$lb(Attr1)
s Status=##Class(%SYS.LDAP).ModifyExts(LD,DN,Attributes,"","")

Looks like ClearTable is not the correct method. As per the code, its doing

ClassMethod %ClearTable(pTable As %String)
{
Kill ^Ens.LookupTable(pTable)
}

so..i did this but not too comfortable touching the globals directly. Hoping there is a cleaner way... (the below works)..

Table initialization

s tmpTable = ##class(Ens.Util.LookupTable).%New()
s ^Ens.LookupTable("myNiCTmpTable00992314","DUMMYVAL")=0 //create some randomly named table

<....use this tmp table for lookup and adding new rows.>

delete the tmpTable once done with usage

d tmpTable.%ClearTable("myNiCTmpTable00992314")

Edit: Adding a 2 digit random number at the end of the temp table name to ensure no conflict if multiple threads are running at the same time.

HI Marc - how about during daylight savings time? Does this routine take care of that case even though we are specifying %K(-5)? May be use  $System.Util.IsDST() and do -4 if true.

Edit: That check if DST will not work if the input timestamp falls in DST but we are doing the conversion outside of that. There has to be an easier way to convert this (may be against the local OS timezone or something).