Yeah don't use instance anymore and don't use sessionIDs.
So, you want to do something like create a document in another Jiwa database? You instantiate a manager object FOR THE REMOTE DATABASE and log on to it:
- Code: Select all
JiwaFinancials.Jiwa.JiwaApplication.Manager DB2Manager = new JiwaFinancials.Jiwa.JiwaApplication.Manager();
DB2Manager.Logon(DB2ServerName, DB2DatabaseName, JiwaFinancials.Jiwa.JiwaODBC.database.AuthenticationModes.JiwaAuthentication, DB2UserName, DB2Password);
Now any operation you want to perform in the remote database, just use your DB2Manager variable. For example, I want to create a PO in DB2, let's take it from the top, creating my manager object for the remote database, logging in, creating the PO, saving it, logging out of the remote database:
- Code: Select all
JiwaFinancials.Jiwa.JiwaApplication.Manager DB2Manager = new JiwaFinancials.Jiwa.JiwaApplication.Manager();
DB2Manager.Logon(DB2ServerName, DB2DatabaseName, JiwaFinancials.Jiwa.JiwaODBC.database.AuthenticationModes.JiwaAuthentication, DB2UserName, DB2Password);
try
{
JiwaFinancials.Jiwa.JiwaPurchaseOrders.PurchaseOrder DB2PurchaseOrder = DB2Manager.BusinessLogicFactory.CreateBusinessLogic<JiwaFinancials.Jiwa.JiwaPurchaseOrders.PurchaseOrder>(null);
DB2PurchaseOrder.CreateNew(JiwaFinancials.Jiwa.JiwaPurchaseOrders.PurchaseOrder.SupplierType.Creditor, JiwaFinancials.Jiwa.JiwaPurchaseOrders.PurchaseOrder.NewOrderSeedTypes.CreditorAccountNo, "1001", JiwaFinancials.Jiwa.JiwaPurchaseOrders.PurchaseOrder.PurchaseOrderType.DefaultOrderType, "ZZZZZZZZZZ0000000000");
DB2PurchaseOrder.Save();
}
finally
{
DB2Manager.LogOff();
}
Note how I used a try finally block to ensure I always logged off from DB2Manager! That's it. No sessions ids to juggle. Just create a manager object for the remote database and use it. You could have a number of manager object variables on the go at once, each looking at a different remote database.