cancel
Showing results for 
Search instead for 
Did you mean: 

Pattern UI Elements

Former Member
0 Kudos

Hi,

I'm developing webdynpro applications in NW2004s NWDS SP8. I want use ContextualPanel UI element. But I cant see this UI element on designer component palette. And I tried Outline --> Insert Child on context menu. But ContextualPanel not listed here too.

I installed NW2004s NWDS SP6 on another machine. ContextualPanel UI element exist in designer and listed in Outline --> Insert Child also.

NW2004s NWDS SP8 Pattern UI contains only MessageArea UI element. But NW2004s NWDS SP6 Pattern UI palette contains ContextualPanel, NavigationList, PageHeader, PatternSequence, PatternTabStrib, PatternTray too.

Why this UI elements dont accesible in NWDS SP8. Is this a bug? Or what ?

Best Regards,

Altug Bayram

Accepted Solutions (0)

Answers (3)

Answers (3)

MarcoErtel
Advisor
Advisor
0 Kudos

Hi all,

the pattern UI Elements should appear starting with NW'04s SP8.

Unfortunately it was incorrect that they already appeared in SP6.

Best Regards

Marco Ertel

NetWeaver Product Management

Former Member
0 Kudos

The "Pattern" UI element library is not available for "normal" application development. That's the reason why it is hidden in the IDE. The only element available for normal applications is the "MessageArea".

Armin

Former Member
0 Kudos

Hi,

What is "normal" application? What is "special" application can use Pattern UI?

I want to create one SDN Example "KM Search and Replace: Web Dynpro Java KM-API Example". ContextualPanel UI element used in the example. https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05c7e2ae-0a01-0010-ca98-fe4...

How can i create this example?

Altug Bayram

Former Member
0 Kudos

Web Dynpro "patterns" are UI building blocks and the "Pattern" UI element library is only available for developing patterns.

Try to realize the UI from that example with UI elements from other libraries.

Armin

P.S: This policy might change in future releases such that all "Pattern" library elements will be available.

Former Member
0 Kudos

Armin,

Really bad news.

At my former employer we'd implemented application that uses ContextualPannel and related UI elements quite intesively (NW04s SP6). They are really useful. Sure, similar things exists in CAF Page UI pattern (there term "pattern" means something different), but having such top-level navigation elements in core classes is a big advantage (and I would like even to suggest several other UI elements like Accordion). I hope WD team will revisit the policy.

Valery Silaev

SaM Solutions

http://www.sam-solutions.net

Former Member
0 Kudos

Altug,

Could you try to create Pattern UI controls at run-time dynamically? Are the classes available and controls works at run-time?

If they work this way, I'd say this is bug of IDE (wrong metadata for WD UI controls).

Valery Silaev

SaM Solutions

http://www.sam-solutions.net

Former Member
0 Kudos

Hi Valery,

I tried your idea with this code:

public static void wdDoModifyView(IPrivatePatternTestCompView wdThis, IPrivatePatternTestCompView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)

{

//@@begin wdDoModifyView

if (firstTime) {

IWDContextualPanel contpan = (IWDContextualPanel)view.createElement(IWDContextualPanel.class,"contpan");

}

//@@end

}

But i get an exception :

com.sap.tc.webdynpro.services.exceptions.CreationFailedException: Cannot create view element implementation com.sap.tc.webdynpro.clientserver.uielib.pattern.api.IWDContextualPanel

at com.sap.tc.webdynpro.progmodel.view.ViewElementFactory.createElement(ViewElementFactory.java:161)

at com.sap.tc.webdynpro.progmodel.view.View.createElement(View.java:140)

at com.sap.patterntest.PatternTestCompView.wdDoModifyView(PatternTestCompView.java:136)

at com.sap.patterntest.wdp.InternalPatternTestCompView.wdDoModifyView(InternalPatternTestCompView.java:171)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)

at com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:292)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:480)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:548)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:149)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:344)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:298)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:705)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:659)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:227)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:150)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:56)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:40)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

Caused by: java.lang.NoSuchMethodException: com.sap.tc.webdynpro.clientserver.uielib.pattern.api.IWDContextualPanel.<init>(com.sap.tc.webdynpro.progmodel.view.View, java.lang.String)

at java.lang.Class.getConstructor0(Class.java:1937)

at java.lang.Class.getConstructor(Class.java:1027)

at com.sap.tc.webdynpro.progmodel.view.ViewElementFactory.createElement(ViewElementFactory.java:150)

... 33 more

Altug Bayram

Former Member
0 Kudos

Altug,

This means that this library was discarded. According to Armin's words it was never released publicly.

VS

Former Member
0 Kudos

Hi,

I installed another machine NWDS SP6 and update with SP8. And created a webdynpro application. Added to view a ContextualPanel UI element. I copied project directory to pure NWDS SP8 workspace and opened project. View designer showing correctly. And I choosed deploy and run, application is running correctly.

I want to insert item to ContextualPanel in NWDS SP8 but dont anything.

i disappointed. I expected every next release webdynpro UI more rich and functional. But wendynpro go back.

Thanks for help.

Altug Bayram

Former Member
0 Kudos

For an official answer regarding the future availability of the Pattern UI elements, I have to ask the Web Dynpro Java product management. Let's wait what they have to say.

That these UI elements appear in this NW04s SP6 IDE looks like a bug to me.

Armin

Former Member
0 Kudos

Hi,

Nw2004s Webdynpro ABAP SP8 has ContextulaPanel, PageHader, NavigationList UI elemnts. This UI elements exist on designer and usable in view. I create and run a simple example too.

Altug Bayram

Former Member
0 Kudos

Yes, I know that WD ABAP doesn't restrict usage of this library.

To get rid of the exception, try this: Open the context-menu for the Web Dynpro component where you want to use the Pattern elements. Select entry "Used UI element libraries" (or similar). There should appear a window where you can select all UI element libs used in your component. If there is a checkbox named "Pattern", select it.

Armin

Aksel
Participant
0 Kudos

Hi all,

I'm just posting my solved problem here to make it easier for others to find a solution for maybe a similar solution...

Problem source:

transporting the messageArea through view, e.g. to have in popups, etc.

related Link:

Problem:

the Pattern library is not used in DC, causes this:

com.sap.tc.webdynpro.services.exceptions.CreationFailedException: Cannot create view element implementation com.sap.tc.webdynpro.clientserver.uielib.pattern.api.IWDMessageArea

at com.sap.tc.webdynpro.progmodel.view.ViewElementFactory.createElement(ViewElementFactory.java:161)

at com.sap.tc.webdynpro.progmodel.view.View.createElement(View.java:177)

at com.###.#####.#######.component.view.################View.wdDoModifyView(################View.java:357)

Solution:

Armin's last post