Hi, Rachid -
Run a database trace from your app (preface the SQLCA.DBMS property value with the word "TRACE", such as SQLCA.DBMS = "ODB" becomes SQLCA.DBMS = "TRACE ODB", for example).
Examine the contents of the trace file to see what it tells you.
Another idea is to open the DataWindow data object in the DW Painter, insert a row in the Preview pane and manually populate the row with the same values as what is being attempted in the application, then save the new row via Rows -> Update menu item. You should be sure your PB Database Profile uses the same settings as your application.
Best regards, John
Finally, I found that there were lot of database errors happening before inserting my row and prevents the COMMIT. In the transaction objet dberror event, only some error codes were catched. After fixing the other errors, I can now insert my rows.
Thanks to you all.