Posts

Managing creation of ZIP files for data packages for D365F&O, using Azure functions

Image
Background Managing data operations using Data Packages is one of the very common execution strategies for any D365F&O implementation.  A data package for a finance and operations app can consist of one or many data entities. A typical data package consists of  a group of entities for a specific task, process, or function . For example, the data entities that are required for general ledger setup might be part of one data package. Importing data that are required for customer creation (e.g. customer group, payment terms, payment methods, reason codes, customers) could be another data package. It’s a very common requirement to make the data packages be exchanged as a part of integration. We could have an external system that a.        drops files on a shared FTP site b.        drops files on a blob storage c.        sends mailers containing file content d.    ...

Issue with createNavigationMethod property

Image
I am sure, you must have seen this happening. In fact this has been happening in the 10.0.30 version onwards.  When you create relations on your table and try to build your solution, your project gives an error saying "( expected." The error doesn't show anything or won't take you anywhere if you double click on it. The reason behind this lies in the property of the relation which you've given in your table level. You have chosen to keep 'createNavigationMethod' as 'true', but haven't given any name of the navigationPropertyMethod (it's an actual property actually, but now the compiler somehow expects this property to be either be filled or turn of the createNavigation altogether).   Solution:  a. Give a name to the navigation method property. or b. You can turn off the createNavigationMethod property as No. In that case, you might not be able to implement any UnitOfWorkFramework structure, using this table. Build your project. This will so...

Expression for parsing a tab separated text/flat file, using Logic Apps

Image
In an earlier post (https://www.blogger.com/blog/post/edit/2520883737187850604/6852187532033424242), we talked about parsing a CSV/Excel file to feed data into D365F&O, this post is a kinda corollary to that, here we'll be talking about parsing 'a tab separated' document, the necessary expression for the same. Suppose we have a file content like this: SalesPool Id Company Name Poo01122 USPM Pool 11222 Poo01123 USPM Pool 11223 Poo01124 USPM Pool 11224 Poo01125 USPM Pool 11225 Poo01126 USPM Pool 11226 As you've rightly guessed, its a tab separated file. In the control connecter where you are getting the content of the file >> you can use the following expression could help you to transform the incoming content into an array: split(decodeUriComponent(replace(replace(replace(uriComponent(body('Get_file_content_using_path')), '%0D', ''), '%09', ';'),'%0A', '#NEWLINE#')), '#NEWLINE#...

Azure functions to interact with D365FnO using bearer tokens

Image
This article talks about performing CRUD operations, using trigger based Azure Functions, that can generate tokens and further posts the payload to D365FnO for processing. Broadly, for ease of understanding, I have split up the entire design into  a. Token generation logic: we are going to generate a short lived bearer-token, and pass it on to FnO for further executions.  b. Storing/retrieving Azure App based parameters: this is most tricky part of the solution. Typically, all developers have a habit of storing environment variables at configuration level. But unfortunately, we cannot take the configuration to server, during the deployment. We can see what all the choices could we have here.    c. Posting the payload to D365FnO for furtherance.  Additionally (not shown here), you can include logic to validate the incoming data of various fields' data given, to take necessary action, before committing to D365FnO. So, buckle your seatbelt Dorothy, 'cause Kansas is...