Filters available in AX 2012
Filters plays a very important role in getting the data in a fast and easy manner. AX is designed in such a way that the filters can be used on all the forms. The user can filter the data by providing syntax in the filter field available on the form or by clicking Ctrl+ G. When the user clicks Ctrl+G, a new row is created below the column header of the grid. The following filtering and query options are available when you use embedded filters or queries. Syntax – Value Character Description – Equal to the value entered Description – Type the value to find. Example – Alex finds “Alex”. Syntax – !Value Character Description – Not Equal to the value entered Description – Type an exclamation mark in front of the value to exclude. Example –!Alex finds all values except “Alex” Syntax – From-value..To-value Character Description – Between the two values entered separated by double periods. Description – Type the From value, then two periods, and then the To value. Example – 10..30 finds all values from 10 to 30. Syntax – ..value Character Description – Less than or equal to the value entered Description – Type the two periods and then the value. Example – ..50 finds any number less than or equal to 50. Syntax – .. Character Description – Greater than or equal to the value entered. Description – Type the value and then the two periods Example – 50.. finds any number greater than or equal to 50. Syntax – >value Character Description – Greater than the value entered. Description – Type a greater than sign (>) and then the value. Example – >20finds any number greater than 20 Syntax – <value Character Description – Less than the value entered. Description – Type a less than sign (<) and then the value. Example – <50 finds any number less than 50 Syntax – value* Character Description – Starting with the value entered. Description – Type the starting value and then an asterisk. Example – S* finds any string that starts with S Syntax – *value Character Description – Ending with the value entered. Description – Type an asterisk and then the ending value. Example – *ltd finds any string that ends with ltd. Syntax – *value* Character Description – Contains the value entered. Description – Type an asterisk, then a value, and then another asterisk. Example – *pvt* finds any string that contains pvt. Syntax – ? Character Description – Having one or more unknown characters. Description – Type a question mark at the position of the unknown character in the value. Example – Sa??abh finds “Saurabh” Syntax – value,value Character Description – Matching the values entered separated by commas. Description – Type all your criteria separated by commas. Example – 30,80 finds exactly “30” and “80”. Syntax – T Character Description – Today’s date Description – Type “T” Example – Enter T and click Tab/Enter, it will bring todays date. The above provided syntax are very useful in day to day activities in AX. User can use the syntax in combination also, by using “&” syntax.
Share Story :
Connect to an external database using X++ code in AX 2012
Below are the steps to be performed, To connect to an external database using ODBC connection, first create a DSN. To create a DSN refer the link https://support.microsoft.com/en-us/kb/300596 Write the below code: Note : The database login credentials are given in the DSN. You can use windows credentials or provide SQL credentials, if required. In the above code, the below lines of code will initialise the connection to the database. sq = new SqlSystem(); loginProperty = new LoginProperty(); loginProperty.setDSN(/*your dsn name here*/); loginProperty.setDatabase(/*your database name here*/); oDBCConnection = new ODBCConnection(loginProperty); The below lines of code will execute the query and store the data in a resulSet. sqlStmnt = strFmt(“select * from ABC”); //write your query here statement1 = odbcConnection.createStatement(); perm1 = new SqlStatementExecutePermission(sqlStmnt); perm1.assert(); myResult1 = statement1.executeQuery(sqlStmt1); We can also execute the stored procedures in the database. Write the below code to do so. odbcConnection = new OdbcConnection(loginProperty); sqlStmt1 = strFmt(“exec [Stored Procedure name]”); perm = new SqlStatementExecutePermission(sqlStmt1); perm.assert(); statement1 = odbcConnection.createStatement(); statement1.executeUpdate(sqlStmt1); CodeAccessPermission::revertAssert(); Suppose you execute more than one stored procedure in the same code, you may get below error. “SQL error description: [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt” To eliminate this error, write below statement after every stored procedure is executed, statement1.close(); If there are multiple external databases on different servers, then you can create separate DSN to connect to each server. This connection information can be stored in a master table containing the DSN name, the database name. The X++ code can then use the connection details from the master table as shown below. loginProperty = new LoginProperty(); loginProperty.setDSN(masterTable.databseName); loginProperty.setDatabase(masterTable.databseName);
Share Story :
Power BI updates
Purpose of this blog is to showcase latest Power BI updates. Prerequisite: Power BI Desktop Tool, Power BI Personal Gateway and Power BI online service account. Purpose of the setup: To learn about latest Power BI updates from October month. Here we will be looking the below mentioned Power BI updates; Read-only Members in Power BI Groups Semi-select support for DAX formulas in Data view Read-only Members in Power BI Groups: Power BI have introduced a very good feature in Power BI online Service using which the user can create group in Power BI Online account with multiple users and these users can be assigned role as ‘Admin’ or ‘Member’.Let’s have a look. With such Power BI groups the user and his colleagues can come together to collaborate, communicate and connect with their data. The user can create a group either in Power BI or Office 365. Then, the user can invite co-workers into this group workspace where he can collaborate on his organization’s shared dashboards, reports and datasets. Up until now, all members had all the rights. Many of us required read-only membership to the groups so that the users you want to keep up to date but not have edit permissions on our dashboards and reports. So, this update exactly helps us to do the same; let’s have a look on how to do this. Now to begin with, first we’ll create our group by clicking the “+” icon near Group Workspaces. Now let’s add a few users to our group. FYI, Power BI Groups have two roles: Admins and Members. Now here, we will set one user to Admin and the remaining users to Members. We will click on Save to create the group. Now, let’s take a look what difference take place when an Admin and a member login to Power BI Online account and use the created group. As you can see, when person with Admin rights, login, than that user has right to ‘Explore’, ‘Schedule Refresh’, ‘Rename’, ’Delete’ etc. options available. Whereas, when a person with member rights login can only view the reports and Dashboard. Member of the group do not have the Dataset access and thus, cannot perform any edit operation. Thus, now we have option introduced for us to quickly switch a user from Member to Admin and vice-versa which will be very helpful. Semiselect support for DAX formula in Dataview : Power BI have introduced another very good feature in Power BI Desktop Tool using which the user can create new column using DAX function by directly clicking on the column. Let’s have a look First we have to open the Dataview Screen. Now, before this update user had to manually type the table and the column name to write the DAX function. With this update the user can directly click on the column name and create the DAX function as per the requirement.
Share Story :
Solutions to Frequent JavaScript Errors in CRM 2015 Update 1
In this Blog we will walk-through how to resolved CRM 2015 update 1 JavaScript Errors. Below is list of common errors. 1. ‘$ is not defined’ or ‘jQuery is not defined’ Description: You will get above error if you have ever used jQuery function in your JavaScript code. In earlier version of the CRM, we can able to access jQuery library directly but with the new form rendering engine it is not possible to access jQuery library. Resolution: Include jQuery library in your Entity Form Libraries. 2. Behaviour changed for Tab (open/close). Description: Please refer below example Ex. Read state of the Tab (onTabChanged) Below function will return different result based on Legacy/Turbo form Xrm.Page.ui.tabs.get(_tabName).getDisplayState() User Action Legacy Form Turbo Form Tab Close collapsed expanded Tab Open expanded collapsed 3. Cannot read property ‘getAttribute’ of null (Specific to Product Form) Steps to reproduced: Add new product Navigate to products Click on ‘View the data that will be sent to Microsoft’ Description: Error is encountered because CRM internally trying to access any fields which is not present of the form. By doing more researched I found that ‘Valid To’ and ‘Valid From’ field is required on the Form (Turbo Form rendering engine). Resolution: Please follow the below steps Add ‘Valid To’ and ‘Valid From’ in the form Hide both the field and lock this field on the form 4. + button is not working for Opportunity Product SubGrid on Opportunity form Description: Same problem with Quote/Order product SubGrid view. It is basically product bug in 2015 update 1. Resolution: Add custom HTML web resource for + sign and hide exiting one. Please find below steps to resolved this issue. Hide exiting SubGrid + sign using Ribbon workbench. Add HTML web resource for + sign. You can refer below code. <html> <head> <meta charset="utf-8" /> <title></title> <style> #plusSign { float: right; margin-top: 18px; cursor: pointer;” } </style> <script type="text/javascript" src="ClientGlobalContext.js.aspx"></script> <script> var GridCustomization = GridCustomization || {}; GridCustomization.data = {}; GridCustomization.parameterObject = {}; GridCustomization.openProductForm = function () { Xrm.Utility.openEntityForm(GridCustomization.data.EntityLogicalName, null, GridCustomization.parameterObject); }; GridCustomization.onLoad = function () { GridCustomization.data = {}; GridCustomization.parameterObject = {}; var id = GridCustomization.getQuerystring("id"); var plusSignAttribute = document.getElementById("plusSign"); if (plusSign && !id) { plusSign.disabled = true; return; } id = id.replace("%7b", "").replace("%7d", ""); id = id.replace("{", "").replace("}", ""); var entityNames = GridCustomization.getQuerystring("data"); var entityLogicalName, entitySchemaName, formToBeOpen; if (entityNames) { var tempArray = entityNames.split("%2c"); if (tempArray && tempArray.length === 2) { entityLogicalName = tempArray[0].toLowerCase(); entitySchemaName = tempArray[0]; formToBeOpen = tempArray[1]; } else { Xrm.Utility.alertDialog("Entity Name is not provided.", null); return; } } GridCustomization.data = { EntityLogicalName: formToBeOpen }; ///current record cab be Opportunity/Quote/Order var currentRecord = GridCustomization.retrieveRecord(id, entitySchemaName); if (currentRecord) { var entityLogicalNameId = entityLogicalName + "id"; GridCustomization.parameterObject[entityLogicalName + "id"] = id; GridCustomization.parameterObject["dynad_currencyid"] = currentRecord["TransactionCurrencyId"] ? currentRecord["TransactionCurrencyId"]["Id"] : null; GridCustomization.parameterObject["dynad_currencyidname"] = currentRecord["TransactionCurrencyId"] ? currentRecord["TransactionCurrencyId"]["Name"] : null GridCustomization.parameterObject["transactioncurrencyid"] = currentRecord["TransactionCurrencyId"] ? currentRecord["TransactionCurrencyId"]["Id"] : null; GridCustomization.parameterObject["transactioncurrencyidname"] = currentRecord["TransactionCurrencyId"] ? currentRecord["TransactionCurrencyId"]["Name"] : null; if (currentRecord["OrderNumber"]) { GridCustomization.parameterObject["dynad_ordernumber"] = currentRecord["OrderNumber"]; } } } GridCustomization.getQuerystring = function (key) { var work = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regex = new RegExp("[\\?&]" + work + "=([^&#]*)"); var qs = regex.exec(window.location.href); if (qs == null) return null; return qs[1]; } GridCustomization.retrieveRecord = function (id, entityName) { "use strict"; var req = new XMLHttpRequest(); req.open("GET", encodeURI(Xrm.Page.context.getClientUrl() + "/XRMServices/2011/OrganizationData.svc/" + entityName + "Set(guid’" + id + "’)"), false); req.setRequestHeader("Accept", "application/json"); req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); req.send(null); var data = JSON.parse(req.responseText); if (data && data.d) { return data.d; } else { if (data.error) { alert(data.error.message.value); } } return null; } GridCustomization.getLookupId = function (lookupObject) { if (!lookupObject && !lookupObject.Id) { return null; } return lookupObject.Id; } </script> </head> <body onload="GridCustomization.onLoad()"> <img src="/_imgs/ribbon/NewRecord_16.png" alt="New Line Item" onclick="GridCustomization.openProductForm()" id="plusSign"> </body> </html> Pass parameter to HTML Web Recourse Ex. Schema name of opportunity and logical name of opportunity product. Opportunity,opportunityproduct Make sure checkbox for object-type code and unique identifier as parameter is checked. Register below function onSave event of Opportunity Entity Form to reload HTML web resource for first time when Record is created. function reloadHTMLResource() { if (Xrm.Page.ui.getFormType() === 1) { var iInterval = setInterval(function () { if (Xrm.Page.data.entity.getId()) { clearInterval(iInterval); //reload PlusSign var plusSignControl = Xrm.Page.ui.controls.get(“WebResource_SubGridPlusSign”); if (plusSignControl) { plusSignControl.setSrc(Xrm.Page.context.getClientUrl() + “//WebResources/dynad_SubGridPlusSign?data=Opportunity%2copportunityproduct&id=” + Xrm.Page.data.entity.getId()); } } }, 1000); } }; Note: Kindly replace below text with appropriate value dynad_SubGridPlusSign?data=Opportunity%2copportunityproduct : %2c indicate punctuation mark (,) to split two entity name WebResource_SubGridPlusSign : name of HTML web resource added on the form.
Share Story :
Dynamics CRM 2016 Fall Preview Features
The 2016 fall preview will be a major release for Online and on premise customers which will emphasis on providing end-to-end Customer Engagement solutions from Microsoft Dynamics. This blog article will put light on capabilities of the Dynamics 2016 release. Marketing SMS Marketing SMS Marketing is focused on both – Inbound and Outbound SMS marketing in selected markets. Inbound SMS campaigns can be configured with SMS keywords to receive opt-ins from target marketing lists. Maintain opted-in and opted-users in different lists Outbound SMS campaigns to be used to actually send out marketing SMS messages to opted-in marketing lists. Tracking performance of campaigns. Email Marketing Email editor to be enhanced with the ability to see generated HTML. Improved editing experience. Sales CRM For Outlook App Key sales capabilities are delivered within Outlook. Users can create data in the Outlook application itself like Contacts, Opportunities etc. based on the Email in their Inbox. The CRM For Outlook App. will expand support to include Firefox, Safari for Mac & Outlook for Mac. Excel Integration Leveraging the capabilities of Excel Online from right within Microsoft Dynamics CRM. Data can be saved back to CRM while maintaining work context. Information Discovery Trending documents from Office Delve will now be available within CRM. OneDrive For Business OneDrive for Business has been added to give consolidated view of documents across SharePoint, OneDrive For Business and Office 365 groups within the context of a CRM record. Document Generation Documents can be built out of CRM data. Data can be extracted by a single click by using pre-generated Word and Excel templates. Authors should be able to manage the predefined templates and use wizard-like flow to design custom templates in Word or Excel. Documents generated from CRM will open as a downloaded document. Exception here is, for CRM Online, Excel documents will open in Excel Online. Cortana Integration Sales activities, accounts and Opportunities now embedded into Cortana. This will be a preview feature in Dynamics CRM Online 2016 customers. Customer Service Companies these days look to engagement and experiences that proves to be a differentiating factor for competition. Voice of the customer A new designer to design questionnaires and send the same to customer to get feedback. Customers can take survey on a computer, tablet or a phone. Once a customer completes a survey, Dynamics CRM triggers follow-up actions. Survey records are stored in customer records in CRM so that salespeople can use the same during a service case. Interactive Service Hub The new online user experience (UX) design provides intuitive end user experience for customer service roles. Multi-Stream Dashboard These are dashboards targeted at Tier One agents. Users can view and act on their data from My Activities, My Cases etc. Interactive charts are available to give a visuals of key metrics related to work. Single Stream Dashboard These dashboards are meant for Tier Two agents. This will consist of a single data stream on the left hand side of the view to show an aggregated view of the workload. Additionally, tiles on the right hand side of the dashboard are available to show data in numbers. Modern and Intuitive Design Data will be found with reduced clicks and navigation. The guided business process flow is further enhance to show process stage information as a fly out. The timeline provides rich time and record based filtering capabilities. Quick Actions on search results. External Party Access A foundation that allows external parties such as Employees, Customers and Partners to access CRM data with proper permissions. Knowledge Management Enables organization to create a single source of knowledge. The new editor provides team to keep knowledge articles approved and updated. Unified Service Desk Provides service organizations the unique ability to deliver a single agent desktop with access to back-end systems. This release improves the install experience by providing upgrades though Windows Updates. Service Intelligence A PowerBI dashboard provides Customer Service Managers (CSMs) with an aggregate view of customer service performance. Social Social Listening & Social Analytics You will now also be able to search board/forums and RSS feeds. In addition to existing sentiment and localization languages, Social Listening will be adding 14 more languages. Intelligent Social Role-based views to help sales people find leads Potential to automatically detect potential leads vs cases. Group Collaborations & Custom Roles Introduction of processes and workflows centered around groups. Social CRM Create CRM actions like cases and opportunities from social posts. These records can be created either from Post View or Social Center. Social Center Ability to publish tweets and Facebook posts from within the Social Center. Author lookup provides details about the post publisher. Mobile Mobile Offline Support Microsoft Dynamics CRM Online will get full offline experience with mobile. Ability to create, change and delete records while being offline. This will be automatically synchronized once the device goes back online. Document Management Ability to view documents in the context of CRM records within the mobile apps. App-to-app Deep Linking Let’s other mobile apps to directly navigate to CRM records using the link. Modern Mobile Friendly Experience Addition of variety of modern UI controls. Business Analysts have the ability to bind a data field to a new control. For instance, slider and calendar controls among set of 15 controls. Task Based Experiences Allows users to focus on the Tasks than Data from multiple entities brought together in a single user experience. This will be a preview feature in phones and tablets. Mobile Client form preview ‘Configure Once, Deploy everywhere’ paradigm makes it easy for business analysts to visualize configuration changes. Web Resources and IFRAME In the previous release, support for IFRAME and Web Resources was introduced in CRM for tablets and phones as preview feature. This release will provide support for Windows tablets (Windows 10) as well. Mobile Management Customers will be able to … Continue reading Dynamics CRM 2016 Fall Preview Features
Share Story :
Developing Integration Solutions using Microsoft Azure BizTalk Services
Part 2 – Integrating Microsoft Dynamics CRM Online to Microsoft Azure Service Bus Queue. You can check part 1 here. Scope: To demonstrate the integration through Message-flow from Microsoft Dynamics CRM Online and Azure Service Bus Queue. Pre-requisite: Source: Microsoft Dynamics CRM Online Target: Microsoft Azure Service Bus Queue SDK for Dynamics CRM Online (plugin Registration Tool) Service Bus Explorer to view the message contents received from CRM in Azure SB Queue. Visual Studio to create Custom WCF Service to push the messages from CRM to SB Queue (alternate method) Background: In earlier Blog we had seen steps to Create Microsoft Azure BizTalk Services as well as Developing and Deploying BizTalk bridges on Azure. In this Blog we will see the steps to create Service End Point (Azure Aware Plugin) that will push messages in JSON (default) format whenever a new Account Name is created in CRM to Azure Service Bus. We can View the contents of this message in Azure SB Queue, using Service Bus Explorer Tool (URL for the tool https://code.msdn.microsoft.com/windowsazure/service-bus-explorer-f2abca5a). Alternately we can also create a custom WCF Web Service that will push the messages whenever a new record is created CRM (Entity- Accounts) STEP 01: Creating Azure Aware Plugin in CRM Download the Microsoft Dynamics CRM Software Development Kit (SDK) for CRM Online and on-premises CRM 2015 from URL http://www.microsoft.com/en-us/download/details.aspx?id=44567 After Download, Extract the same and go to Path \MicrosoftDynamicsCRM2015SDK\SDK\Tools\PluginRegistration, and launch the PluginRegistration.exe Select Create New Connection and enter the details for your CRM like Deployment Type as per your CRM, Online Region, User Name and Password and click on Login. You can create CRM Trail account if needed. In the Next Window of Service End Point Registration, provide details for the endpoint Please note in above screen the path is taken from Service Endpoint URL in Azure. For example URL is Then my path is TwoWayService/Demo. The Contract can be selected from dropdown Oneway, TwoWay, Queue, REST, TOPIC and PersistentQueue. After entering the details you need to click on Save & Configure ACS (Access Control Service) We will need below Information in this screen. Management Key Certificate File Issuer Name Management Key: This key is obtained from Azure Portal. Login to Azure Portal and Create a ServiceBus and a Queue. Here the Service Bus is btscfsnamespace and btscfsqueue is a Queue in it. The Management Key is the Default Key found in the Connection Information for the Service Bus in the Azure Portal. After this you need to Register the Steps in Plugin Registration tool for the Service End point you recently created. Certificate File: This certificate file is obtained from CRM under Customizations, under Developer Resources. Issuer Name : This is found as in above screen in CRM under Windows Azure Service Bus Issuer Certificate (crm.dynamics.com) Select Save & Verify Authentication in the Service Endpoint Registration window and close the window after verification test is completed successfully. Step 02: Registering the Step in Plugin Registration Tool In the Message, mention the type of action like Create or Update or Delete etc. Then specify the Entity in CRM. In this case Entity is Account. Execution Mode will be Asynchronous. Now that the Plugin registration and Step registration is completed. We can login to CRM and create new Account Name in account entity. When a new Account Name is created, the Message is pushed by the plugin that we created earlier to Azure Service Bus Queue. You can view the Message using the service bus explorer tool. The message remains in the Queue as per the Time-To-Live settings in the Azure portal. After that if there is no further processing, the message gets moved to dead-letter queue. So we have pushed the messages from Account entity in CRM to Azure Service Bus Queue. Azure Service Bus Queue has many features as below FIFO Ordering guaranteed Transaction Support Automatic Dead Lettering Increasing Queue TTL (Max Unlimited) Poison Message Support Message Auto Forwarding WCF Integration Support Message Sessions supported Duplicate Detection functionality. Maximum Queue Size 1 GB to 80 GB Maximum Message Size 256 KB Maximum message by default is TTL 7 days Maximum No of Queues 10,000 (per service namespace, can be increased) Unlimited number of concurrent clients for REST based Maximum throughput upto 2000 Messages/seconds Average Latency 20-25 ms. Azure Service Bus Architecture combined with BizTalk Bridge solution deployed in Azure can provide integration solutions with scalable and monitoring capabilities at affordable cost. In the above steps, there was not coding involved due to SDK plugin registration tool. We can write the custom WCF service that will push the messages from CRM whenever a new Account is created, to Azure Service Bus Queue and then from there these messages can be picked up by BizTalk Service Bridge that listens for the incoming messages in the Queue and then process these messages to external end point or web service that can write the same in to other application or another CRM. We can track the status of these message processing in BizTalk service Tracking option. Creating the WCF service to Push the messages from CRM to Azure Service Bus Queue. Alternately we can write a custom code that will integrate the pre-defined entities and fields from CRM to other applications. Here we need Schema from Source and Target. To achieve this we need to host the WCF code and register the Assembly using the same plugin registration we used earlier. Describing the code for the same is beyond the scope of this blog. Please note the messages that we send to SB Queue through WCF service are by default in XML UTF -8 encoding, and this aspects needs to be handled while creating the processing steps in the Solutions that listens to this messages. In the next article we will have more insight in to the Messages flow in the Queues and the Processing inside the Azure BizTalk Bridges.
Share Story :
Developing Integration Solutions using Microsoft Azure BizTalk Services
Part 1 – Creating Microsoft Azure BizTalk Services and Deploying Bridge. Scope: Creating Microsoft Azure BizTalk Services on Azure Portal Developing and Deploying BizTalk Bridge on Azure. Pre-requisite: Azure Subscription to create BizTalk Service. Visual Studio for Developing BizTalk Bridge solution. Windows Azure BizTalk Services SDK (including Microsoft BizTalk Adapter Pack and Microsoft WCF LOB Adapter SDK) .NET Framework 3.5.1 Features should be enabled .NET Framework 4.5 must be installed Background: Microsoft Azure is a cloud computing platform and infrastructure, created by Microsoft, for building, deploying and managing applications and services through a global network of Microsoft-managed and Microsoft partner hosted datacenters. The cloud services as offered as PaaS (Platform as a Service) and IaaS (Infrastructure as a Service). Step 1: Creating BizTalk Service Launch windows Azure portal through URL https://manage.windowsazure.com (You can create a Trial Subscription) Go to NEW option at the bottom of the page. Select APP SERVICES → BIZTALK SERVICE → CUSTOM CREATE This BizTalk Service Creation web form allows the creation of storage Account Tracking Databases. After successfully creating the BizTalk Service you get the BizTalk URL. ) On Clicking the Connection Information Button at the bottom of the page, you get Access Connection Information. This information you need to copy to a notepad to be used during deployment of the BizTalk Bridge solution on Azure. NAMESPACE DEFAULT OWNER DEFAULT KEY Step 2: Developing the BizTalk Bridge Solution Launch Visual Studio 2012 and open a new project. Select BizTalk Service Template under folder located BizTalk Services in Visual C#. Please note BizTalk Services Templates are visible in Visual Studio 2012 only after you install the Windows Azure BizTalk Services SDK. (BizTalk Service Templates are not available in Visual Studio 2013 and 2015 even after installing the SDK) In the Visual Studio solution you need to specify 4 components. Sources Bridges (XML One way or XML Reply Request or Pass-Through bridge Destinations BizTalk Service URL Sources can be FTP / SFTP or Service Bus Queue or Subscription. Destinations have more options like FTP, FTPS, Service Bus Queue, Service end point, Blob Storage etc. Bridges can be XML one-way or Two way i.e. Reply Request and simple Pass Through Bridge. Right click anywhere in the empty space in the solution and select Properties. Enter the BizTalk Service URL (Example: https://cfsbtdemo.biztalk.windows.net). We get this URL when we create BizTalk Service in Azure portal. After placing the source, Bridge and Target blocks, connect them using connector under Bridge in toll box items. For complex solutions business logic and SCHEMA mapping between source and Target entities can be defined inside the bridges. Custom code can be written here. Step 3: Deployment Save and Build the project and Right click and select deploy. Details like ACS Namespace and Issuer Name (Default – owner) and Shared Secret needs to be entered. ACS NameSpace is the Namespace we got earlier from Azure portal on clicking connection information for the BizTalk service. Shared Secret is the Key “Default Key “ Check the status in the Visual Studio output window for the deployed components. Please Note: Deployment Name needs to be Registered / created on https://biztalksvc12.portal.biztalk.windows.net/default.aspx before deploying your bridge. (You may need Silverlight on to be able to launch this end point URL). Provide the BizTalk Service Name as in Azure portal ACS Issuer name (Default is owner) ACS Issuer secret – This is Shared Secret key from BizTalk Service Connection Information in Azure portal. Once you deploy your bridge, it appears under BRIDGES in Microsoft Azure BizTalk services (MABS) Portal. Rest of the deployed codes appear under “RESOURCES”. If you are using bridge solution to route messages from Azure Service Bus Queue to Destinations like Web service end point, you can track them under Tracking Details. In the next article we will explore the integration between the Microsoft Dynamics CRM Online and Azure Service Bus queue. Azure servicebus Queue is one of the sources that Azure BizTalk Services can listen to for Integration requirements. Please note Azure Queues and Service Bus Queues are 2 different type of Queue offered by Microsoft Azure.
Share Story :
Migrate Scribe integration setup from one AOS to another in AX 2012
To migrate Scribe integration setup from one AOS to another in AX 2012, below mentioned steps has to be performed, On the AOS server, in IIS go to the Default Web Site node. Under the node check if there is MicrosoftDynamicsAXAif60 web site. If not, go to the below link to install Microsoft Dynamics AX web services on IIS. [https://technet.microsoft.com/en-us/library/gg731848.aspx] In AX, System Administration module→Setup→Services and Application Integration Framework open the Web sites form. Create a new record for the above web site. Enter appropriate name, description and correct virtual directory path. Next go to System Administration module→Setup→Services and Application Integration Framework→Inbound ports. Follow the below steps to modify the inbound port, Select the inbound port for scribe integration. Deactivate the port. Note : Before you do this, make sure no user is online(System Administration module→Common→Users→Online users) and no messages are being processed(No xml in ScribeIn queue). On right side under the ‘Address’ group, click the drop down next to URI textbox. Select the new web site from ‘Select Web site’ form and click OK. Check if the port has all its service operations. If not, you can add them. Activate the port. This will generate new wsdl url. Copy-paste this wsdl url in a text document, we will use it later. Now, login to the Scribe server. In the Collaborations folder open any dts file in scribe workbench. In the dts file, open the Connection Manager and click ‘Edit’. Click Change Connection. Select ‘Web Services’ under Adapters. Click OK. In the Web Service Connection Manager form, select the AX web service and click ‘Edit’. Change the WSDL url. Put the url from step-3. Validate the url and Save. Perform steps-4 to step-8 for all other dts files. By doing the above steps, Inbound port url, in AX, will be changed and AX web service connections in Scribe will point to the changed url.
Share Story :
Sharing Customer/Vendor Information across multiple legal entities by using Global Address Book AX 2012
Global Address Book allows Customer/Vendor information mainly addresses and contact details to share across multiple legal entities. For example: Customer/Vendor of one legal entity may be Customer/Vendor in other legal entity or Customer in one legal entity may be vendor in same legal entity etc. In below scenarios explain on how we can share Customers, Vendors and their addresses and contact details across multiple legal entities. Scenario 1 Utcon Engineers Pvt. Ltd is Customer as well as Vendor in USMF Legal entity Scenario 2 Toyo Engineering Pvt. Ltd is Customer in USMF legal entity and also customer in USSI legal entity Scenario 3 Globus Engineering is Vendor in USMF legal entity and also Vendor in USSI legal entity Scenario 1: Utcon Engineers Pvt. Ltd is Customer as well as Vendor in USMF Legal entity Select USMF legal entity. Click Home > Common > Global Address Book In Global address book form, in new field click on Party to create new party (Party: A person or organization. A party can be internal or external to an organization. Party may be customer or vendor for organization) In party ID for, specify Record type Organization, in name field enter organization name Utcon engineers Pvt. Ltd. Specify addresses and contact details of Party and close the form. Close the form Now you can see created Party record on Global address form. Now edit Party record (Utcon engineers Pvt. Ltd.) and in Party tab, click on customer to create customer in USMF legal entity. In Customer form, you can see name, address and contact information automatically came from Party record. Enter other information which is required for customer and close the form. You can see created Customer in Accounts receivable or in Sales and marketing module. Navigation: Accounts receivable/Sales and marketing > Common > Customers > All customers Now go back to Global address book form edit party record (Utcon engineers Pvt. Ltd.) and in Party tab, click on Vendor to create vendor in USMF legal entity. In Vendor form, you can see name, addresses and contact information automatically came from Party record. Enter other information which is required for vendor and close the form. You can see created vendor in Accounts payable or in Procurement and sourcing module. Navigation: Accounts payable/Procurement and sourcing > Common > Vendors > All vendors Scenario 2: Toyo Engineering Pvt. Ltd is Customer in USMF legal entity and also customer in USSI legal entity Select USMF legal entity. Click Home > Common > Global Address Book In Global address book form, in new field click on Party to create new party In Party ID form, specify Record type Organization, in name field enter organization name Toyo Engineering Pvt. Ltd. Specify addresses and contact details of Party and close the form. Close the form Now you can see created party record on Global address form. Now edit Party record (Toyo Engineering Pvt. Ltd.) and in Party tab, click on Customer to create Customer in USMF legal entity. In Customer form, you can see name, addresses and contact information automatically came from Party record. Enter other information which is required for customer and close the form. You can see created Customer in Accounts receivable or in Sales and marketing module for USMF legal entity. Navigation: Accounts receivable/Sales and marketing > Common > Customers > All Customers Now select USSI legal entity. Click Home > Common > Global Address Book Select Party (Toyo Engineering Pvt. Ltd.) and click on edit. Click on customer to create customer in USSI legal entity. In Customer form, you can see name, address and contact information automatically came from party id record. Enter other information which is required for customer and close the form. You can see created customer in Accounts receivable or in Sales and marketing module for USSI legal entity. Navigation: Accounts receivable/Sales and marketing > Common > Customers > All customers Scenario 3: Globus Engineering Pvt. Ltd is Vendor in USMF legal entity and also vendor in USSI legal entity Select USMF legal entity. Click Home > Common > Global Address Book In Global address book form, in new field click on Party to create new party In party ID form, specify Record type (Organization or Person), in name field enter organization name Globus Engineering Pvt. Ltd. Specify addresses and contact details of Party and close the form. Now you can see created party record on Global address form. Now edit Party record (Globus Engineering Pvt. Ltd.) and in Party tab, click on Vendor to create Vendor in USMF legal entity. In Vendor form, you can see name, address and contact information automatically came from Party record. Enter other information which is required for Vendor and close the form. You can see created vendor in Accounts payable or in Procurement and sourcing module for USMF legal entity. Navigation: Accounts payable/Procurement and sourcing > Common > Vendors > All Vendors Now select USSI legal entity. Click Home > Common > Global Address Book Select Party (Globus Engineering Pvt. Ltd.) and click on edit. Click on Vendor to create Vendor in USSI legal entity. In Vendor form, you can see name, addresses and contact information automatically came from Party record. Enter other information which is required for Vendor and close the form. You can see created Vendor in Accounts payable or in Procurement and sourcing module for USSI legal entity. Navigation: Accounts payable/Procurement and sourcing > Common > Vendors > All Vendors. Relationship of Party with Customer and Vendor You can check relation between customers or vendors between different legal entities on Party form. In Global Address Book, select party and click on edit and open Relationship fast tab to check relationship between customers or vendors between different legal entities Summary: By using Global Address Book you can create a business party, define various information like addresses, contact details etc. and by using Party you can create and share customers and vendors across multiple legal entities.
Share Story :
Product Configuration Model in AX 2012 R3
Product Configuration is generic Product structure with distinct variants that allow user to use product easily in sales process as per customer requirement. You can use product configuration on Sales Order line as well as on Sales Quotation line. Example of Bicycle configuration: Bicycle is configured by using five attributes such as Bicycle Type, Bicycle Colour, Saddle Type, Suspension and Wheels. Each attribute type has set of value which is mentioned in below table. Attribute Type Attribute Value Bicycle Type Racing Bicycle, Touring Bicycle, Cruiser bicycles Bicycle Colour Red, White, Blue, Black Saddle Type Racing Saddle, Comfort Saddle, Cruiser Saddle Suspension Yes, No Wheels Number of Wheels Below are steps to create Product Configuration Model for Bicycle Create Product Configuration Model Navigation: Product information management > Common > Product configuration models to open the list page. Click Product configuration model in the New group of the Action Pane to open the New product configuration model Add name Bicycle for Product Configuration Model, enter description, select New component and enter name Bicycle Configuration for component (Component: Component is generic element that can be assigned to product configuration model. This can include information about user requirements, attributes, constraints, sub component, BOM lines, and route operations) Click OK Create Attribute Type: Navigation: Product information management > Common > Product configuration models list page. Click Attribute types in the Setup group of the Action Pane. Create new attribute types Bicycle colour, Bicycle Type, Saddle Type, Bicycle Suspension and Wheels Add values for which is mentioned in below table Attribute Type Base Type Attribute Value Bicycle Type Text Racing Bicycle, Touring Bicycle, Cruiser bicycles Bicycle Colour Text Red, White, Blue, Black Saddle Type Text Racing Saddle, Comfort Saddle, Cruiser Saddle Suspension Boolean Yes, No Wheels Integer Number of Wheels (Attribute types – Attribute types specify the set of data types or domains for attributes that are used in a product configuration model. The following data types can be used in a product configuration model: text, boolean, integer, and decimal.) Create Attributes Navigation: Product information management > Common > Product configuration models. Select the product configuration model and then click Edit in the Maintain group of the Action Pane to open the Constraint-based product configuration model details Click the Attributes FastTab. Add attribute name, solver name and description Select attribute type for each. (Attributes: Attributes describe the properties of the components. You can use attributes to specify the features that can be selected when a distinct product variant is configured.) Create Constraints: Navigation: Product information management > Common > Product configuration models. Select the product configuration model and then click Edit in the Maintain group of the Action Pane to open the Constraint-based product configuration model details Click the Constraints FastTab Below are the Rules and its expression constraints which is used to create condition for Bicycle Configuration. Configuration Rules Rule 1: IF Bicycle Type = Racing Bicycle THEN Bicycle Colour = Blue Or Black Expression constraints: Implies[ BicycleType == “RacingBicycle” , SaddleType == “RacingSaddle” ] Rule 2: IF Bicycle Type = Touring Bicycle THEN Bicycle Colour = Red Or White Expression constraints: Implies[ BicycleType == “TouringBicycle” , BicycleColour == “Red” | BicycleColour == “White” ] Rule 3: IF Bicycle Type = Cruiser Bicycle THEN Bicycle Colour = White Or Black Expression constraints: Implies[ BicycleType == “CruiserBicycles” , BicycleColour == “White” | BicycleColour == “Black” ] Rule 4: IF Bicycle Type = Racing Bicycle THEN Saddle Type = Racing Saddle Expression constraints: Implies[ BicycleType == “RacingBicycle” , SaddleType == “RacingSaddle” ] Rule 5: IF Bicycle Type = Touring Bicycle THEN Saddle Type = Comfort Saddle Expression constraints: Implies[ BicycleType == “TouringBicycle” , SaddleType == “ComfortSaddle” ] Rule 6: IF Bicycle Type = Cruiser Bicycle THEN Saddle Type = Cruiser Saddle Expression constraints: Implies[ BicycleType == “CruiserBicycles” , SaddleType == “CruiserSaddle” ] Rule 7: IF Saddle Type = Comfort Saddle or Cruise Saddle THEN Suspension = True Expression constraints: Implies[ SaddleType == “ComfortSaddle” | SaddleType == “CruiserSaddle” , BicycleSuspension == True ] (Constraints: Constraints describe the restrictions of the product configuration model, and they are used to make sure that only valid values are selected when the product configuration model is configured. There are two type of constraints Expression constraints which is used in above example and Table constraints. Expression constraints: express relations between attributes to make sure that compatible values are selected when you configure a product. Table constraints: A constraint type that specifies allowed attribute combinations. Each row in the table displays a legal combination of values.) Create Calculation, Sub component and User requirement: Navigation: Product information management > Common > Product configuration models. Select the product configuration model and then click Edit in the Maintain group of the Action Pane to open the Constraint-based product configuration model details Click the Calculation, Sub Component, Use requirement Fast Tabs You can use calculation, sub component and user requirement if require otherwise it is optional Create BOM Lines (for Bicycle Wheels) Navigation: Product information management > Common > Product configuration models. Select the product configuration model and then click Edit in the Maintain group of the Action Pane to open the Constraint-based product configuration model details Click the Constraints FastTab Enter name, description, condition (optional) of BOM line. Click the BOM line details button to open the BOM line details form In BOM line detail form select Item Y20I (Wheel) Open detail fast tab and select Set and Calculation check box In Setup tab, in consumption calculation field, select set and attribute check box and in Quantity field select attribute Wheels. In Per series field select set check box specify one. (BOM Lines: BOM lines are included in the product configuration model to identify the manufacturing BOM for each component. A BOM line can reference an item or a service, and all item properties can be set to a fixed value or mapped to an attribute.) Create Route Operation: Navigation: Product information management > Common > Product configuration models. Select the product configuration model and then … Continue reading Product Configuration Model in AX 2012 R3
