function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

Beta Packaging (multi-currency org requirement is automatically enforced by SFDC)

We are in the process of beta-packaging our application and pressed the "upload" button to go thru the steps to create a private listing. 


The beta-package was successfully created.



During the packaging process, in our 2 user DE org SFDC automatically detected that we are using the currency table (probably thru our 'select' statements etc), and therefore enforced a requirement that multi-currency activation should exist in the org as a pre-requiste for ANY org where this package will be downloaded



We have logic in our application to "optionally" use the multi-currency feature that requires special activation by SFDC.  In other words, we perform checks in our code and change our 'select' statements depending upon whether the org is multi-currency enable or not multi-currency enabled and process our logic accordingly.



During the packaging process, is there any way we create the beta-package without having salesforce automatically enforce the multi-currency pre-requisite as a requirement for installation of this package into another org??


 This way other people installing our packaged application will not have to contact SFDC to switch on the multi-currency feature before downloading the application - kind of a hassle if you want to download the app off the appexchange to take a closer look.  Some of our customers will not be using multi-currency anyway.






Unfortunately, there is not a way to selectively enforce this.  


As you know, when you enable multicurrency, the CurrencyISOCode field (along with other features) is created for all of the tables in the system.  Youcode performs the checks, but in order to save the code ot the system, the fields have to exist in the destination org.  If we allowed you to install into an org that did not have MC enabled, the APEX code would fail on save in the destination org because the Currency fields would not exist.


Hope this helps