What is Enterprise

In my recent meeting with one of my corporate client, we were discussing the issues that his company was facing and my first reaction to all of his problems were that why aren’t they using the Microsoft ERP Solution to overcome the short comings.

Many of the people are unaware of the fact that ERP can be solution to their complex tasks of daily routine. Moreover ERP is a very big Term, and utilizing all of its features is obviously not the solution, because ERP comes with a price. The main insight of using it is that you utilize its features completely and fully step by step; and leave the features which are not applicable to the company.

Before deciding which enterprise to go with its important that you understand that what an ERP Application can offer you and at what price. Deciding the ERP Solution heavily depends on its Licensing cost and its feature sets. This article will cover the Feature sets of ERP and Microsoft Offerings of ERP.

1        What is Enterprise

Enterprise software is an over-arching term for any software used in large organizations (whether business or government). Enterprise software, also known as enterprise application software (EAS), is computer software used to satisfy the needs of an organization rather than individual users. Such organizations would include businesses, schools, interest-based user groups, clubs, charities, or governments. Enterprise software is an integral part of a (computer-based) information system.

ERP is usually referred to as a category of business-management software — typically a suite of integrated applications—that an organization can use to collect, store, manage and interpret data from these many business activities.

2        Services Provided by Enterprise Software

The Services provided by the Enterprise Software varies from business to business but if we go through the features provided by some of the great ERP Product planners, following are some of them:

  • Interactive product catalogue: Management of All the products related activities, like its stock, barcode scanning, product features and attributes.
  • Enterprise content management: Enterprise content management (ECM) is a formalized means of organizing and storing an organization’s documents, and other content, that relate to the organization’s processes.
  • Customer relationship management: Customer relationship management (CRM) is an approach to managing a company’s interaction with current and potential customers. It uses data analysis about customers’ history with a company and to improve business relationships with customers, specifically focusing on customer retention and ultimately driving sales growth.
  • Enterprise resource planning: Enterprise resource planning (ERP) is the integrated management of core business processes, often in real-time and mediated by software and technology.
  • Business intelligence: Business Intelligence (BI) comprises the strategies and technologies used by enterprises for the data analysis of business information. BI technologies provide historical, current and predictive views of business operations
  • Project management: Project management is the discipline of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria at the specified time.
  • Human resource management: Human resource management (HRM or HR) is the management of human resources. Commonly referred to as the HR Department [by whom?], it is designed to maximize employee performance in service of an employer’s strategic objectives.
  • Online shopping and online payment processing (Retail) : This feature of ERP is responsible to manage all the activities related to Retail, Which includes the product management, product stocks in ware house, payment processing, Online Portal or Mobile Apps for Online Shopping.
  • Enterprise application integration and Enterprise Form Automation: The Enterprise application must be Integra table with the third party tools and must allow the Configuration or customization for form automation.

These are some set of features that makes the ERP system to produce better results for the company.

2.1       Characteristics of an Enterprise Software:

In order to understand ERP beyond the services, it important to know, how the ERP will be performing when deployed in premises or used over the cloud. ERP systems typically include the following characteristics:

  • An integrated system
  • Operates in (or near) real time
  • A common database that supports all the applications
  • A consistent look and feel across modules
  • Installation of the system with elaborate application/data integration by the Information Technology (IT) department, provided the implementation is not done in small steps

2.2       Functional & Technical Areas of Enterprise Software:

As I have mentioned before, ERP itself .An ERP system covers the following common functional areas. In many ERP systems these are called and grouped together as ERP modules:

  • Finance & Accounting: General Ledger, Fixed Assets, payables including vouchering, matching and payment, receivables Cash Management and collections, cash management, Financial Consolidation
  • Management Accounting: Budgeting, Costing, cost management, activity based costing
  • Human resources: Recruiting, training, rostering, payroll, benefits, retirement and pension plans, diversity management, retirement, separation
  • Manufacturing: Engineering, bill of materials, work orders, scheduling, capacity, workflow management, quality control, manufacturing process, manufacturing projects, manufacturing flow, product life cycle management
  • Order Processing: Order to cash, order entry, credit checking, pricing, available to promise, inventory, shipping, sales analysis and reporting, sales commissioning.
  • Supply chain management: Supply chain planning, supplier scheduling, product configurator, order to cash, purchasing, inventory, claim processing, and warehousing (receiving, put away, picking and packing).
  • Project management: Project planning, resource planning, project costing, work breakdown structure, billing, time and expense, performance units, activity management
  • Customer relationship management: Sales and marketing, commissions, service, customer contact, call center support — CRM systems are not always considered part of ERP systems but rather Business Support systems (BSS).
  • Data services : Various “self–service” interfaces for customers, suppliers and/or employees

3        How Enterprise Evolved

The history of ERP’s are not too old, The Gartner Group first used the acronym ERP in the 1990s, where it was seen to extend the capabilities of material requirements planning (MRP), and the later manufacturing resource planning (MRP II), as well as computer-integrated manufacturing.[citation needed] Without replacing these terms, ERP came to represent a larger whole that reflected the evolution of application integration beyond manufacturing.

3.1       Traditional ERP

ERP systems experienced rapid growth in the 1990s. Because of the year 2000 problem and the introduction of the euro that disrupted legacy systems, many companies took the opportunity to replace their old systems with ERP.

ERP systems initially focused on automating back office functions that did not directly affect customers and the public. Front office functions, such as customer relationship management (CRM), dealt directly with customers, or e-business systems such as e-commerce, e-government, e-telecom, and e-finance—or supplier relationship management (SRM) became integrated later, when the Internet simplified communicating with external parties.

3.2       Modern ERP

Developers now make more effort to integrate mobile devices with the ERP system. ERP vendors are extending ERP to these devices, along with other business applications. Technical stakes of modern ERP concern integration—hardware, applications, networking, supply chains. ERP now covers more functions and roles—including decision making, stakeholders’ relationships, standardization, transparency, globalization, etc.

4        Reasons you need Enterprise

Following are the reasons that you need an enterprise

  • ERP can improve quality and efficiency of the business. By keeping a company’s internal business processes running smoothly, ERP can lead to better outputs that may benefit the company, such as in customer service and manufacturing.
  • ERP supports upper level management by providing information for decision making.
  • ERP creates a more agile company that adapts better to change. It also makes a company more flexible and less rigidly structured so organization components operate more cohesively, enhancing the business—internally and externally.
  • ERP can improve data security. A common control system, such as the kind offered by ERP systems, allows organizations the ability to more easily ensure key company data is not compromised.
  • ERP provides increased opportunities for collaboration=. Documents, files, forms, audio and video, emails. Often, each data medium has its own mechanism for allowing collaboration.=

5        Microsoft Enterprise Stack

Now by knowing the insights of the ERP, I think we are able to judge the Microsoft Offerings of ERP .In computing, Microsoft Dynamics is a line of enterprise resource planning (ERP) and customer relationship management (CRM) software applications. Microsoft Dynamics forms part of “Microsoft Business Solutions” Dynamics can be used with other Microsoft programs and services, such as SharePoint, Yammer, Office 365, Azure and Outlook. The Microsoft Dynamics focus-industries are retail, services, manufacturing, financial services, and the public sector. Microsoft Dynamics offers services for small, medium, and large businesses

Microsoft Dynamics ERP includes the following primary products:

5.1       Microsoft Dynamics 365 for Finance and Operations (formerly Dynamics AX)

Microsoft Dynamics 365 for Finance and Operations (formerly Dynamics AX) – multi-language, multi-currency enterprise resource planning (ERP) business software with global business management features for financial, human resources, and operations management as well as additional industry capabilities for retailers, professional service industries, financial service businesses, manufacturers, and public-sector organizations.

5.2       Microsoft Dynamics GP (formerly Great Plains Software)

Microsoft Dynamics GP (formerly Great Plains Software) – ERP software for small and midsize businesses: helps manage financials, supply chain, and employees.

5.3       Microsoft Dynamics NAV (formerly Navision)

Microsoft Dynamics NAV (formerly Navision) – business management solution that helps small and mid-sized businesses manage their financials, supply chain, and people. It features multiple languages and multiple currencies.

5.4       Microsoft Dynamics SL

Microsoft Dynamics SL (formerly Solomon IV) – designed for project-driven organizations in North America. Business management software that supports future business growth.

5.5       Microsoft Dynamics CRM

Microsoft Dynamics CRM is a customer relationship management application from Microsoft that provides sales, service, and marketing capabilities. Microsoft sells Microsoft Dynamics CRM separately from the ERP products. CRM is available either as on-premises software or as a software-as-a-service offering called “Microsoft Dynamics CRM Online”.

The Following charts Explains the Evolution of Microsoft ERP Stack

Advertisements

Interview Questions

1        .NET Specific

1.1       .NET 1-5 Rating Questions

What are Properties in C#, what are its advantages? Explain the 3 types of properties in C#? http://venkatcsharpinterview.blogspot.com/2009/03/c-interview-questions-on-properties.html
What is a virtual property. Give an example? http://venkatcsharpinterview.blogspot.com/2009/03/c-interview-questions-on-properties.html
What is an abstract property. Give an example? http://venkatcsharpinterview.blogspot.com/2009/03/c-interview-questions-on-properties.html
What is diff between const and read only?
What are the differences between value types and reference types? http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions-on-value-types.html
What is Boxing and Unboxing? http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions-on-boxing-and.html
What is the difference between string keyword and System.String class? http://venkatcsharpinterview.blogspot.com/2009/01/basic-c-interview-questions-on-strings.html
Are string objects mutable or immutable? Why is it immutable ? http://venkatcsharpinterview.blogspot.com/2009/01/basic-c-interview-questions-on-strings.html
Difference between string and StringBuilder in c#
Collection and Generics
What are Advantages and disadvantages of using generics? http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions.html
What is Collection?

·        What collection to use when you need a sequential list where the element is typically discarded after its value is retrieved?

·        If need random access to Items?

·        If Need access to elements by Key?

what is jagged array in C#?
What’s the difference between IEnumerable and List ? http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions.html
What’s the difference between IEnumerable and IQueryable ? http://www.dotnetfunda.com/interviews/cat/110/linq
What is LINQ? What is the benefit on using LINQ over Dataset ? http://www.dotnetfunda.com/interviews/show/3815/what-is-the-benefit-of-using-linq-on-dataset

1.2       .NET 5-10 Rating Questions

Difference between EXE and DLL http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions.html
What is DLL HELL in .NET http://venkataspinterview.blogspot.com/2011/05/what-is-dll-hell-in-net.html
Delegates and Events
What is a delegate? What is the main use of delegates in C#? http://venkatcsharpinterview.blogspot.com/2011/05/c-interview-questions-on-delegates.html
What do you mean by chaining delegates?

Or

What is a multicast delegate?

http://venkatcsharpinterview.blogspot.com/2011/05/c-interview-questions-on-delegates.html
What are different Type of Delegates in C# ?
Remoting
What is .NET Remoting? What are the 2 message encoding formats supported by .NET Remoting and when do you choose one over the other? What are the 2 message encoding formats supported by .NET Remoting and when do you choose one over the other? http://venkatcsharpinterview.blogspot.com/2010/04/remoting-interview-questions.html
If a method’s return type is void, can you use a return keyword in the method? http://venkatcsharpinterview.blogspot.com/2009/07/c-interview-questions-on-methods.html
Threading
What is the difference between Threads and Tasks? http://dotnetpattern.com/multi-threading-interview-questions
What are Concurrent Collection Classes? http://dotnetpattern.com/multi-threading-interview-questions

2        Object Oriented Programming

2.1       OOP 1-5 Rating Questions

What are Constructors? Can a class or a struct have multiple constructors? http://venkatcsharpinterview.blogspot.com/2009/07/c-interview-questions-on-constructors.html
Can a child class call the constructor of a base class? http://venkatcsharpinterview.blogspot.com/2009/07/c-interview-questions-on-constructors.html
Explain the difference between passing parameters by value and passing parameters by reference http://venkatcsharpinterview.blogspot.com/2009/07/c-interview-questions-on-methods.html
What is the main advantage of using inheritance? http://venkatcsharpinterview.blogspot.com/2009/02/c-interview-questions-on-inheritance.html
What is Polymorphism and Inheritance?
When can a derived class override a base class member? http://venkatcsharpinterview.blogspot.com/2009/02/c-interview-questions-on-polymorphism.html
What is the difference between a virtual method and an abstract method? http://venkatcsharpinterview.blogspot.com/2009/02/c-interview-questions-on-polymorphism.html
What is interface? Can an Interface contain fields? http://venkatcsharpinterview.blogspot.com/2009/07/c-interview-questions-related-to.html
What is the difference between function Overloading and Over Riding? http://venkatcsharpinterview.blogspot.com/2009/02/c-interview-questions-on-access.html
What are different type of Access Modifiers in C#? https://stackoverflow.com/questions/614818/what-is-the-difference-between-public-private-protected-and-nothing
What is a sealed class? http://venkatcsharpinterview.blogspot.com/2009/02/c-interview-questions-on-abstract-and.html
Can derived classes have greater accessibility than their base types?
What are the difference between interfaces and abstract classes http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions.html
Does C# support multiple class inheritance? Why C# does not support multiple class inheritance? (Diamond Problem) http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions.html
What are Advantages of using Interfaces http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions.html

2.2       OOP 5-10 Rating Questions

What are the difference between interfaces and abstract classes http://venkatcsharpinterview.blogspot.com/2009/01/c-interview-questions.html
What is a partial class. What are the advantages of using partial classes? Is it possible to create partial structs, interfaces and methods? Can different parts of a partial class inherit from different interfaces? http://venkatcsharpinterview.blogspot.com/2009/07/c-interview-questions-on-partial.html
Can a class have static constructor? Can you have parameters for static constructors? http://venkatcsharpinterview.blogspot.com/2009/07/c-interview-questions-on-constructors.html
Can you pass value types by reference to a method? http://venkatcsharpinterview.blogspot.com/2009/07/c-interview-questions-on-methods.html
Design Patterns And Principles
What is SOLID Principle ? What is Single Responsibility Principle? http://www.c-sharpcorner.com/UploadFile/damubetha/solid-principles-in-C-Sharp/
What different Types of Design Patterns in C# ? What purpose they are used ? http://www.dotnettricks.com/learn/designpatterns/gang-of-four-gof-design-patterns-in-net
What is Singleton Pattern? Why is it used? http://www.dotnettricks.com/learn/designpatterns/gang-of-four-gof-design-patterns-in-net
What is Factory Pattern  ? Why is it used? http://www.dotnettricks.com/learn/designpatterns/gang-of-four-gof-design-patterns-in-net
What is Bridge Pattern ? Why is it used? http://www.dotnettricks.com/learn/designpatterns/gang-of-four-gof-design-patterns-in-net
What is Adapter Pattern ? Why is it used? http://www.dotnettricks.com/learn/designpatterns/gang-of-four-gof-design-patterns-in-net
What is Strategy Pattern? Why is it Used? http://www.dotnettricks.com/learn/designpatterns/gang-of-four-gof-design-patterns-in-net
What is Observer Patter? Why is it Used http://www.dotnettricks.com/learn/designpatterns/gang-of-four-gof-design-patterns-in-net

3        Database

3.1       OOP 1-5 Rating Questions

What is the difference between Having and Where clause http://venkatsqlinterview.blogspot.com/2011/05/sql-server-interview-questions-by-topic.html
What is the difference between Drop, Delete and Truncate statements in SQL Server? http://venkatsqlinterview.blogspot.com/2011/05/basic-sql-server-interview-questions.html
DIfference between primary key and unique key in SQL Server? http://venkatsqlinterview.blogspot.com/2011/05/basic-sql-server-interview-questions.html
What is Cascading referential integrity constraint? http://venkatsqlinterview.blogspot.com/2011/05/basic-sql-server-interview-questions.html
What is the use of an Index in SQL Server? https://stackoverflow.com/questions/91688/what-are-the-differences-between-a-clustered-and-a-non-clustered-index
What are the 2 types of Indexes in SQL Server? https://stackoverflow.com/questions/91688/what-are-the-differences-between-a-clustered-and-a-non-clustered-index
What is a Trigger in SQL Server? http://venkatsqlinterview.blogspot.com/2011/05/sql-server-interview-questions-on_10.html
What is the difference between inner join,left outter join and right outer join?
Write the Query to get the Second Largest value in the Table ?

3.2       OOP 5-10 Rating Questions

What are the 2 types of Temporary Tables in SQL Server? http://venkatsqlinterview.blogspot.com/2011/05/sql-server-interview-questions-on_2213.html
What is the difference between Local and Global Temporary Tables? http://venkatsqlinterview.blogspot.com/2011/05/sql-server-interview-questions-on_2213.html
In which database, the temporary tables get created? http://venkatsqlinterview.blogspot.com/2011/05/sql-server-interview-questions-on_2213.html
What you  will do if the query below is performing very slow? http://venkatsqlinterview.blogspot.com/2011/05/sql-server-interview-questions-on.html

https://dzone.com/articles/6-simple-performance-tips-sql

What are Partition Tables? And when to use them ?
What is the difference between a Temporary Table and a Table Variable? http://venkatsqlinterview.blogspot.com/2011/05/what-is-difference-between-temporary.html
What is the difference between a User Defined Function (UDF) and a Stored Procedure (SP) in SQL Server http://venkatsqlinterview.blogspot.com/2011/05/what-is-difference-between-user-defined.html

4        Web

ASP.NET Page is very slow. What will you do to make it fast http://venkataspinterview.blogspot.com/2011/09/aspnet-page-is-very-slow-what-will-you.html
What is page lifecycle of ASP.NET https://www.tutorialspoint.com/asp.net/asp.net_life_cycle.htm
what is veiwstate? Difference between EnableViewState and ViewStateMode properties? http://venkataspinterview.blogspot.com/2011/12/difference-between-enableviewstate-and.html
What is the difference between layers and tiers. Advantages ? http://venkataspinterview.blogspot.com/2011/03/what-are-advantages-and-disadvantages.html
What are the different Session state management options available in ASP.NET? http://www.c-sharpcorner.com/UploadFile/8ef97c/Asp-Net-interview-questions-and-answers/
What is caching in ASP.NET http://www.c-sharpcorner.com/UploadFile/8ef97c/Asp-Net-interview-questions-and-answers/
What is MVC?
What are Cookies in ASP.NET? What are different types of Cookies? http://www.c-sharpcorner.com/UploadFile/8ef97c/Asp-Net-interview-questions-and-answers/

http://venkataspinterview.blogspot.com/2008/07/aspnet-interview-questions-on-cookies.html

What is Query String in ASP? http://www.c-sharpcorner.com/UploadFile/8ef97c/Asp-Net-interview-questions-and-answers/
What are different page navigation techniques in ASP.NET? http://venkataspinterview.blogspot.com/2008/07/interview-questions-on-aspnet-page.html

5        Desktop

What is a DataSet? Can you enforce constarints and relations on tables inside a DataSet? http://venkataspinterview.blogspot.com/2008/11/aspnet-interview-questions-on-dataset.html
What is the difference between DataSet.Copy() and DataSet.Clone()? http://venkataspinterview.blogspot.com/2008/11/aspnet-interview-questions-on-dataset.html

6        SharePoint

Reusing the Operating System For VM Domain issue.

When you are trying to run the VM on your previously stored VHDX, And when you try that machine to join the DC and your domain controller also uses the same copy of your VHDX file, then you get the SID Error, do the following to ignore the error:

  1. At the command prompt, change to the root folder of drive C, Type C: then type CD %SystemRoot%\System32\Sysprep
  2. and then run sysprep

 

image

Top 10 Microsoft Dynamics CRM Integration

Proposing Dynamics CRM to The Small and large Scale Business Organization has been much easy because the system is capable of integrating with different Microsoft Products and 3rd Party Applications.

1

The integration Is easy and doesn’t require many configurations in the case of Microsoft Products. This article will discuss side by side the Integration capabilities of Dynamic CRM online And Dynamics CRM 2016.

1.1       Microsoft SharePoint

After using the Dynamics CRM the first thought comes into your mind that although you are storing in the information and the activities related to customer interaction or you are giving services to your client after the successful opportunity. But now you are willing to store the Documents Related to leads, opportunity or services may be.

Although this can be achieved through storing the Attachments in the ‘Notes’ Entity of the Dynamics CRM. So this full fills the solution of attachments. But now when I need to search for my document in the CRM, I have to go through all my notes section to get the information out.  Similarly, the storage issue is the bigger when you use the Dynamics CRM Online, the storage is filled in instantly when you use to CRM to store the attachments.

This is where SharePoint comes into play, Dynamics CRM Allows integration with SharePoint in two ways i.e. Server Based Integration and Client Based integration. Client based integration uses a sandbox solution will be obsolete in the future. Whereas server based solution is supported on both On-Premises and Online Integration. The Diagram shows the Two Way Path of integration between SharePoint and Dynamics CRM. Dynamics CRM Support the Following Server Based Integration:

  • SharePoint on – Premises to Dynamics CRM On-Premises
  • SharePoint online to Dynamics CRM On-Premises
  • SharePoint online to Dynamics CRM Online
  • SharePoint on – Premises to Dynamics CRM Online

2

1.2       Microsoft Outlook

I remember my client complaining about how hard is for him to track the email activities with his client in Dynamics CRM. He wasn’t at all comfortable with sending or receiving the emails through Dynamics CRM Web interface.  Moreover, most of the business user aren’t comfortable of logging into the CRM Web Interface and manage their email activities.

Dynamics CRM offers an outlook add-on which can heal the pain area of tracking the email activities or creating the leads directly from outlook. Following are the benefits integrating outlook with Dynamics CRM

  • Automatically link Outlook emails to associated CRM records including contacts and opportunities
  • Create personalized CRM views in Outlook
  • Access all CRM end-user functions in the Outlook interface
  • Open CRM records from any linked Outlook email
  • Rely on the familiarity of Outlook to reduce training costs & gain rapid user acceptance

The Above add-on can be used with both Dynamics CRM On-Premises and Dynamics CRM online.

4

1.3       Microsoft Exchange

In order to Outlook work with dynamics CRM, we need to integrate Dynamics CRM with Exchange. Dynamics CRM can be integrated with Exchange and Exchange Online using server-based integration as shown in the diagram.

With the Exchange Integration, the user will be able to sync all the contacts, appointments and tasks at a single place in CRM. And Similarly, the Automated Emails can only be generated from CRM if the integration is done with Exchange.

3

1.4       Yammer

I am a kind of a person who usually works with different sales team on an opportunity, I like communicating with my colleagues on lead, opportunities or even on services. All these communications are on mail on Phone calls, all though we can track the phone calls and emails in the dynamics CRM. But what about my users who are not a part of Dynamics CRM.

Using Activity feeds of Dynamics CRM just allow to be social with the dynamics CRM users, but not other users. So Dynamics CRM allows integration with Yammer so you can collaborate with the users inside the CRM and or users who aren’t the part of CRM. As getting social is equivalent to bring in success as a team.

Dynamics CRM Online and Dynamics CRM On-Premise allows integration with Yammer. But for that, you need to purchase Yammer Enterprise Subscription per user.

5

1.5       One Note

Getting notes while working on the Tasks, is a day to day routine for us. Getting Notes really helps us when we get back to the task. One of my clients had complained that it’s hard managing multiple leads because he needs something that reminds him that what was the last working he has done on the lead, opportunity, quotes, orders, Cases etc.

Dynamics CRM Online allows integrating One Note, and this requires the Subscription of Office 365. Integration with One Note:

  • You can easily take notes against each Opportunity, Leads, or any other entity
  • No more hustles when coming back to the pending Leads
  • Easy Interactive, capturing of notes.

6

1.6       Power BI

It’s a world of big Data, and the next big thing in the future is to analyze the data to extract the patterns and the main goal is to increase the revenue. Dynamics CRM offers rich Dashboards and charts but they have limitations. With the Help of Power BI, this limitation can be broken and the rich analysis can be done to get higher revenues. Reports on Power BI can be generated using Dynamics CRM OData Layer.

Dynamics CRM exposes its data using the DATA Web service Layer, Power BI can extract the data and based on it create the reports and rich Dashboards for executives and employees.

7

1.7       Office 365

Managing Hardware has been problematic for the corporates, as they have to hire IT, team, to manage the resources, which in turn bring cost Software, Hardware, and Resources to manage them. Office 365 being a cloud Solution offers Dynamics CRM online to easily integrate with the following:

  • SharePoint Online: Integrate for Document Management
  • Exchange Online: integrate to Generate emails from CRM to customers.
  • Skype For business: Communicate within a team and Contact the clients directly using Skype for business, by getting rid of traditional calling methodologies
  • One Note: track the notes against the leads, opportunities.
  • Yammer: Collaborate and work
  • Power BI: Rich Dashboards and Reports
  • Outlook App: Use outlook with Dynamics CRM Online, for creating the leads directly from email and much more.

1.8       ERP Integration (Dynamics AX, Dynamics GP, Dynamics NAV)

Microsoft has released a data integration tool for linking Microsoft Dynamics NAV/AX and Microsoft Dynamics CRM – creatively called the Microsoft Dynamics Connector.

The connector allows for out of the box bi-directional integration between the ERP entities and the CRM entities such as Customer, Invoices, Sales Orders, and Items. The connector works with both on-premise and online and uses web services for the data integration. The integration will look at the following entities in the Microsoft Dynamics ERP and Dynamics CRM:

8

1.9       Integration with ESB

Dynamics CRM exposes the SOAP based Interface through which the external Entities can connect and communicate with Dynamics CRM. Moreover following are the Areas in which integrations can be done:

  • Custom Workflow activities
  • Plug-ins
  • Discovery Service of Dynamics CRM

However, in order to integrate with the ESB, Following are the products that can be used to perform the operations in the Corporate Environment:

  • Azure Bus
  • BizTalk
  • Mule

9

On Form Load Check the User Team and Lock the form the if the owner of the record team doesn’t matches with Logged in user.

Following code will help you in the following:

  • getting the team names in the system
  • getting the team associated with the user.
  • validating the action if the team name doesn’t match

On Load Function that calls the getCurrentUserTeamNames

function Form_OnLoad_ValidateUserTeam() {
    var userTeams = getCurrentUserTeamNames();
    if (userTeams != null && userTeams.length > 0) {
        if (!isValidateFormAccess(userTeams)) {
            DisableFormFields();
        }
    }
}

function isValidateFormAccess(userTeams) {
    debugger;
    var recordOwner = Xrm.Page.getControl("header_ownerid").getAttribute().getValue();
 
    //var myStringArray = ["Hello", "World"];
    var userTeamsLength = userTeams.length;
    for (var i = 0; i < userTeamsLength; i++) {
        if (userTeams[i] == recordOwner[0].name) {
            return true;
        }   //Do something
    }
    return false;
}

GetCurrentUserTeamNames: this function will return the team names of the user

function getCurrentUserTeamNames() {
    debugger;
    //ajax call to get data from CRM
    var serverUrl = location.protocol + "//" + location.host + "/" + Xrm.Page.context.getOrgUniqueName();
    var odataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc" + "/" + "TeamSet?$select=Name,TeamId";
    var userTeams = [];
    $.ajax
    (
     {
         type: "GET",
         contentType: "application/json; charset=utf-8",
         datatype: "json",
         async: false,
         url: odataSelect,
         beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
         success: function (data, textStatus, XmlHttpRequest) {
             for (var i = 0; i < data.d.results.length; i++) {                  if (Check(data.d.results[i].TeamId)) {                      //alert("You are associated with team: " + data.d.results[i].Name);                        userTeams.push(data.d.results[i].Name);                  }              }              },            error: function (XmlHttpRequest, textStatus, errorThrown) {              if (XmlHttpRequest && XmlHttpRequest.responseText) {                  alert('OData Select Failed: ' + textStatus + errorThrown + odataSelect);              }          }      }     );       return userTeams; }       function Check(teamid) {       var userId = Xrm.Page.context.getUserId(); //Fetching user Id of current logged in user     var serverUrl = location.protocol + "//" + location.host + "/" + Xrm.Page.context.getOrgUniqueName();     var odataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc" + "/" + "TeamMembershipSet?$filter=SystemUserId eq guid'" + userId + "' and TeamId eq guid'" + teamid + "'";     var boolFlag = false;     $.ajax     (      {          type: "GET",          contentType: "application/json; charset=utf-8",          datatype: "json",            async: false,          url: odataSelect,            beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },          success: function (data, textStatus, XmlHttpRequest) {              if (data.d.results.length > 0) {
                 //alert(data.d.results[0].TeamId);
                 boolFlag = true;
             }
         },
 
         error: function (XmlHttpRequest, textStatus, errorThrown) {
             if (XmlHttpRequest && XmlHttpRequest.responseText) {
                 alert('OData Select Failed: ' + textStatus + errorThrown + odataSelect);
             }
         }
     }
    );
 
    return boolFlag;
    //return false; //Returing false if the user is not associated with the team
}
 
 
 
function DisableFormFields() {
    disableAttrs();
    RefreshGrids();
}
 
 
 
function RefreshGrids() {
 
    var opportunitySubgrids = Xrm.Page.getControl(function (ctrl, i) {
        if (ctrl.getControlType() == "subgrid") {
            return (ctrl);
        }
        else {
            return false;
        }
    });
 
    opportunitySubgrids.forEach(function (attribute, index) {
        var control = Xrm.Page.getControl(attribute.getName());
        if (control) {
            control.refresh();
        }
    });
 
 
 
}
 
function disableAttrs() {
    debugger;
    Xrm.Page.data.entity.attributes.forEach(function (attribute, index) {
        var control = Xrm.Page.getControl(attribute.getName());
        if (control && (control.getName() != "processid" && control.getName() != "stageid")) {
            control.setDisabled(true);
 
            //notification();
 
        }
    });
    Xrm.Page.ui.setFormNotification("The Form is Locked", "INFORMATION")
}
 
function tabdisable(tabname, disablestatus) {
    var tab = Xrm.Page.ui.tabs.get(tabname);
    if (tab == null) alert("Error: The tab: " + tabname + " is not on the form");
    else {
        var tabsections = tab.sections.get();
        for (var i in tabsections) {
            var secname = tabsections[i].getName();
            sectiondisable(secname, disablestatus);
        }
    }
}   // tabdisable
function sectiondisable(sectionname, disablestatus) {
    var ctrlName = Xrm.Page.ui.controls.get();
    for (var i in ctrlName) {
        var ctrl = ctrlName[i];
        var ctrlSection = ctrl.getParent().getName();
        if (ctrlSection == sectionname) {
            ctrl.setDisabled(disablestatus);
        }
    }
}  // sectiondisable

Please Feel Free to contact me if anyone face issues. The current Code requires that

Jquery and Json must be included in the form