cancel
Showing results for 
Search instead for 
Did you mean: 

How to change visibility of custom field in SAP Hybris Marketing?

0 Kudos

Hi Ladies & Gents,

we are using for a POC SAP Hybris Marketing 1702 on premise and based on extensibility guide in chapter 2.1 it is explained how to extend a data source and business object.

So far so good. I thought by copying the involved information model (result of program HPA_WHERE_USED_INCL) and adding the customer fields into OUTPUT panel, this controls also the visibility of each single customer field in corresponding fiori apps, but that's not the case. There is also no further description how to do that.

On the other hand I found the "Custom field and Logic" App where a business object/context can be enhanced and on field level the field usage for UI & reports configured.

The field in the blue box is the customer field created by "Custom field and Logic" App. The other fields in red box are created by enhancing the BO "Interaction Contact" in BOB.

So my question is, where those information are stored and is there a possibility to set the field status (optional, display, hidden) beside the above mentioned App, in case the business object (e.g. Interaction Contact, Initiative) will be extended by extensibility guideline? Is there maybe a hidden customizing table (not present in SAP Hybris Marketing IMG) where such information are stored?

Best Regards,

Frank Mohrmann

0 Kudos

Ok, I figured out that customer field information are stored in table CFD_L_RT_FIELDS but I assume in the meanwhile, that "Custom field and Logic" App isn't necessarily SAP Hybris Marketing specific; right? At least table CFD_L_RT_FIELDS is assigned to package S_CUSTOM_FIELD which seems to be basis component.

I tried also to enhance the BO "Interaction Contact" in transaction BOB by new customer field with suffix _enh (persistent include) and _enhf (transient include) to see if then this field will be shown at least in "Custom field and Logic" App, but it was not.

So my conclusion for now is, that the only possibility to change customer fields (visible / hidden) without using the "Custom field and Logic" App is to implement an own model provider class where the metadata for ODATA service CUAN_COMMON are set.

This would be then very static.

Accepted Solutions (0)

Answers (3)

Answers (3)

vervinckt_joyca
Active Contributor
0 Kudos

Hi,

This question resembles the following SAP Improvement Request a bit, so maybe you can vote for that request. Or create an additional request in case it's still different?

https://influence.sap.com/sap/ino/#/idea/205227

Kr,

Joyca

stefan_nasshan
Active Participant
0 Kudos

So you want to be able to define for each custom extension field for every UI it is used with whether it is visible, readonly or optional? What does optional mean in this case?

Unfortunately, this is not possible. Either all fields of a UI are readonly or write-enabled. This can be managed with the role being used. The visibility of a single field can be defined in Custom Fields and Logic app by selecting the UIs where the field shall be visible.

0 Kudos

Hi Stefan,

thanks for you reply.

That means in consequence, if I create for instance 20 custom fields via Append in transaction BOB and 2 fields therefrom are technical fields which are not supposed to be displayed in any UI, I have no chance to hide those fields, because if I chose this way they are not available in Custom Fields and Logic App; right?

So I have to make my decision in upfront on how to create custom fields for marketing.

BR,

Frank

stefan_nasshan
Active Participant
0 Kudos

Correct. Only solution in this case (when using BOB) would be to also adopt the UI.

danny_lipkovski2
Participant
0 Kudos

That also means that we have no chance to set a custom field(created via BOB or Custom fields and logic app) as mandatory?
Are there any known workarounds or is this requirement already on the backlog for future releases?

Regards

Danny

vineet_kaul
Contributor
0 Kudos

Hi Danny,

I am not sure of all the business contexts but for campaigns there is an initiative check BADI which can be implemented to make custom fields mandatory for user to fill in, of course they do not come as * marked but an error message can be displayed if the custom fields or even the standard fields do not match your expected criteria. In a similar way there may be BADI for contact update(there is a BADI) which even reflects on the UI end once contact is updated.

Thanks

Vineet

hakan_kose
Contributor
0 Kudos

Hi,

I too have created custom fields using both BOB transaction (as recommended in Extensibiltiy Guide) and also Custom Field and Logic App.

I think there has to be an easy way to set field status (at least with hidden/display only options). I once asked a question on this forum, too. However there hasn't been any answer yet.