cancel
Showing results for 
Search instead for 
Did you mean: 

CBS build fails [logicalDictionary]: Inconsistent metadata

Former Member
0 Kudos

Hi,

While activating a webdynpro application build fails in CBS.It gives below error,

[wdgen] [Info] Initialize generation templates from configuration jar:file:/usr/sap/DN1/JC03/j2ee/cluster/server0/temp/CBS/11/.B/911/DCs/sap.com/tc/bi/extwd/_comp/gen/default/public/def/lib/java/SapWebDynproGenerationCore.jar!/WebDynproGenerationConfigurationCompiled.xml

[wdgen] [Error] com.wy.easbb.me22n.std.mo.motaxcode.MoTaxCode --> Model MoTaxCode [logicalDictionary]: Inconsistent metadata, logical dictionary missing

[wdgen] [Info] Catching throwable null

[wdgen] [Info] com.sap.webdynpro.generation.ant.GenerationAntTaskError

[wdgen] at com.sap.webdynpro.generation.ant.GenerationAnt.showCheckResult(GenerationAnt.java:157)

1) It builds perfectly in Studio but fails only in CBS

2) We checked file by file for inconsistancy between studio and DTR . We did forced upload.There is no descrepancy btw files in DTR and Studio.

3) Our system is 04S SP08

Any clue on this will be appreciated.Is htere a diiference between CBS build and local build?

Thanks in Advance,

Abdul raheem S

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi Abdul Raheem,

Is the SPS Level are the same between NWDS and your RTS (Run Time Systems)? We had similar issue before - where the binaries are different between the NWDS and RTS.

Files being the same between DTR and NWDS doesn't mean anything as you check in any files from NWDS to DTR (Obviously they will be the same unless you modify them) . CBS checks your locally built environments are compatablie with your central systems, which are defined within CMS TRACK Runtime systems.

I hope this helps

Ezedin

htammen
Active Contributor
0 Kudos

Hi Ezedin,

CBS does not compare the locally built files with the SP level of the runtime systems that are defined in the track.

CBS checks out the files that were checked into DTR by the developer and builds the EAR- or SDA-files at the server. Therefore it additionally checks out the required DCs from the compartments SAP-JEE, SAP_BUILDT and SAP_JTECHS.

The SP of this DCs have to be lower or equal to the SP in the runtime systems. Otherwise the built binaries may not run properly.

You have to use the same SPS level between NWDS and SAP compartments of the track if you are developing Web Dynpro apps. This is because the Web Dynpro plug-ins of NWDS otherwise could produce xml-code that is not compatible. This requirement is not a must. It depends on the concrete SP levels used in your track and your NWDS.

Regards Helmut

Former Member
0 Kudos

Hi,

Initially we had different SPs.Later we upgraded the studio to the same SP level of runtime system.No help. We created oss message.We are waiting for the response.

Thanks,

Abdul Raheem S

Former Member
0 Kudos

Hi All,

We got the solution from SAP support .There was a problem with the xml file generated.Find below solution from SAP.

MoTaxCode.wdmodel contains

<Model.LogicalDictionary>

<Core.ForeignReference modelName="DtDictionary" package="com.wy.easbb. me22n.std.mo.motaxcode.types" name="Motaxcode"

type="DtLogicalDictionary"/>

</Model.LogicalDictionary>

i.e. the name of the logical dictionary is Motaxcode, with an uppercase M at the beginning and lowercase letters behind it.

The file representing the logical dictionary is MoTaxCode.dtlogicalddic, i.e. M, T and C are uppercase. In this XML file we have

name="Motaxcode". So it seems that the file has been renamed.

In a Windows systems this should cause no problem, but in a non Windows

system the logical dictionary file will not be found during model

generation. I assume that your CBS is running on a non Windows system.

So please proceed as follows.

Copy the file MoTaxCode.dtlogicalddic to Motaxcode.dtlogicalddic in

another folder. Delete the file MoTaxCode.dtlogicalddic from DTR, check

it in. Copy the file Motaxcode.dtlogicalddic back to the original folder and add it to DTR.

In short, renaming of the model caused the issue while building in Unix environment.

Thanks to all for actively providing your thought.Sorry, I couldn't provide points to anyone as it's solved by SAP support.

Thanks,

Abdul raheem S

Former Member
0 Kudos

Hi,

Even we tried initialising compartment. No help.

Marc,

Thanks for trying to understand the issue. the issue is not with used DCs.If you see the error log

Error] com.wy.easbb.me22n.std.mo.motaxcode.MoTaxCode --> Model MoTaxCode [logicalDictionary]: Inconsistent metadata, logical dictionary missing

The error sdays that logical dictionary missing. Even we checked the file system in the CBS. It does exist.

Thanks,

Abdul Raheem S

htammen
Active Contributor
0 Kudos

Hi Abdul,

please check the content of the .dcdef file in CBS and at your local disk. Is there a difference?

The error says that there is a problem with the metadata. So either the .dcdef or one of the *.pp files in the def folder are corrupt.

Regards Helmut

Former Member
0 Kudos

Hi Helmut,

no, the metadata referred to in the error message does not mean the .dcdef or *.pp files. The error is reported by the Web Dynpro generator so it refers to WD-metadata, not DC-metada.

If the DC metadata were corrupt the build should fail much earlier, before invoking any kind of generator.

Regards,

Marc

Former Member
0 Kudos

Hi,

I believe this may be because of some size restrictions ( file system or databse ) in CBS. We have checked file by file in Active workspace and Local studio..There were no differences.We have built many components in CBS.Only different which we can see in this is this is large application.

If you have any details on this will be really helpful.

thanks,

Abdul Raheem S

Former Member
0 Kudos

Hi Abdul,

well, there are no hard limits on CBS that I can think of that are harder that what you have in the IDE. On CBS the build is started in a separate VM, the memory limit is set in the service properties. Other restrictions may be imposed by the operating system. On Windows a typical problem is path length. On Unix you may have additional limits for virtual memory/number of file handles/etc.

Typically such limitations result in runtime problem for the build like IOExceptions, OutOfMemoryErrors or similar stuff. From my experience I doubt that this is such a limitation issue, but maybe I'm wrong.

Since [wdgen] fails and you said that no used DC is involved: Is there some line in the build log from the dictionary generator [ddgen] that indicates that the logical model was created?

Regards,

Marc

Former Member
0 Kudos

Hi,

It does generates the mentioned ddic type. And even we chacked in the file system too while building. The mentioned file exist.

Thanks,

abdul raheem S

Former Member
0 Kudos

Hi Abdul,

sorry, no idea then what the problem could be. Did you consider opening a CSS message?

Regards,

Marc

htammen
Active Contributor
0 Kudos

Hi Abdul,

try "Initialize Compartment" at "Build Compartment" tab of CBS Web UI. This cleans up everything in the buildspace and reinitializes it.

Sometimes I also have similar errors. After initializing the compartment the CBS build is working correctly. Please keep in mind that this can take a while if you have a lot of DCs.

Regards

Helmut

Former Member
0 Kudos

Dear Marc,

I think DC--->build in studio doesn't use the build space in CBS.If it's same it has to build during activation also. Our studio and build space are in 04S SP08. is there any size limitation in CBS?

Thanks,

Abdul Raheem S

Former Member
0 Kudos

Hi Abdul,

when you sync archives of used DCs in the studio they will be downloaded from the CBS buildspace. So in theory the DC build should use the same libraries.

The default build tool VM parameters use -mx1000m so that's probably even more than studio is using and since your CBS seems to be Un*x-based I doubt that there's a problem with the path length.

Are there maybe just some not-yet-activated changes to the used DC so that CBS really doesn't know about that missing model (yet)? If you have <b>inactive</b> sources of the used DC synched in your IDE than your local version of that DC might be newer than what CBS "sees".

Regards,

Marc

Former Member
0 Kudos

Hi Abdul,

if you use the DC build in the studio it should be the same as on CBS. There are some differences between the DC build in the studio and the project build/create archive build, but the DC build should be the same regardless of the location.

I say should because on CBS the environment is slightly different and due to some classloading effects in the IDE the local DC build may use different webdynpro tools. Is the IDE and build plugins from CBS on 04S SP08 or are they maybe on different SP levels?

Regards,

Marc