Where the return code means :
 
       -2  Asynchronous operation already outstanding 
       -3  A resource manager error occurred 
       -4  The XID is not valid 
       -5  Invalid arguments were given 
       -6  Routine invoked in an improper context 
       -7  Resource Manager unavailable 
       -8  the XID already exists 
       -9  Resource Manager doing work outside global transaction
            The following indicate the transaction is marked as roll-back only
 
      100  The resource manager marked the transaction roll-back 
           only for an unspecified reason. 
      101  A communication failure occurred 
      102  The resource manager detected a deadlock 
      103  The resource manager detected a violation of the integrity 
           of its resources 
      104  The resource manager marked the transaction roll-back 
           only for a reason not in this list. 
      105  A protocol error occurred in the resource manager 
      106  The work represented by this transaction took too long 
      107  The resource manager detected a transient error