Monday 23 June 2014

Make the right move from enterprise software sales to an enterprise solution provider


Socrates is considered a great teacher. His method  was to ask probing, open ended questions which enabled his audience to understand problems better and agree on his conclusions.
When we go about acquiring new business, try to position yourself as Socrates and the customer as the student. For a successful deal closure eventually the customer needs to be convinced of our solution offering to him.
It has become a common occurrence to see a customer complaining about enterprise software sales people trying to sell products which don't fit their requirements. Similarly, we frequently hear customers complaining that the implemented product does not meet their requirements.
In the current scenario, product selection poses a tremendous challenge for a customer. His IT team is bombarded with a host of requirements from different business verticals. It's getting increasing difficult for them to evaluate products by themselves and finalize one.
Hence what the customer seeks from the enterprise software provider is to be their IT consulting partner and guide them with right solutions. Customer is not looking for disconnected products, but a set of integrated IT components which coordinate seamlessly in their IT environment.
Although traditional sales representatives are at a distinct disadvantage in this environment, there are an increasing number of high performers who have understood the shift and embraced the change. They have adopted the following strategies:
  • Act as an IT solution partner instead of just selling product.
  • Engage with the customer more before outright selling. Understand the customer pain areas in totality and not just restrict to your domain. This helps establish mutual trust.
  • Propose a solution road-map to the customer which aligns with customer's short term and long term plans.
  • Be receptive of customer feedback and act on it.
Customers these days are smart to understand that a product out of the box is usually not a direct fit. Hence make the right move of changing from a product centric approach to solution provider.

Written by:

Mr. Vivek Iyer- An IT professional having more than 13+ years of experience in experimenting and building commercially viable usage of different technology solutions.Presently working as Practice Head - Microsoft Dynamics CRM at Direction Software Solutions, Mumbai, India.He enjoys traveling and exploring new places.

Thursday 19 June 2014

Interactive Reports in NAV 2013 R2

With the world cup football 2014 in full swing, I am struggling to catch up up with my goal of weekly post to my blog Smile. But thought of catching up on the same today.
In this edition of post, let me show you some of the interactive features of Microsoft Dynamics NAV 2013 R2 reports
NAV 2013 R2 reports can be pretty interactive in terms of -
  • Interactive sorting
  • Drilling down to detailed data
  • Toggling the visibility of any field [say image] based on user action.
These features are kind of giving more power to end users of NAV to view their reports in their own way. Let them decide how they want to sort the report and help them with details of information wherever possible.
To demonstrate the same, let me create a report in NAV 2013 R2 and take you through these interactive features.
I will create a simple report based on Item Master – ‘Item List Interactive’ with the following columns displayed in the report -
  • - No
  • - Description
  • - Base Unit of Measure
  • - Costing Method
  • - Inventory and
  • - Picture of the item
So I opened the developer environment of NAV 2013 R2, created a new report and inserted the DataItem with the Data Source ‘Item’ table and added the above mentioned columns in the Report Dataset Designer as below -
image
Now let us design the layout of the report. [I am using SQL Server 2012 Report Builder 3.0 for layout Designing]. Go to View > Layout and this will open the Report Builder’s Layout Designer [a blank one]. Just add a table and drag and drop the fields displayed in Dataset_Result under the group Datasets in the Report data pane in the left [You could use a Table Wizard (Insert > Table > Table Wizard) also to include the fields in the layout] -
image
Your layout will look more or less similar to my above screenshot.
————————————————————————————————————————
[Note: Use a image control instead of a textbox control to display the picture field. Otherwise the the picture column will not show the images of the items and will display an ‘Error’ wherever picture is present for the item.]
————————————————————————————————————————
Now your basic report is complete. Close the report builder and save the report and run it from the object designer itself. Though we have not selected any key in the DataItem’s property ‘DataItemTableView’, you will see that the list of items are sorted on [No] column as that’s the primary key of the item table.
image
Also, wherever the item has a picture stored in the database, the same will be displayed in the Picture column of the report.
image
Our next job is to make it more interactive and enable the major columns [Say ‘No’, ‘Description’ and ‘Costing Method’] dynamically sortable during runtime. For that we will go back to our report and open the layout in report builder.
In the layout design, right click on the header textbox of the [No] column and open the text box properties.
image
In the properties window, go to the Interactive Sorting tab and in the right hand side pane, tick the [Enable interactive sorting on this text box]
image
Keep the [Choose what to sort] on [detail row] selected and go to the field [sort by]. Here select [No] column. Click on the ‘Ok’ and you are done with making the [No] column interactively sortable during runtime.
Similarly make the [Description] and [Costing Method] column interactively sortable by repeating the above steps (Right click on the header of the column and open the text box properties. Go to the interactive Sorting tab and tick the [Enable interactive sorting on this text box]. Also select the corresponding field in [sort by]) .
Save the report layout and come out of the Report Builder. In NAV report designer window, click anywhere and it will prompt you to synchronise the report object and the modified RDLC [.rdl] file -
image
————————————————————————————————————————
[This happens every time you modify anything in the report layout in either Report Builder or Visual Studio and come back to NAV report designer]
————————————————————————————————————————
Say yes and save & compile the report.
Let us test how the report is behaving now after all the above changes. Select the report in Object Designer window and run it. This will open the request page of the report where click on the preview button to display the report -
image
In the preview, immediately you can notice that there are some visual changes in the report and the [No], [Description] and [Costing Method] columns have up/down arrows in their header. This denotes that these columns are enabled with interactive sorting.
Click on the column header of [No] and you will see the sorting of the data is getting changed from ascending to descending and if you click again, the sorting is reverting back to ascending way. The same sorting behaviour you can see for the other 2 columns too ([Description] and [Costing Method]).
image
So, we just made our simple ‘Item List Interactive’ report dynamically / interactively sortable on the basis of multiple columns.
That’s closes this session on Interactive features of Microsoft Dynamics NAV 2013 R2 reports. Do send / write to me your feedback on the same. In my next session I will continue with my discussion on rest of the interactive features [Drill down and Image Toggling] of NAV 2013 Report. Till then happy reading and enjoy the Football World Cup matches Smile.


Written by:
Mr. Snehanshu Mandal is a technologist having more than 11+ years of experience in experimenting and building commercially viable usage of different technology solutions.Presently working as Practice Head - Microsoft Dynamics NAV at Direction Software Solutions, Mumbai, India.

Tuesday 10 June 2014

ADCS – Automated Data Capture System

Probably I felt about writing on ADCS (Automated Data Capture System) configuration in Microsoft Dynamics NAV 2013 R2, when I myself struggled a bit to gather all the relevant information to manage it properly. There are always some missing points in all documentation related to ADCS configuration and all of them are not collated together very well in any documentation.So here is my guide to ADCS configuration Smile


First of all let’s understand the architecture of ADCS in NAV 2013 R2; mind it – its no more MSMQ as communication mode between VT100 plugin and NAV server. Now the communication happens via web services -

image
[the above image is taken from msdn site]

I am not going into details of the architecture here. I assume you already understand it or will read about it on your own.
Now, what exactly you need to concentrate on to configure the ADCS? I divide it into 4 parts:
A. Installation of ADCS [Microsoft Dynamics NAV VT100 Plugin]
B. NAV configuration changes for ADCS
C. Logon permission to VT100 Service
D. ADCS config file.
Let me install ADCS afresh in my laptop and describe the steps to you:

A. Installation of ADCS:
I already have NAV 2013 R2 installed in my laptop and I am opening the add / remove programs and adding the ADCS component to the same by clicking on the ‘Change’

image


Once the NAV 2013 R2 maintenance window opens, select ‘Add or Remove Components’. This will open the list of components available to be installed -

image

Click on the ‘Automated Data Capture System’ and select ‘Run from my computer’. Click on the ‘Next’ button and that will open the ‘Specify parameters’ window -

image

if you have NAV 2013 R2 already installed, you don’t really need to change anything in this window. Review the properties and click on the ‘Apply’. This will start installing the ADCS component for Microsoft Dynamics NAV 2013 R2

image

This completes the installation of NAV ADCS component. Let me go to my next step -
B. Configuration changes in NAV for ADCS:
Once the installation is successfully done, let us come back to NAV RTC and check few things in which will enable ADCS to communicate with NAV server / database effectively –
B.1 ADCS User:
You need to create a ADCS user which will be used for authenticating the device’s access to the database. Go to ‘CRONUS India Ltd. / Departments / Administration / Application Setup / Warehouse / ADCS’ and open the ‘ADCS Users’

image

Create a new user and assign a password to it. The same user id and password you need to pass while connecting NAV from the handheld device.
B.2 Connect ADCS user with the Warehouse Employee:
Identify the ADCS user as one of the Warehouse employee [which in turn identify itself as one of the window’s login in NAV. for more details on the same, read about creating warehouse employees]. Go to  ‘<Company Name> / Departments / Warehouse / Setup / Warehouse’ and open ‘Warehouse Employees’ window -

image

Link between windows user [warehouse employee] and the ADCS user you have just created in previous step.
Now this user will have a default location [Default will be ticked next to the location code] which he can use in his warehouse related transactions in NAV. The same location must be ADCS enabled too. This step need to be repeated if the user has access to multiple location.
B.3 Enabling Location for ADCS use:
Open the location card [where the above defined user has access to work on] and tick ADCS checkbox in the warehouse fast tab.

image

B.4 Check the miniforms:
Go to ‘<Company Name>/Departments/Administration /Application Setup/Warehouse/ ADCS’ and open the list of miniforms

image

These are the default miniforms available in ‘Cronus’ company and the same can be copied to any new company / installation you have created. These miniforms can manage all the standard warehouse functions / activities but you have the liberty to create additional miniforms to cater to additional custom activities [If you create any additional miniforms, the same may need changes in the associated ADCS related codeunits in NAV. These codeunits are between 7700 and 7714].
B.5 Publish the ADCS Web Service:
Publish the Web Service which will be called by the VT100 Component [Check the architecture at the top of the post] of NAV. Open the Web services window and add a new service with the object type ‘Codeunit’ and select 7714 in ‘Object Id’ -

image

Be sure the to keep the Service Name as ‘ADCS’. Check the service availability by copying the SOAP url and pasting it in your browser. This should display the details of the Web Service.
C. Logon permission to VT100 Service
Additionally the ADCS component of NAV [Microsoft Dynamics NAV VT100 plugin] must have the access to NAV database. This is determined by whether the logon user used for this plugin has the necessary permission in NAV database or not.
You can use an existing user id already used in NAV as logon user id for VT100 or you can create a dedicated windows user id for this use. The same user must have ‘ADCS ALL’ Permission Set. If you are not sure about the permission set you can go ahead with the ‘Super’ Permission Set assigned to the user.
For example, here I have used my user id as logon user for Microsoft Dynamics NAV VT100 plugin. [Services can be opened by typing in ‘services.msc’ in your Search / Run box]

image

Start the service of this plugin once you are done with logon information changes.

D. ADCS config file:
Lastly you need to check if the information mentioned in the ADCS config file are correct as per the NAV environment you are working on. Go to ‘C:\Program Files (x86)\Microsoft Dynamics NAV\71\Automated Data Capture System’ and edit the ‘Microsoft.Dynamics.Nav.VT100Plugin.exe.config’ file. [Note: VT100 plugin is a 32 bit application and i have 64 bit OS. That;’s why it under the folder ‘Program Files (x86)]
Majorly 3 attributes need to be checked here -
a. “NavWSEndpoint” url: Make sure this has the right url pointing to your ADCS web service. You can actually copy the SOAP url from the ADCS Web Service in Web Services window and paste it here.
b. Terminal listenIP: This denotes the IP address of the machine that is running the VT100 Plug-in service. 127.0.0.1 denotes the localhost. This you need to mention while logging to VT100 plugin from Handheld devices [This you can find in your Hosts files located in ‘C:\Windows\System32\drivers\etc’ folder]
c. Terminal listenPort: VT100 plugin uses port number 6666 by default.

image

Note: if you have changed any text in this file for your environment, please make sure that you have restarted ‘Microsoft Dynamics NAV VT100 Plugin’ service.
Phew! Thankfully all the configuration is now over and I need to test the same. For this I will try simulating the ADCS functionality using a HyperTerminal client application  or Telnet. As windows 7 (my os) no longer have a HyperTerminal client included I will settle for Telnet,
[Note: you can enable Telnet in ‘add or remove programs > Turn windows feature on or off’ from control Panel if it is already not enabled / not visible]
So I have run the telnet and the telnet command prompts open up. Below mentioned command prompt is to connect to my VT100 service using port no 6666 in localhost-
‘o<space>localhost<space>6666’

image

Pressed enter and I got the ADCS login window displayed in my telnet command prompt -

image

Typed in my user id and pressed enter. Typed in my password and pressed enter.
[telnet can take 1 input at a time so you need to put your user id first and press enter and then you can put your password. And the text display may not look like that you have typed it right. but don’t worry, type user id and password correctly and it will work fine]
voila! We are done here. This opens up the list of functionality available to be used through ADCS and this list is nothing but the list of miniforms available in NAV -

image

That ends my session on configuring ADCS in Microsoft Dynamics NAV 2013 R2. From here you can go ahead and experiment on the default ADCS functions available in NAV.
If anything in any stage of this tour is not working fine in your environment, the best way to troubleshoot the same is to check the windows event viewer. it gives a hint / a clear picture what is wrong in your configuration. I am attaching a few scribbling I did on the whiteboard during one of my classroom training

9KTT5eCbUV0e8WW9Q92EK6T8

If you want further details on troubleshooting, you can refer to below msdn link -
See you guys in my next post (probably a topic on interactive report designing in NAV 2013 R2. Keep Reading.

Written by:
Mr. Snehanshu Mandal is a technologist having more than 11+ years of experience in experimenting and building commercially viable usage of different technology solutions.Presently working as Practice Head - Microsoft Dynamics NAV at Direction Software Solutions, Mumbai, India.

Monday 2 June 2014

NAV 2013 R2 Report layout design with Report Builder

I was travelling to Kochi, Kerala to conduct a 6 day session on NAV 2013 R2 topics to a bunch of guys from one of the  Microsoft Partner. it was 3 months back and as client requested to demonstrate the topics in NAV 2013 R2, I upgraded my laptop with NAV 2013 R2 from NAV 2013 FP1.
During the training, when we reach the topics on Reports, I got a rude shock that my report layout  design is not longer opening and its throwing an error as below (though I have visual studio 2010 installed in laptop) -
image
Normally I ensure to keep all dependent software of NAV installed right in my laptop. But this time I missed out the fact that NAV 2013 R2 is no longer compatible with Visual Studio 2010. Rather it needs VS 2012 or higher.
Now I got a situation here as I even don’t have the installable of Visual Studio 2012 / 2013 Smile and I need to demonstrate the report designing features to my audience.
Fortunately with my installation of NAV 2013 (R2), the SQL Server 2012 express version was installed and along with that, the Report Builder 3.0 too was got installed in my Laptop. Though I was more comfortable in designing the reports in Visual Studio, but I quickly adapted to the new environment and managed the show perfectly. And trust me my audience was happy Smile.
So the fact is that -
  • NAV 2013 R2 no longer uses Visual Studio 2010 for report layout design. Rather it looks for Visual Studio 2012 / 2013.
  • If you don’t have the Visual Studio 2012 / 2013, you can still manage to design the report using Report Builder 3.0. This is a component of SQL server 2012 reporting services and gets installed when you install SQL server 2012.
  • Among the 2 report authoring tools, Visual studio is still the default report authoring tool.  So even though you have the Report Builder 3.0 in your machine, you will see that NAV 2013 R2 is looking for Visual Studio 2012 / 2103 and still throwing the above mentioned error (picture).
To make NAV 2013 R2 use Report Builder 3.0, you need to change an option property in your NAV environment. To do the same -
  • Open NAV 2013 R2 development environment.
  • go to Tools > Options. the below mentioned screen will open -
image1
  • Change the ‘Use Report Builder’ property to ‘Yes’. The default value will be ‘<No>’.
  • Press ‘Ok’.
Once this is done,  NAV 2013 R2 will no longer look for Visual Studio 2012 / 2013 and will open the Report Builder 3.0 for designing the report layout.
Note: If you are interested in knowing the difference between designing the report in Visual Studio (Report Designer) and designing the report in Report Builder, you can check out the below url for more details  -
Enjoy Reading. I will come back with more topics on report designing soon. bye for now.
Written by:
Mr. Snehanshu Mandal is a technologist having more than 11+ years of experience in experimenting and building commercially viable usage of different technology solutions.Presently working as Practice Head - Microsoft Dynamics NAV at Direction Software Solutions, Mumbai, India. He regularly writes at Navision Can Be Fun.