Skip to main content

Microsoft Dynamics NAV 2016 - New Function CURRENTCOMPANY.

Hi All,

Today in NAV 2016 I was writing a piece of code using Events & Subscriptions.

Below are some details of that -

I want to write some details on another company when a Item is inserted in a particular company but also wanted to fire OnInsert Trigger of Item in another company too.

Yes we all know how it is done in Navision C/AL Code, using CHANGECOMPANY and TRANSFERFIELDS.

But The Issue was the Subscriber was called again when the Insert was happening in the another company and it was looping through it. At the end it was generating an error message.



TO CUT THE STORY SHORT - 
"I was having troubles with Identifying the Company Where My Subscriber Should not Execute."

What's New & How Issue was Resolved ?

Till NAV 2015 The Function COMPANYNAME was the only function to get the Company Name, But this will always give you the company name where the code is being executed.

SO If I have 2 Companies (Cronus USA & Cronus INDIA) and I am writing below piece of Code and Executing in Company Cronus USA.

//CODE
MySecondCompany := 'Cronus INDIA'

Message(COMPANYNAME);
Customer.CHANGECOMPANY(MySecondCompany);
Message(COMPANYNAME);

//CODE

Both Message will End UP With 'Cronus USA'. What I need is Cronus India.

With NAV 2016, There is a New Function available which is CURRENTCOMPANY that will return me the company name corresponding to the Record or RecordRef.

So Now If I do Like - 

//CODE
MySecondCompany := 'Cronus INDIA'

Message(COMPANYNAME);
Customer.CHANGECOMPANY(MySecondCompany);
Message(Customer.CURRENTCOMPANY);
//CODE

My Output will be - 

Cronus USA.
Cronus INDIA.

Sounds Cool, at least it sounds cool for me :)

Hope you can use it in future. If you still have doubts read details here in MSDN (Record) and read details here in MSDN (RecordRef)

Regards,
+saurav dhyani
saurav-nav.blogspot.com

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

RTC Report It is not possible to instantiate the Visual Studio bridge.

Hi all, As a Navision developers I have Multiple Versions of Navision running in single Machine. As discussed Earlier in the post how to run multiple Version of RTC in single machine. So my machine have following details for RTC Versions - NAV 2009 R2    - is installed. NAV 2009 SP1  - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 SP1 IN\ NAV 2009         - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 IN\ This approach has been working great for execution of Classic and RTC Clients. However, after installing Dynamics NAV 2009 R2, if i tried to view the Layout for an NAV 2009 SP1 Report i was getting the following error: ---------------------------  Microsoft Dynamics NAV Classic  ---------------------------  It is not possible to instantiate  the Visual Studio bridge.  ---------------------------  OK    --------------------------- After searching for the error i figured out the issue was due to - Design change in NA

NAV 2013 R2 - Cumulative update 12 Released.

Hi all, Please find below the details of  Cumulative Update 12 released for Microsoft Dynamics NAV 2013 R2. Title - Cumulative Update 12 for Microsoft Dynamics NAV 2013 R2 Build No. - 38053 Release Date - October, 2014 Local Version Included - AU, AT, BE, CH, DE, DK, ES, FI, FR, IS, IT, NA, NL, NO, NZ, SE, UK, RU Download Link Note: Implementing this cumulative update will require a database conversion unless you have already implemented update rollup 5.