%Library.Currency
Class %Library.Currency Extends %DataType [ ClientDataType = CURRENCY, OdbcType = NUMERIC, SqlCategory = NUMERIC, System = 2 ]
The %Currency data type class represents a currency value.
%Currency is essentially the same as the %Numeric data type with clientdatatype of CURRENCY and a fixed SCALE of 4. It is a legacy type that is defined only for the purpose of moving existing applications from Sybase and SQL Server.
Parameters
FORMAT;
Parameter FORMAT;
The format specification for the data type's display value.
The value of FORMAT corresponds to the formatting option of the $FNUMBER
function, which is used to perform the formatting.
MAXVAL;
Parameter MAXVAL;
The maximum allowed logical value for the data type.
MINVAL;
Parameter MINVAL;
The minimum allowed logical value for the data type.
SCALE
Parameter SCALE As INTEGER [ Final, Internal ] = 4;
The scale value (number of digits following the decimal point) for this data type. The logical value will be rounded to the specified number of decimal places.
VALUELIST;
Parameter VALUELIST;
Used for enumerated (multiple-choice) attributes. VALUELIST is either a null string ("") or a delimiter separated list (where the delimiter is the first character) of logical values. If a non-null value is present, then the attribute is restricted to values in the list, and the validation code simply checks to see if the value is in the list.
DISPLAYLIST;
Parameter DISPLAYLIST;
Used for enumerated (multiple-choice) attributes. Used in conjunction with the VALUELIST parameter for enumerated (multiple-choice) attributes. DISPLAYLIST, if not null, represents the display values for the attribute corresponding with the logical values listed in VALUELIST.
The display values are returned by the LogicalToDisplay method.
XSDTYPE
Parameter XSDTYPE = "decimal";
Declares the XSD type used when projecting XML Schemas.
JSONTYPE
Parameter JSONTYPE = "number";
Methods
XSDToLogical
ClassMethod XSDToLogical(%val As %String) As %Currency [ CodeMode = generator, ServerOnly = 1 ]
Converts the SOAP encoded input decimal value into a %Currency value. Returns "" for error.
LogicalToJSON
ClassMethod LogicalToJSON(%val As %Double) As %String [ CodeMode = generator, ServerOnly = 1 ]
Converts the Objectscript value to the JSON number value.
DisplayToLogical
ClassMethod DisplayToLogical(%val As %String) As %Currency [ CodeMode = generator, ServerOnly = 0 ]
Converts the input value %val, which is a string representing a currency value, into a logical currency value.
Returns the value of the input string %val as a currency (fixed point number).
Normalize
ClassMethod Normalize(%val As %RawString) As %Numeric [ CodeMode = expression, ServerOnly = 1 ]
Converts %val to a normalized value.
IsValid
ClassMethod IsValid(%val As %RawString) As %Status [ CodeMode = generator, ServerOnly = 0 ]
Tests if the logical value %val, which is a currency value, is valid. The validation is based on the class parameter settings used for the class attribute this data type is associated with. In this case, MAXVAL and MINVAL.
LogicalToDisplay
ClassMethod LogicalToDisplay(%val As %Currency) As %String [ CodeMode = generator, ServerOnly = 0 ]
Converts the value of %val, which is in currency format, into a display string.
Returns the formatted value of %val.