Are the dependant packages re-loaded during the deployment?

Hi,

I am bit confused in state whether to follow best practices in setting up package level dependency during development. Could you please clarify the same and help me with relevant reference documents or links.

  1. I created a package which uses docs and services from different package
  2. I set package dependency for my package properly and no issues found during deployment.

Question

  • Is it true that all the dependent packages that I set for package are reloaded during my package deployment and one should avoid setting dependency as a best practice?.

  • If all the dependent packages reloaded during deployment, the current transaction on those packages will be affected in production during deployment. How to resolve this issue if there are unavoidable dependencies to be set.

Hi Gopalakrishna,

all packages which are marked to be dependent on another package are reloaded together when the base package reloads.

When deploying packages (or parts of packages) these get reloaded to load the modified nodes into the IS runtime.

Regards,
Holger

Yes, dependent packages are loaded during package deployment and current transactions which are dependent on those package gets impacted. Make sure you deploy during OOH and there is no or less business traffic.

1 Like

Thank you Holger and Mahesh K for your inputs.

On the other hand: If you avoid setting package dependencies, you could end up with non-functional/not working code.

Package dependencies help to load the code in the correct order. For example if a webservice endpoint provider in package A needs a Document Type from package B and you DON’T declare this package dependency, packages could be loaded in the wrong order and your web service may not be functional.

Holger/Maesh/rest: Do you really recommend to avoid setting package dependency as a best practice?

Cheers,
Florian

1 Like

Hi Florian,

this depends on the structure of your packages/code.

I.E. generated BPM packages should always have a dependency on the package containig the effective implemenation of the steps.
Packages which are using SAP Adapter need to declare this dependency to avoid issues with the notifications. This is mentioned in the SAP Adapter Users Guide.

Packages containg triggers which subscribe documents from a different package should declare this dependency too, otherwise the trigger will not be able to subscribe to Messaging Provider correctly.
Packages importing java services/jars from another package need also to declare this to load all these java classes in the same class loader.

I usually shutdown the IS and then restart it from scratch to check the server log for loading issues due to loading order errors.
Derived form the outcome there might be additonal dependencies to be defined.

Regards,
Holger

1 Like