View source | Discuss this page | Page history | Printable version   

How to Migrate 2.50 Modules to 3.0 Advanced



This document is an Appendix for How to Migrate 2.50 Modules to 3.0 . Here will be covered border cases that are unlikely to happen. The purpose is not to pollute the former document with lots of details that in most of the cases are not applicable.

AD Widows

Manual Code

_R Fields in Selectors

Selectors in 2.50 WAD windows generate two fields, one for the actual value (ID of the referenced record) and another one (called like the former one appending _R) for the displayed value.

In 3.0 selectors the _R field is not generated. Usually this is not important because the actual value is maintained with the same name so processes can still retrieve it in the same way. But in case of processes getting the _R field it will not work see 16353 and 16342.

The solution for these cases is to obtain the actual value, and obtain identifier from that.

For example (see actual changeset), in a process to be invoked from a window that has a column named C_BPartner_ID with a selector reference, it was possible to get the partner's name as follows:

  String bpName = vars.getRequestGlobalVariable("inpcBpartnerId_R", "");

This code must be migrated to get the business partner ID and obtain the name from that:

  String bpID = vars.getRequestGlobalVariable("inpcBpartnerId", "");
  BusinessPartner bp = OBDal.getInstance().get(BusinessPartner.class, bpID);
  String bpName = bp == null ? "" : bp.getIdentifier();

Retrieved from ""

This page has been accessed 2,130 times. This page was last modified on 14 June 2011, at 13:09. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.