cancel
Showing results for 
Search instead for 
Did you mean: 

How to add a field in all the configurations of the BSP View at once together in SAP CRM ?

0 Kudos

I have a requirement to add the custom field in all the available configurations of the standard View SRQM_PROBLEM_H/ProblemHeaderEF. There are around 650 configurations for this view. Is there any way to add the field in all of these 650 configurations at once all together to save the time?

As of now we are adding the field manually into each configuration. Please let me know if there is any workaround for this problem.

Accepted Solutions (0)

Answers (1)

Answers (1)

CarstenKasper
Active Contributor
0 Kudos

Hi Rasika,

maybe the reply is a little late. Hope it still helps you or someone else.

First: There is no standard way for mass changes that I know of.

Below I give you some hints for a custom solution. It depends on your amount of data and you ABAP skill if it is a viable option for you.

Basic Information

The UI Configurations are XML that is stored as string in table BSPC_DL_XMLSTRX2.

You have to keep in mind that there are multiple types of UI Configurations: Form, Table, Advanced Search, Overview Page. Furthermore these Configurations can again contain a separate version for Display and Edit.

Additionally there might be information for Buttons and Attributes.

SAP provides a Utility class to work with all these quirks: CL_BSP_DLC_CONFIG_UTIL

Example of GRID View Configuration XML

<?xml version="1.0"?>
<grid gridtype="16Column2Panel" rows="10 " cols="16 " width="100%">
 <gridcell col="1" row="2" colspan="8">
  <header id="467F962D82740DF4E10000000A421458" textid="467F962D82740DF4E10000000A421458"/>
 </gridcell>
 <gridcell col="9" row="2" colspan="8">
  <header id="4853A48C6E59581DE10000000A421847" textid="4853A48C6E59581DE10000000A421847"/>
 </gridcell>
 <gridcell col="1" row="3" colspan="3">
  <label for="//BTADMINH/STRUCT.DESCRIPTION"/>
 </gridcell>
 <gridcell col="4" row="3" colspan="5">
  <inputfield id="//BTADMINH/STRUCT.DESCRIPTION" value="//BTADMINH/STRUCT.DESCRIPTION" mandatory="" disabled=""/>
 </gridcell>
 <gridcell col="9" row="3" colspan="3">
  <label for="//BTPARTNEROWNER/PARTNERNO"/>
 </gridcell>

Approaches

1. XML parsing.

The most simple solution I can think of is XML parsing. Write a new Report to select all relevant Configurations from the above table. Then parse the XML using ABAP (see SXML or IXML libraries) and add your field at the desired place.

Of course you have to keep track of any translations and stuff.

2. Utility Classes

With the above Config Util you can transform the XML to an internal table, do you adjustments and then convert it back to XML and save.

I suppose you could do it with methot ADV_CONF_META_TO_TABLE and its counterpart. Some years ago I used this approach to realize a requirement with user dependent fields. I switched visiblity, input readyness and the mandtory flag during runtime.

As written above these are development hints for a skilled ABAPer. I do not have and will not provide a complete solution.