Clayton is a
Curious Researcher
Recap 2022
Top Post:
people reached
User bio
404 bio not found
Member since Dec 4, 2015

I've used this approach before and it generally works fine, but there are some additional things to consider:

1) If your code contains SQL that references tables within the package you're renaming, you need to find/replace the schema as well as the package name.  E.g., package my.demo would be schema my_demo.  If you don't do this  the SQL in your new package will reference the tables in your old package.

2) If you have Persistent classes in your package, you'll likely want to export with the /skipstorage qualifier. That will cause export to omit storage maps, so that the new package gets new storage maps and new globals when you compile.  If you don't do this your new package might use the same globals as the old one because find/replace wouldn't change compressed global names like ^package.foobar9876.Class1D.

3) If you follow the previous suggestion, you may run into another problem if you try to copy your old globals to the new ones, so that you're bringing forward your data a well as code into the new package.  The issue is that the new storage map will have all properties in the order they're declared.  If you've added properties over time to the original class they may be in a different order, making the storage maps incompatible.  That happens because new properties are always added at the end of an existing storage map, regardless of where they're declared.  That prevents the need to convert data to a new structure if new properties are added to a deployed class.  In that case you'll need to manually fix the new storage map by copying forward the old <Value> tags, while retaining the new global references.

Thanks Jorge, this is helpful.  Your example of computing BMI is actually what the customer is trying to do, although they want to do it in Health Insight.  That allows them to report BMI and use it in analytics, such as to compute a risk score.  After discussing with them we agreed that converting on consumption is safer than on ingestion, which is consistent with what you showed for the CV.

Clayton has no followers yet.
Clayton has not followed anybody yet.
Global Masters badges:
Clayton has no Global Masters badges yet.