cancel
Showing results for 
Search instead for 
Did you mean: 

About licencing using DI-API and DI-Server connections ...

davidmartib
Participant
0 Kudos

Hi SDK experts,

I hope you can help me in this matter:

I'm developing a program that uses DI-API (not an add-on) to work with some SBO objects. On every DI-API connection, I'm using the same company user (manager at this moment). Is this approach correct? Can I have, for example, four instances of this program, running on separate computers without license problems? What type of licence will be using (or needs to have)?

I'm developing another program that uses webservices against DI-Server. Here, the question is the same: Can I use the same company user on all DI-Server sessions? I have one DI-Server license and serveral Professional, Limited and indirect license for my customer, but I'm very confused about how licenses are working on those scenarios.

We are on 8.82 PL10.

Perhaps this is a very basic question, but I'm very confused at this time.

Thanks in advance for your replies and your time.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Regarding DI-Server, except if you have transactions which should be done specifically into the context of a given user, you should connect with the B1i user: by doing it, you'll avoid all problems of concurrent users.

Regards,

Eric

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

     If you are using DI-API for stand alone program. You can use this function.

Private Function oConnectDI() As Boolean

        Try

            Dim oCompany As SAPbobsCOM.Company

            'Connect to SERVER

            oCompany = New SAPbobsCOM.Company

            oCompany.Server = "servername"

            oCompany.DbUserName = "sa"

            oCompany.DbPassword = "p@ssw0rd"

            oCompany.CompanyDB = "SBODemoAU"

            oCompany.UserName = "manager"

            oCompany.Password = "1234"

            oCompany.LicenseServer = "licenseservername"

            oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008

            If Not oCompany.Connect = 0 Then

                MsgBox(oCompany.GetLastErrorDescription)

                Return False

            End If

        Catch ex As Exception

            Return False

        End Try

        Return True

    End Function

Regards,

davidmartib
Participant
0 Kudos

Thanks Bryan,

The problem is not how to connect using DIAPI, the problem is wich company user use and how the user I choose impacts on licencing ... Thanks anyway.

Former Member
0 Kudos

Estimado David:

Las restricciones de licencia, se vienen fuertes en el futuro, mi consejo, es que hagas un análisis si necesitas estar conectado todo el tiempo con la DI API, revisa tus procesos, tu base de datos, las tablas propias las puedes, y campos de usuario en tablas de SAP, las puedes actualizar con ADO, cuando necesites ingresar datos SAP nativos, conéctate y una vez que termines liberas, por otra parte puedes analizar si pueden hacer una cola con tus procesos y desde esa pila lo vas ejecutando de a uno. He hecho esto varias veces, pues ahorra licencias

Saludos

Rubén

PD: Si entiendes que te puedo ser útil, no dudes en contactarme, me satisface ayudar

davidmartib
Participant
0 Kudos

Gracias Ruben por contestar,

Efectivamente esta es la estrategia que utilizo, el problema es que ando bastante confundido en como el usuario de la compañia que utilizo en la conexión DIAPI se gestiona a través del servidor de licencias. Por lo que sé, debería estar utilizando un usuario que tenga licencia INDIRECTA para estos menesteres, pero ya te digo, ando bastante confundido con todo este tema de licencias y accesos concurrentes desde varios entornos(Cliente SBO, programa externo DIAPI y servicios Web a través del DI-SERVER).

Former Member
0 Kudos

Estimado David:

Disculpa, si es algo tonto lo que te escribo, para que quieres saber como se gestiona la licencia, ¿que le aporta a tu solución esto?, ¿pudieras referir un caso real donde te ha colapsado?, ¿que dificultades reales has tenido?, pues uno debe enfocarse en el objetivo, no en el como, generalmante siempre hay que tener una licencia de manager con todos los permisos que tiene esta, en la mayoria de los casos se subutiliza, pues la emplean solo en configuración y hacer trabajaos de mantenimiento, y se puede aprovechar en soluciones como las que estas planteando.

saludos

Rubén