Posts

Creating LedgerDimension from DefaultDimension in D365F&O

Image
  Its a very common requirement to create ledgerDimension, based on DefaultDimension. Generally we have a habit of hardcoding the dimension names, to get the resulting ledgerDimension value: ex -- dimensionMap.insert('CostCenter', '0033501_036'); dimensionMap.insert('Location', '2023GBG'); Where CostCenter, Location, Purpose, etc. are various financial dimensions. But wouldn't it have been great, if we could generalize the code, so as to eliminate dimension names hardcodes, so that if tomorrow the client decides to include more dimensions, edit or remove some of them, we don't have to change our code? This article can give you a very handy code to do the same. All you need to do is to call it correctly 😊 I have created a class separately: DimDimensionHelper. The following method has been added: public static Map getDimensionWiseDimensionValues_DefaultDimension(DimensionDefault _dimensionDefault)     {         Map dimMap = new Map(Type...

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#...