Start of Content Area

This graphic is explained in the accompanying text Stateful Connections  Locate the document in its SAP Library structure

With SAP JCo release 2.x, a function call was seen as a stateful connection. For this reason it was not necessary to declare a stateful connection explicitly as such.

As of JCo 3.0, a stateful connection needs the statements JCoContext.begin(destination)and JCoContext.end(destination).

The following example shows the programming differences between 2.x and 3.0.

 

JCo 2.x

 

JCO.Function bapiFunction1 = ...

JCO.Function bapiFunction2 = ...

JCO.Function bapiTransactionCommit = ...

JCO.Function bapiTransactionRollback = ...

JCO.Client client = ...

try

{

   try

   {

      client.execute(bapiFunction1);

      client.execute(bapiFunction2);

      client.execute(bapiTransactionCommit);

   }

   catch(JCO.AbapException ex)

   {

      client.execute(bapiTransactionRollback);

   }

}

catch(JCO.Exception ex)

{

   [...]

}

 

 

JCo 3.0

 

JCoDestination destination = ...

JCoFunction bapiFunction1 = ...

JCoFunction bapiFunction2 = ...

JCoFunction bapiTransactionCommit = ...

JCoFunction bapiTransactionRollback = ...

 

try

{

   JCoContext.begin(destination);

   try

   {

      bapiFunction1.execute(destination);

      bapiFunction2.execute(destination);

      bapiTransactionCommit.execute(destination);

   }

   catch(AbapException ex)

   {

      bapiTransactionRollback.execute(destination);

   }

}

catch(JCoException ex)

{

   [...]

}

finally

{

   JCoContext.end(destination);

}

 

 

 

End of Content Area