cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Problems with different patchlevels?

Former Member
0 Likes
436

Hi there...

We are developing a add-on for SBO, and because we have a few consultants, they are the perfect guinea pigs...

But now we are getting problems, as they run our add-on. And it looks to have something to do with the patchlevels. If they have a different patchlevel, the add-on wil install and start just fine, but getting run time errors. We constantly get an error that the add-on will be killed and restarted.

Does this sound familiar, or am I doing something wrong?

Thanks in advance...

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Likes

Hi

I got the same problem. I build an application (not add-on) interacting with the DI-API. When installed in the client, big crashes, nothing worked. It took some time to realize the problem with DI-Api versioning.

The biggest problem is not always the biggest patch version supports an older version. So, you should have all the machines with the same patch. And with any new patch, test your add-on.

sorry

Harold

Former Member
0 Likes

Yes, it occurs when using the DI-API, but the add-on can be restarted, and it can get data from the database... But most of the time it chrashes...

But are we doing anything wrong, or is it a (big) bug in SBO?

Eneveux
Product and Topic Expert
Product and Topic Expert
0 Likes

R.,

With most, if not all, SAP Business One Patch Levels, there is an upgrade to the DI API. If you look at the PL zip file that you downloaded, you will see there is a DI API install. You always need to uninstall the existing DI API and reinstall from the new patch. You will get errors if the version of the DI API is not in synch with the upgrade that you applied to Business One.

Hope this helps,

Eddy

Former Member
0 Likes

hey Eddie,

If always uninstall the previous DI-API version, and installl the correct one, that's not the problem. The problem is, that if I compile an add-on on a machine running PL21, the add-on does not work on machine's using PL24, or PL29, or PL31 for example... (Not backwards compatible?)

So a add-on compiled on a certain patchlevel will not run on another patchlevel. That's the problem I'm having.

I could understand that a add-on compiled on PL31 not works under PL24, (both ways won't work) but it would be very sloppy when the DI-API is not backwards compatible...

Eneveux
Product and Topic Expert
Product and Topic Expert
0 Likes

R.,

As a standard course of action, you should always compile your code at the same DI API patch level that you will run it on. I will speak with development here at SAP about the issue as it has come up from time to time, but in the meantime, make sure the DI API's are equal.

Eddy

Answers (2)

Answers (2)

Former Member
0 Likes

Hi R.,

I'm a consultant, too. Therefore, I used myself as a guinea pig some time ago while developing a handy app that runs quite nicely in several patchlevels both in 2004 and 2005. If you have any consultants left alive then you might want to try this approach. My trick was to use late binding (instead of early) and/or loose typing (instead of strong).

Here's the principle (VB.Net):

a. Remove SAPxxxxCOMs from references.

b. Code like this:

Public Const SAPbobsCOM_BoObjectTypes_BoRecordset = 300

Dim oCompany as Object

Dim oRs as Object

' ...

oCompany = CreateObject("SAPbobsCOM.Company")

' ...

oRs = oCompany.GetBusinessObject(SAPbobsCOM_BoObjectTypes_BoRecordset)

oRs.DoQuery("SELECT CardCode, CardName FROM OCRD")

' .

Here's a thread that you may find useful:

.

If you want to try my app yourself (a documentation tool for SBO) then why not check http://www.xprts.biz/sbofactory.html

HTH

Juha

Former Member
0 Likes

Thanks for your input...

Hi Eddy, that's a very very sad that the DI-API's are not backwards compatible. So SBO is forcing developers to compile a new version of their add-on (or multiple add-ons) for each new patchlevel? Okey, that can be done, not that big of a problem. But if I add a new feature to my add-on, I have to compile a version for each patchlevel my customers use? Some customers don't want to upgrade their patchlevels each time, so in a worst case scenario, I do have to compile 31(!!!) 'new' versions of my add-on? And each of my customers must update their add-ons, if they update to a new patchlevel...? I hope that the SBO developers one day realize that this is a very crappy way of developing...

Backward compatability is a minimal requirement when you using the same version... If I update the driver for my motherboard, I also don't have to reinstall all applications on my system....?

@Juha, thanks for your input, but as said in the thread you posted, I'd rather like to have a call from my customer that the add-on is crashing/not working, and provide him/her with a right one, then have an add-on that works, but is doing stuff I don't want...

Former Member
0 Likes

I haven't tried, but I think there is a backward compatibility.

Former Member
0 Likes

Hey Sébastien,

Looked at your thread, and indeed, the interfaces stay the same. (Don't have to change any code when recompiling) I did thought that it should work, and it works, a little bit... GUI part is no problem, but if there is a action involving the DI the add-on cgrashes and SBO asks if you want to start it again... Only occures at different patchlevels...

Former Member
0 Likes

Hi,

Can you put the error message that generate your interface? It could be helpfull.

Regards.

Former Member
0 Likes

"Addon could not connect to the company"

A nothing saying message...