Article ID: 116945, created on Aug 27, 2013, last review on Sep 15, 2015

  • Applies to:
  • Business Automation 5.5
  • Business Automation 5.4

Symptoms

Due to changes in PBA 5.5 Plugin SDK, custom plugins should be changed prior to rebuilding.

Cause

Due to stability and quality enhancements made in the internal structure of PBA 5.5, Domain Plugin SDK has changed compared to the previous version. These changes require custom plugins to be altered accordingly before rebuilding with the new SDK.

Resolution

The following changes to customer plugins should be implemented before compiling:

1. The following files, which were included in the generated example template in the previous versions of the SDK, are not used anymore (and do not get generated during compilation), therefore they have to be removed from the plugin code to avoid compilation errors:

autoconsts.h

internals.h

2. In case any custom types were added into .type file, they should be checked for multiple constants with the same value within a single LISA type. Such types should not be used, so it is necessary to make sure that within each LISA type there is not more than one constant with the same value (however, the textual representation can still be the same).

3. All LISA classes used in each .cpp file MUST be included explicitly at the top of that .cpp file using the following instruction:

#include <internals/<LISA_CLASS_NAME>.hpp>

4. For checkID and getEntry functions, one of the two values - either ORDBMS::READ_ONLY or ORDBMS::FOR_UPDATE - should be explicitly passed as the last parameter (access mode).

5. Functions of the std::string class are not accessible from objects of the Str class anymore and should be replaced by their equivalents. For example, str.empty must be replaced by str.IsEmpty. For the full list of functions exposed by the Str class you can refer to atypes.h usually located in /usr/local/stellart/include/stlrt/.

6. Functions _EnumID2LocaleID_<CONTAINER NAME>_ and _enum_to_string_ are not used (and not generated) anymore. They should be replaced with the calls of "translate" function of a respective LISA type class in the source code:

::translate(value);

For example, enum_to_string(dom.Status.value(), AC_DOMAIN_STATUS) will become AC_DOMAIN_STATUS::translate(dom.Status.value())

7. The following files included as a part of the generated plugin template were changed in the new SDK: abstractbodies.cc, PLUGINBASE.lsa and PLUGINBASE.type. Therefore the old versions of these files should be replaced by the new versions provided with the SDK.

8. For ECommerce plugins Decrypt privilege has been removed in scope of internal request PBA-45902 (as the privilege was not actually used). If you had the privilege - remove it from the source code of the plugin.

Please note that starting from BA 5.5 validation of the plugin customization .xml files is being performed when ~/bm/tools/configure.pl is executed.

Search Words

PBA 5.5 SDK

Domain Plugin

recompile custom plugin

SDK

update plugin sdk 5.5

build

Plugin SDK

Domain Plugin SDK

enum_to_string

PBA 5.5 Plugin SDK

801221f8cd76fba7300d1e6817c8e08b caea8340e2d186a540518d08602aa065 198398b282069eaf2d94a6af87dcb3ff 92711db0799e8aefe8e51f12dace0496 210d017ddc3a076d22f0f865b1cf0730 e12cea1d47a3125d335d68e6d4e15e07

Email subscription for changes to this article
Save as PDF