Category Archives: Blog
Creating Custom Error Log Table in SSIS for OLEDB Block And Kingswaysoft Dynamics CRM Block
Introduction This log error will help us to understand and fix an issue as quickly. There are three main phases in an SSIS ETL execution life-cycle to catch errors: When data is being extracted from source systems When data is being transformed When data is loaded to the target systems Customized Error Handling also avoids the failure of Package during Runtime. It allows the package to be executed successfully and the Errors can be checked later from the Customized Error Log Table which you create to know what problem exactly occurred. Our Scenario For demonstration purpose, we will consider a Units Integration Map for Integration of Units from SQL to Dynamics CRM. In this Blog, we will Create a Customized Error Log Table in SQL and Catch the Errors from SQL (Source Block) and Dynamics CRM (Destination block). The Map for Unit Integration is as follows: Customized Error Handling in SSIS Execute the following query and create a customized Error Log Table in SSIS: CREATE TABLE [dbo].[ErrorLog]( [ErrorID][uniqueidentifier] NOT NULL default newid() primary key, [Entity] [varchar](250) NULL, [Record_Id] [int] NULL, [RecordName] [varchar](250) NULL, [ErrorDescription] [varchar](500) NULL, [DateTime] [datetime] NULL ) ON [PRIMARY] The structure of Table is as follows: ErrorID Entity Record_Id Record Name ErrorDescription DateTime Primary Key of Error Log Table. (System Generated) Unit UnitId Unit Name Error Message Error Log Date Error Handling at OLEDB Source Block: Step 1: Add a Script Component to catch the Error Description, Error Log Date and Entity. Select Transformation and click on Ok. Step 2: Connect the Error Output (Red Arrow) from OLDEB Source to the Script Component. Select “Redirect row” for all columns in the Error and Truncation Columns to redirect Error Output to Script Component. Step 3: Configure the Script Component as following: In Input Columns section Select Error Code and Error Column. In Inputs and Outputs section Add following Columns Column Name Data Type Length ErrorDescription Unicode string [DT_WSTR] 500 ErrorLogDate database timestamp [DT_DBTIMESTAMP] —- Entity string [DT_STR] 50 In the Connection Managers Section add a new connection and select your SQL connection In the Script Section click on Edit Script. After a minute a New Editor Window will Open. Here you have to copy and paste the following Script inside the “public override void Input0_ProcessInputRow(Input0Buffer Row)” section. Code Snippet: try { Row.Entity = “Unit”; Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode); Row.ErrorLogDate = DateTime.Now; //If an error occurred due to Check Constraint, the ErrorColumn would be 0, and that error affects the entire row. Hence there is no specific column for that error if (Row.ErrorColumn == 0) { Row.ErrorDescription = “An error that affects the entire row”; } //If an error occurred due to Data type, then errorcolumn name would be updated. else { var componentMetaData130 = this.ComponentMetaData as IDTSComponentMetaData130; if (componentMetaData130 != null) { Row.ErrorDescription = componentMetaData130.GetIdentificationStringByID(Row.ErrorColumn).Replace (“Customer Target.Inputs[OLE DB Destination Input].Columns[“, “”).Replace(“]”, “”); } } } catch (Exception ex) { Row.ErrorDescription = “Unable to get Error Column Name”; } Click on Save and then Close the Window. Step 4: Add a Data Conversion Block to avoid any Truncation Errors because of Data Type Conversion between NVarchar and Varchar Data Types of the Error Description Column. Select ErrorDecription Column and select Data Type as String. Click on OK. Step 5: Add an OLEDB destination block. Configure your OLEDB Connection Manager and Select the Error Log Table which you had created in SQL Server. In the Mapping section do the following Mappings and click on Ok. Error Handling at Dynamics Destination Block: Step 1: Perform the Steps 1 and 2 as specified above in Error Handling at OLEDB Source Block. Step 2: Configure the Script Component as following: In Input Columns section Select Error Code, Error Column and CrmErrorMessage. In Inputs and Outputs section Add following Columns Column Name Data Type Length ErrorLogDate database timestamp [DT_DBTIMESTAMP] —- Entity string [DT_STR] 50 In the Connection Managers Section add a new connection and select your CRM connection: In the Script Section click on Edit Script. You have to copy and paste the following Script inside the “public override void Input0_ProcessInputRow(Input0Buffer Row)” section. Code Snippet: Row.Entity = “Unit”; Row.ErrorLogDate = DateTime.Now;\ Click on Save and then Close the Window. Step 3: Add a Data Conversion Block to avoid any Truncation Errors because of Data Type Conversion between NVarchar and Varchar Data Types of the Error Description Column. Select CrmErrorMessage Column and select Data Type as String and length as 500 i.e. according to the length of columns SQL. Click on OK. Step 4: Add an OLEDB destination block. Configure your OLEDB Connection Manager and Select the Error Log Table which you had created in SQL Server. In the Mapping section do the following Mappings and click on Ok. Checking the Error Occurred during Integration You can see the Error rows passing through the Error Output and being logged in our Error Log Table. Open the Error Log Table to check the Errors Occurred. Now you can easily identify the errors occurred during Integration process from your Custom Error Log Table and solve them to have successful Integration results.
Share Story :
Business Central Wave 2 Features – Section 1
1.Power-full filtering of Reports When running reports on Business Central, Users see a request page where they can add filters, this addition of filters was achieved by customization and coding. With the new Business Central Wave 2 Release users do not have to worry about customizing from the back end. Business Central Wave 2 comes up with hassle-free filtering of reports which is achieved before the report is run. Thus making it more efficient to use. The snapshot shown below is an example of previous report filters. This is how the business central wave has added filters. You just have to click the filters button and you can have multiple combinations of simple and complex filters. 2. Resize columns with fewer clicks. Columns play a major role in Business Central because the data to be displayed is dependent on how much visible that particular column is, In the earlier version of business central it was not possible to increase the width of a column to be displayed. With the new Business Central Wave 2 release, the developers have made it convenient for the users to increase the size of columns just with a single click and mouse drag. Below is the snapshot of the previous Business Central. This picture shows how the column “Contact” has been increased. Hope this helps!
Share Story :
Visual Studio Tip
Finance and operations departments in a company are quite crucial as they help the business to flourish and reach heights. Companies, therefore, should do everything from their end to better the processes in these departments. Using an ERP solution is one of the wisest and best ways to do this job. Dynamics 365 for finance and operations is one of the best enterprise resource planning solutions that you can find in the market. It is one of the best products that Microsoft has created. They offer some of the best features which you cannot find any other ERP software that you find in the market. But, if you want to enjoy the benefits that come from using this system, you should first learn how to use this software. Here is one more tip that will help you become efficient. Many of us use Visual Studio for development whether we are developing it Using physical machines or virtual machines. While making any changes to existing code or to save your changes we must have to run VS with administration permission. So every time you right-click on file shortcut and select Run as administrator. So I came up with an inbuilt option in Microsoft Windows operating system after which you don’t have to repeat the steps which are mentioned above. Steps are as follows:- Right-click on your Visual Studio shortcut and select properties. Select the ” Advanced” option. Tick on Check-Box for Run as Administrator and click on ok button. Click on the “Apply” button. And Then click on the “Ok” button. Now you are all set, Every time you open Visual Studio it will open with administrator permissions.
Share Story :
How to set up POS Hybrid App on Android
Microsoft Dynamics 365 for finance and operations is an ERP solution that Microsoft has created. It is useful for both medium and large enterprises that want to excel and grow. ERP is an acronym for Enterprise Resource Planning. It is true that there are so many ERP solutions in the market. But, Microsoft Dynamics is one of the best ERP solutions that you can find in the market. The unique features that they offer through this solution or software are numerous. By using this particular software you will make your staff become a lot more effective and efficient. Learning this software is not a difficult task. There are so many resources available online that you can check if you want to excel in it or if you have any doubts. In this blog, we’ll see how to set up the Hybrid App on Android using Xamarin. Hybrid App is the app that combines the elements of both native and web apps. The native app builds for a specific platform. Web applications are generalized for multiple platforms and not installed locally but made available over the Internet through a browser. Xamarin is a cross-platform implementation of the Common Language Infrastructure (CLI) and Common Language Specifications The element that used to develop an application for android C# language Mono .NET Framework Compiler Following are the steps to follow in order to configure set up the POS Hybrid App Install Xamarin Xamarin provides a common development experience for creating cross-platform mobile applications. Xamarin facilitates the development of Android and iOS applications by providing the Xamarin.iOS and Mono. Android libraries. These libraries are built on top of the Mono .NET framework and bridge the gap between the application and the platform-specific APIs. Open the visual studio installer you will see the below screen. Make sure the below component are selected 2. Xamarin Configuration Xamarin.Android uses the Java Development Kit (JDK) and the Android SDK to build apps. During installation, the Visual Studio installer places these tools in their default locations and configures the development environment with the appropriate path configuration. You can view and change these locations by clicking Tools > Options > Xamarin > Android Settings. 3. Android SDK Manager Visual studio include SDK manager that lets you download android SDK Uncheck everything. Then check only the following: Android SDK Tools Android SDK Platform-tools Android SDK Build-tools (I don’t think this is necessary) 4. Select the Android SDK Manager 5. You can always debug using actual Android device instead of using Emulator for debugging. If you need to turn ON Hyper-V in your machine, you will need to go with Visual Studio Android Emulator. To open/configure Visual Studio Android Emulator, go to Tools>Visual Studio Emulator for Android You will be able to launch or configure the emulator in the new dialog popup. To make Android SDK Emulator run without lagging, we will need to install Intel HAXM. However, Intel HAXM cannot work together with Hyper-V. So, we need to turn OFF Hyper-V in the machine Go to control panel turn windows feature on and off and uncheck hyper v Make sure Virtualization Technology settings are Enable in BIOS settings. Once we install HAXM we can proceed to an android emulator which will open the Android virtual device manager dialog box. The Android Emulator can be run in a variety of configurations to simulate different devices. Each configuration is called a virtual device. When you deploy and test your app on the emulator, you select a pre-configured or custom virtual device that simulates a physical Android device. 6. SDK Configuration Setup In the Retail SDK folder, open SampleExtensions\HybridApp\Android\solution. Build and deploy using the emulator and verify that everything appears as it should. 7. Export the android app Specify the Application Icon Version the Application – An integer value (used internally by Android and the application) that represents the version of the application. Most applications start out with this value set to 1, and then it is incremented with each build. Version Name – A string that is used only for communicating information to the user about the version of the application these values can be set in the Android Manifest section of project Properties, as shown in the following screenshot 8. Shrink the APK Xamarin.Android APKs can be made smaller through a combination of the Xamarin. Android linker, which removes unnecessary managed code, and the ProGuard tool from the Android SDK, which removes unused Java bytecode. 9. Archive for Publishing To begin the publishing process, right-click the project in Solution Explorer and select the Archive. When we select Ad hoc visual studio will open the signing dialog box app required to sign with a signing key or if we have already signed we can use import key option. After clicking on the new sign in create key store dialog box shown we can fill the required information it will create a key store and will be shown undersigning section as we are creating ad hoc publish we click on save it will create achieve file, and it will ask for password if not set earlier. 10. The final step is to distribute the app. There are different way to publish the app google pay, web or independent 11. Sign In with the credential device will get register and we can see the POS Retail UI
Share Story :
How to create and manage Public Folders
Public Folders in Office 365 are designed for shared access and provide an effective way to collaborate in your Organization. It can be accessed by multiple users depending upon the permission given from the Exchange Admin Center. Public Folder is available on Outlook on the web, Outlook 2007 or later and on Outlook for Mac. Note: Before creating a Public Folder from Exchange, you first need to create a public folder mailbox. Public folder mailboxes contain the hierarchy of information and content for public folders. Create a Public Folder Mailbox: From Exchange Admin Center, go to Public folders > Public folder mailboxes > Click Add (+). Creating a Public Folder mailbox through PowerShell. Connect to Exchange Online through PowerShell. Enter the command “New-Mailbox -PublicFolder -Name <Name>”, provide the name of the public folder mailbox in place of As I had already created Public_Folder as a public folder mailbox, if I try to create a new one from the PowerShell, it will be a secondary hierarchy public folder mailbox. Below I had created a new one with the name of “twitter”. Creating a Public Folder: Creating a Public Folder through EAC. Go to Public folders > Public folders (on the right-hand side) Click Add (+) and give a name to the Public folder. Creating a Public folder through PowerShell. Connect to Exchange Online through PowerShell. Enter command “New-PublicFolder -Name twitter”, these commands create a public folder on the parent path. Mail-Enable Public Folder: Once you have created a public folder, you can mail-enabled it which will allow users to post to the public folder by sending an email message. When the public folder is mail-enabled additional settings to become available. For example – Mail delivery options, mail delegation, etc. Using EAC to the mail-enable public folder. Navigate to Public Folder > Public Folders. Select the Public folder for which you want to mail-enable. In the details pane, Mail settings, click Enable. To check other additional settings, select the public folder and click Edit. Mail-Enable Public Folder through PowerShell. Connect to Exchange Online through PowerShell. Enter command “Enable-MailPublicFolder -Identity \twitter” Public Folder Permissions: You can add or remove users who can access the public folder and you can also edit the permission level. Go to EAC > Public Folders > Public Folders. Select the public folder for which you want to provide access to a user and edit the permission level. In the details pane, go to Folder Permissions > Manage. For editing the permissions level, click on the user added and then click edit.
Share Story :
How to Change the Default Email Address for Public Folders
After creating a Public Folder, the default reply address for that Public Folder will be with the initial domain (onmicrosoft.com). To change you default email address please follow below steps. Go to EAC > Public Folders > Public Folders. Select the Public Folder you created, check whether it is mail-enabled (If it is mail-enable, then only you can see the additional settings and email address is assigned). Click Edit. Address you can see for Public Folder (Twitter) is twitter@cloudcfs1.onmicrosoft.com. However, you can add SMTP over here, but that will not be your default reply address. Connect to Exchange Online through Windows PowerShell. Once you are connected, you will need to disable to Email Address Policy. Enter command “Set-MailPublicFolder -Identity “\<foldername>” -EmailAddressPolicyEnabled $False” (Provide you public folder name in place of <foldername>. After disabling Email address policy, you will see that “Make this the reply address” option will appear and hence you can enter the new SMTP address and make this as default reply address. Allow anonymous users to send email to a mail-enables public folder: Any emails sent from anonymous user to the Public Folder you created, will bounce back if this permission is not given. Connect to Exchange Online using PowerShell. Enter command “Add-PublicFolderClientPermission “\FolderName” -AccessRights CreateItems -User Anonymous” (provide your public folder name in place of \FolderName).
Share Story :
Unable to Return a Product on POS in Dynamics 365 for Retail
Microsoft Dynamics 365 for Retail Management Solution is an ERP solution that you need to have in your retail stores. Besides being cost-effective, it is quite flexible and seamless. This system is 100% customer-oriented. Now, this is the main reason why it is considered as the best ERP solution. Since it is one of the best and powerful solutions in the world, a lot of retailers love using it. Microsoft Dynamics 365 for Retail is easy to install and is affordable. Investing in this system will help you to better organize your store besides improving the customer experience. Spending some time in learning this system will help you to use this system efficiently. Here is a quick tip of how you can fix the most common problem. We ran into an error on Dynamics 365 retail POS where at some stores the staff was not able to return particular products. It was giving away the following error message whenever they tried to make a return. I am going to demonstrate why this error occurs and the resolution to this. The resolution to this issue is very simple. However, the error message does not specifically suggest what is causing this issue. Which is why it can get confusing at times to resolve the issues in MS dynamics 365 retail. In order to resolve this error, you need to go to Retail workers and select the worker who is having this issue and then go to POS permissions In POS permissions you will have a fields such as Maximum total return amount & Maximum line return amount. If you mention an amount in these fields then you will have limitations when it comes to returning items on POS. For example, if the mentioned Maximum line return amount is 1500. Then the store personnel would not be able to return goods from customer priced beyond 1500 and that will throw off an error. If you don’t want to set any limitations then you can leave these fields blanks or as 0.00. Then run staff job and you are good to go. I hope this helps!
Share Story :
Using Templates from D365 CE in D365 App For Outlook
Using D365 App For Outlook’s Template feature, you can simply pull a template from Dynamics 365 CE and use it to send emails from Outlook itself. Here’s a typical example in this post below – In case you are also looking to get started with D365 App For Outlook, you can refer the post here – Summarizing D365 App For Outlook Setup in 3 steps with Exchange Online mailbox or Check how you can add your entities to D365 For Outlook here – Enable entities for Dynamics 365 App For Outlook Email Template in D365 Let’s say I’ve this template prepared for myself in D365 which I want to use in order to quickly reply to my queries asked. To keep things simple for example, I’m only using the attribute First Name of the Contact in my sample template. Add a Template in Outlook Now, let’s say I got this email from Priyesh asking for a quick discussion. Now, instead of thinking and replying, let me just use one of my standard templates to respond. Here’s how I do it – In this case, I’ve opened a new Email to respond (selected Reply/Reply All) and opened D365 App For Outlook besides. Then, select Add Template option Remember, you’ll need to have the record tracked before you could select a Template (In this case, I tracked the record against the Contact record itself) And then try selecting Add Template again. Next, you’ll be asked to select the Template Entity based on the fields in the Email. In this case, it identified that Priyesh Wagh was a Contact from D365 Based on #4 above, it identified that Contact entity is in context and accordingly, it’ll show me Templates for Contact entity. Once I select this, I will be asked for confirmation to insert into Email. And there we go! Email is ready to be sent in the next moment. Note that Priyesh in the Email body got populated from the Template’s First Name attribute. Hope this helps!!
Share Story :
PSA Quick Tip: How to Give Team Members Access to Only do Time Entries and Expense Entries and not Expose Other Entities in PSA v3.X
Dynamics 365 Project Service Automation helps companies to have control over the projects that they undertake. It is the main reason why a lot of companies love this particular ERP solution. Companies can complete the project within the timeframe and the budget that is allocated. Estimating the project budget and planning resources becomes a lot easy. Communication between employees in the company improves substantially. Microsoft Dynamics 365 for Project Service Automation equips the project managers with the essential tools to make them efficient. It helps companies to become organized and to become successful. Here are some quick tips on how you can give your colleagues access that is necessary to do expense and time entries without exposing them to other available entities on the system. Dynamics 365 Project Service Automation is a software application that companies need to buy and use if they want to have full control of a project. Organizations can use this application to manage, track, and deliver project-based services on time. Creating work schedules and quotations utilizing this system is secure. You can manage and assign resources with ease when you use this software. Mastering how this system works is quite essential if you desire that your projects become successful. You might encounter so many unique problems when you are using this particular system. Here are some probable solutions that will help you to solve these problems. Problem Definition: We sometimes have a few team members who only need to do the time entries and expense entries. They do not need any exposure to other entities. How do we make it possible via the OOB (Out of the box) security roles in PSA V3.X. Solution: From the security–>Users–> select the user–>Manage Role and Only keep “Project Resource” Role. 2. Go to Security–>Security Roles–>Open the security Role “Project Resource” –> change the following 2 parameters read/write access as shown below in the image. 3. Log off and log in again and you are set 🙂
Share Story :
How to Run Reports When Report Processing Takes Long to Cause Session Time-Out
Microsoft Dynamics Nav Integration is one of the most popular ERP systems that a lot of companies are using. So many of them have benefited by using this particular software. Especially small and medium-sized companies love this software as it helps them to plan the resources carefully. Installing this software is not a difficult task. Retailers can easily integrate it with other solutions that they are using. Microsoft Dynamics Nav Inventory Management will help companies keep track of the materials they have in their warehouse. It helps them to plan their purchase, sales and the discounts that they offer to their customers carefully. Here are quick bits of how you can pick the reports easily even when the system is taking too long to process your request. Introduction: I’ve observed that when NAV is used for a very long time, the report which needs heavy processing takes long enough to cause Session Time-out. So, fetching reports becomes tedious by manually querying the table. Pre-requisites: Microsoft Dynamics NAV, Microsoft Dynamics Business Central Solution: The solution is simple, export the Report as an Excel or PDF depending on the data and send Email to the User as an attachment after the processing is complete. Code: 1. Create the Report in Excel Using Excel Buffer. 2. Export the Excel Buffer contents to an XLSX file. 3. Email the Exported Files to appropriate User. In this case, I have hardcoded the user email to my email. Output: Exporting Progress of Excel Worksheet Exported Intermediate file to be emailed Email received after the report is completely exported. Conclusion: Thus adding a piece of code to send email to the User, can save a lot of hassle. In Business Central, however, it is not possible to modify an existing report. So, you need to export the existing report and merge it in AL using Text-To-Al.