Differences between Salesforce Import Wizard and Data Loader

Differences between Salesforce Import Wizard and Data Loader

Today, Salesforce is a top-rated and most popular CRM used for transforming businesses across the globe. It provides a number of tools and functionalities to help us deliver the best and personalized service to the customers. In order to use Salesforce, one must know how to update, migrate and export data from Salesforce efficiently. There are a number of tools that Salesforce Administrations and developers can use to import data within Salesforce. These tools are available in both Salesforce Classic and Salesforce Lightning editions.

Import tools

Salesforce offers two main tools for importing external data into Salesforce.

Data Import Wizard – Salesforce provides an in-built Data Import wizard that is accessible through the Setup menu and can help you to import accounts, campaign members, person accounts, leads, custom objects, and contacts. This wizard is a step-by-step process that can take data to your desired location and displays error messages to change the potential duplicates of records.

It provides an easy interface and self-explanatory wizard to load the data into Salesforce. You can perform import operation from this wizard but delete and insert operations cannot be performed through this wizard. Data import wizard doesn’t allow to load the duplicate records and all fields can be individually mapped by this wizard within Salesforce.

Data Loader – Data Loader is the best efficient tool that is used to move data rapidly into the platform. The tool provided by Salesforce helps perform insert, update and delete operations on Salesforce records. It enables you to interact with your data within Salesforce across all objects. 

Data loader can help in various ways such as:

  • Inserting data from one system to another upon the initial implementation of Salesforce
  • Updating bulk records with new data
  • Deleting bulk records that aren’t required anymore
  • Exporting data to other systems 
  • Create a backup of previous data

In the process of data importing, Data loader reads, extracts, and loads data from Comma separated value (CSV) files or from database connections. While in the process of data exporting, the output is CSV files.

We can use Data loader in these two ways:

  1. Command line
  2. User Interface

Features of the Data Loader

  • Easy-to-use tool to offer a great interaction with data.
  • Command line interface for performing automated operations.
  • Support and manage the excess amount of data.
  • Drag-and-drop functionality is used for mapping fields.
  • It can be used to streamline data in both Salesforce and Database.com.
  • Error log files in CSV format.

Key Differences between Data Import Wizard and Data Loader 

 

 

Things to follow before importing Salesforce Data

  • Use existing software for exporting a file.
  • Clean up the import file for data consistency and accuracy in order to update data to highlight the duplicates, remove unnecessary information, correct spelling and resolving errors.
  • Compare your data fields with Salesforce fields for importing data into it and verify that it can be mapped into suitable Salesforce fields. 
  • Perform any configuration changes if required in Salesforce to manage the imported data. Changes you might need to perform are:  create new custom fields, add new value to picklists, or deactivate workflow rules temporarily.

Steps to import Data using Data Import Wizard

Step 1: Login into Salesforce.

Step 2: From Setup, enter “Data Import Wizard” in the Quick Find box, then select Data Import Wizard.

Step 3: Click on the Launch Wizard button.

Step 4: Select the type of data that you like to import. Click on Standard Objects tab to import accounts, contacts, leads or Click on Custom Objects to import custom objects.

Step 5: Choose the operation you need to perform- To add new records to Salesforce, update existing records, or add new records and update existing ones. 

Step 6: Select the data file you want to import data

Step 7: Click Next. A page appears where you can map the data fields in the CSV file to Salesforce data fields.

Step 8: Click Map to the left of each un-mapped field.

Step 9: Choose the Salesforce fields you want to map to and click Map.

Step 10: To change the mappings, click Change to the left of the mapped field, then select the Salesforce fields you want to map to and click Map.

Step 11: Click Next.

Note: Check your imported information. If any un-mapped fields are still remaining that you want to import, you can click Previous to return to the previous page and specify your mappings.

Step 12: Click Start Import.

Note: You can see the status of your import- From Setup, enter “Bulk Data Load Jobs” in the Quick Find box, then select Bulk Data Load Jobs.

Insert, delete and update operations by Salesforce Data Loader

Log in to your salesforce

Go to setup-> Data management ->data loader

Download Data Loader in your machine.

To log in to the data loader choose any operation and log in by providing credentials. If you are log in to Production you need to provide “Password+security token” in the password field.

The main operations you can carry out with the Data Loader

Insert – Insert new records into Salesforce

Update – Make changes to existing records within Salesforce

Upsert – Updates a record if it already exists, or inserts a new record

Delete – Deletes records from the system

Hard Delete – Delete option stores information in the Recycle Bin for a limited period, Hard Delete will remove permanently

Export – Export information from the system into a CSV format

For Inserting records

Step 1: Click on the insert button and login with your credentials and provide “your org password + security token”.

Step 2: Click on NEXT 

Select the object you want to insert the records and choose the .csv file you want to upload.

Note: Data loader allow only .csv files.

Step 3: Map the fields using drag and drop features.

Step 4: Click on ok or save the mapping

Step 5: Click on NEXT and then click on Finish. 

After inserting the records it will display error files and success files.

For updating records

Step 1: Click on the update option and log in.

Step 2: Select the CSV file contains updated records with IDs and select the object and complete the operation.

For Exporting the data

Step 1: Click on the export button and login with your credentials.

Step 2: Select the object you want to export data and specify the folder where you want to save the exported file.

Step 3: Finish the operation.

For deleting the data

Step 1: Click on the delete button and login with your org credentials.

Step 2: Select the object you want to remove the data. And select the CSV files with record IDs you want to remove.

Step 3: Map the ID field and then complete the operation.

For Hard Delete

Hard delete means deleting the data permanently from the Org. That means data will not be stored in recycle bin. 
To enable this button you need to enable bulk API. To enable the bulk API button 

Go to data loader settings and then enable the bulk API checkbox.

After using Data Loader, a window will appear that will show the results about how many new records created, updated or deleted, depending on what operations you want to perform.

Automating Salesforce CPQ Testing

Automating Salesforce CPQ Testing

Salesforce CPQ(Configure-Price-Quote) solution from Salesforce is based on the Lightning experience. It has some of the elements that account for a challenge – that of standard automation methods, of the likes of using Selenium.

CPQ is native for Sales Cloud or Service Cloud orgs. We need to come down to the brass stacks of “Why automate Salesforce CPQ testing?”.

Why automate Salesforce CPQ testing?

As we all know that Salesforce comes up with three automatic upgrades in a year and the same applies for CPQ too. So, it is quite a difficult proposition for the testers to test the CPQ features manually. It becomes a tedious and uphill task for the testing team.

Moreover, the CPQ is a complex product and it is indeed a time-consuming task for the testing team. So, here is where enters the automated tests. They serve the best way to achieve predictable and repeatable assessment of the quality of the custom code, in question. If you need to know “How helpful are the automated tests?”.

Then without any hesitation, we must state that the automated tests quicken the process of getting feedback. This feedback is on the quality of the custom code.

We would also like to highlight some of the challenges of Salesforce CPQ. Let us discuss some of these challenges.

Salesforce CPQ Field locators

It is difficult to handle Salesforce CPQ testing, while used with the traditional automation methods of the likes of Selenium. The Salesforce CPQ pages are said to make heavy use of shadow DOM. This is made accessible with CSS  locators – not with Xpaths or even Field IDs. However, the CSS locators are unable to match with texts. So, it becomes difficult to locate shadow DOM elements.

Salesforce CPQ tabs and tables

The Salesforce CPQ pages have yet another issue. This pertains to the internal tab, controlling the fields and tables, visible under the tab. Since it requires an awareness of “active tabs”, it is difficult to control by Selenium.

The right fields are not to be found, on selecting the wrong tab. This leads to test failures.

Quote Line Editor Drawers

The Quote Line Editor Drawers can be used in quote line editors. This allows to better handle a large field set. The fields which are placed in the collapsible drawer below the line item can be accessible by clicking on the arrow, appearing at the end of the quote line. The arrow must be at the end of expanding settings, for accessing the fields below. Otherwise, it becomes difficult to handle this situation.

In this post, we will provide insights on the different types of automated tests for Salesforce CPQ and will throw some light on the guidelines for writing automated tests.

What are the Different Types of Automated Tests for Salesforce CPQ?

The various types of automated tests for Salesforce CPQ are:

  • Apex Tests
  • CPQ API Tests
  • Selenium Webdriver UI Tests
  • Lighting Component Tests

Apex Tests

Apex tests run automatically, before and after the upgrades. There are many ways by means of which Apex tests can be used in Salesforce CPQ. Some of the examples to cite are – ordering, contracting, amending and renewal flows. In addition to this, it covers any functionality related to SObjects. However, CRUD, UI and REST services are out of the scope of Apex.

Here is a code snippet on a sample Apex test.

CPQ API Tests

The API helps to test the REST-based services on Heroku. The CPQ API tests are useful to test:

  • Quote Calculator Plugins
  • Quote Calculate Functionality
  • Document Generation

Here is a code snippet on a sample Apex test.

Webdriver UI Tests with Selenium

Browser actions can be automated by writing tests with the Selenium framework. However, Selenium tests are only to be recommended for the complex workflows, because these are expensive to run or maintain.

These tests can be specifically recommended for client-side features an end-to-end workflow. The tests also get modified with changes in UI.

Finally, the Page Object patterns encapsulate the locators and operations – all in a single class. This is used to reduce maintenance cost and enhance readability.

Here is a code snippet on Selenium Webdriver for the CPQ QuoteLineEditor.

Lighting Component Tests

In the case of Lightning components, Lightning Testing Services(LTS) can be used to create test suites for the LIghtning components. This uses standard Javascript frameworks such as Jasmine and Mocha. The built-in features of LTS are extremely beneficial to write these tests.

Salesforce CPQ is built on a Lightning platform and seamlessly integrates with many of the Sales Cloud features. The automation strategy evolved must have layers to map the layers in the CPQ. Here are some of the best practices on writing the automated tests.

Best Practices on Writing the Automated Tests

Test at the Right Layer

The tests must be written in the right layer. A CPQ REST API test is written if you need to write a test on a calculation. Otherwise, simply write a component test for a custom UI component.

Carry Out Mutually Exclusive Tests

The tests must set up the applications specific to the needs and has to be cleaned up, once completed. The test results produced must be the same – irrespective of the size of the test- a small or a large set of suites. However, the set up is varied, when it is complex or cost-prohibitive for automation.

Follow Single Level of Abstraction Policy(SLAP)

The test case must have the ability to do everything that is required,  whatever it might be – data set up, helper methods and utility.

Limit to a Few Assertions

A test has only one thing to evaluate, so assertions must be limited to one or more only. When running tests that are expensive, it is important to remember that tests need to be split and a threshold used for the same purpose. Usually, three assertions is a good threshold. This is more so for a Black Box.

Summary

Salesforce comes up with three upgrades in a year, so the testers find it an uphill task to manually test the features of CPQ. Since CPQ is a complex product, so the testers will find it time-consuming. The automated tests quicken the process of providing feedback on the quality of the custom code, written for the purpose. There are various types of automated tests for Salesforce CPQ and testers need to adhere to some of the best practices on testing the Salesforce CPQ.  

Differences between Flutter and React Native

Differences between Flutter and React Native

On leading app stores such as Google Play stores, several apps are being developed and deployed almost on a daily basis. Today, cross-platform app development, hybrid app development, and native app development have become prominent among business professionals and app developers.

Each of these frameworks has a unique architecture to build apps. While cross-platform and hybrid frameworks save time and cost, native apps offer superior user experience. The cross-platform and hybrid framework also provides a faster time to market.

In this blog, we will discuss the two cross-platform app development tools, React Native and Flutter.

Flutter

Flutter is used for creating superior-quality apps using a single code base. It is an open-source Google’s open-source SDK for Android and iOS. This can be used to create applications for a capability-based operating system from Google, i.e. Google Fuchsia. Flutter is based on Dart language and provides a captivating graphics’ library.

It is backed by Google and used to develop applications for Android and iOS.

Flutter uses Dart

Dart was developed by Google in 2011. It uses modern features of several languages to code beautiful native apps. It is quite new to the developers. It is easy-to-use for people who have experience developing apps in OOP languages such as C++ and Java. It is a general-purpose programming language with features aimed at client-side development and is a great fit for both mobile and web apps. Dart is used for creating high-quality, mission-critical apps for iOS, Android, and the web.

Architecture of Flutter

A Dart application architecture is inspired by RefluxJS and Facebook’s Flux. It has a library of unidirectional data flow. Flutter-flux implements a unidirectional data flow pattern comprising of StoreWatchers, Actions, and Stores.

Features of Flutter

  • It offers Native performance.
  • It has a Stateful Hot Reload feature for faster app development.
  • It offers a fully customized environment.
  • It is a Platform-specific SDK.
  • It has design-specific widgets.

Users of Flutter

  • Abbey Road Studios app is built with Flutter.
  • Alibaba used Flutter to create a beautiful experience on their Xianyu app.
  • Google internal customer management app, Called GreenTea, uses Flutter in its development environment.
  • The official app of Broadway Musical, called Hamilton Musical, is created using the Flutter framework.
  • Leading FinTech company JD Finance makes use of Flutter.

React Native

React Native, created by Facebook, is an open-source mobile application framework It is used to develop applications for Android, iOS, and UWP by enabling developers to use React along with native platform capabilities.

React Native Uses Javascript

It allows developers to build an app using only JavaScript. JavaScript has received enormous popularity: be it a mobile, web, or server-specific code. JavaScript compiles its dynamic code for native view at runtime. The remaining code runs in addition to a virtual machine that is packaged inside the app.

React Native Architecture

React Native application architecture is Called Flux. Most frameworks follow the MVC framework. Facebook uses Flux to build client-side web applications. The main concept of Flux is its unidirectional data flow. Here, React takes care of the view part and Flux, a programming pattern takes care of the Model in the MVC.

Features of React Native

  • It offers strong performance for mobile environments.
  • It is highly cost saving.
  • It has a modular and intuitive architecture.
  • It is a community-driven platform.
  • It offers Maximum code reuse.

Users of React Native

  • Facebook Ads Manager, a cross-platform app, is the first fully built on React Native framework application.
  • The Instagram app uses a React Native framework for easy maintenance of both Android and iOS platforms.
  • The Bloomberg app adopted React Native for their mobile app development.
  • The Airbnb app is built with React Native.
  • Myntra an online shopping portal app is built on React Native.

Similarities Between Flutter and React Native

  • Both offer rapid, superior, and high-quality app performances on multiple platforms, including iOS and Android. Both React Native and Flutter, Are Designed For Cross-Platform App Development.
  • Both have strong developers’ communities and both are backed By Giant Tech Communities. Flutter is Google’s open-source SDK for mobile app development and React Native is offered by Facebook.
  • Both are open-Source, free, and fast platforms that allow developers to create amazing apps quickly due to their native performances.
  • Both of these frameworks are keeping their documentation up-to-date with API references and comprehensive resources.
  • Both frameworks offer excellent UI support and native experience. Flutter uses rich widgets to provide remarkable native experience on Android and iOS platforms. React Native also uses fundamental UI building elements as you use in Android/iOS to deliver the native experience.

Conclusion

React Native is useful for delivering excellent user experiences. But Flutter wins over its performance because of its simple interface. Flutter also has the advantage of reusing the code and using the JavaScript layer to make communication with the native components easier. React Native is less suitable because of its architecture.

How to undertake SAP and Salesforce Integration

How to undertake SAP and Salesforce Integration

The rapid adoption of Cloud Computing is impacting how enterprise applications are developed, distributed, and implemented. This development has implications for both the IT industry as well as enterprises.

The typical characteristics of enterprise software are complexity, data dependency and security and they focus on three areas: the platform, collaboration, and co-evolution.

The original idea for SAP was to provide customers with the ability to interact with a common corporate database for a comprehensive range of applications this has undergone a significant change over a period. Salesforce started off as a cloud-based customer management company though it has also expanded its solution stack significantly.

SAP S/4HANA- SAP S/4 HANA has a Cloud-based ERP offering that transforms SAP from an on-premise platform into a Cloud-based solution. This solution can be deployed either as a public Cloud or as an on-premise deployment.

Public Cloud designed for companies that have less restrictive data security and segregation policy and need integration that addresses the core business processes.

Salesforce – Salesforce revolutionized the CRM software market by developing a SAAS based CRM. Salesforce CRM has features that address most of the customers’ requirements. Force.com is a recent PaaS offering from Salesforce and offers developer several tools to develop and deploy their applications. The advanced apps distributed through the market platform AppExchange. AppExchange applications are web-based applications that interoperate with the Force.com platform and quite often Salesforce CRM. With both Salesforce and SAP entrenched within the enterprise there seamless integration has been an area of focus for corporations.

SAP Integration methods are Netweaver and Non-Netweaver based like BAPI/ ABAP/ IDOC ALE Inbound/Outbound Web services Netweaver XI/PI SAP BW/BI (ODBO, OLAP BAPI, XML for Analysis/XMLA) ABAP Connector & Batch-Input Connector.

Integrating with Salesforce Integration Platform provides third-party platforms capabilities for automated integration with the Salesforce API including objects, CRM metadata, bulk jobs, replication and lead conversion.

A business process integration solution allows corporations to perform all the required functions with objects. When working with Salesforce.com metadata, an organization needs to validate the status of any metadata operation at any time.

For corporations which have both SAP and Salesforce implemented the benefit of Integration are many, this combination is utilized to synchronize information between the two frameworks. For example, when data integrated into Salesforce, it is essential that this information is accessible in a synchronized way for finance, administration, and other business functions managed by SAP. Whenever SAP and

Salesforce is well integrated, and organizations can streamline and automate their business processes.

A significant advantage of this integration is reduction of manual data entry, fewer information redundancies, and mistakes caused by manual information

Undertaking data-integration predominantly did through either Extract-Transform-Load or Enterprise Application Integration tools. ETL approach involves data uploads in batches into Salesforce, or from Salesforce into data warehouses.  Batch uploads happen at regular intervals which can be hourly, daily or some other frequency. EAI is a complex event-based approach, where data ingestion occurs very frequently from external systems into Salesforce.

Conventional integration scenarios have been resource intensive and complex. Collaborative, point-to-point integration, for example, has been used at times as a rapid solution for SAP and Salesforce integration.

Service Oriented Architecture is an approach that can be leveraged to incorporate SAP and Salesforce. While SOA stacks enable free integration between applications and give corporations flexibility to address changes. Developing a full SOA stack for a large enterprise application requires high expenses and significant time to prepare.

Undertaking SAP and Salesforce integration require addressing of several issues which include aspects like identifying connectors and interfaces security, and the center approach you’ll take. There are multiple options to undertake integration. Designed and delivered right all solutions can work, but every opportunity has its scenario of risks, expenses, and tradeoffs. The idea should be to use the approach best suited to a corporation’s requirements.

When integrating SAP with Salesforce.com, a corporation needs to consider factors like network infrastructure, information flow, and data exchanges.

One of the ways to integrate SAP with Salesforce is by using the Sales Lightning component to undertake this integration.

Another viral mechanism leveraged by corporations is to undertake integration leveraging Informatica ETL functionality which enables an organization to set up a client synchronization with a wizard-based interface.

A new approach that is increasing in popularity is that of API driven integration and a leading solution in this domain is Mulesoft, the advantages of undertaking integration using this method is that building a scalable solution is easy in comparison to other approaches. With APIs, developers can integrate with endpoints and make connections without needing to have a deep understanding of disparate systems.

To wrap up

Remember, integrating Saleforce.com to SAP is essential since there is a central need to bring these frameworks together to meet the prerequisites of the business. Integration projects have been very specialized, challenging and costly to execute, a reason corporation frequently stayed away from this leading it to it hamper business. Once this integration initiates successfully, it becomes easy for organizations to exchange data seamlessly.

Salesforce Google Map Integration

Salesforce Google Map Integration

We are Salesforce™ Experts and we channelize our energy by documenting all the industry-specific technical problems we solve in Salesforce™ CRM world. Here I am about to explain one of the Google Map API with Saleforce.com custom development projects I was closely involved as a Salesforce™ Developer. At, below I will provide you the brief description of the project what basically it is and how we helped our end client.

Requirements:-

In, this Project Client basically need a system viewer where he can calculate a distance between the source and the other records. The basic agenda of this project to help our end client where they will help their customer and they can identify all the machine from the source of Account.

The original idea of the project is that from a single Account record Source we need the ability to produce a list of other accounts. Account records that fall within a certain proximity radius to that account is a list of accounts that result from the search ‘Proximity’ accounts.

The account in the system could potentially be a source account. The user initiating the search from the Source account would first need to populate a screen showing various criteria information. Such criteria would include a ‘Radius’ setting we will provide the initial default value but we will need the ability to override.

Additional criteria would include two or three custom fields these currently exist on the Account record. It will provide default values for each but we will need the ability to override.

It is not mandatory that the list of Proximity accounts display in map form. If the Proximity accounts are displayed in a list, and not on a map, it is important that we can see the distance in miles from each Proximity account to the Source account.

We came with the solution:-

In,this what we acknowledge that from the list of account we can identify certain set of machines from the source to the estimate miles and can find out the list of machines from the source with different cost and it would ease to identify the certain machine from the list of miles and also it can be identified from the last sale day ago which we can filter from all the above source and then click on search. From this, it provides two option 

1-Generate pdf
2-View Map

Generate Pdf:- From this Option Customer after selecting their choices they will click on this option and they will get the detailed report within the Pdf.

View Map:- It provides the viewer to identify all the destination location of the products and analyze the certain destination via this map.

 

 

Now, with the following screenshots its methodology can be understood as follows:-

1) Search Filter with the various criteria

 

It can be understood with the following Code Snippets as follows. These are the few components which we deployed to the production.

1. Show All Account on Filter Controller:-

From below code, we are able to distinguish how to multi-select the option which is available on the filter-

public with sharing class ShowAllAccountOnFilterController {

public String recordID{get;set;}

public Account Sourceaccount{get;set;}

public double Last_Sale_Days_Ago{get;set;}

public list<Account> accountList{get;set;}

public list<Account> accountlistSearched{get;set;}

public list<Account> accountlistSearched1{get;set;} // list will show on map

public list<wrpclass> SearchAccountListWithMiles{get;set;}

public list<String> accountpicklistvalue;

public list<String> seletectedaccountpicklistvalue;

public boolean listisempty{get;set;}

public boolean showiflistfilled{get;set;}

public  String headerdata{get;set;}

At below there is a description of the above model with the ER Diagram

 

 

 

 

Pin It on Pinterest