{"id":81,"date":"2011-12-16T09:21:00","date_gmt":"2011-12-16T03:51:00","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=81"},"modified":"2011-12-16T09:21:00","modified_gmt":"2011-12-16T03:51:00","slug":"performing-crud-operations-synchronously-in-crm-2011-through-json","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2011\/12\/performing-crud-operations-synchronously-in-crm-2011-through-json\/","title":{"rendered":"Performing CRUD Operations synchronously in CRM 2011 through JSON"},"content":{"rendered":"<p>Synchronous methods to create, update and delete the records for the Account entity through JSON. These methods works synchronously.<\/p>\n<p><strong><span>Create Records<\/span><\/strong>: <span>To create the record into the CRM, you need to create an object for that record. After that you need to create the object of the <strong>XMLHttpRequest<\/strong> and open this request through \u201c<strong>POST<\/strong>\u201d method and need to call the send method with this <strong>jsonEntity<\/strong> (create from the target record).<\/span><\/p>\n<p><span><span>function<\/span> <\/span>createRecord( ) {<br \/><span><\/span><span>var<\/span> account = <span>new<\/span> Object( );<br \/>account.Name = <span>&#8220;Create Sample&#8221;;<br \/><\/span>account.Telephone1 = <span>&#8220;555-0123&#8221;;<br \/><\/span>account.AccountNumber = <span>&#8220;ABCDEFGHIJ&#8221;;<br \/><\/span>account.EMailAddress1 = &#8220;<a href=\"mailto:someone1@example.com\">someone1@example.com<\/a>&#8220;;<\/p>\n<p><span>var <\/span>jsonEntity = window.JSON.stringify(account);<br \/><span>var<\/span> createRecordReq = <span>new<\/span> XMLHttpRequest( );<br \/><span>var<\/span> ODataPath = Xrm.Page.context.getServerUrl( ) + <span>&#8220;\/XRMServices\/2011\/OrganizationData.svc&#8221;;<br \/><\/span>createRecordReq.open(&#8216;<span>POST&#8217;<\/span>, ODataPath + <span>&#8220;\/&#8221;<\/span> + <span>&#8220;AccountSet&#8221;,<\/span> <span>false<\/span>);<br \/>createRecordReq.setRequestHeader(&#8220;<span>Accept&#8221;, &#8220;application\/json<\/span>&#8220;);<br \/>createRecordReq.setRequestHeader(&#8220;<span>Content-Type&#8221;, &#8220;application\/json; charset=utf-8<\/span>&#8220;);<br \/>createRecordReq.send(jsonEntity);<\/p>\n<p><span>var<\/span> newRecord = JSON.parse(createRecordReq.responseText).d;<br \/><span>\/\/Alert the Id of the created record<br \/><\/span>alert(&#8220;<span>Id is:<\/span> &#8221; + newRecord.AccountId);<br \/>}<\/p>\n<p><strong><span>Update Record<\/span><\/strong>: <span>Update record request is same as the create but for the Update we need to set the Additional request header for the Method in the <strong>XMLHttpRequest<\/strong>. Here we have added the \u201c<strong>MERGE<\/strong>\u201d method. As shown below<\/span>.<br \/>updateRecordReq.setRequestHeader(&#8220;<span>X-HTTP-Method<\/span>&#8220;, &#8220;<span>MERGE<\/span>&#8220;);<\/p>\n<p><span>And when we open the request, we need to pass the guid of the record. As given in the below script.<br \/><\/span><br \/><span>function<\/span> updateRecord( ) {<br \/><span>var<\/span> account = Object( );<br \/>account.Name = &#8220;<span>Update Name of this Account<\/span>&#8220;;<br \/><span>var<\/span> jsonEntity = window.JSON.stringify(account);<br \/><span>var<\/span> updateRecordReq =<span> new<\/span> XMLHttpRequest( );<br \/><span>var <\/span>ODataPath = Xrm.Page.context.getServerUrl( ) + <span>&#8220;\/XRMServices\/2011\/OrganizationData.svc&#8221;;<br \/><\/span>updateRecordReq.open(&#8216;<span>POST<\/span>&#8216;, ODataPath + &#8220;\/&#8221; + &#8220;<span>AccountSet<\/span>&#8221; + &#8220;<span>(<\/span><span>guid<\/span>&#8216;&#8221; + &#8220;<span>E72B45B9-<\/span><span>58E0-E011-B700-00155D005515<\/span>&#8221; + &#8220;&#8216;)&#8221;,<span> false<\/span>);<br \/>updateRecordReq.setRequestHeader(&#8220;<span>Accept<\/span>&#8220;, &#8220;<span>application\/json<\/span>&#8220;);<br \/>updateRecordReq.setRequestHeader(&#8220;<span>Content-Type&#8221;, &#8220;application\/json; charset=utf-8<\/span>&#8220;);<br \/>updateRecordReq.setRequestHeader(&#8220;<span>X-HTTP-Method&#8221;, &#8220;MERGE<\/span>&#8220;);<br \/>updateRecordReq.send(jsonEntity);<\/p>\n<p>}<\/p>\n<p><span><strong>Delete Record<\/strong>: This is same as update request but here we need to call the Method delete and call send method with the <strong>null<\/strong> parameter.<\/span><br \/><span><\/span><br \/><span>function <\/span>deleteRecord( ) {<br \/><span>var<\/span> deleteRecordReq = <span>new <\/span>XMLHttpRequest( );<br \/><span>var <\/span>ODataPath = Xrm.Page.context.getServerUrl( ) + <span>&#8220;\/XRMServices\/2011\/OrganizationData.svc&#8221;;<br \/><\/span>deleteRecordReq.open(&#8216;<span>POST<\/span>&#8216;, ODataPath + &#8220;\/&#8221; + &#8220;<span>AccountSet<\/span>&#8221; + &#8220;(<span>guid<\/span>&#8216;&#8221; + &#8220;<span>E72B45B9-58E0-E011-B700-00155D005515&#8243; <\/span>+ &#8220;&#8216;)&#8221;,<span> false<\/span>);<\/p>\n<p>deleteRecordReq.setRequestHeader(&#8220;<span>Accept&#8221;, &#8220;application\/json<\/span>&#8220;);<br \/>deleteRecordReq.setRequestHeader(&#8220;<span>Content-Type&#8221;, &#8220;application\/json; charset=utf-8<\/span>&#8220;);<br \/>deleteRecordReq.setRequestHeader(&#8220;<span>X-HTTP-Method&#8221;, &#8220;DELETE<\/span>&#8220;);<br \/>deleteRecordReq.send(<span>null<\/span>);<\/p>\n<p>}<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>Posted by: Inogic<br \/>For more information\/discussions (documents, sample code snippets, detailed work flow or diagrams), <br \/>Please be free to visit the following links or email us: <br \/>Web: http:\/\/www.inogic.com<br \/>Blog: http:\/\/inogic.blogspot.com<br \/>Email: news@inogic.com<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Synchronous methods to create, update and delete the records for the Account entity through JSON. These methods works synchronously. Create Records: To create the record into the CRM, you need to create an object for that record. After that you need to create the object of the XMLHttpRequest and open this request through \u201cPOST\u201d method\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2011\/12\/performing-crud-operations-synchronously-in-crm-2011-through-json\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":13,"featured_media":0,"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":[20,21,22,24],"tags":[1690],"class_list":["post-81","post","type-post","status-publish","format-standard","hentry","category-dynamics-crm-2011","category-dynamics-crm-2013","category-dynamics-crm-2015","category-dynamics-crm-2016","tag-synchronous"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/81","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=81"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/81\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}