ERP/2.50/API changes

From InfiniteERP Wiki
Revision as of 08:11, 16 December 2021 by Wikiadmin (talk | contribs) (Created page with "== Openbravo ERP 2.50 - Core API changes == This document explains all changes happened in the public API of core module within 2.50 release. These changes are a potential ri...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Openbravo ERP 2.50 - Core API changes

This document explains all changes happened in the public API of core module within 2.50 release. These changes are a potential risk of module breakage so all of them have been reviewed and explicitily approved. Every time a new change happen it will be included in this list and communicated as an alert through openbravo-development mailing list and Developers forum.

PI

MP51

No API Changes.

MP50

No API Changes.

MP49

No API changes.

MP47

No API changes.

MP46

No API changes.

MP45

No API changes.

MP44.1

No API changes.

MP44

No API changes.

MP43.1

No API changes.

MP43

No API changes.

MP42

No API changes.

MP41

No API changes.

MP40

ID Module Type Description Risk Comments
MP40.1 Core Columns definition modified In S_TIMEEXPENSE table, column PROCESSED will change from VARCHAR 60 to CHAR 1 and column PROCESSING will change from CHAR 1 to VARCHAR 60.. Low See 19881

MP39

No API changes.

MP38.1

No API changes.

MP38

ID Module Type Description Risk Comments
MP38.1 Core Column definition modified The length of EMAILUSER column of the AD_USER table has been changed from 20 to 40. Low See 19397

MP37.1

No API changes.

MP37

No API changes.

MP36

ID Type Description Risk Comments
36.1 Column definition modified Email server username field in User window gets its length increased from 20 to 40. Low See 18911

MP35

ID Type Description Risk Comments
35.1 Modified column type The column social name form table AD_ORG has been changed from VARCHAR to NVARCHAR. None See 18793

MP34

No API changes.

MP33

ID Type Description Risk Comments
33.1 Modified table constraints Removed foreign keys in table I_ORDER to C_BPARTNER and M_PRODUCT tables. None See 18099

MP32

No API changes.

MP31

ID Type Description Risk Comments
31.2 Column definition modified Column CALCOST in tables MA_SEQUENCE_EMPLOYEE,MA_SEQUENCE_IC and MA_SEQUENCE_MACHINE has changed from numeric(10,0) to numeric. Low See 17532
31.1 Modified table constraints Added on delete rule "cascade" for foreign key constraints for table: FIN_RecLine_Temp. None See 17422

MP30

No API changes.

MP29

No API changes.

MP28

No API changes.

MP27

ID Type Description Risk Comments
27.1 Modified column size and added two checks for isactive columns Column size changed from 255 to 200: column: FIN_MATCHING_ALGORITHM.DESCRIPTION

FIN_PAYMENT_ISACTIVE_CHECK and FIN_TRANS_ISACTIVE_CHECK check constraint.

Low See 15829
27.2 Modified column size The column AD_CREATEFACT_TEMPLATE.CLASSNAME increases its length from 60 to 1000 characters. Low See 15835


27.3 Modified column type The column AD_PROCESS_REQUEST.OB_CONTEXT has been modified from VARCHAR(4000) to CLOB. Low See 0015988

MP26

ID Type Description Risk Comments
26.1 Modified column data type Column type change from VARCHAR to CLOB: column:AD_PROCESS_RUN.LOG Low See 15770

MP25

ID Type Description Risk Comments
25.1 Constraints added. Constraints have been added for both MA_SEQUENCEPRODUCT and MA_WRPHASEPRODUCT tables. Medium This API change was introduced while fixing issue 15139
25.2 Constraint added. Unique constraint has been added in FIN_FINACC_TRANSACTION table. Low This API change was introduced while fixing issue 15400

MP24

ID Type Description Risk Comments
24.1 Validation rule removed. Validation rule for payment method in payment method tab under financial account window has been removed as it's not needed. Low This API change was introduced while fixing issue 14758

MP23

ID Type Description Risk Comments
23.1 OnDelete=Cascade is added to the foreign key As it is agreed that when deleting the Business Partner having the contact, it should be deleted without any error. None This API change was introduced while fixing issue 12078
23.2 Changed methods exceptions

Removed items from public enum

  • method org.openbravo.erpCommon.utility.HttpsUtils.getHttpsConn now throws IOException instead of SSLHandshakeException
  • org.openbravo.erpCommon.utility.SystemInfo.Item public enum, removed items: ACTIVITY_RATE, COMPLEXITY_RATE
None This API change was introduced by merge of heartbeat improvements project.

MP22

ID Type Description Risk Comments
22.1 OnDelete=Cascade is removed from the foreign key As it is agreed that when deleting the Organization which has child Organization,then a error message should be shown. None This API change was introduced while fixing issue 14229

MP21

ID Type Description Risk Comments
21.2 Added unique constraint to AD_Module.JavaPackage column. Module javapacakges are now unique, a build validation checks there is no duplicated javapackages before updating database, if this is the case user is forced to fix it before continuing. Low Check Issue 14162
21.1 Added unique constraint to FIN_FINACC_PAYMENTMETHOD table

Modified the name of a message.

In addition to create this unique constraint a unique-index with exactly the same definition was removed. The message name will match with the name of the unique constraint. None Check Issue 14045

MP20

ID Type Description Risk Comments
20.3 HAVING clause modified As it is agreed that sales orders net amount could be 0, l.priceactual is removed from both the conditions of HAVING clause in order to display them in 'Create Invoices from Orders' form Low This API change was introduced while fixing issue 13869
20.2 Missing Java Method constructor org.openbravo.services.webservice.Module(java.lang.String, java.lang.String, org.openbravo.services.webservice.ModuleDependency[], java.lang.String, java.lang.String, org.openbravo.services.webservice.ModuleDependency[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean): missing in /var/www/localhost/htdocs/japi/pi/416

constructor org.openbravo.services.webservice.SimpleModule(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean): missing in /var/www/localhost/htdocs/japi/pi/416 method org.openbravo.services.webservice.Module.getIsCommercial(): missing in /var/www/localhost/htdocs/japi/pi/416 method org.openbravo.services.webservice.Module.setIsCommercial(java.lang.Boolean): missing in /var/www/localhost/htdocs/japi/pi/416 method org.openbravo.services.webservice.SimpleModule.getIsCommercial(): missing in /var/www/localhost/htdocs/japi/pi/416 method org.openbravo.services.webservice.SimpleModule.setIsCommercial(java.lang.Boolean): missing in /var/www/localhost/htdocs/japi/pi/416

Low Changed generated classes based on a WSDL definition Issue 13935
20.1 Change column datatype AD_System.Activation_Key changed from VARCHAR(4000) to CLOB Low This API change was introduced while fixing issue 13894

MP19

ID Type Description Risk Comments
19.5 Changes related to new Advanced Payables and Receivables
  • New constraint on existing IsActive column of FIN_PaymentMethod table.
  • New unique index on FIN_FinAcc_PaymentMethod table for FIN_FinancialAccout_ID and FIN_PaymentMethod_ID columns.
  • Removed AD_Ref_List_ID, changed the value of another one.
  • Removed methods on DocFINFinAccTransaction, DocFINPayment and DocFINReconciliation accounting classes
Low
19.4 Class method modified Function org.openbravo.erpCommon.ad_forms.DocMatchInv.loadLines has changed it's attributes from (ConnectionProvider conn) to (ConnectionProvider conn, String strCInvoiceLineId) Low In order to fix issue 13552, this function (which content was formerly just return null, so it is useless) is provided logic. For that is needed the new parameter.
19.3 Removed AD_Model_Object and AD_Model_Object_Mapping Those are unused records, have no class definition None Check issue 12690
19.2 Class attribute removed Class log4j attribute defined, that hides the one inherited in the servlet for Initial Client Setup Low This API change was introduced while implementing Initial Client Setup Refactor
19.1 Class method removed The method getRemoteModule of class ModuleUtiltiy has been removed. It was already deprecated, and its logic was already broken, so there was no point in leaving it there, and its removal improved maintainability of the compilation of ApplyModule Low

MP18

ID Type Description Risk Comments
18.3 Change column datatype AD_Preference.Value changed from NVARCHAR(60) to CLOB Low This API change was introduced while implementing Enhanced Preferences project
18.2 Payment ID and G/L Item ID should not allow to select at same time in Bank Statement Line is fixed through C_BANKSTATLN_PA_GLITEM_ID_CHK constraint C_BANKSTATLN_PA_GLITEM_ID_CHK will make sure bank statement line should not have g/l item id when payment has chosen and vice verse. So the application should not allow that you select a debt payment and g/l item at same time. Medium This API change was introduced while fixing

issue 12929, and a build validation was included to check that user should not have g/l item id when payment id is not null.

18.1 SIZE attribute removed RATE column of C_WITHHOLDING table is modified in order to accept decimal values Low This API change was introduced while fixing issue

12339

MP17

ID Type Description Risk Comments
17.3. Changes related to new Advanced Payables and Receivables On MP12 was included the database structure of the new Advanced Payables and Receivables at the beginning of the development. No windows were added at that time so nobody has been able to use these tables. This was a big mistake, as on MP17 the development has been merged to pi generating several api-changes. Risk is low as no other core functionality depends on these artifacts.

List of changes:

  • Table FIN_FINACC_TRANSACTION, new mandatory columns: LINE
  • Table FIN_FINACC_TRANSACTION, changed columns: POSTED from CHAR(1) to VARCHAR(60) STATUS from NVARCHAR(40) to VARCHAR(60)
  • Table FIN_PAYMENT, removed columns: PROCESS_PAYMENT, RECONCILE_PAYMENT
  • Table FIN_PAYMENT, changed columns: POSTED from CHAR(1) to VARCHAR(60), WRITEOFFAMT name changed in AD.
  • Table FIN_PAYMENTMETHOD, removed columns: C_CURRENCY_ID, PAYMENTRULE
  • Table FIN_PAYMENT_DETAIL, removed columns: FIN_PAYMENT_SCHEDULE_ID
  • Table FIN_PAYMENT_PROPOSAL, new mandatory columns: C_DOCTYPE_ID
  • Table FIN_PAYMENT_PROPOSAL, removed columns: ADD_SCHEDULED_PAYMENTS
  • Table FIN_PAYMENT_PROPOSAL, changed columns: STATUS length changed.
  • Table FIN_PAYMENT_PROP_DETAIL, new mandatory columns: FIN_PAYMENT_SCHEDULEDETAIL_ID
  • Table FIN_PAYMENT_PROP_DETAIL, removed columns, FIN_PAYMENT_SCHEDULE_ID, FIN_PAYMENT_DETAIL_ID, REFUND
  • Table FIN_FINANCIAL_ACCOUNT, new check constrain for Default column
  • Table FIN_RECONCILIATION, changed columns: POSTED from CHAR(1) to VARCHAR(60)
  • View FIN_PAYMENT_PROP_DETAIL_V, changed columns: WRITEOFFAMT name changed in AD.
  • Removed view FIN_PAYMENT_SCHEDULE_V
  • Removed reference FIN_ActionDocument
  • Removed functions: FIN_GEN_PAYMENTSCHEDULE_INV, FIN_GEN_PAYMENTSCHEDULE_ORD
  • Removed Extension Point procedures: FIN_GEN_PAYMENTSCHEDULE_INV, FIN_GEN_PAYMENTSCHEDULE_ORD
  • Removed element: "Write-off Amount"(7891269C83EB655DE040007F010155CE) redundant.
  • Values removed from FIN_Payment Status reference list {Unpaid, Deposited, Received}
Low This changes belong to a new functionality build in a module that has not yet been delivered.

Issue 12882

Issue 12957

Issue 12976

Issue 13000

17.2 AD_Org_Id field removed in C_BP_VENDOR_ACCT_ACCTSCHEMA_UN constraint The AD_Org_Id field is no more part of the C_BP_VENDOR_ACCT_ACCTSCHEMA_UN unique constraint, as it shouldn't exist any record for different organizations with same status and accounting schema, for the same vendor. Low This API change was introduced while fixing

issue 12589, and a build validation was included to check that user do not have any row that fits old constraint, but not new one.

17.1 Added methods to Primitive Domain Type interface The PrimitiveDomainType interface has been extended with methods for getting the Hibernate type (the type used in the hibernate mapping) and for xml conversion. For information on DomainType see the this developers guide section. By adding these methods to the PrimitiveDomainType it is now possible to implement custom xml conversion and Hibernate type handling for modules. Medium The BasePrimitiveDomainType class implements the new methods also, implementors of the PrimitiveDomainType interface should preferably extend this class.

Issue 12876

MP14

ID Type Description Risk Comments


14.1 Removed auxiliary input Removed auxiliary input None Removed auxiliary input not needed anymore.

Issue 12643

MP13

No API changes.

MP12

ID Type Description Risk Comments
12.3 New check constraints M_ATTRIBUTESET_ISATSETVAL_CHK and M_PRODUCT_ATSETVALTYPE_CHK New check constraints M_ATTRIBUTESET_ISATSETVAL_CHK and M_PRODUCT_ATSETVALTYPE_CHK Low
  1. New column ISONEATTRSETVALREQUIRED for table M_ATTRIBUTESET with new check constraint M_ATTRIBUTESET_ISATSETVAL_CHK: ISONEATTRSETVALREQUIRED is a new column in M_ATTRIBUTESET table and M_ATTRIBUTESET_ISATSETVAL_CHK is a new check constraint that only affects this column: risk zero.
  2. New column ATTRSETVALUETYPE for table M_PRODUCT with new check constraint M_PRODUCT_ATSETVALTYPE_CHK: ATTRSETVALUETYPE is a new column in M_PRODUCT table and M_PRODUCT_ATSETVALTYPE_CHK is a new check constraint that affects both this column and an existing one (M_ATTRIBUTESETINSTANCE_ID): risk low. The risk is low since an onCreateDefault value has been added in order that the check constraint is complied.

Issue 12223

12.2 Datasets ADCS and DS removed Datasets ADCS and DS removed Low Removed these two datasets as they were redundant and are no longer used by dbsourcemanager

Issue 12224

12.1 Removed message Removed message None Removed message that is not longer needed.

Issue 12234

MP11

ID Type Description Risk Comments
11.1 Removed process ChangeAudit process removed from AD None There's a Servlet that is called to change the audit status (show/not show) for a tab. This Servlet was defined as a process in AD, which means that to be able to operate it, it was necessary to explicitly grant access to the process. The solution for the bug consisted in removing it from processes in AD (which makes the API change) and creating it as a simple mapping.

Issue 11950

MP10

ID Type Description Risk Comments
10.1 Modularity rules adjustments Modularity rules adjustments Low Here is a complete explanation of the changes. There are 2 API changes:
  • Messages for core constraints. If a module used one of the default constraint messages for core, the message must be recreated in the module.
  • ComboTableData. If this class is instantiated using the reference's name to obtain the reference value it is necessary to change it to ID in case the reference is in the module.


MP9

ID Type Description Risk Comments
9.4 Changed Java type for reference Number Changed Java type for reference Number Very High There has been a critical change in Openbravo 2.50 public API to be released in MP9 (November 30th, 2009). DAL implementation of columns referenced as Number in the Aplication Dictionary are mapped now to BigDecimal intead of Float. Getters and Setters for those columns are no longer using Float data type but BigDecimal. For more information, clic on this

link

9.3 Removed public methods Removed public methods getModule() and setModule(String module) from class ExportDatabase Low The ExportDatabase had non-working methods to specify the Module you wanted to export. They never worked and caused confusion, so they have been removed. This shouldn't affect users that use the export.database task in a normal way, that is, by calling the ant task. The only way to get a problem is to directly instantiate the Task class as a Java class, something that should never be done.

[1]

9.2 Modified unique constraint Modified C_PERIOD_UNIQUE_PERIOD unique constraint in C_Period table Low The C_PERIOD_UNIQUE_PERIOD unique constraint failed when a client created two calendars with the same start and end period days. Take into account that it is a very strange scenario in 2.50, because different organizations can share the same fiscal calendar, so there is no need to create to exact calendars.

In case your database is affected, the upgrade process will show an error when trying to set the C_PERIOD_UNIQUE_PERIOD constraint. Take into account that all your data will be kept and the upgrade process will not be stopped by this error.

The Duplicated Period Alert module can be used to detect duplicated periods before upgrading the system.

Issue 11418

9.1 Added DB Unique constraint Added Unique constraint for MA_PROCESSPLAN.VALUE column Low Added a missing unique constraint to the column "Value".

Issue 11335

MP8

ID Type Description Risk Comments
8.3 Changed width of a column in database DocBaseType column in table Fact_Acct has changed its width from 3 to 40 characters. This way, modules will be able to create new DocBaseType elements, including the db prefix of the module. Medium 10939 issue raised because of this change introduced in the fix of the 10707 issue.
8.2 Missing java method org.openbravo.erpCommon.obps.ActivationKey.getSubscribedModules(boolean)

org.openbravo.erpCommon.obps.ActivationKey.isModuleSubscribed(java.lang.String, boolean)

Low These two methods have been modified to keep the commercial modules status.

Issue 10898

8.1 Change column datatype Fact_Acct.DocBaseType length change from CHAR(3) to NVARCHAR(40) Low The accounting process uses this column to store Document base types. Those have just three characters but when adding new ones from a module the DB prefix is mandatory so 3 characters are not enough.

Issue 10772

MP7

No API changes.

MP6

ID Type Description Risk Comments
6.4 Missing java method constructor org.openbravo.services.webservice.Module(java.lang.String, java.lang.String, org.openbravo.services.webservice.ModuleDependency[], java.lang.String, java.lang.String, org.openbravo.services.webservice.ModuleDependency[], java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String): missing

constructor org.openbravo.services.webservice.ModuleDependency(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String): missing constructor org.openbravo.services.webservice.SimpleModule(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String): missing method org.openbravo.services.webservice.ModuleDependency.getModuleVersionID(): missing method org.openbravo.services.webservice.ModuleDependency.setModuleVersionID(java.lang.String): missing

Low Changed generated classes based on a WSDL definition Issue 10704
6.3 Added DB check constraint Added check constraint ('Y', 'N') for AD_Module.IsCommercial column None Added the missing constraint to ensure a boolean value Issue 0010546
6.2 Change column datatype AD_Heartbeat_Log.OS_Version length change from VARCHAR(20) to VARCHAR(100) Low The Heartbeat process cannot be enable in the virtual appliance because the OS version reported is too long. Usually a linux version reports something like 2.6.30-gentoo-r5, but the virtual appliance OS version is reporting 2.6.29.6-0.6.smp.gcc4.1.x86.i686, that is too long for storing it on a varchar(20) column. More information in the Issue 10603
6.1 Unique constraint added on C_Period table Added constraint for avoiding duplicated periods Low The C_PERIOD_UNIQUE_PERIOD unique constraint has been added to the C_Period table to control the duplication of accounting periods for the same client. This API break is due to the fix of the bug.

This change must just affect users who have duplicated periods in their database. In this case the upgrade process will show an error when trying to set the C_PERIOD_UNIQUE_PERIOD constraint. Take into account that all your data will be kept and the upgrade process will not be stopped by this error.

The Duplicated Period Alert module can be used in order to help the user to determinate whether he already has duplicated periods before upgrading the system.

MP5

No API changes.

MP4

ID Type Description Risk Comments


4.3 Unique constraint added on c_elementvalue table Missing unique constraint on c_elementvalue table High

The Unique constraint of VALUE and C_ELEMENT_ID was removed from C_ELEMENTVALUE.xml file by accidently while committing the new feature implementation of Defining the new sub-account per Business Partner and Product. we realized that this involuntary change happened, So It chances to have the duplicate records in the table of C_ELEMENTVALUE because there is no unique constraint between VALUE and C_ELEMENT_ID Column. The constraint removal was included in mp3 and constraint re-activation will be included in mp4

Actions taken:

  • Added the constraint again for these two columns Due to the issue 10246 for missing unique constraint on C_ELEMENTVALUE table. This was commited into PI only. After that API issue was also identified and fixed Due to the issue 10313 to make the same code changes in the API repository.
  • The below is the SQL Snippets to know whether duplicates are exists in the database. If exists user must change in the application for the value of those elements.

  • SELECT COUNT(*),VALUE,C_ELEMENT_ID FROM C_ELEMENTVALUE GROUP BY VALUE,C_ELEMENT_ID HAVING COUNT(*)>1;

  • In case a duplicated elementvalue has been added, update process will run correctly, but it will show the Error like "could not create unique index c_elementvalue_value. Detail: Table contains duplicated values." and will not activate the constraint. If this is the case, user must change value of duplicated elementvalues, and run manually an update.database ant task

4.2 A column changes from nullable to not-nullable C_ACCTSCHEMA_DEFAULT.CB_CASHTRANSFER_ACCT turns to not nullable column, and it's field to mandatory. High

This column was not nullable in 2.40, and some moment during 2.50 development, it turned to nullable. Due to the issue 10073, we realized that this involuntary change happened, and turned it again to not nullable.

This raises an issue, because this value corresponds to a default account in the accounting schema. Until now, an initial client/org setup could be done in 2.50 with a chart of accounts without this default value. In this case, in order to perform a successful update of core with this change, some value must be set in that column. Here there is no way of doing an automatic functionally valid action. User must choose the account suitable of being the default CB_CASHTRANSFER_ACCT.

Actions taken:

  • A couple of SQL snippets are provided, for users to check if problem will affect them or not.
  • When updating core, the value for CB_CASHTRANSFER_ACCT column will be set to the same account that the one existing in CB_ASSET_ACCT column. This will be done only if there is a null in CB_CASHTRANSFER_ACCT column.
  • To alert the user about this change, a note is added to the release notes.

SQL snippets:
To check if some of the accounting schemes will suffer this issue:

SELECT CASE WHEN (SUM(A)>0) THEN 'DEFAULT NOT PRESENT!!' 
ELSE 'EVERYTHING IS OK!!' END AS A
FROM (SELECT CASE WHEN (CB_CASHTRANSFER_ACCT IS NULL) THEN 1 ELSE 0 END AS A
  FROM C_ACCTSCHEMA_DEFAULT) SQL;

To locate those accounting schemes:

SELECT S.NAME FROM C_ACCTSCHEMA S, C_ACCTSCHEMA_DEFAULT D
WHERE S.C_ACCTSCHEMA_ID = D.C_ACCTSCHEMA_ID
AND D.CB_CASHTRANSFER_ACCT IS NULL;

Action that will be done authomatically when updating, only for accountins schemas where CB_CASHTRANSFER_ACCT column is null:

UPDATE C_ACCTSCHEMA_DEFAULT SET CB_CASHTRANSFER_ACCT=CB_ASSET_ACCT
WHERE CB_CASHTRANSFER_ACCT IS NULL;

4.1 Changed datatype for PL-function parameter The datatype of the parameter p_referencevalue_id of the PL-function AD_DISPLAY_LIST has been changed from NUMERIC to VARCHAR None This change was mandatory to fix Issue 6713 . The content of this parameter is an id value which is an UUID in the 2.50 release, and without this change the function did not work with non-numeric only values for this parameters. Additionally without this change the function did not work even with numeric values on postgresql 8.3 because of the datatype mismatch. More info can be found in Issue 10008 .

MP3

ID Type Description Risk Comments
3.3 Changed columns definition After this change, the amount columns of the C_TAXREGISTER and C_TAXREGISTERLINE tables have no length limitation and accept decimals Low This change was mandatory to fix Issue 9823 and it does not affect previous installations since the conversion from integer to decimal is automatic. Just take into account that this change can affect your Java developments if you're expecting to get an Integer from these database columns.
3.2 Added standard check constraint for the column IsActive that was missing Check Constraint addition: table: AD_ORG_ACCTSCHEMA - Constraint: ADORGACCTSCH_ISACTIVE_CHECK None This change shouldn't affect any module since this field is a check box that should just have the values 'Y' or 'N'. More information in the Issue 9856
3.1 Changed field from instance to static org.openbravo.base.HttpBaseServlet.strDireccion field has been changed from instance field to static-. None This change shouldn't affect any module since this field can be accessed in the same way it was done before the changeset. More information in the Issue 9846

MP2

ID Type Description Risk Comments
2.12 Changed method return type method org.openbravo.model.ad.utility.AD_Attachment.getBindaryData(): type java.lang.Object instead of type byte[]

method org.openbravo.model.ad.utility.Image.getBindaryData(): type java.lang.Object instead of type byte[]

High In 2..50 and 2.50mp1, BLOB column data types were not supported by DAL. For this reason, in the generated classes this kind of columns were mapped to a generic "Object" property. Now, DAL supports BLOBs, and thus they are mapped to byte[] properties. Currently, there are only two tables with BLOB columns in the Openbravo database (AD_Attachment and AD_Image). However, if a module adds BLOB columns, caution should be taken when using the corresponding DAL-generated class.
2.11 Added abstract methods method org.openbravo.erpCommon.utility.GenericTree.getNodePosition(java.lang.String): new abstract method in 31

method org.openbravo.erpCommon.utility.GenericTree.getParent(java.lang.String): new abstract method in 31 method org.openbravo.erpCommon.utility.GenericTree.isLastLevelNode(java.lang.String): new abstract method in 31

Low These 3 methods were private in GenericTree class and they were specific for ModuleTree class. They are now abstract in order to allow trees for other elements than modules, therefore subclasses extending GenericTree must implement these methods.
2.10 Change column datatype AD_Process_Request.OB_Context length change from VARCHAR(1000) to VARCHAR(4000) Low The OB_Context columns holds a json serialized version of the user context. Increased length to hold several organizations on the 'accessible organization tree'. More information in the Issue 8917
2.9 Change Number of Arguments in Java Function Some sql statements in ReportDebtPayment_data.xsql changed it's number of parameters. Low Needed to allow the new group by option in the report
2.8 Change Number of Arguments in Java Function Some sql statements in ReportGeneralLedger_data.xsql changed it's number of parameters. Low Needed new parameters to make the report work with a big amount of entries in FACT_ACCT table.
2.7 Change reference (dataType) in AD_Column Reference (datatype) of record in AD_Column for AD_HeartBeat_Log.code_revision column from numeric to String Low In the database this column is a varchar. This change is to align the definition in the Application Dictionary with the physical database schema.
2.6 Change column datatype AD_System_Info.testproxy changed from CHAR(1) to VARCHAR(60) Low Is a button in the application. Was changed to handle different labels on it.
2.5 Message value changed Changed column value AD_MESSAGE.VALUE -ID:1005500012 from [-20270] to [20270] None Previous value was not working
2.4 Message value changed Changed column value AD_MESSAGE.VALUE -ID:1005500008 from [-20259] to [20259] None Previous value was not working
2.3 Message value changed Changed column value AD_MESSAGE.VALUE -ID:1005500007 from [-20260] to [20260] None Previous value was not working
2.2 Change column length AD_HeartBeat_Log.Proxy_Server column length changes from 20 to 100 Low Search for small pl/sql variables reading that column
2.1 Change column length AD_System_Info.Proxy_Server column length changes from 20 to 100 Low Search for small pl/sql variables reading that column

MP1

ID Type Description Risk Comments
1.8 AD process removed AD process (ID = 800193) has been removed from the application dictionary None This process (report in fact) was not implemented so it is not likely your module is using it
1.7 Column missing C_INVOICE_CANDIDATE_V.totallines column has been removed High This view has been completely refactored. If you are using this view in your module you need to refactor your module as well
1.6 Change column datatype I_Order.PaymentRule1 and I_Order.PaymentRule2 columns datatype change from CHAR(1) to VARCHAR(60) Low Check if you read those columns in small pl/sql variables. A list MUST be VARCHAR2
1.5 Missing java field The visibility of the field org.openbravo.erpCommon.ad_forms.DocOrder.m_taxes has changed from public to local Low Check if your module uses this field and if so remove that usage. Risk is low since it is a very internal field
1.4 Missing java field The visibility of the field org.openbravo.erpCommon.ad_forms.DocAmortization.ACCTTYPE_Depreciation has changed from public to local Low Check if your module uses this field and if so remove that usage. Risk is low since it is a very internal field
1.3 Missing java method org.openbravo.service.dataset.DataSetService.hasChangedCheck(org.openbravo.model.ad.utility.DataSet,

java.util.Date) has been renamed to org.openbravo.service.dataset.DataSetService.hasChanged(org.openbravo.model.ad.utility.DataSet, java.util.Date)

Low Check if there are a call to this method in your module and if so rename it. Risk is low since it is a very internal method
1.2 missing java method org.openbravo.dal.core.OBContext.restorePreviousAdminMode() has been replaced by org.openbravo.dal.core.OBContext.setInAdministratorMode(boolean) Low Check if there are a call to this method in your module and if so follow the approach as described here. Risk is low since it is a very internal method
1.1 change return type in java method org.openbravo.dal.core.OBContext.setInAdministratorMode(boolean) returns a boolean, before it return nothing (void) Low Code change is not required, however the system needs to be rebuild because the method signature can be binary incompatible. See here for more information on how to use this method. Risk is low since it is a very internal method