cancel
Showing results for 
Search instead for 
Did you mean: 

'Missing layout for container' error on deleted child container

Former Member
0 Kudos

At times in Web Dynpro apps I run into this compiler error. I thought I would share my investigation into it.

Hi all, here was the problem: I have a Web Dynpro app built using NWDS 7.1 SP01 PAT0000 Build ID 200811152209. In this app I have a view where I had existing containers and child controls. I selected one of my existing transparent containers and used "Copy / Paste" to make a copy of it. Then I went underneath the pasted transparent container (which of course had a copy of all the original child controls) and started deleting the ones I didn't need.

When I did a deployment, however, I had this strange set of errors:

[wdgen] [Error] TransparentContainer 'tcPortHdr1.Layout': Missing layout for container.

[wdgen] [Error] TransparentContainer 'tcPortHdr1': Missing 'Layout'.

[wdgen] [Error] TransparentContainer 'tcPortSelect1.Layout': Missing layout for container.

[wdgen] [Error] ScrollContainer 'tcPortSelectData1.Layout': Missing layout for container.

[wdgen] [Error] ScrollContainer 'tcPortSelectData1': Missing 'Layout'.

[wdgen] [Error] TransparentContainer 'tcPortSelect1': Missing 'Layout'.

[wdgen] [Error] TransparentContainer 'tcPortNew1.Layout': Missing layout for container.

[wdgen] [Error] TransparentContainer 'tcPortNew1': Missing 'Layout'.

The funny thing about these guys--they were the child controls I had deleted from the designer UI after doing the paste. In the graphical view designer, they didn't show up. However, when I do a search for one of the offending items (say, tcPortHdr1) using Ctrl+H, then I get one match found in RoadMap03SelectMethodView.wdview. That makes sense; it's the file SAP uses to create the view.

Double-clicking on that file brings up the visual view designer, which does not show the "missing" control in question. So, I tried right-clicking on the wdview file and using the Open With... -> Text Editor option. That brings up an XML file and voila the control is in there:


<TransparentContainer name="tcPortHdr1">
  <ViewElement.Definition>
    <Core.Reference package="com.sap.ide.webdynpro.uielementdefinitions"
      name="TransparentContainer" type="UIElementDefinition"/>
  </ViewElement.Definition>
  <UIElementContainer.Children>
    <UIElement name="ftvPort1">
      <ViewElement.Definition>
        <Core.Reference package="com.sap.ide.webdynpro.uielementdefinitions"
          name="FormattedTextView" type="UIElementDefinition"/>
      </ViewElement.Definition>
    </UIElement>
  </UIElementContainer.Children>
</TransparentContainer>

Wow! Even though I have deleted the child controls from the UI, they are still in the XML file. So, just for kicks, I try deleting the controls manually from the XML file using this handy-dandy regex and Ctrl+F:

*Port[\w_]+\d*

The above regex found four controls (all of 'em, of course, I had already deleted from the designer using the UI). I do another deployment and the build works great! So, it looks like problem solved and the only issue being some nasty little bug in the UI that doesn't really delete controls from the backing XML file when you delete them from the visual designer, right?

Edited by: ANDY BRUCE on Feb 3, 2009 11:52 PM

Edited by: ANDY BRUCE on Feb 3, 2009 11:54 PM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Open an OSS message (BC-DWB-WD-JAV).

Armin

Former Member
0 Kudos

Thanks for the advice, but I'm not interested in fixing the problem. Just in giving someone else some keywords to help resolve the problem

Former Member
0 Kudos

Strange attitude.

Armin

Former Member
0 Kudos

Wow. No need to reply.