What happens if a logic block is calling another LB that is not in a customer's environment?

If I want to develop a tie-in to Nextworld financials from a Partner solution, I might set-up a table trigger or action block that calls logic blocks in the financials family to write to the GL, for example. If I do this in a logic block which is included in my partner solution family, then that will work assuming a customer has both the partner solution and the Nextworld financials solution.

What happens if the customer is using the partner solution but does not have Nextworld financials? Is the call to that logic just skipped, or will it throw an error, or cause some other issue?

As things stand your specific scenario is not possible. The Nextworld Financials family is part of the default solution - so everyone “has it” all the time.

Your scenario is still real, just not with the specifics as you laid them out. It can occur if a partner solution is developed where some other (non-default) solution is active and is referenced accidentally or deliberately. What that would looks like to the platform at runtime (or validation time) is a reference to a non-existent logic block. If encountered at runtime the platform will error, not commit the transaction boundary, and return the error to the caller to decide how to proceed.

2 Likes

What @kendra.b said.

This is the list of Product Families that all customers by default have access to in 25.1 is what is defined in the NextworldDefaultSolution solution definition

As long as the Product Family of the LB you are calling is one of these, and, the family of that LB is deliverable (some of these Product Families are non-deliverable such as Playpen, but exist so the customer can create owned objects in that Product Family if they want to) it should be available to call when in production. The list of Product Families that are deliverable is determined by opening the Family Definition app and filtering by Family Type = Production

2 Likes