Skip to main content
17-Peridot
August 1, 2020
Solved

Sdcript Functions does NOT return the complete long value ?

  • August 1, 2020
  • 2 replies
  • 1392 views

Hi , 

I created a  custom script function called GenerateUid.  This function generate a unique id(Long type) for every call using the snowflake id algorithm.   

 

It works in the backend of the extension, I can see the unique id is generated correctly in debug.  However,   the last two digits  of the value returned to ThingWorx is always "00".  For example,  the generated id is 569467214119305221, but the value in ThingWorx's service result is 

 

In debug you can see the uid is 569467214119305221.
image.png

 

but in ThingWorx it's 569467214119305200

image.png

===========Version ==========

ThingWorx 8.5.5

Database: Postgresql 10.x

OS: REHL 7.6

 

======================================Update========================

I changed the return type from LONG to STRING and everything works.  so there must be something wrong for LONG ? 

 

Regards,

Sean

Best answer by CharlesJi

The workaround is to use STRING instead of LONG provided in this ticket.

And the LONG to STRING conversion issue has been fixed since ThingWorx 9.1.0.

https://www.ptc.com/en/support/article/CS341174

2 replies

22-Sapphire I
August 3, 2020

Looks like a bug, recommend you start a ticket.

seanccc17-PeridotAuthor
17-Peridot
August 6, 2020

@PaiChung ,

I just openned a ticket for this issue: 

 

https://support.ptc.com/apps/case_logger_viewer/auth/ssl/case=15506658?from=logger

 

Regards,

Sean

CharlesJi16-PearlAnswer
16-Pearl
January 8, 2024

The workaround is to use STRING instead of LONG provided in this ticket.

And the LONG to STRING conversion issue has been fixed since ThingWorx 9.1.0.

https://www.ptc.com/en/support/article/CS341174