SAP Business One and SDK 2004 Compatibility with Add-Ons

SAP Developer Network


This document provides you with some helpful hints in case you use any specific add-ons and plan to upgrade to the upcoming Release 2004. Some changes in SAP Business One and the SAP Business One Software Development Kit for Release 2004 might cause compatibility issues with the add-ons. Therefore, we would like to provide you with additional important information in order to ensure a smooth upgrade to the upcoming release.

This document covers four topics:

  1. Change in the behavior of the SAP Business One application

    These are changes that can cause problems to the add-on that bases its logic on this behavior. This group will be part of each new version since part of the evaluation of SAP Business One causes changes in the way forms look and changes in the business logic.

  2. Changes in the UI API

    In case we add new functionality that will require changes in the existing interface, we will never delete the old interface. Instead, we will add a new interface to support the new functionality. However, some of the changes are due to bugs that are fixed; for example, in version 2004 new exceptions that are thrown. For each change in this group we will need to get the SDK advisory board to approve. In case they will not approve it, the fix will only be done in the next version.

  3. Changes in the DI API

    Most of the changes in this part are changes in the SAP Business One application that are reflected through the DI API.

  4. Important Notes


Change in the behavior of the SAP Business One application




Future solution


stock quantity

Purchase Order Return will not work if stock quantity < 0

Causes a problem in the DI API when the stock in under 0. In order to enable this in this version, you need to set the "block negative quantity" check box.

Menu position changes

The main menu of SAP Business One changes, e.g. add menu called view, change the title "module" to "modules" etc.

In case add-on added new menus to SAP Business One, its menus may not appear or appear in a position different to where it was in 6.5.

In order to prevent such problems in the future, in version 2004 UI API enable positioning add-on menus by Unique ID instead of position.

Attached excel with the new SAP Business One menus position and names.

System forms

System form view changes between versions.

Add-on that added its control to a system form will need to check that its control appears in the same place.

System forms will change between versions since they are part of the application evaluation. We will try to help in the future by supplying tool and information that will make the partners' work easier.

Change in the Document Numbering

The primary key in NNM1 until version 2004 was the object name and the series ID. In order to support the new concept of the series, the primary key is only the series due to this fact the values of the series was changed so it can be unique.

NNM1 is not exposed in the DI API but add-ons that used the series value hard coded number in their code will have compatibility problems due to the fact that the number changed.

Our recommendation is not to use the any field value hard coded in add-on code.

This change was review by the internal and external advisory board of the SDK and was approved.

NOE forms (simple system forms that look like a table)

The format of the form type of NOA changes. In the past is was long and you could not rely on the number (as it was not a constant number). Today the format is string but it will be constant

Activity object concept change

In previous versions the activity object had Several types, such as meeting and task. In 2004 we Changed the type task to be a timeless activity which is different from timed activity (e.g. meeting). The new type does not have a start/end time and thus does not have a reminder.

From 2004 Add-ons will not be able to change the start/end time and use the reminder functionality for activity with type task through the DI.

  1. Use "meeting" or "other" activities types instead of "task".

  2. Change the Add-on such when the activity type is "task" there will not be any updates of the fields start/end time and reminder.

Changes in the UI API




Future solution


New exceptions

The UI API throws new exceptions that were not thrown in the past when the add-on code did something wrong.

The new exceptions are:

  1. matrix.deleteRow (row) failed when using illegal row number.

  2. matrix.addRow (row) failed when using illegal row number.

  3. (XXX) with number checks the value instead of index.

  4. When query result gives no data the corresponded DB data source size is set 0 (at initialization the size is set to 1).

  5. Adding the UDS with already used UID.

  6. Set UID of user data source to string bigger then 10 characters.

  7. System menu that is disable can not be activated (in former version add-on could activate a system menu that was disable by SAP Business One).

  8. LinkTo property on item failed when setting to non-existing item (setting to empty string is enabled).

  9. Addition of column to matrix failed when there are rows (data) in the matrix - the concept is that you cannot change meta-data of item with data.

  10. Setting user data source offset to illegal one.

  11. Columns.Item (invalid index).

  12. Setting value/string On system editText (item/cell) Or system ComboBox.Value when the item is not editable or not visible. (Error num -3006 "form - invalid item").

  13. If the BubbleEvent flag is set to false the event dispatching is aborted.

  14. Modules menu item is reflected on the Command-Center form only if it has child's (popup with child's only).

Add-on that run in the past (but it did not work) will stop running.

This change was reviewed by the internal and external advisory board of the SDK and was approved.

Change of the behavior in case of change company event

In the previous version, in case of a change company event SAP Business One restored the menus automatically. In this version, we introduce a new mechanism for running the add-on in change company event. The menu will be restored automatically but for the old registration mechanism the user will need to handle it by himself.

No restoring the menus in change company event.

Changes in the UI API




Future solution


Remove SerialNumbers and BatchNumbers properties form WorkOrder lines (WKO1)

Those properties were never supported for this object. In previous versions, if user used those properties he got the return code that those properties are not supported.

In case the add-on will be compiled with the new DLL you will get compilation errors that those methods are not supported.

We decided to delete those methods to simplify the interface and not add methods that are not supported.

Since the DI API supports side by side it will not be a problem in case it will still run with 6.5 DI DLL.

InTransaction property in Company object return value has changed.

The property InTransaction used to return False in two cases:

  1. If there is no active transaction

  2. If there is no connection

Now in case there is no connection, it will throw an exception not connected.

It is a bug to return false when checking if the connection is InTransaction while there is no connection at all.

Important Notes

  1. No Support of VB6 Installer in the new add-on admin feature.

  2. The add-on Admin feature requires the add-on installer to be able to accept command line arguments, the VB 6 installer is unable to do this.

  3. The add-on admin feature requires the ability to load DLLs and call functions from loaded DLLs. The VB 6 installer is unable to do this.

Table of Contents

Content Options

Copyright © 2005 SAP AG, Inc. All Rights Reserved. SAP, mySAP,, xApps, xApp, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product, service names, trademarks and registered trademarks mentioned are the trademarks of their respective owners.

SAP Developer Network