Questions:
1. Where can we found exactly information about ACCPAC.Advantage > .Init session parameters, their sources and properly case usages?
2. Do [.Init] session parameters affect anything (for example, when reading data)?
* eg invalid [programName] can raise error
3. Should we use [appID] = ["UP"] (except XZ/XY) when want read data from ["UP0014"] and set [appVersion] from [CSAPP] table?
* where [appID] is Sage module prefix and [appVersion] is version from [CSAPP] (indiv. for each module)
* but again for get data from [CSAPP] we need init session before
4. Why [programName] should be "XY1000" or "XZ1000"? Any information about this.
The problem description:
For integration with Sage 300 ERP we are using ACCPAC.Advantage SDK.
Before [.Open] session,[.OpenDBLink], [.OpenView], and read data from Sage 300 view/table (eg UP0014 - Employees) like [.GoNext()]
we need to init session to Sage 300 ERP and set specific parameters.
Init session looks like: session.Init("", "XY", "XY1000", "61A") => ("objectHandler", "appID", "programName", "appVersion");
Unfortunately we did not find any exactly information about those init session parameters, their sources and properly case usages.
We know that in the [CSAPP] table and/or dbLink.ActiveApplications exists similar data (AH 72A; AS 64A; ...; UP 73A; UT 73B)
But this is that's all our knowledge about this.
The Sage Accpac .NET Class Library Helper not help us and talk about XZ and XZ1000 by default.
But other source tell about "XY", "XY1000" by defult.
Code usage example:
ACCPAC.Advantage.Session session = new ACCPAC.Advantage.Session();
session.Init("", "XY", "XY1000", "61A");
session.Open("login", "password", "company", DateTime.Now, 0);
ACCPAC.Advantage.DBLink dbLink = session.OpenDBLink(ACCPAC.Advantage.DBLinkType.Company, ACCPAC.Advantage.DBLinkFlags.ReadOnly);
ACCPAC.Advantage.View view view = dbLink.OpenView("UP0014");
while (view.GoNext())
{
string val = view.Fields.FieldByName("FIRSTNAME").Value.ToString();
...
}
Thank you