cancel
Showing results for 
Search instead for 
Did you mean: 

FPM Framework error

Former Member
0 Kudos

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)

Accepted Solutions (1)

Accepted Solutions (1)

Sharadha1
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

Answers (5)

Answers (5)

Former Member
0 Kudos

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

former_member365727
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Hi Srikanth,

If i do reload+rebuild whether it will effect to my DC,i mean to say it will do any changes or it is going to be the same .

thanks,

vinay

Former Member
0 Kudos

Send me your getROPState method.

Former Member
0 Kudos

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;

Former Member
0 Kudos

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 );

Former Member
0 Kudos

HI,

Can anyone tell me where i am wrong,you can see my code for loadconfiguration,ropstate,nextperspective.

please let me know if anyone knows the solution for this.

thanks,

vinay

former_member365727
Active Contributor
0 Kudos

Hi Vinay,

Reload + Rebuild will not corrupt any part of the code....it will just check wether all the dependencies are ok or not...

r u able to navigate using the buttons.....if so, after navigation are you able to see the screens....or only buttons..

Regards

Srikanth

Former Member
0 Kudos

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

former_member365727
Active Contributor
0 Kudos

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

Former Member
0 Kudos

HI Srikanth,

Yeah i think ur right,i debug the code but no help .

i am thinking to create the appl one more time.

lets see whether it works or not.

so,do u think that this is not at all a issue with compatible versions .

Thanks,

Vinay

former_member365727
Active Contributor
0 Kudos

Hi Vinay,

This is not an issue with the verisons.....

Best Regards

Srikanth

Former Member
0 Kudos

Hi Srikanth,

As of now no one replied from sdn.so what i did i created oss message on this issue,to sap consulting,hope they will help me.

thanks,

vinay

Former Member
0 Kudos

Hi Srikanth,.

As u said i created another small application from the scratch,but still i am getting the same problem.

thanks,

vinay

former_member365727
Active Contributor
0 Kudos

Hi Vinay,

Try to restart the server and see if this works.....

Regards

Srikanth

former_member365727
Active Contributor
0 Kudos

Hi Vinay,

Can you paste the code for loadConfiguration, getNextPerspective, getStartPerspective...

Regards

Srikanth

Former Member
0 Kudos

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

}

Former Member
0 Kudos

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 );

Former Member
0 Kudos

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

Former Member
0 Kudos

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

}

Former Member
0 Kudos

Hi Bhartwaj,

Have you checked my code?

Thanks,

Vinay

former_member365727
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

Hi Srikant,

I checked everything,its calling the right perspective called select in navigation path.but still i cant able to see the Vacselect view which is the first view.

thanks,

vinay