Vous êtes sur la page 1sur 7

Changes in the SAP Business One Application and SDK 2005

that Affect Add-ons Compatibility


This document is divided into five sections:
• Changes in SAP Business One
These changes can cause problems to add-ons that base their logic on the SAP Business One behavior. This section
will be part of each new SAP Business One release.
• Changes in DI API
Changes in the SAP Business One application that reflect within the DI API.
• Changes in UI API
Changes in the UI API interface.
• Changes in UDO
The interface of one function in the Implementation dll header file has changed. No other changes were made in the
UDO.
• Important Notes

New Limitations & Changes in SAP Business One


Topic Description Additional Info Impact Remarks
Activity object. For activity types Meeting, Phone SAP Business Add-ons should
call and Other, the fields Start Time, One completes check whether
End Time and Duration were default values for this change
changed from optional to the mandatory affects their
Mandatory. The upgrade updates fields as functionality.
all previous activities. In case the following:
user creates a new activity without • Start Time – the
filling in all the mandatory fields, time the activity
SAP Business One completes the was created.
default values.
• Duration – 15
minutes.
• End Time –
Start Time +
Duration.
Change in the When adding goods issue/receipt in In the past, in Since the
default that SAP SAP Business One client without case of an empty account is
Business One choosing any account in the rows, account in the received from
assigns when SAP Business One automatically rows, DI API another location,
adding a goods enters account defined in the item received the add-ons may
issue/receipt (WH/item group/item level). In account from the encounter
without choosing previous releases, the DI API took GL account validation
an account in the the default from GL account determination. In problems. For
rows. determination. In 2005 A, the DI API 2005 A this was example, if the
receives the default from the same fixed and the account is empty.
place as the SAP Business One. missing account
is received from
the item
(WH/item group/
item level).
Topic Description Additional Info Impact Remarks
GL account in From version 2005 A, the GL Add-ons that If there are
outgoing account of outgoing payments is updated the different values in
payments is defined per row. In previous header with the each row, no
defined per line. versions, it was defined in the GL account value will appear
header area. override the for the GL
accounts in the account in the
rows. The GL header.
account value Therefore, add-
should be read ons that read this
from the rows. value from the
header may
encounter a
problem.
Change in the Location in SAP Business One: Form number Payment Engines Related Internal
VAT Report Reports > Financial > Accounting > was changed & elster. Message 951010.
Filter form type. Tax > TaxReport. from 19 to 60300.

Change in the Location in SAP Business One: Form number Related Internal
Phone Book HR > HR Reports > Phone Book. was changed Message 1566708.
form type. UID was changed from 60105 to from 60105 to
10060105. 10060105.

Check Number If an add-on uses


in the OCHO this field before it
object is not was printed and
offered in expects to get a
creation as it value from the
used to be. SAP Check Number
Business One field, the add-on
offers it only fails.
when the check
is being printed.
File system. Shared Directory on the SAP Add-ons that It is recommended
Business One server has changed accessed the to use a
its name from SBO_SHR to SAP shared directory configurable
Business One_SHR. on the SAP parameter for the
Business One folder name to avoid
server have to possible future
change their changes.
code to adjust to
a new name.
Topic Description Additional Info Impact Remarks
Change in the In previous releases, when the user Add-ons that use 1. After attaching
behavior of the used the attachment object the to add same file the first file it is
Old Attachment attachment object did not copy the to different copied to the
object. attachment itself it just saved the objects or in attachment folder.
path of the attachment. In the new same object with In order to attach
implementation the attachment different records, the same file again
object not just copy the path also will get an error give the source file
copy the file itself this is the reason message "file from the attachment
the user will not be able to override already exists". directory.
the file and he will get an error in This will add only
case the he will try to copy file with the path to the DB
the same name. and will not copy the
file.
2. Do not add files
with the same
name.
3. In case you want
to attach same file
name to 2nd object
you can backup up
the original file,
delete it from the
attachment directory
and give the backup
file as attachment to
the 2nd object. This
will copy the file to
the folder with no
error message and
both objects will be
related to that file
(this option is not
recommended
because it may
cause to old
attachments to be
linked to wrong
files.)
DI API
Topic Description Additional Info Impact Remarks
Default Default User OBSCommon will Add-ons that considered Add-ons should Relevant
User not be used anymore due to the default password for provide a DB user properties:
OBSComm security requirements. "sa" user will have a and password to DbUserName
on problem to connect to the connect the DB.
DbPassword
removed. DI API. Vcmp.DbUserNam
DbServerType
e = "sa"
UseTrusted
Vcmp.DbPasswor
d = ""
Attachment Adding an attachment through In pervious versions, the Need to define the The behavior is
s object the DI fails when no attachment action did not return an path in SAP consistent with the
with no path is defined in SAP Business error, the file was not Business One form SAP Business One
path One (in the General Settings copied. type or through a application.
defined. form) In previous versions, this new object in the DI
was not verified when you API.
added the attachment through
the DI API.
DB queries Several tables in the Company Review the complete list Code must be Many DB tables are
via database have changed. As a of DB changes for 2005. changed and now exposed in DI
Recodset. result, SQL queries might fail or adjusted to the new API. It is
return wrong data. DB structure. recommended to
use the new
interfaces in DI API
to avoid future
incompatibilities
due to DB changes.
JournalEntr When adding a JE for a BP the The BP still has a default Add-ons in which a possible solution:
ies_Lines AccountCode property value control account. JE was added with place no value in
Object. was replaced with the default When leaving this a wrong\corrupted the AccountCode
control account of the BP, property empty it would account in the property, or insert a
starting 2005, a BP can have be populated during the AccountCode valid control
more then one control account, AutoComplete. would result with account.
hence, the AccountCode would failure to add this
be validated against the list of JE.
the BP's control accounts.
Documents Property was changed from The property should not Add-ons that use Code that writes to
Object, read/write to read only. In DI have been exposed at all. this property (read the property should
Property API will throw an exception (not This is an internal or write to it) will be removed to
WareHous implemented) when trying to attribute. Changing the continue to compile avoid runtime
eUpdateTy write to it. In DI Server it was value of the property with no errors. errors.
pe. removed from the schema files causes a serious bug in Exception will raise
so it will give an error when the journal entries. only in runtime
used with Add or Update. when trying to write
to the property.

UI API
Topic Description Additional Info Impact Object/Method
Topic Description Additional Info Impact Object/Method

New exception is Changing the string of Changing root MenuItem.String


thrown when you system root menu (File, menu string did not
change SAP Edit, View) is not allowed. work properly in
Business One root An exception is thrown. previous releases.
menu string.
New exception is Grouping item that does not Exception on this OptionBtn.Folder/
thrown if you tries exist will throw exception. operation. Groupwith
to group with item
that does not exist.
New exception is Grouping items that are not Exception on this OptionBtn/Folder.
thrown when you from the same type is not operation. ValOn/ValOff
tries to Group items allowed.
that are not from An exception is thrown
the same type.
New exception is 1. You cannot set the valOn Exception on this OptionBtn/Folder
thrown when you value to be equals to valOff operation. checkbox/ValOn/
tries to miss use value and vice versa. ValOff
the setting of 2. If the item is grouped,
valOn/ValOf. you cannot set valOn value
to be equals to one of the
values in the Group.
Add before event to In this event, SAP Business In previous 1. Check all place in the Application.Item
close event. Ignore One will throw also before versions only 'after' code on which close event.et_FORM_
the bubble event event and not only after event was sent and event were used and CLOSE
setting in the after event. Due to the fact the the bubble flag was verify that behavior is
event. SAP Business One now is used. From 2005 kept.
sending before event the version SAP 2. Check that this event
bubble event setting in the Business One will handled only once (not
after event will be ignore ignore the bubble twice for the before and
and the user will need to flag in after event. after).
set the bubble setting like in SAP Business One
the other type of event in will send before
the before. event as well as
after event and will
use the bubble flag
only in before
event.
add before event to In this event SAP Business In previous 1. check all place in the Application.et_VA
validate event. One will throw also before versions only 'after' code on which close LIDATE
Ignore the bubble event and not only after event was sent and event were used and
event setting in the event. Due to the fact the the bubble flag was verify that behavior is
after event. SAP Business One now is used. From 2005 kept
sending before event the version SAP 2. check that this event
bubble event setting in the Business One will handled only once (not
after event will be ignore ignore the bubble twice for the before and
and the user will need to flag in after event. after).
set the bubble setting like in SAP Business One
the other type of event in will send before
the before. event as well as
after event and will
use the bubble flag
only in before
event.
Topic Description Additional Info Impact Object/Method

add before event to In this event SAP Business In previous 1. check all place in the Application.et_F
load event. Ignore One will throw also before versions only 'after' code on which load ORM_LOAD
the bubble event event and not only after event was sent and event were used and
setting in the after event. Due to the fact the the bubble flag was verify that behavior is
event. SAP Business One now is used. From 2005 kept
sending before event the version SAP 2. check that this event
bubble event setting in the Business One will handled only once (not
after event will be ignore ignore the bubble twice for the before and
and the user will need to flag in after event. after).
set the bubble setting like in SAP Business One
the other type of event in will send before
the before. event as well as
after event and will
use the bubble flag
only in before
event.
The before event of After adding 'before' to the Add-ons that used Add-ons that would like Application.et_F
the Unload event close event, the the bubble event to to prevent closer of a ORM_UNLOAD
will ignore the architecture was changed prevent closer of form will need to catch
bubble flag. so that the unload event is the form in the the 'before' of the close
less relevant and the unload event will event and set the
'before' of the unload event notice that this form bubble flag false.
is triggered to late to will be closed even
prevent the closer. if the bubble flag
The order of the events is was set to false.
as follows: close 'before' >
close 'after > unload
'before' > unload 'after'.
Matrix is cleared In previous versions, User Add-ons that have Add-ons need to take
when changing OK Matrixes on user forms a matrix without a into account the fact
mode to Add. were cleared when the column of type that the matrix will be
mode was changed from linked button that cleared on changing
Ok to Add except from the rely on the fact that the mode to 'Add'.
case where the matrix did when the form If the Add-on needs the
not have column of type mode is changed data it should:
linked button. from OK to ADD
1. First change the
From version 2005, In all The data of the
mode and then fill the
cases of matrix on user matrix remains may
matrix.
form, the matrix will be have a problem
when the data will 2. In case the End user
cleared when the mode is
be cleared. switches the mode, you
changed from 'Ok' to 'Add'.
need to catch the Menu
(including the case of User event of The ^F and.
Matrix on user form that
does not have column of
type linked button).
Note:
Clearing a matrix when
changing mode to Add is
the standard behavior of
SAP Business One.
UDO
Topic Short Description Impact/problem Possible solution Object/Method
for Add-on
Implementation The function Clone returns Implementatio dll Update the return value
Dll – return value CSboBusinessObjectBase* should be updated. of Clone function in
of Clone function instead of your dll and recompile.
has changed. CSboBusinessObject*.
Two header files were
updated.

Important Notes
• Partners upgrading to 2005 A from versions prior to 2004 A should read Known Incompatibility for 2004 A.
Issues such as menu changes, new exceptions and so on must be addressed when upgrading from 6.5 or other
versions prior to 2004 A.
• Add-ons that use (for un-exposed objects) the Record Set for example, and were dependant on the DB
structure can face compatibility problems in case of DB structure change.
For changes in the database, refer to the Database Reference Guide in the SDK Help Center.

Vous aimerez peut-être aussi