The EnableSafeTyping Binding Property

In the November CTP of the Adapter Pack V1, a new binding property has been added to the SAPBinding - "EnableSafeTyping" (a boolean)

When this property is true, DATS, TIMS and NUMC fields are exposed as Strings, and any value can be passed back and forth between the client and the SAP Server.

  • For DATS, you (ideally) should pass DATE values in the format YYYYMMDD in order for SAP to interpret it correctly.
  • For TIMS, it (ideally) should be HHMMSS (24 hour format).
  • For NUMC, you (ideally) should pass in a numeric value ("12345" for example).

The adapter will not validate the values you pass in (or which SAP passes out).

When this property is false, then

  • for DATS, only valid DateTime objects can be passed back and forth. (If SAP returns a DATS value of 00000000, or 99999999, an exception will be thrown by the adapter).
  • For TIMS, only valid DateTime objects can be passed back and forth.
  • For NUMC, you must pass in a numeric value (positive integer), and the assumption is that SAP will do the same when sending back a response. An exception will be thrown if the value is not valid.

NOTE - This is different from the Beta2 behavior, wherein, a DateTime value of 9999-12-31 was sent to SAP as 99999999 (and vice versa) and a DateTime value of 0001-01-01 was sent to SAP as 00000000 (and vice versa).

For more information on how the DateTime values are treated by the adapter, have a look at

For the SAP ADO Provider, for both EXEC and SELECT calls, you need to use the 'DisableDataValidation' option to achieve the same functionality. (