cancel
Showing results for 
Search instead for 
Did you mean: 

SRM validate the Catalog Item when copying from old templates

Former Member
0 Kudos

Do SRM validate the Catalog Item when copying from old templates and previous shopping carts? Is this standard functionality?

Thanks,

Rajan

Accepted Solutions (0)

Answers (3)

Answers (3)

jason_boggans
Active Contributor
0 Kudos

As per Seyed's last response, I will mark the thread as assumed answered.

jason_boggans
Active Contributor
0 Kudos

Hi Rajan,

To follow on from Masa's reply, please also note only certain fields are validated, these fields are identified in subroutine catalogcontent_validate_get and are:

Price

Currency

Delivery Date

Leadtime

Unit of measure

Regards,

Jason

Former Member
0 Kudos

Hi Jason,

If we need to add another field that needs to be validated, how do we go about?

Should we modify the subroutine to add further fields that need to be validated?

Or is there any other way?

Thanks,

Seyed

jason_boggans
Active Contributor
0 Kudos

Hi Seyed,

You would need to modify the Subroutine to extend the validation method, please remember that you will not receive support from SAP in this area as it is modification to the standard.

Regards,

Jason

Former Member
0 Kudos

Jason,

Thanks for your feedback

I analyzed the Sub-routine and associated code and although it looks straightforward, I understand the implications. If our business demands that this validation need to be done, then we dont have an option.

I try to stay away from modifying SAP mode as much as possible.

I wish there were a BADI for this!

-Seyed

Former Member
0 Kudos

Continuation to my previous post:

My findings based on the analysis I did. Might help people who are looking for similar info.

As Jason mentioned, the Subroutine name is CATALOG_CONTENT_VALIDATE_GET

This is under package BBP_SC --> Function Group: BBP_SC_APP

After making a webservice call to get catalog details, the mapping is done as below.

IF sy-subrc EQ 0.

READ TABLE lt_enriched_item INDEX 1.

IF sy-subrc EQ 0.

ls_item_validate-price = lt_enriched_item-price.

ls_item_validate-currency = lt_enriched_item-currency.

ls_item_validate-price_unit = lt_enriched_item-price_unit.

ls_item_validate-deliv_date = lt_enriched_item-deliv_date.

ls_item_validate-leadtime = lt_enriched_item-leadtime.

ls_item_validate-unit = lt_enriched_item-unit.

ELSE.

lv_validate_item_exception = gc_yes.

ENDIF.

ELSE.

lv_validate_item_exception = gc_yes.

ENDIF.

If you go one level deeper into subroutine PERFORM sc_itm_copy_to_basket, you can see that following validations are performed.

If EITHER price, currency or price unit changes, we get the message u201C&: Price changed due to catalog validationu201D

If UOM changes, we get the message u201C&: Unit of measure changed in catalog; item not transferredu201D

When Delivery date or lead time changes, no message is raised but the new values are copied.

In a nut shell, the fields that are considered for validation are Price, Currency, Price Unit, UOM, Delivery date, Lead Time.

Thanks,

Seyed

masa_139
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

Yes. It is standard function. You have to set the "Validate Product Data from SRM Enterprise Buyer" in the catalog definition. And catalog side should return NEW_ITEM-EXT_PRODUCT_ID to SRM.

Regards,

Masa