on 06-24-2007 12:49 AM
HI ,
I am doing one POC on webdynpro for java using FPM framework.
I followed the standard example in help.sap.com of SFlight application and i am creating one POC on this one from the scratch.
I followed step by step ,and now i dont have any build errors ,after deploy and run,now i am getting this below error,
i think this error is related to Cc Component or its any other error .
please let me know if any one know what is this error.
Parameter sap.xss.configurationComponentName not found
Parameter sap.xss.configurationComponentName not found:com.sap.pcuigp.xssfpm.java.FPMRuntimeException: Parameter sap.xss.configurationComponentName not found
at com.sap.pcuigp.xssfpm.java.MessageManager.raiseException(MessageManager.java:111)
at com.sap.pcuigp.xssutils.ccxss.CcXss.loadConfiguration(CcXss.java:150)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXss.loadConfiguration(InternalCcXss.java:142)
at com.sap.pcuigp.xssutils.ccxss.CcXssInterface.loadConfiguration(CcXssInterface.java:112)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXssInterface.loadConfiguration(InternalCcXssInterface.java:124)
at com.sap.pcuigp.xssutils.ccxss.wdp.InternalCcXssInterface$External.loadConfiguration(InternalCcXssInterface.java:184)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:165)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:429)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:700)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:269)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:752)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:705)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
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:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
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)
Hi Vinay
In the 'Application properties' of the webdynpro application the value for the property 'sap.xss.configurationComponentName' is not given.Give the value as
'com.sap.pcuigp.xssutils.ccpcd.CcXssPcd'.
Please refer this link. It gives you all the details
http://help.sap.com/saphelp_erp2005vp/helpdata/en/43/3b95dab4ab1800e10000000a1553f6/content.htm
Also the wiki page which explains you how to build an FPM application from scratch.
https://wiki.sdn.sap.com/wiki/display/profile/How-toaddacustomWebDynproiViewtotheMSSEmployeeProfile%28ECC+6.0%29
Regards,
Sharadha
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sharadha,
Thanks for your help.I solved this issue.
But i am facing another issue.
now when i build and deploy my custom application ,i can see the applciation and i can see the 3 FPMs like overveiew,review and confirm
but in the first overview screen i cant able to see the view of VacSelect comp ,but i am getting the view of VacNavigation component where i used all the buttons ,like cancel,save,review and save changes,etc.
can u please tell me where i am doing wrong,
in the application properties i mentioned those three references parameters
like,
sap.authentication true
sap.xss.configurationComponentDC sap.com/CustEss
sap.xss.configurationComponentName Com.sap.ess.conf.test.CsTestFlight
here CsTestFlight is a component for Cc;
please reply to this ,i will really appreciate ur help.
thansk,
vinay
Hi,
I am doing FPM application, i followed the standard example in help.sap.com too.
Please suggest me, how to implement class <b>SFlightConstants</b> the names of the perspectives of the application SFlightExample and the name of the user defined event type USER_EVENT_DETAIL are defined.
Thanks in advance,
Hiranya
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vinay,
I'm not sure wether ROP steps and state will have any effect on perpectives (we can create a DC with out ROP steps and state), give a try.
Your code seems to be fine...
I think you will not be able to see any data in the next perspectives also, after clicking on the buttons.....only buttons will be available in all the screens. Try to Re-Load the project and check.
Regards
Srikanth
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Send me your getROPState method.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI,
This is my ropstate();
// get name of Perspective
String perspectiveName = perspective.getName();
// set the overall Roadmap
ROPStep[] theRoadmap =
new ROPStep[]{ ropSelect, ropReview, ropConfirm };
// set default ROPState
ROPState ropState =
new ROPState( theRoadmap, ropSelect.getId() );
// switch state for other Perspectives
if ( SFlightConstants.PERSPECTIVE_REVIEW.equals(perspectiveName) )
ropState = new ROPState( theRoadmap, ropReview.getId() );
else if ( SFlightConstants.PERSPECTIVE_CONFIRM.equals(perspectiveName) )
ropState = new ROPState( theRoadmap, ropConfirm.getId() );
else if ( SFlightConstants.PERSPECTIVE_DETAIL.equals(perspectiveName) )
ropState = new ROPState( theRoadmap, ropDetail.getId() );
return ropState;
HI,
Sorry this is my ropstate,
ropDetail = new ROPStep( "1a",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_DETAIL), null );
ropSelect = new ROPStep( "1",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_SELECT),
new ROPStep[] );
ropReview = new ROPStep( "2",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_REVIEW), null );
ropConfirm = new ROPStep( "3",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_CONFIRM), null );
Hi Srikanth,
NO ,still i am getting the same problem,what u said is right,i can see only navigation buttons ,but i cant see the exact screen.
my code looks good,u know is there anyother way to check why this is not working,is there any problem with compatible XSS versions with this one.
we are using XSS 100 and our engine is 7.00 ,and our portal landscape is portal 7.0 sp 9 version and backend is ecc 5.0
let me know what is ur opinion.
thanks,
vinay
Hi Vinay,
Sorry for the delay in my reply....
U'r problem has nothing to do with the WAS and XSS components version....
I also faced the same problem once, where i'm seeing only buttons instead of perspectives..this happend to me when we are moving the code from one track to next track....
i think u have to start from scratch....tht's the only option instead of debugging this......
I think some experts on FPM has to provide the exact reason why this happening and how to avoid this....this will help everyone...
Regards
Srikanth
Hi Vinay,
Can you paste the code for loadConfiguration, getNextPerspective, getStartPerspective...
Regards
Srikanth
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Srikanth,
I am doing this POC,the same as pcuigp/xssexamples
I never done a webdynpro application using FPM Framework,i just followed the help.sap.com,and one pdf document for sdnday_ess_hr.pdf file.
let me know where i did wrong.
thanks,
vinay
public void loadConfiguration( com.sap.pcuigp.xssfpm.java.IFPM fpm )
{
//@@begin loadConfiguration()
// keep local reference to FPM
this.fpm = fpm;
// create all VACs
vacSelect = new VAC( SFlightConstants.SFLIGHT_DC,
"com.sap.ess.test.vc.select.VcTestflightSelect" );
vacDetail = new VAC(SFlightConstants.SFLIGHT_DC,
"com.sap.ess.test.vc.details.VcTestFlightDetails" );
vacReview = new VAC(SFlightConstants.SFLIGHT_DC,
"com.sap.test.ess.vc.review.VcTestFlightReview" );
vacConfirm = new VAC(SFlightConstants.SFLIGHT_DC,
"com.sap.ess.test.vc.confirm.VcTestFlightConfirm" );
vacNavi = new VAC(SFlightConstants.SFLIGHT_DC,
"com.sap.ess.test.vc.navi.VcTestFlightNavi" );
// create all Perspectives
perSelect = new Perspective( SFlightConstants.PERSPECTIVE_SELECT,
Perspective.LAYOUT_ROW,
new VAC[] { vacSelect, vacNavi } );
perDetail = new Perspective( SFlightConstants.PERSPECTIVE_DETAIL,
Perspective.LAYOUT_ROW,
new VAC[] { vacDetail, vacNavi } );
perReview = new Perspective( SFlightConstants.PERSPECTIVE_REVIEW,
Perspective.LAYOUT_ROW,
new VAC[] { vacReview, vacNavi } );
perConfirm = new Perspective( SFlightConstants.PERSPECTIVE_CONFIRM,
Perspective.LAYOUT_ROW,
new VAC[] );
// store Perspectives in a HashMap
allPerspectives = new HashMap();
allPerspectives.put( SFlightConstants.PERSPECTIVE_SELECT, perSelect );
allPerspectives.put( SFlightConstants.PERSPECTIVE_DETAIL, perDetail );
allPerspectives.put( SFlightConstants.PERSPECTIVE_REVIEW, perReview );
allPerspectives.put( SFlightConstants.PERSPECTIVE_CONFIRM, perConfirm );
// define the navigation paths and navigation graph
sfGraph = new NavigationGraph(
new NavigationPath[] {
// EVENT_START
new NavigationPath( "", fpm.EVENT_START,
SFlightConstants.PERSPECTIVE_SELECT ),
// EVENT_REVIEW
new NavigationPath( SFlightConstants.PERSPECTIVE_SELECT,
fpm.EVENT_REVIEW,
SFlightConstants.PERSPECTIVE_REVIEW ),
new NavigationPath( SFlightConstants.PERSPECTIVE_DETAIL,
fpm.EVENT_REVIEW,
SFlightConstants.PERSPECTIVE_REVIEW ),
// USER_EVENT_DETAIL
new NavigationPath( SFlightConstants.PERSPECTIVE_SELECT,
SFlightConstants.USER_EVENT_DETAIL,
SFlightConstants.PERSPECTIVE_DETAIL ),
// EVENT_SELECT
new NavigationPath( SFlightConstants.PERSPECTIVE_SELECT,
fpm.EVENT_SELECT,
SFlightConstants.PERSPECTIVE_SELECT),
// EVENT_BACK
new NavigationPath( SFlightConstants.PERSPECTIVE_DETAIL,
fpm.EVENT_BACK,
SFlightConstants.PERSPECTIVE_SELECT ),
new NavigationPath( SFlightConstants.PERSPECTIVE_REVIEW,
fpm.EVENT_BACK,
SFlightConstants.PERSPECTIVE_SELECT ),
// EVENT_SAVE
new NavigationPath( SFlightConstants.PERSPECTIVE_REVIEW,
fpm.EVENT_SAVE,
SFlightConstants.PERSPECTIVE_CONFIRM )
});
// define the individual steps of the Roadmap
ropDetail = new ROPStep( "1a",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_DETAIL), null );
ropSelect = new ROPStep( "1",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_SELECT),
new ROPStep[] );
ropReview = new ROPStep( "2",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_REVIEW), null );
ropConfirm = new ROPStep( "3",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_CONFIRM), null );
//@@end
}
//@@begin javadoc:getCAPState()
/** Declared method. */
//@@end
public com.sap.pcuigp.xssutils.java.CAPState getCAPState( com.sap.pcuigp.xssfpm.java.Perspective perspective )
{
//@@begin getCAPState()
return null;
//@@end
}
//@@begin javadoc:getNextPerspective()
/** Declared method. */
//@@end
public com.sap.pcuigp.xssfpm.java.Perspective getNextPerspective( com.sap.pcuigp.xssfpm.java.Perspective currentPerspective, java.lang.String eventName )
{
//@@begin getNextPerspective()
// get name of 'from'-Perspective
String currentPerspectiveName =
(currentPerspective==null)?"":currentPerspective.getName();
// get name of 'to'-Perspective from application graph
String toPerspectiveName =
sfGraph.getNextNode(currentPerspectiveName, eventName);
// check whether we actually found a name
if (toPerspectiveName == null) {
// [ skipped raising the exception ]
return null;
}
// fetch actual 'to'-Perspective from map
Perspective toPerspective =
(Perspective) allPerspectives.get(toPerspectiveName);
// check whether we actually found a Perspective
if (toPerspective == null) {
// [ skipped raising the exception ]
return null;
}
// return Perspective
return toPerspective;
//@@end
}
//@@begin javadoc:getStartPerspective()
/** Declared method. */
//@@end
public com.sap.pcuigp.xssfpm.java.Perspective getStartPerspective( )
{
//@@begin getStartPerspective()
return getNextPerspective( null, fpm.EVENT_START );
//@@end
}
Hi,
Change the code for the rop steps as
ropSelect = new ROPStep( "0",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_SELECT), null );
ropDetail = new ROPStep( "1",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_DETAIL),
null );
ropReview = new ROPStep( "2",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_REVIEW), null );
ropConfirm = new ROPStep( "3",
wdTextAccessor.getText(SFlightConstants.PERSPECTIVE_CONFIRM), null );
Hi ,
If your first perspective is incorrect , it is because the function startPerspective is returning in correct value.
In your function , you are calling nextperspective with event start to get the first perspective..
Inside function getNextPerspective , or you loading the appropriate perspective if the event is start ?
Regards
Bharathwaj
Hi Bharatwaj,
This is my nextperspective and startperspective methods,can u please let me know what is wrong in this code.
thanks,
vinay
public com.sap.pcuigp.xssfpm.java.Perspective getNextPerspective( com.sap.pcuigp.xssfpm.java.Perspective currentPerspective, java.lang.String eventName )
{
//@@begin getNextPerspective()
// get name of 'from'-Perspective
String currentPerspectiveName =
(currentPerspective==null)?"":currentPerspective.getName();
// get name of 'to'-Perspective from application graph
String toPerspectiveName =
sfGraph.getNextNode(currentPerspectiveName, eventName);
// check whether we actually found a name
if (toPerspectiveName == null) {
// [ skipped raising the exception ]
if (toPerspectiveName == null) {
fpm.getMessageManager().raiseException( wdThis.wdGetAPI().getComponent(), null,
IMessageManager.DEFAULT_EXCEPTION, "Select Perspective!");
return null;
}
return null;
}
// fetch actual 'to'-Perspective from map
Perspective toPerspective =
(Perspective) allPerspectives.get(toPerspectiveName);
// check whether we actually found a Perspective
if (toPerspective == null) {
// [ skipped raising the exception ]
fpm.getMessageManager().raiseException( wdThis.wdGetAPI().getComponent(), null,
IMessageManager.DEFAULT_EXCEPTION, "Select Perspective!" + toPerspectiveName);
return null;
//return null;
}
// return Perspective
return toPerspective;
//@@end
}
//@@begin javadoc:getStartPerspective()
/** Declared method. */
//@@end
public com.sap.pcuigp.xssfpm.java.Perspective getStartPerspective( )
{
//@@begin getStartPerspective()
return getNextPerspective( null, fpm.EVENT_START );
//@@end
}
Hi Vinay,
FPM architecture shows perspectives instead of webdynpro views...
Overview, Select, Review...are perspectives.
Check for the perspectives created in <b>CsTestFlight </b> (Configuration Component) in method <b>LoadConfiguration</b> , also the navigation path.
start of application for the first time should point to correct perspective in the Navigation path.
In u'r case if the intial perspective is VacSelect, then the Navigation path should like this
NavigationPath[] navigationPath =
{ new NavigationPath("", IFPM.EVENT_START, VacSelect) };
Best Regards
Srikanth.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
24 | |
11 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.