Skip to Content

What happens with custom enhacements or "Z Code" after an update?

Jan 18, 2017 at 06:46 PM


avatar image
Former Member

Hi community

I have one doubt, we have performed an update in our SAP CRM System from sp7 to SP18.

Right now we are in phase of "test" and we are getting some dumps and errors but the majority of this Issues are related with customs enhacements or "Z code" so we are doing the necesary to fix code to solve problems.

My question is if before the update could we have done something to save or protect this enhacements or "Z Code" to avoid this errors after update?

I mean developers are saying that this situation of fix code (just related with enhacements or Z Code) after update is not normal and I'm not sure if this is true.

If someone here have some experience with this scenario could help us to understand what is the normal process about this kind of situations?

Should we have performed a previous activity before update to avoid errors with custom or z enhacements?

It is a normal process to fix code Z that not match anymore with standard code after update?

Does exist a tool, report, service etc, that help to find and solve bugs or issues with custom enhacements or Z code, consequence of update?

Best regards


10 |10000 characters needed characters left characters exceeded

First of all, what kind of dumps do you have? and the reason? (It would be interesting to hear from your developers what they have to say!)


Couldn't pass a chance to shamelessly promote my old blog on the subject. In general no, it's not normal to get many errors. I'd be curious what exactly caused the errors in your case.

Former Member

This is an example:

we are getting next dump:

Error in the ABAP Application Program The current ABAP program "CL_BSP_PAGE_BASE==============CP" had to be terminated because it has come across a statement that unfortunately cannot be executed.

The following syntax error occurred in program "CL_CPG_MAIN_OPOVERVIEW_IMPL===CP " in include "ZMKTG_CAMPANAS================E " in line 22: "Field "LR_CMP" unknown

So the problem is with the class named: CL_CPG_MAIN_OPOVERVIEW_IMPL===CP this class has a method named: EH_ONSAVE, if we check sintax of this program is failing, before the update this method was working correctly, this method has an enhacement example:

after the update a standard variable named: lr_cmp dissapeared and the Enhacement was using it that's the reason why now the standard method with enhacement is failing, so now we have to adecuate the code to solve this situation.

Question here is what's the best practice to avoid this situations after an update?

Best Regards

eh-onsave.png (41.5 kB)
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Best Answer
avatar image
Former Member Jan 18, 2017 at 07:24 PM

Hi Alfredo,

Normally any update/upgrade brings in new functionalities and many changes. We should do an impact analysis before doing any update/upgrade.

Especially for custom objects, we have many third party tools which do an impact analysis before we do an upgrade and process ends with corrections to all impacted objects (post technical upgrade activity). So we extract all custom objects before upgrade and we use these tools to fix them and create a TR (Ex), and then import this TR immediate after technical upgrade this is how we bring in system to near zero issues after upgrade. And these tools will definitely have their own cost to use.


Harish Karra

10 |10000 characters needed characters left characters exceeded
Nic Teunckens Jan 18, 2017 at 07:45 PM

All documentation aside, regression tests will ultimately point out if code such as Enhancements and Modifications are still active / executed. You developers and testers should be aware that some testing will always be involved.

EDITED : Is this the right "Primary Tag"? Could you please change it to an Software Lifecycle / Enhancement / Upgrade related Tag?

10 |10000 characters needed characters left characters exceeded
Sandra Rossi Jan 25, 2017 at 10:44 PM

Shouldn't we see these kind of errors in the log of the ABAP load regeneration if we run SGEN with mode "regenerate existing loads" ?

10 |10000 characters needed characters left characters exceeded