cancel
Showing results for 
Search instead for 
Did you mean: 

Help: NWDI 7.2 CBS build problem - initialize compartment-broken DCs

Former Member
0 Kudos

Hi all.

I am facing a problem with CBS build due to broken DCs - invalid dependencies. I have read all the articles and notse related to this issue, but cannot not solve is. Has anyone faced this issue or know a solution?

The problem:

In one SC I have a DC A, which used to have public part PP_A.

In another SC I have a DC B, which used to depend on public part PP_A of DC A.

As part of implementation, the PP_A in DC A was deleted and replaced by new public parts. The changes are checked in and activated in NWDI successfully.

Next, the DC B was corrected, its reference to PP_A was deleted and replaced with appropriate replacements.

I checked in the activity correcting the DC B. Activation fails, because CBS complains that DC B has invalid dependency. I assume that the CBS cache still holds the old sources.

I took the compartment where DC B is located and triggered a CBS Reinitialize compartment (which should discard the cached sources and load a fresh copy). The CBS Reinitialize compartment request fails too! The log shows the same message as the build log: invalid dependency.

It seems that during reinitialize, CBS checks the validity of the DCs in the compartment BEFORE it does clean its cache and refreshes from DTR.

In DTR, I can see the sources of DC A and DC B checked in correctly in the inactive branch, the .dcdef in DC B contains correct references to new public parts of DC A.

Does anyone know how to force CBS to refresh its sources from DTR where correct sources are checked in?

Thanks.

Edited by: Rastislav Cesnek on Dec 20, 2011 3:25 PM

Accepted Solutions (0)

Answers (1)

Answers (1)

junwu
Active Contributor
0 Kudos

two sc in same track?

Former Member
0 Kudos

Yes, the SCs are in the same track.

junwu
Active Contributor
0 Kudos

have you release and import the activity(regarding the public part change DC A) to consolidation?

Former Member
0 Kudos

No.

But I would expect, that this is not necessary, since releasing the change into CONS means transporting to the next stage. And in our set-up, release manager is releasing changes for transport, it's not the developers.

What I start to suspect, is that CBS does not use the inactive sources for comaprtment reinitialization, but the active sources instead. The active sources of course do not contain the updated DC B, since it cannot be activated (due to the invalid dependency) as described.

junwu
Active Contributor
0 Kudos

maybe you have to do that.

the cbs workspace of DC B is using the DC A generated in consolidation, not the dev.(my suspect)

Edited by: John Wu on Dec 22, 2011 2:55 AM

Former Member
0 Kudos

Right.

Its not the CONS, it's the active from DEV which is used. I sort of don't understand the NWDI concept then, maybe SAP could learn a little from Hudson, CruiseControl you name it.

Apparently, as I found out after some trial and error, the checks done before the build AND before the initialize compartment run on sources from ACTIVE branch. So the check-ed in fixed sources of the DC B are ignored by CBS. It then complains about the invalid dependencies all the time.

Finally, although it looks very scary, I activated the soure code changes of the dependent components (I hade a lot of them, not just one) with the "Activate even if the build fails". Then the initialize compartment did not complain about BROKEN components because of dependencies, because the check of metadata succeeded and the components were rebuilt.

Thanks for hints.