Personalized Community is here!
Quickly customize your community to find the content you seek.
Now Available in Community - New TechTalk Videos for 2021
2021 Release Wave 2Discover the latest updates and new features releasing from October 2021 through March 2022.
2021 release wave 2 plan
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Community | FastTrack Program | Finance and Operations TechTalks | Customer Engagement TechTalks | Upcoming TechTalks | All TechTalks
I'm adding a field to an existing entity by implementing this in the 'post' trigger of the GetProductServiceRequest.
My question is: do I still need to extend the Retail Server API, or will this field be automatically included since the Retail Server calls the CRT, and the call itself does not change ?
I see you raised the same question in Yammer and got some answer already.
I will leave this for the community to answer. Let's see if anybody has experienced the same and can advise for you anything.
HI Ramune - on Yammer the suggestion was to use extension properties. But that doesn't work for me as the data needs to reside in HQ. So I added it as a new field to HQ, and extended CRT as described in the docs by creating a new linked table.
Question is now: how do I get to this field when calling the retail API ?
Can you please check the code in sample StoreHours from RetailSDK.
Thanks Diogo - that is a good tip, I was not aware of that documentation. However, that example creates a new entity. My question is around the extension I did on GetProductServiceRequest - I added a post trigger that returns an extra field. How do I modify the Retail API to pass on that new field ?
So you created a new table in Ext Retail Channel schema and you want fill the field in your crt extension (post trigger)?
And then with CDX job upload the data from the channel db to HQ db.
If yes, please take a look at the following sample from RetailSDK (its handler not trigger but you can take the example): \RetailSDK\SampleExtensions\CommerceRuntime\Extensions.SalesPaymentTransExt
You can also take a look at the old but always useful post from R&D Solution Architect:
It's a little different from what you are describing: I added a field to the InventTable in F&O.
Then I extended CDX so that this field ends up in the ChannelDB )[ext] schema)
Then I extended CRT by adding a post trigger for the GetProductsServiceRequest request type.
But now I'm stuck. From what I understand, I now need to extend the Retail API to pass this field on. But all documentation and samples I can find talk about a NEW request type. Not extending an existing request type with an extra field ?
For those interested, I got it to work. I did NOT need to extend the retail API. Extending CRT was sufficient. One of the issues was to determine what Retail API Call was calling what CRT call.
Once I knew that, I extended the proper CRT call, returned the new field in there, and I was able to access the new field as an extended property on the response message.
For detailed steps:
Business Applications communities