cancel
Showing results for 
Search instead for 
Did you mean: 

Not possible to enhance a context node?

paul_bakker2
Active Contributor
0 Kudos

Hi,

We're on Ehp6.  I am trying to enhance a standard SAP ABAP webdynpro (FMCA_WDY_FPF_RETURN) by adding a new attribute to the (Component Controller's) context node FMCA_RETURN.

(This context node is mapped to the dictionary structure FMCA_POBJ_S_INIT_WD which already contains the enhanced Z fields that I wish to include.)

According to SAP Help, it should be possible to add a new attribute to a node (as part of an enhancement), but when I try it, the right-click menu is greyed out.

Steps:

- go to Component Controller screen, Context tab

- click on the 'hotplate' button and create an enhancement

- rightclick on the node (FMCA_RETURN) and choose Create > Attribute

  or

- right-click on the node (FMCA_RETURN) and choose Create Using The Wizard > Attributes From Components of Structure

I can't perform either of those last two steps because the 'Attribute' option is greyed out..

Note 1773375 says that it should be possible:

Possible enhancements in the controller:

--------------------------------------

Creating attributes, events, and methods

Adding controller usages

Creating a new node with attributes in the context;

Further attributes can also be attached to an original node

Has anyone been able to do this? I welcome your tips and advice.

thanks

Paul Bakker

Accepted Solutions (1)

Accepted Solutions (1)

ramakrishnappa
Active Contributor
0 Kudos

Hi Paul,

Hope you are not trying to add an attribute in view context. right? As in view's context tab, we cannot enhance the context nodes if its mapped from component controller.

Please share the snap shot of the menu after right click on node.

Regards,

Rama

paul_bakker2
Active Contributor
0 Kudos

Rama,

Thanks for the quick reply. Yes, I am in the Component Controller's context, not the View.

It's the same on all the context nodes.

Have you ever been able to do this yourself?

thanks

Paul

ramakrishnappa
Active Contributor
0 Kudos

Hi Paul,

Yes, I have done in my system.

Please find the below snap shot

as per note 1773375, it should be available from Release 700.

Regards,

Rama

paul_bakker2
Active Contributor
0 Kudos

I just tried to do the same thing on another webdynpro (FPM_DEMO_FLIGHT_OVERVIEW) and it works! I can add additional fields from the data dictionary structure.

So what is different about this webdynpro? All other types of enhancements appear to work (eg I have added screen fields, post-exits on methods, etc).

Scratching my head here...

ramakrishnappa
Active Contributor
0 Kudos

Hi Paul,

That is weird.

I don't have TRM module specific components in my system but I have tested with FMCA_ECMD  component, it works fine.

Unfortunately I could not able to find any suitable snotes related to your issue.

Please check if enhancement with other TRM module components like FMCA*... works fine.

Regards,

Rama

paul_bakker2
Active Contributor
0 Kudos

Hi,

I found the answer through debugging. There is a rule that you cannot enhance context nodes that are inherited from interface controllers:

class CL_WDY_WB_CONTEXT_EDITOR_VIS

method FILL_UI_EXCLUDING_TAB

*   6. context elements that are part of implementations of interface definitions may not be changed

if context_editor->is_intf_implementation_item( l_context_node-ref_api_context_element ) = abap_true.

   

.. and in this case, these context nodes are inherited from INTERFACE CONTROLLER IWCI_IF_FMCA_WDY_FPF_INIT..

So can I enhance the 'interface controller' instead? No. The hotplate is greyed out.

Game over.

Thanks for your help

Paul

ramakrishnappa
Active Contributor
0 Kudos

Great Paul... found the reason

Yes, we cannot enhance the interface controllers.

Regards,

Rama

Answers (0)