cancel
Showing results for 
Search instead for 
Did you mean: 

Customer enhancment in standard Web dynpro component

Former Member
0 Kudos

Hi,

I found the procedure; how to enhance the SAP standard WEb dynpro component & add customer fields at header BASIC DATA level (INCL_EEW_PD_HEADER_CSF_CTR, INCL_EEW_PD_HEADER_CSF and META TABLE configurations). It worked perfectly.

However in my case, I have to enhance another component at the header level(not BASIC DATA).

Precisely it is a CONTRACT creation screen, and at header level, there is distribution table. I have to include a customer field in this distribution table.

The structure (/SAPSRM/S_CLL_DISTRIB) used for this distribution table is not included in the configuration of META TABLES.

Please tell me if there is any standard configuration available for adding customer fields at other than Header/Item BASIC DATA level.

Thank you for any inputs shared.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Poonam,

I also have the same requirement. We did not find any Metadata or even INCL structures to enhance this table control.

So we have decided to directly add the field through Implicit enhancement and using Postexits in WDMODIFYVIEW, ONACTIONOK, and WDDOBEFOREACTION.

However the fields on this screen are handled by Meatadata structure /SAPSRM/S_PDO_MDF_DO_CTR_DIS andMetadat class /SAPSRM/CL_CH_WD_MAP_META_INIT ( with no customer plugins) . We are still not able to make the field Visible on the screen.

Please let us know if you find any solution for this requirement.

Regards

Prasuna.

Former Member
0 Kudos

Hi Prasuna,

Yes you are right. I too tried many possibilities enhancing the standard SAP META TABLES, STRUCTURES and configurations. But they don't really help.

I think here one needs to handle the action & view their own. Therefore I am working on this by overwriting the Method for Modifying the View Before Rendering and displaying the screen fields by binding it to a seperate table structure created by me. It is working. You can try that in your case.

Former Member
0 Kudos

Hi Poonam,

Which methods did you modify, WDMODIFYVIEW?Did you use a overwrite exit or post exit? Did you add an append structure to BBP_PDS_DIS and then modify the Layout in the view to add the field to Distribution table?

Can you please let us know how you have added your field. Because when i tried adding my custom field to the NODE COMP_CONTEXT->DISTRIBUTION, the field is grayed out on screen even in edit mode.

Any information will be helpful.

Thanks in advance,

Regards

Prasuna

Former Member
0 Kudos

Hi Prasuna,

If you extend the same table and save your values, you might face issues of overwriting standrad field entries in database, resulting in DUMP at some point of execution.

Create your own z-table similar to the distribution table to save the values of your own fields with respect to entries in the standarad table. Bind your field attribute in VIEW with the z-table's field.

Handle the visibility of new field in the WDDOMODIFYVIEW using the SET_ATTRIBUTE_PROPERTY method for your node->attribute. Don't forget to bind the property of your new field.

Try to handle things seperately without disturbing the SAP standrad tables and structures.

Hope this helps you.

Former Member
0 Kudos

Hi Poonam,

Thank you for inputs!

Did you create a custom node in CONTEXT for adding the new column Or Did you make changes in DISTRIBUTION Node? We tried creating a Custom node and bind the field to Z Table, however when we set the Node's Cardinality as 0:n we get a Adapter Class DUMPS's.

Kindly advise.

Regards

Prasuna.

Former Member
0 Kudos

Hello Prasuna,

Create your own node in the DISTRIBUTION (This is mapped with the Component-controller, so u will hv to create a node + attribute with that field in Component-controller) and then map with the context. The node in controller will appear in context.

Now in layout, create a coloumn in distrbution and bind the value with the above created attribute(in node). Set the property 'enabled' as checked in properties. This will display the field in portal as editable always.

Now in order to make fields editable / display as per ur requirement, u need to write your own code in method: WDDOMODIFYVIEW. Handle the visibility of new field using the SET_ATTRIBUTE_PROPERTY method for your node->attribute. In this case, u need to remove the check from the 'enabled' property and bind the property with the 'bind to teh property of the selected attribute - enabled' of the same field.

Let me know incase u face issue in this.