protected String fixOffset ( String offsetColumn , String offset ) { com . sforce . soap . partner . Field sfdcField = getFieldMetadata ( sobjectType , offsetColumn ) ; if ( SobjectRecordCreator . DECIMAL_TYPES . contains ( sfdcField . getType ( ) . toString ( ) ) && offset . contains ( "E" ) ) { BigDecimal val = new BigDecimal ( offset ) ; offset = val . toPlainString ( ) ; if ( val . compareTo ( MAX_OFFSET_INT ) > 0 && ! offset . contains ( "." ) ) { // We need the ".0" suffix since Salesforce doesn't like integer // bigger than 2147483647 offset += ".0" ; } } return offset ; }
since Salesforce doesn t like scientific notation in queries