Integer value greater then 10 digit

Certified Senior Developer

Has anyone stored numeric value more than 10 digit ?. Looks like appian converts value to ∞ (infinite) if numeric digit > 10. Easiest way is to use varchar field in DB and store numeric value as text however would like to know if anyone faced this before and have any other idea/thought ?. Below are UI , SAIL & CDT mapping snippet

UI :

SAIL : tried with integer & floating field as well :
------------------
a!textField(
value: index(ri!cst[ri!index],"account_id",null ),
saveInto: ri!cst[ri!index].account_id,

readOnly: local!readOnly
),
------------------

CDT mapping :
---------------------
<xsd:element name="account_id" nillable="true" type="xsd:long">
<xsd:annotation>
<xsd:appinfo source="appian.jpa">@Column(name="account_id", nullable=false, columnDefinition="BIGINT")</xsd:appinfo>
</xsd:annotation>
</xsd:element>
---------------------

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    Nope, Appian doesn't support Long integers.  For now, you might be able to get by with a Decimal type, which is Double precision floating point number, which gives you 15 digits of precision.  You can represent every integer up to 9 quadrillion, or something like that, before you loose so much precision you can only represent every other integer until the next power of two.

    What you'd have to do is do some trickery with the front-end to not display the decimal point when there's no decimal part.  You'll need to use the fixed() function to start with in order to get all the digits, because Appian automagically truncates it to 7 digits for display, so you still wouldn't get all 10 showing without demanding to see them using fixed(). 

    Incidentally, this is how JavaScript handles numbers.  They literally have only one numeric type, which is Double, and don't show the decimal point unless they need to.  Then it's almost like it's an integer.