Output fields from a Mbo with different data types
TPAE supports nearly twenty different data types for it’s fields which can be used during database configuration. Commonly used types are ALN, DATE, INT, UPPER, YORN just to mention some of them. A full list of available datatypes can be found on the support webpage.
When we read records using a script we have to be very carefully to always use the correct command which is related to the data type of the field. Some important commands are:
- wo.getString(“<FIELD>”) – returns a String value
- wo.getInt(“<FIELD>”) – returns a Integer value
- wo.getLong(“<FIELD>”) – returns a BigInteger value
- wo.getDouble(“<FIELD>” – returns a Double/Decimal value (better than getFloat()).
- wo.getDate(“<FIELD>”) – returns a Date value
- wo.getBoolean(“<FIELD>”) – returns Boolean Value from a YORN Field (True / False)
Attention: It is a common mistake to use the getString method to read numeric values which will work without errors. The issue you will fall into is that numbers are represented with thousands separators so a number 1000 is represented as a string “1.000”.
In context of the workorder MboSet a code sample could be the following one, which reads different fields with different data types:
woset = session.getMboSet('WORKORDER') wo = woset.moveFirst() while (wo != None): # Read out values print "Workorder ",wo.getString("WONUM") print "Priority ",wo.getInt("WOPRIORITY") print "StartDate ", wo.getDate("TARGSTARTDATE") print "WorkorderID ", wo.getLong("WORKORDERID") # get next Workorder wo = woset.moveNext()