{"id":19674,"date":"2019-07-16T11:10:26","date_gmt":"2019-07-16T11:10:26","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=19674"},"modified":"2019-12-10T13:21:06","modified_gmt":"2019-12-10T13:21:06","slug":"how-to-perform-multiple-crud-operations-using-executemultiple-web-api-request-in-dynamics-365-crm","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2019\/07\/how-to-perform-multiple-crud-operations-using-executemultiple-web-api-request-in-dynamics-365-crm\/","title":{"rendered":"How to perform multiple CRUD operations using executeMultiple Web API Request in Dynamics 365 CRM"},"content":{"rendered":"<h2><strong>Introduction<\/strong><\/h2>\n<p>In this blog, we will learn how to perform multiple CRUD operations in a single Web API request using executeMultiple function. Currently, if we perform the CRUD operation on Dynamics 365 CRM then there is a need to fire the API request to each CRUD API operation. But with the help of executeMultiple we can execute multiple CRUD operations with just a single WebAPI request.<\/p>\n<p>For example, let\u2019s create some multiple Account entity records.<\/p>\n<p>Please find below the source code to perform this function:<\/p>\n<p>Create first account object for executing the create request.<\/p>\n<p><em>var account1 = new Object();<\/em><\/p>\n<p><em>account1[\u201cname\u201d] = \u201cAccount_1\u201d; \/\/account name<\/em><\/p>\n<p><em>account1[\u201cindustrycode\u201d] = 2; \/\/industry code<\/em><\/p>\n<p><em>var request1 = new Object();<\/em><\/p>\n<p><em>request1.getMetadata = function () {<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return {<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 boundParameter: undefined,<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 operationType: 2,<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0operationName: &#8220;Create&#8221;<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 };<\/em><\/p>\n<p><em>};<\/em><\/p>\n<p><em>request1.etn = &#8220;account&#8221;; \/\/entity set name<\/em><\/p>\n<p><em>request1.payload = account1; \/\/entity record data<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Create second account object for executing the create request.<\/p>\n<p>&nbsp;<\/p>\n<p><em>var account2 = new Object();<\/em><\/p>\n<p><em>account2[\u201cname\u201d] = \u201cAccount_2\u201d;<\/em><\/p>\n<p><em>\u00a0account1[\u201cindustrycode\u201d] = 3;<\/em><\/p>\n<p><em>var request2 = new Object();<\/em><\/p>\n<p><em>request2.getMetadata = function () {<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return {<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 boundParameter: undefined,<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 operationType: 2,<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 operationName: &#8220;Create&#8221;<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 };<\/em><\/p>\n<p><em>};<\/em><\/p>\n<p><em>request2.etn = &#8220;account&#8221;; \/\/entity set name<\/em><\/p>\n<p><em>request2.payload = account2; \/\/entity record data<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>After creating the individual CRUD operation object push into array. So first create one array variable.<\/p>\n<p>&nbsp;<\/p>\n<p><em>var batchReqCollection = [];<\/em><\/p>\n<p>Add individual CRUD operation object into request collection.<\/p>\n<p>\/\/add first account request<\/p>\n<p><em>batchReqCollection.push(request1);<\/em><\/p>\n<p>\/\/add second account request<\/p>\n<p><em>batchReqCollection.push(request1);<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>After preparing the request collection, pass to the executeMultiple WebAPI function.<\/p>\n<p>&nbsp;<\/p>\n<p><em>Xrm.WebApi.executeMultiple(batchReqCollection).then(<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 function (results) {\u00a0\u00a0\u00a0 <\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/get success result after execute the function\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 },<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 function (error) {<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});<\/em><\/p>\n<p><em>\u00a0<\/em><\/p>\n<p>The getMetadata() function description are as follows;<\/p>\n<p><strong>1. boundParameter:<\/strong> It specifies whether you perform CRUD operation, execute action or function. This parameter is specified with the following value:-<\/p>\n<p style=\"padding-left: 80px;\"><strong>undefined:<\/strong> If you want to perform CRUD request.<\/p>\n<p style=\"padding-left: 80px;\"><strong>Null: <\/strong>If execute action or function is not bounded to any entity.<\/p>\n<p style=\"padding-left: 80px;\"><strong>EnityName:<\/strong> If execute action or function is not bounded to any entity.<\/p>\n<p><strong>2. OperationName:<\/strong> It specifies the Action name, Function name and any CRUD operation that you want to perform.<\/p>\n<p><strong>3. operationType:<\/strong> This parameter is specified with the following value:<\/p>\n<p style=\"padding-left: 80px;\"><strong>0:<\/strong> If you want to execute Web API Action.<\/p>\n<p style=\"padding-left: 80px;\"><strong>1:<\/strong> If you want to execute WebAPI Action Function.<\/p>\n<p style=\"padding-left: 80px;\"><strong>2:<\/strong> If you want to perform CRUD operation.<\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>So using executeMultiple Web API function we can execute multiple Action, Function or CRUD operation in a single Web API request.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/product\/productivity-pack\/click-2-clone-microsoft-dynamics-crm-records\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter  wp-image-19679\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2019\/07\/click2clone-1.png\" alt=\"\" width=\"816\" height=\"204\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2019\/07\/click2clone-1.png 800w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2019\/07\/click2clone-1-300x75.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2019\/07\/click2clone-1-768x192.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2019\/07\/click2clone-1-660x165.png 660w\" sizes=\"(max-width: 816px) 100vw, 816px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this blog, we will learn how to perform multiple CRUD operations in a single Web API request using executeMultiple function. Currently, if we perform the CRUD operation on Dynamics 365 CRM then there is a need to fire the API request to each CRUD API operation. But with the help of executeMultiple we\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2019\/07\/how-to-perform-multiple-crud-operations-using-executemultiple-web-api-request-in-dynamics-365-crm\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":13,"featured_media":19686,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[65],"tags":[1905,1904],"class_list":["post-19674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webapi","tag-multiple-crud-operations","tag-web-api-request-dynamics-365-crm"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/19674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=19674"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/19674\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media\/19686"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=19674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=19674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=19674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}