cancel
Showing results for 
Search instead for 
Did you mean: 

Problems adding a new tab to an FPM_OIF application

matteo_montalto
Contributor
0 Kudos

Hi gurus,

I'm dealing with a "simple" ( I guess ) task; I have to add a new tabpage (which will contain a custom WD component) to a standard SRM 7 application (which is the RFx display/edit application).

In order to do so, I simply changed the used Component Configuration /SAPSRM/WDCC_FPM_OIF_RFQ_PR_PU (I know, I should create a custom copy of it and then modify the custom... I'll go for that asap, since my modifications can be easily rollbacked), I added a new Main View element, which contains a subview, which cointains my UIBB:

Component: ZWD_STATUS_TAB

Window name: ZWD_STATUS_OIF_CA

and the ID of a basic configuration. (which I could omit, as the standard configuration doesn't contain a reference for each UIBB involved).

In order to create ZWD_STATUS_TAB, I tried to copy a standard WD Component, say /SAPSRM/WDC_UI_CRA_CA, which is the tab before my custom one, just to try if it works.
I had to fix and delete some stuff and finally, I get my test WD Component active.

My custom WD Component implements these two interfaces:

/SAPSRM/WDI_L_FPC_GENERAL

and

IF_FPM_UI_BUILDING_BLOCK .

Now, trying to access the WD Application: my tab is present, but when I try to switch on that an error popup is triggered with the following message:

Title: Action could not be performed

Message: User is not authorized for the action

Now I'm completely stuck as I don't understand what's the problem... an authority check probably, but don't understand why and what's the point on it.

My actual test WD contains just a caption.

Any idea or suggestion? Thank you!

Accepted Solutions (1)

Accepted Solutions (1)

matteo_montalto
Contributor
0 Kudos

Solved... my mistake in creating the WD Component. Probably, since I created it by copying a standard one, I missed something during the cleansing.
Created a new WD from scratch implementing the mandatory interfaces and everything went ok.

Former Member
0 Kudos

Thanks a lot for posting the solution.

Answers (2)

Answers (2)

Former Member
0 Kudos

Just a comment about "having" to copy the configuration. You don't have to always copy UI configurations. They can be enhanced.

matteo_montalto
Contributor
0 Kudos

Thanks Abdullah, I missed that option...

I''ve seen that once in Configuration there's an "Enhance" option from the menu. As soon as I'll solve the problem I'm having I'll rollback that custom modification on the standard configuration and replicate that enhancing it.

Instead... any idea about the main problem? It seems that WDDOINIT for the view isn't triggered, so there must be something wrong I guess on the custom WD Component, as configuration seems to be ok.

I added the Main View "Status"; the custom WD component is ZSTD_STATUS_TAB while the window name in it is ZSTD_STATUS_OIF_CA. This window contains a single custom view (MAIN).

The custom WD component starts as a copy of the previous WD Component /SAPSRM/WDC_UI_CRA_CA, in which I made a cleansing. Implemented interfaces are IF_FPM_UI_BUILDING_BLOCK and /SAPSRM/WDI_L_FPC_GENERAL.

At runtime: i can see the new "Status" tab in the application, but once I press on it, I can't see my custom UIBB. Navigation seems to be fine, as pressing another (standard) tab brings me to the desired section.

Any idea? Is there a "known" point I could debug in order to understand where the problem is?

Many thanks!

matteo_montalto
Contributor
0 Kudos

Found something interesting....

...trying to debug from the method ONACTIONSWITCH_VIEW  of the view CNR:VIEW of FPM_OIF_COMPONENT, i found that in method SORT_UIBBS of the class CL_FPM_FLOORPLAN_INTERNAL, in row 24:

*----- rebuild wiring information if variant has changed

   evaluate_wire_info( ).

*----- handle wires of independently wired composite components

   handle_composite_comp_wires( ct_uibb ).

*----- anything to do?

   CHECK mv_wiring_active = abap_true.

This CHECK is always true for the standard components while for my custom one it fails.

MV_WIRING_ACTIVE is equal to abap_false so the execution stops in that point. Wondering if this has something to do with the problem.

matteo_montalto
Contributor
0 Kudos

Ok, news; it seems that the auth problem is over... solved by reviewing the buyer's role.

Anyway, now there's no auth problem but the view isn't triggered; when I click on my custom tabpage, the underlying view is not visible.

I tried debugging the WDDOINIT method of the view, but that isn't executed.

So I probably missed something in the configuration phase... could anyone help me understanding the issue? Thanks in advance