<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5895796808903471514</id><updated>2011-12-30T10:28:54.932+05:30</updated><title type='text'>Rajdip Das - Microsoft Dynamics AX | Previously known as Axapta</title><subtitle type='html'>Microsoft Dynamics Axapta Technical Blog is consisting of Microsoft Dynamics AX X++ Codes for in our day to day use. Rajdip Das</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-2776432836383285974</id><published>2011-01-04T11:16:00.001+05:30</published><updated>2011-01-04T15:35:25.094+05:30</updated><title type='text'>Workflow configuration error in Dynamics Ax: 401 Unauthorized</title><content type='html'>&lt;span style="color: black;"&gt;If you are getting an error after installing Dynamics AX Workflow: “&lt;b style="mso-bidi-font-weight: normal;"&gt;401 Unauthorized&lt;/b&gt;” after running Workflow infrastructure configuration wizard (Dynamics AX –&amp;gt; Administration –&amp;gt; Setup) at the first time installation of Dynamics Ax then you should go through the following steps…. It is mainly happening when database, AOS, Application and workflow servers are individual (especially workflow&lt;/span&gt; &amp;amp; AOS and Database server)&lt;br /&gt;&lt;ol type="1"&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l4 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"&gt;Check AOS Service is running under an active domain user (domain\username) &lt;/li&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l4 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"&gt;Workflow website and workflow application pool are having the same .NET Business Connector user name Identity (and of course, this should be an active domain user) &lt;/li&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l4 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"&gt;You added the workflow website (&lt;a href="http://servername:portnumber/DynamicsAXWorkflow50"&gt;http://servername:portnumber/DynamicsAXWorkflow50&lt;/a&gt; for example) to the trusted sites in Internet Options of AOS server &lt;/li&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l4 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"&gt;Run the following on the Workflow server: &lt;/li&gt;&lt;/ol&gt;&lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Arial Unicode MS'; mso-fareast-font-family: 'Times New Roman';"&gt;After checking above points and&amp;nbsp;then perform the following steps&lt;/span&gt; &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 1in; mso-list: l2 level2 lfo4; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;"&gt;&lt;span style="mso-list: Ignore;"&gt;Ø&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Start a command prompt. &lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 1in; mso-list: l3 level2 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;"&gt;&lt;span style="mso-list: Ignore;"&gt;Ø&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Locate and then change to the directory that contains the Adsutil.vbs file. (By default, this directory is C:\Inetpub\Adminscripts.)&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt 1in; mso-list: l3 level2 lfo5; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings; font-size: 10pt; mso-bidi-font-family: Wingdings; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Wingdings;"&gt;&lt;span style="mso-list: Ignore;"&gt;Ø&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Type the following command, and then press ENTER: &lt;br /&gt;&lt;/div&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cscript adsutil.vbs set w3svc/NTAuthenticationProviders “NTLM”&lt;/strong&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l1 level2 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l1 level2 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Wingdings;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ø&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;To verify that the&amp;nbsp;&lt;strong&gt;NtAuthenticationProviders&lt;/strong&gt;&amp;nbsp;metabase property is set to NTLM, type the following command, and then press ENTER: &lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l1 level2 lfo3; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cscript adsutil.vbs get w3svc/NTAuthenticationProviders &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The output:&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size: x-small;"&gt;NTAuthenticationProviders&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;: (STRING) "NTLM"&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;After completing above procedure successfully then please take a restart of Ax and IIS service and then workflow infrastructure configuration wizard will work fine.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-2776432836383285974?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/2776432836383285974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=2776432836383285974&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2776432836383285974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2776432836383285974'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2011/01/workflow-configuration-error-in.html' title='Workflow configuration error in Dynamics Ax: 401 Unauthorized'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-748221057845924121</id><published>2010-12-15T10:50:00.000+05:30</published><updated>2010-12-15T10:50:02.536+05:30</updated><title type='text'>Sending mail from workflow submit or Approve or any status in Dynamics Ax</title><content type='html'>During some period we are trying to send email from Ax while a workflow is submitted, approve or reject and etc. to the employee by using standard Ax procedure. But we did not achieve full our goal by using standard procedure. After few R&amp;amp;Ds we found that the standard Ax provides only can send a fixed email which is defined in E-mail template. Same mail has been sent to the user in case of workflow submit or approval or reject or anything. It is a standard template which is using in Ax. &lt;br /&gt;Our requirement was different mail will go as per the workflow status. I found all the information are stored in the "Event Inbox" table. So I made a batch job class with necessary procedures and it is running into batch job after very little bit of customizations.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Customization:&lt;/strong&gt;&lt;br /&gt;1. One field is added into the "EventInbox" table: TMSendEmail (EDT: NoYesId)&lt;br /&gt;&amp;nbsp;It would indicate email is sent or not. Once email sent then it will ticked.&lt;br /&gt;2. Created a class with extends "RunBaseBatch"&lt;br /&gt;&amp;nbsp;It prepares the email and send while batch occurrence in called&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Procedure:&lt;/strong&gt;&lt;br /&gt;1. Set email id required employees those are tagged user in workflow&lt;br /&gt;2. Check the email Notification field (under Approval &amp;amp; Task notification group) &lt;br /&gt;&amp;nbsp;&amp;nbsp; Administrator -&amp;gt; User -&amp;gt; User Option -&amp;gt; Notification (Tab)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Operations:&lt;/strong&gt;&lt;br /&gt;1. Find the class xpo and import it. Change the necessaries as per your requirements.&lt;br /&gt;2. Run the class -&amp;gt; a dialog will open -&amp;gt; Select Batch Process -&amp;gt; click Recurrence&lt;br /&gt;3. Set no "No End Date" and set recurring pattern to Minute in "1" under count filed&lt;br /&gt;4. Click Ok to back &lt;br /&gt;5. Put a caption and select a batch group from the Batch Group field then press OK.&lt;br /&gt;Class automatically fall into batch job and it will call 1 every minute. You can find the batch job under Basic -&amp;gt; Enquiries -&amp;gt; Batch Job.&lt;br /&gt;Here while the batch is call called then run method of class would call and corresponding methods will be executed.&lt;br /&gt;&lt;br /&gt;Sending of mail to the user is depends upon the workflow configuration. Body, Subject, users all are to be set into the configuration.&lt;br /&gt;&lt;br /&gt;I made it in this way if anyone have any idea or comment or suggestions then please don’t forget to share with me.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-748221057845924121?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/748221057845924121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=748221057845924121&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/748221057845924121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/748221057845924121'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/12/sending-mail-from-workflow-submit-or.html' title='Sending mail from workflow submit or Approve or any status in Dynamics Ax'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-2323310663410469627</id><published>2010-12-13T12:10:00.003+05:30</published><updated>2010-12-13T12:13:44.098+05:30</updated><title type='text'>Enable workflow in a Dynamics Ax webpart (EP)</title><content type='html'>&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;&lt;strong&gt;First create a new dynamics webpart in .net. Need to perform few steps to enable the workflow in the required webpart.&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;a.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Register workflow control in webpart.&lt;/strong&gt; &lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="background: yellow; font-family: 'Courier New'; font-size: 10pt; mso-highlight: yellow; mso-no-proof: yes;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;@&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt; &lt;span style="color: #a31515;"&gt;Register&lt;/span&gt; &lt;span style="color: red;"&gt;Assembly&lt;/span&gt;&lt;span style="color: blue;"&gt;="Microsoft.Dynamics.Framework.Portal, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: red;"&gt;Namespace&lt;/span&gt;&lt;span style="color: blue;"&gt;="Microsoft.Dynamics.Framework.Portal.UI.WebControls.Workflow"&lt;/span&gt; &lt;span style="color: red;"&gt;TagPrefix&lt;/span&gt;&lt;span style="color: blue;"&gt;="dynamics"&lt;/span&gt; &lt;span style="background: yellow; mso-highlight: yellow;"&gt;%&amp;gt;&lt;/span&gt; &lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;b.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Add workflow control in webpart (place the code after datasource).&lt;/strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;dynamics&lt;/span&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;AxWorkflowActionBar&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;="WorkflowActionBar"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&lt;/span&gt; &lt;/span&gt;&lt;span style="color: red; font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-no-proof: yes;"&gt;DataSourceID&lt;/span&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-no-proof: yes;"&gt;="AxDataSource1"&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-no-proof: yes;"&gt; &lt;span style="color: red;"&gt;DataMember&lt;/span&gt;&lt;span style="color: blue;"&gt;="{TableName}_Current"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black; font-size: x-small;"&gt;C&lt;/span&gt;.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Under Editor, call the following namespace&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-no-proof: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;using&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-no-proof: yes;"&gt; Microsoft.Dynamics.Framework.Portal.UI.WebControls.Workflow;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-no-proof: yes;"&gt;&lt;strong&gt;d&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-no-proof: yes;"&gt;&lt;strong&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Create the following method for calling CanSubmitToWorkflow method by using Proxy.&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-no-proof: yes;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;void&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt; WorkflowActionBar_EvaluatingCanSubmitToWorkflow(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af;"&gt;&lt;span style="font-family: inherit;"&gt;EvaluatingCanSubmitToWorkflowEventArgs&lt;/span&gt;&lt;/span&gt; e)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Boolean&lt;/span&gt; canSubmit;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;IAxaptaRecordAdapter&lt;/span&gt; record = e.DocumentRecord;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none; text-indent: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;ApplicationProxy.&lt;span style="color: #2b91af;"&gt;TM_PolicyMaster&lt;/span&gt; policyMaster = &lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ApplicationProxy.&lt;span style="color: #2b91af;"&gt;PolicyMaster&lt;/span&gt;(&lt;span style="color: blue;"&gt;this&lt;/span&gt;.AxSession.AxaptaAdapter, record);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;canSubmit = (&lt;span style="color: #2b91af;"&gt;Boolean&lt;/span&gt;)policyMaster.canSubmitToWorkflow();&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;e.CanSubmitToWorkflow = canSubmit;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none; text-indent: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(Note: Here &lt;span style="color: #2b91af;"&gt;PolicyMaster &lt;/span&gt;the Ax Table and canSubmitToWorkflow method is under the table and it is defined in proxy also. It returns boolean)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;&amp;nbsp;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; mso-fareast-font-family: 'Courier New'; mso-no-proof: yes;"&gt;&lt;span style="mso-list: Ignore;"&gt;e.&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;Create or update the page init method in webpart editor with following code&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;void&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt; Page_Init(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af;"&gt;EventArgs&lt;/span&gt; e&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;{&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;this&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;.WorkflowActionBar.EvaluatingCanSubmitToWorkflow += &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;EventHandler&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;EvaluatingCanSubmitToWorkflowEventArgs&lt;/span&gt;&amp;gt;(WorkflowActionBar_EvaluatingCanSubmitToWorkflow);&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;f.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;Create three &lt;strong&gt;WebActionMenuItems&lt;/strong&gt; in DAX with &lt;strong&gt;EPWorkflowWorkItemActionManager&lt;/strong&gt; class.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set label: &lt;strong&gt;Web Approve&lt;/strong&gt;, &lt;strong&gt;Web Reject&lt;/strong&gt; and &lt;strong&gt;Web request to Change&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Run On = &lt;strong&gt;Called from&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;strong&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;g.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Create another two WebActionMenuItems in DAX with your created Submit class. &lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;Set label: Web Submit and Web Re-submit.&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;strong&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;h.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Modify Submit class for Submitting workflow.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;DialogOk, init and reSubmit method&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;﻿﻿﻿﻿&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_oJQ5Q8BEy0Y/TQW8SL4ha2I/AAAAAAAABwA/xLEBWO13rdI/s1600/2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="110" n4="true" src="http://3.bp.blogspot.com/_oJQ5Q8BEy0Y/TQW8SL4ha2I/AAAAAAAABwA/xLEBWO13rdI/s400/2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; margin: 0in 0in 10pt 0.5in; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;&lt;span style="color: windowtext;"&gt;Figure &lt;/span&gt;&lt;span style="color: windowtext;"&gt;&lt;span style="mso-no-proof: yes;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext;"&gt;:&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: windowtext; font-weight: normal; mso-bidi-font-weight: bold;"&gt; DialogOK() of submit class, write this code after menuIten calls. Here “EP_PolicySubmit” and “EP_PolicyReSubmit” are the WebActionMenuItem of &lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext; font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;&lt;strong&gt;EPWorkflowWorkItemActionManager.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin: 0in 0in 10pt 0.5in; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_oJQ5Q8BEy0Y/TQW98DMPO8I/AAAAAAAABwI/T5e3qQ0YMIA/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="96" n4="true" src="http://4.bp.blogspot.com/_oJQ5Q8BEy0Y/TQW98DMPO8I/AAAAAAAABwI/T5e3qQ0YMIA/s400/3.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="left" class="MsoCaption" style="margin: 0in 0in 10pt 0.5in;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;&lt;span style="color: windowtext;"&gt;Figure &lt;/span&gt;&lt;span style="color: windowtext;"&gt;&lt;span style="mso-no-proof: yes;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span style="color: windowtext;"&gt;: Init() method of submit class:&lt;/span&gt;&lt;span style="color: #4f81bd;"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="color: windowtext; font-weight: normal; mso-bidi-font-weight: bold;"&gt;Add the highlighted line with your web policy submit menuItem name&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div align="left" class="MsoCaption" style="margin: 0in 0in 10pt 0.5in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://3.bp.blogspot.com/_oJQ5Q8BEy0Y/TQW-aE__KpI/AAAAAAAABwM/QBr1Ak9VKSc/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="76" n4="true" src="http://3.bp.blogspot.com/_oJQ5Q8BEy0Y/TQW-aE__KpI/AAAAAAAABwM/QBr1Ak9VKSc/s400/4.jpg" width="400" /&gt;&lt;/a&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: windowtext;"&gt;&lt;span style="mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; line-height: 115%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="color: windowtext;"&gt;&lt;span style="mso-no-proof: yes;"&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt; line-height: 115%; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"&gt;&lt;strong&gt;Figure&lt;/strong&gt; &lt;/span&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;: ReSubmit method of submit class: Add &lt;/strong&gt;the highlighted line with your web policy Re-Submit menuItem name&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&lt;span style="font-family: Calibri;"&gt;i.&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: small;"&gt;Now set the webmenuItems in different places….&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Web Submit&lt;/b&gt;: Workflow Template&lt;b style="mso-bidi-font-weight: normal;"&gt; &lt;/b&gt;(Properties) -&amp;gt; &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;submitToWorkflowWebMenuItem&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;b.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Web Re-Submit&lt;/b&gt;: Workflow Approval (Properties) -&amp;gt; ReSubmitWebMenuItem&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;c.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Web &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Approve&lt;/b&gt;: Workflow Approval -&amp;gt;Outcomes-&amp;gt;Approve (Propeties) -&amp;gt; ActionWebMenuItem&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;d.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Web &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Reject&lt;/b&gt;: Workflow Approval -&amp;gt;Outcomes-&amp;gt;Reject (Propeties) -&amp;gt; ActionWebMenuItem&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font-size: small;"&gt;e.&lt;/span&gt;&lt;span style="font-family: 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Web &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Req. to Change&lt;/b&gt;: Workflow Approval -&amp;gt;Outcomes-&amp;gt; RequestChange (Propeties) -&amp;gt; ActionWebMenuItem&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;﻿﻿﻿ &lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; mso-no-proof: yes;"&gt;And now workflow is ready for web. Please reset the IIS and Refresh AOD from EP before the submit of Workflow. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt; text-align: left;"&gt;﻿﻿&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-2323310663410469627?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/2323310663410469627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=2323310663410469627&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2323310663410469627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2323310663410469627'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/12/enable-workflow-in-dynamics-ax-webpart.html' title='Enable workflow in a Dynamics Ax webpart (EP)'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oJQ5Q8BEy0Y/TQW8SL4ha2I/AAAAAAAABwA/xLEBWO13rdI/s72-c/2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-4194655230589143483</id><published>2010-06-21T16:55:00.001+05:30</published><updated>2010-06-21T23:43:00.159+05:30</updated><title type='text'>Microsoft Dynamics AX 6.0 (2011) New X++ Editor</title><content type='html'>Good news for all DAX developers.... DAX 2011/6.0 has&amp;nbsp;introduced new and interesting features in X++ editors. I have found a very helpful &amp;amp; interesting&amp;nbsp;video regarding X++ editor in YouTube. Features are very nice and also very useful for the developer. I am sharing with you. Please click and see the bellow video....&lt;br /&gt;&lt;br /&gt;..... :)&lt;br /&gt;&lt;br /&gt;&lt;object height="344" style="background-image: url(http://i3.ytimg.com/vi/Bh9j3671ye4/hqdefault.jpg);" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Bh9j3671ye4&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Bh9j3671ye4&amp;amp;hl=en_US&amp;amp;fs=1" width="425" height="344" allowscriptaccess="never" allowfullscreen="true" wmode="transparent" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-4194655230589143483?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/4194655230589143483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=4194655230589143483&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/4194655230589143483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/4194655230589143483'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/06/microsoft-dynamics-ax-60-2011-new-x.html' title='Microsoft Dynamics AX 6.0 (2011) New X++ Editor'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-7076313383942334280</id><published>2010-02-24T12:16:00.009+05:30</published><updated>2010-02-24T12:28:07.215+05:30</updated><title type='text'>Installation Problem (Connectivity) of Dynamics Ax 2009 with Oracle 10g R2</title><content type='html'>Few days earlier I was involving a problem of connectivity of Dynamics Ax 2009 with Oracle 10g database during installation.  After lots of fights we've managed finally to get started up and running Axapta 2009. Recently I noticed many people are facing same kind of problem like me. It is not a complex procedure but some tricks over there. I found some tricks those I am publishing. &lt;br /&gt;&lt;br /&gt;1. After completing Oracle 10g installation ensure Oracle services (Listner, database, Oracle service and SQL Plus) are running under local services&lt;br /&gt;&lt;br /&gt;2. Open SQL Plus for checking Oracle is running successfully or not. ( Common error basically came as “Insufficient Shared Memory”) &lt;br /&gt;&lt;br /&gt;If not running Oracle Plus then please hold a moment and then try to run Oracle SQL Plus again. (Cause after&amp;nbsp;installing&amp;nbsp;Oracle takes some times to initialize/configure the Oracle Shared Memory)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;“Setup could not connect to the Database Server “DataSource = ****; Integrated Security = Yes”&lt;/b&gt; is the common barrier during installation of Ax with Oracle 10g.&lt;br /&gt;This bellow mentioned process might be helpful to some extend for smooth installation.&lt;br /&gt;&lt;br /&gt;Add AOS user (administrator) into Oracle 10g Administrative Assistance area and add also the “Domain Admins” if not present there. Here the path....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_oJQ5Q8BEy0Y/S4PCOx4zjAI/AAAAAAAABpE/kkno_YoPPdg/s1600-h/SC1_Path.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://4.bp.blogspot.com/_oJQ5Q8BEy0Y/S4PCOx4zjAI/AAAAAAAABpE/kkno_YoPPdg/s640/SC1_Path.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here the area where you have to add user&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_oJQ5Q8BEy0Y/S4PCocHFoPI/AAAAAAAABpM/ycoPAbVxNtg/s1600-h/DC2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="476" src="http://4.bp.blogspot.com/_oJQ5Q8BEy0Y/S4PCocHFoPI/AAAAAAAABpM/ycoPAbVxNtg/s640/DC2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoListParagraph"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 115%;"&gt;&lt;b&gt;Note:&lt;/b&gt; Another problem may happen &lt;b&gt;AOS is not starting for the first time&lt;/b&gt; after building all the index files. If you face then nothing to worry, &amp;nbsp;change the Dynamics Ax Server Service from &lt;b&gt;NetworkService Account&lt;/b&gt; to &lt;b&gt;Domain\Administrator&lt;/b&gt; Account and then start the service again and little while after service will show “Started”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 115%;"&gt;&lt;b&gt;*** Apart form above procedure many procedures to be maintained during Oracle installation for Ax 2009. All the procedure are available in the Installation guide. Please read deeply the Installation guide of dynamics Ax with Oracle 10g (provided by Microsoft) before installing.&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 115%;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;***I think above procedure is to avoid&amp;nbsp;obstruction&amp;nbsp;of&amp;nbsp;installation&amp;nbsp;but I may be wrong or right to some extend.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Please leave me your comment or any information or missing&amp;nbsp;information&amp;nbsp;regarding this topic&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 115%;"&gt;:)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-7076313383942334280?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/7076313383942334280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=7076313383942334280&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/7076313383942334280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/7076313383942334280'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/02/installation-problem-connectivity-of.html' title='Installation Problem (Connectivity) of Dynamics Ax 2009 with Oracle 10g R2'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oJQ5Q8BEy0Y/S4PCOx4zjAI/AAAAAAAABpE/kkno_YoPPdg/s72-c/SC1_Path.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-6026232969466827128</id><published>2010-02-23T15:25:00.000+05:30</published><updated>2010-02-23T15:25:44.621+05:30</updated><title type='text'>UTCDateTime field Query Range by Date in Dynamics Ax</title><content type='html'>&lt;b&gt;&lt;i&gt;static void RAJ_UTCDateTimeQueryRange(Args _args)&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;{&lt;br /&gt;    Query                       q = new Query();&lt;br /&gt;    QueryRun                    qr;&lt;br /&gt;    QueryBuildDataSource        qbds;&lt;br /&gt;    CustTable                   custTable;&lt;br /&gt;    Transdate                   tmpCreatedDate = 02\02\2010;  // dd-mm-yyyy&lt;br /&gt;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    qbds = q.addDataSource(tableNum(CustTable));&lt;br /&gt;    qbds.addRange(fieldNum(CustTable, CreatedDateTime)).value(date2StrUsr(tmpCreatedDate));&lt;br /&gt;&lt;br /&gt;    qr = new QueryRun(q);&lt;br /&gt;    &lt;br /&gt;    while(qr.next())&lt;br /&gt;    {&lt;br /&gt;        custTable = qr.get(tableNum(CustTable));&lt;br /&gt;&lt;br /&gt;        info(strfmt("Account Num: %1, Name: %2", custTable.AccountNum, custTable.Name));&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-6026232969466827128?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/6026232969466827128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=6026232969466827128&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/6026232969466827128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/6026232969466827128'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/02/utcdatetime-field-query-range-by-date.html' title='UTCDateTime field Query Range by Date in Dynamics Ax'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-2820044339615642079</id><published>2010-02-09T13:13:00.001+05:30</published><updated>2010-02-09T13:14:55.833+05:30</updated><title type='text'>Conversion of UTCDateTime in Dynamics AX 2009</title><content type='html'>Recently I have faced a problem of conversion from UTCDateTime variable. I searched everywhere blogs, msdn &amp; finally got result.I am really thankfull for &lt;b&gt;www.axaptapedia.com/UtcDateTime&lt;i&gt;&lt;/i&gt;&lt;/b&gt; blog for the refference. This job is indicating converting from UTCDateTime to seperate variables as well as seperate variables to UTCDateTime variable.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;public static void RAJ_UTCDateTimeConversion()&lt;/b&gt;&lt;br /&gt;{&lt;br /&gt;UTCDateTime         dateTime;&lt;br /&gt;date                tmpDate;&lt;br /&gt;TimeOfDay           tmpTime;&lt;br /&gt;CustTable           cTable = CustTable::find("1101");&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;// Extracted date &amp; Time from UTCDateTime datatype to individulal variable&lt;br /&gt;dateTime = cTable.createdDateTime;&lt;br /&gt;&lt;br /&gt;tmpDate = DateTimeUtil::date(dateTime);&lt;br /&gt;tmpTime = DateTimeUtil::time(DateTimeUtil::applyTimeZoneOffset(dateTime, DateTimeUtil::getUserPreferredTimeZone()));&lt;br /&gt;&lt;br /&gt;info(strfmt("Date: %1 and Time: %2.", tmpDate, time2str(tmpTime,1,2)));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// assign UTCDateTime varriable by using two individual field&lt;br /&gt;dateTime = DateTimeUtil::newDateTime(12\05\2010, timeNow());&lt;br /&gt;info(strfmt("UTCDateTime: %1.",dateTime));&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-2820044339615642079?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/2820044339615642079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=2820044339615642079&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2820044339615642079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2820044339615642079'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/02/conversion-of-utcdatetime-in-dynamics.html' title='Conversion of UTCDateTime in Dynamics AX 2009'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-7845282891045046171</id><published>2010-02-05T11:21:00.010+05:30</published><updated>2010-02-05T16:31:56.090+05:30</updated><title type='text'>Adding new Finance Dimension in Axapta 2009</title><content type='html'>A wizard is available in Dynamics Ax 2009 for creating Finance Dimension. Its a very easy process. It is not a sequence of processes like 3.0. It is a wizard just write the Name &amp; Label and then dimension creation has been completed. All internal processes are done by Axapta itself internally. Here some screenshots of creating a new dimension.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oJQ5Q8BEy0Y/S2vK9-0U3_I/AAAAAAAABoo/FdYvsoXq94k/s1600-h/Path.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 230px;" src="http://1.bp.blogspot.com/_oJQ5Q8BEy0Y/S2vK9-0U3_I/AAAAAAAABoo/FdYvsoXq94k/s320/Path.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5434660541535936498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fig 1: Path of Wizard&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_oJQ5Q8BEy0Y/S2vLgIbXf0I/AAAAAAAABow/zxMUu6c086E/s1600-h/Value.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 277px; height: 320px;" src="http://1.bp.blogspot.com/_oJQ5Q8BEy0Y/S2vLgIbXf0I/AAAAAAAABow/zxMUu6c086E/s320/Value.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5434661128231157570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fig 2: Input for Dimension&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Place here Dimension Name, Dimension Caption. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/S2vMOWr7c3I/AAAAAAAABo4/-ZUyKjpjqmo/s1600-h/finish.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 278px; height: 320px;" src="http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/S2vMOWr7c3I/AAAAAAAABo4/-ZUyKjpjqmo/s320/finish.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5434661922332701554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fig 3: Finish to complete Process&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; Synchronize the database and restart the service after completing above procedure.  &lt;br /&gt;Finance Dimension up-gradation is depend upon license &lt;br /&gt;Please do not try in Live application directly. Take a back up &amp; implement in test environment at first.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-7845282891045046171?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/7845282891045046171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=7845282891045046171&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/7845282891045046171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/7845282891045046171'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/02/adding-new-financial-dimensions-in.html' title='Adding new Finance Dimension in Axapta 2009'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oJQ5Q8BEy0Y/S2vK9-0U3_I/AAAAAAAABoo/FdYvsoXq94k/s72-c/Path.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-7382479473194059782</id><published>2010-02-01T19:15:00.004+05:30</published><updated>2010-02-01T19:31:54.739+05:30</updated><title type='text'>"Like" with "AND" Operator through Query in Dynamics Ax</title><content type='html'>&lt;span style="font-weight:bold;"&gt;static void RAJ_AndLikeOperator(Args _args)&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    Query query     = new Query();&lt;br /&gt;    QueryRun        queryRun;&lt;br /&gt;    InventTable     inventTable;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    query.addDataSource(tableNum(InventTable)).addRange(fieldNum(InventTable, ItemId)).value("100*, 110*, 120*");&lt;br /&gt;    queryRun = new QueryRun(query);&lt;br /&gt;    while(queryRun.next())&lt;br /&gt;    {&lt;br /&gt;        inventTable = queryRun.get(tableNum(InventTable));&lt;br /&gt;        info(inventTable.ItemId);&lt;br /&gt;    } &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-7382479473194059782?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/7382479473194059782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=7382479473194059782&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/7382479473194059782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/7382479473194059782'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/02/like-with-and-operator-through-query-in.html' title='&quot;Like&quot; with &quot;AND&quot; Operator through Query in Dynamics Ax'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-732452206555451751</id><published>2010-01-28T15:45:00.008+05:30</published><updated>2010-02-01T19:31:29.380+05:30</updated><title type='text'>"Not Like and Like" Operator in Dynamics AX</title><content type='html'>Use of "Not Like and Like" operator through Dynamics Ax Query.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;static void RAJ_LikeNotLikeOperator(Args _args)&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    Query query     = new Query();&lt;br /&gt;    QueryRun        queryRun;&lt;br /&gt;    InventTable     inventTable;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    query.addDataSource(tableNum(InventTable)).addRange(fieldNum(InventTable, ItemId)).value("100*");              // Like operator&lt;br /&gt;  //  query.addDataSource(tableNum(InventTable)).addRange(fieldNum(InventTable, ItemId)).value("!100*");              // Not Like Operator&lt;br /&gt;    queryRun = new QueryRun(query);&lt;br /&gt;    while(queryRun.next())&lt;br /&gt;    {&lt;br /&gt;        inventTable = queryRun.get(tableNum(InventTable));&lt;br /&gt;        info(inventTable.ItemId);&lt;br /&gt;    }  &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-732452206555451751?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/732452206555451751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=732452206555451751&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/732452206555451751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/732452206555451751'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/01/not-like-operator-in-dynamics-ax.html' title='&quot;Not Like and Like&quot; Operator in Dynamics AX'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-3269262223371664722</id><published>2010-01-28T15:11:00.007+05:30</published><updated>2010-01-28T16:37:07.197+05:30</updated><title type='text'>EDT Finds with String Length Value</title><content type='html'>&lt;span style="font-style:italic;"&gt;During X++ development I think finding a EDT with a specific String Size is a huge problem. Initially we are trying to find but after we create a new one EDT. For this reason .aod size is increasing day to day to some extend. I listed down a job which helps you to find out proper String EDT by giving our String Length value. A list will come into excel in your PC.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;static void Raj_EDTfind(Args _args&lt;/span&gt;)&lt;br /&gt;{&lt;br /&gt;    Dictionary              dict;&lt;br /&gt;    DictType                dictType;&lt;br /&gt;    TreeNode                treeNode = TreeNode::findNode("Data Dictionary\\Extended Data Types\\ABCModelType");&lt;br /&gt;&lt;br /&gt;    #AviFiles&lt;br /&gt;    sysExcelApplication     excel;&lt;br /&gt;    SysExcelWorkbooks       books;&lt;br /&gt;    SysExcelWorkbook        book;&lt;br /&gt;    SysExcelWorkSheets      sheets;&lt;br /&gt;    SysExcelWorkSheet       sheet;&lt;br /&gt;    com                     com;&lt;br /&gt;    Integer                 row = 2;&lt;br /&gt;&lt;br /&gt;    Dialog                  d = new Dialog("Input Box");&lt;br /&gt;    DialogField             dfStrValue;&lt;br /&gt;    Integer                 tmpStringLen = 0;&lt;br /&gt;&lt;br /&gt;    SysOperationProgress progress = new SysOperationProgress();&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    // Dialog initialised and accept value and asign&lt;br /&gt;    dfStrValue = d.addField(typeId(Integer),"Enter EDT String Length");&lt;br /&gt;    if(!d.run())&lt;br /&gt;        return;&lt;br /&gt;&lt;br /&gt;    tmpStringLen = dfStrValue.value();&lt;br /&gt;&lt;br /&gt;    if(!tmpStringLen)&lt;br /&gt;        throw error("Plaese Enter Valid Number.");&lt;br /&gt;&lt;br /&gt;   // Excel Object initialisations&lt;br /&gt;    excel = sysExcelApplication::construct();&lt;br /&gt;    books = excel.workbooks();&lt;br /&gt;    book = books.add();&lt;br /&gt;    sheets = excel.worksheets();&lt;br /&gt;    sheet = sheets.itemFromNum(1);&lt;br /&gt;    com = sheet.comObject();&lt;br /&gt;&lt;br /&gt;    // Heading Initialisations&lt;br /&gt;    sheet.cells().item(2,1).value("EDT Name");&lt;br /&gt;    sheet.cells().item(2,5).value("Label");&lt;br /&gt;&lt;br /&gt;    // Progress Bar Initialisations&lt;br /&gt;    progress.setCaption("Generating Lines");&lt;br /&gt;    progress.setAnimation(#AviTransfer);&lt;br /&gt;    progress.setTotal(500);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    // loop for searching EDTs&lt;br /&gt;    while(treeNode)&lt;br /&gt;    {&lt;br /&gt;        dict = new Dictionary();&lt;br /&gt;        dictType = dict.typeObject(dict.typeName2Id(treeNode.treeNodeName()));&lt;br /&gt;&lt;br /&gt;        if(dictType.stringLen() == tmpStringLen)&lt;br /&gt;        {&lt;br /&gt;            row++;&lt;br /&gt;            sheet.cells().item(row,1).value(treeNode.treeNodeName());&lt;br /&gt;            sheet.cells().item(row,5).value(dictType.label());&lt;br /&gt;&lt;br /&gt;            progress.setText(strfmt('Copying EDT %1.', treeNode.treeNodeName()));&lt;br /&gt;            progress.setCount(row);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        treeNode = treeNode.AOTnextSibling();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    sheet.cells().item(1,1).value(strfmt("Found EDT: %1.", row)); // Count &amp; Print for Filtered EDT&lt;br /&gt;&lt;br /&gt;    box::info(strfmt("Total EDT Found: %1.", row), "Information");&lt;br /&gt;    excel.visible(true);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-3269262223371664722?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/3269262223371664722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=3269262223371664722&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/3269262223371664722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/3269262223371664722'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2010/01/edt-find-with-string-length-value.html' title='EDT Finds with String Length Value'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-9147654855099700319</id><published>2009-09-03T11:51:00.002+05:30</published><updated>2009-09-04T15:31:15.591+05:30</updated><title type='text'>Simple code for retriving a Number from Number Sequence</title><content type='html'>static void RAJ_retriveNumSeq(Args _args)&lt;br /&gt;{    &lt;br /&gt;    NumberSeq numberSeq;&lt;br /&gt;    str tmpNum;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    numberSeq = numberSeq::newGetNumFromCode("Num_Seq_Code"); // place here num seq code&lt;br /&gt;    tmpNum = numberSeq.num();&lt;br /&gt;&lt;br /&gt;    info(tmpNum);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-9147654855099700319?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/9147654855099700319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=9147654855099700319&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/9147654855099700319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/9147654855099700319'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/09/simple-code-for-retriving-number-from.html' title='Simple code for retriving a Number from Number Sequence'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-8807470321085183311</id><published>2009-07-10T13:53:00.004+05:30</published><updated>2009-07-10T14:27:02.087+05:30</updated><title type='text'>Excel Export from Axapta (through code)</title><content type='html'>Excel import/export plays a very important role in DAX. This is a simple code of Excel Export. This job represents the creation of excel file along with customer data (two fields). :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;static void Raj_WriteIntoExcel(Args _args)&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    #AviFiles&lt;br /&gt;    sysExcelApplication         excel;&lt;br /&gt;    SysExcelWorkbooks           books;&lt;br /&gt;    SysExcelWorkbook            book;&lt;br /&gt;    SysExcelWorkSheets          sheets;&lt;br /&gt;    SysExcelWorkSheet           sheet;&lt;br /&gt;    com                         com;&lt;br /&gt;    CustTable                   custTable;&lt;br /&gt;    Integer                     row = 1, totRecord;&lt;br /&gt;    SysOperationProgress        progress = new SysOperationProgress();&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    select count(RecId) from custTable;&lt;br /&gt;    totRecord = custTable.RecId;&lt;br /&gt;&lt;br /&gt;    excel       = sysExcelApplication::construct();&lt;br /&gt;    books       = excel.workbooks();&lt;br /&gt;    book        = books.add();&lt;br /&gt;    sheets      = excel.worksheets();&lt;br /&gt;    sheet       = sheets.itemFromNum(1);&lt;br /&gt;    com         = sheet.comObject();&lt;br /&gt;&lt;br /&gt;    sheet.cells().item(1,1).value("Customer Id");&lt;br /&gt;    sheet.cells().item(1,2).value("Customer Name");&lt;br /&gt;&lt;br /&gt;    progress.setCaption("Exporting Customer");&lt;br /&gt;    progress.setAnimation(#AviTransfer);&lt;br /&gt;    progress.setTotal(totRecord);&lt;br /&gt;&lt;br /&gt;    while select custTable&lt;br /&gt;    {&lt;br /&gt;        row++;&lt;br /&gt;        sheet.cells().item(row,1).value(custTable.AccountNum);&lt;br /&gt;        sheet.cells().item(row,2).value(custTable.Name);&lt;br /&gt;        progress.setText(strfmt('Exporting Customer %1.', custTable.AccountNum));&lt;br /&gt;        progress.setCount(row,row);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    excel.visible(true);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-8807470321085183311?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/8807470321085183311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=8807470321085183311&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/8807470321085183311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/8807470321085183311'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/07/excel-export-from-axapta.html' title='Excel Export from Axapta (through code)'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-2248863899009675456</id><published>2009-07-04T14:51:00.007+05:30</published><updated>2009-07-04T15:03:12.956+05:30</updated><title type='text'>Code for Excel import by choosing file in Axapta</title><content type='html'>This is a very useful code for importing excel into DAX table. Developer can add/modify their logics while importing excel into DAX table. This is a simple and compact code. Developers have to change this code as per their requirements. &lt;br /&gt;Note: Here excel file will be 3 columns, 1. Vendor Code, 2. vendor Group and 3. vendor Currency. You can add or less fields in excel but same incorporation should be done in this job (bold area). While you incorporate this type of procedure then I recommend to all do this code into a class instead of job.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;static void Raj_ExcelUploadByFile(Args _args)&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    #AviFiles&lt;br /&gt;    FilenameOpen                filename;&lt;br /&gt;    dialogField                 dialogFilename;&lt;br /&gt;    Dialog                      dialog= new Dialog("Excel Upoad");&lt;br /&gt;    Container                   vendCont[];&lt;br /&gt;&lt;br /&gt;    int                         rowIdx;&lt;br /&gt;    Counter                     linesImported;&lt;br /&gt;    int                         lastRow;&lt;br /&gt;    boolean                     ok = true;&lt;br /&gt;    str                         c1,c2,c3;&lt;br /&gt;    str                         input;&lt;br /&gt;&lt;br /&gt;    SysExcelApplication         application;&lt;br /&gt;    SysExcelWorkBooks           workBooks;&lt;br /&gt;    SysExcelWorkSheets          workSheets;&lt;br /&gt;    SysExcelWorkSheet           workSheet;&lt;br /&gt;    SysExcelCells               cells;&lt;br /&gt;    SysOperationProgress        progress;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    #define.CurrentVersion(1)&lt;br /&gt;    #localmacro.CurrentList&lt;br /&gt;        filename&lt;br /&gt;    #endmacro&lt;br /&gt;&lt;br /&gt;    #Excel&lt;br /&gt;    #define.Star('*')&lt;br /&gt;    #define.Space(' ')&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    // convert into str from excel cell value&lt;br /&gt;    str COMVariant2Str(COMVariant _cv, int _decimals = 0, int _characters = 0, int _separator1 = 0, int _separator2 = 0)&lt;br /&gt;    {&lt;br /&gt;        switch (_cv.variantType())&lt;br /&gt;        {&lt;br /&gt;            case (COMVariantType::VT_BSTR):&lt;br /&gt;                return _cv.bStr();&lt;br /&gt;&lt;br /&gt;            case (COMVariantType::VT_R4):&lt;br /&gt;                return num2str(_cv.float(),_characters,_decimals,_separator1,_separator2);&lt;br /&gt;&lt;br /&gt;            case (COMVariantType::VT_R8):&lt;br /&gt;                return num2str(_cv.double(),_characters,_decimals,_separator1,_separator2);&lt;br /&gt;&lt;br /&gt;            case (COMVariantType::VT_DECIMAL):&lt;br /&gt;                return num2str(_cv.decimal(),_characters,_decimals,_separator1,_separator2);&lt;br /&gt;&lt;br /&gt;            case (COMVariantType::VT_DATE):&lt;br /&gt;                return date2str(_cv.date(),123,2,1,2,1,4);&lt;br /&gt;&lt;br /&gt;            case (COMVariantType::VT_EMPTY):&lt;br /&gt;                return "";&lt;br /&gt;&lt;br /&gt;            default:&lt;br /&gt;                throw error(strfmt("@SYS26908", _cv.variantType()));&lt;br /&gt;        }&lt;br /&gt;        return "";&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // Find last row from excel&lt;br /&gt;&lt;br /&gt;    int findLastRow(SysExcelWorkSheet _workSheet)&lt;br /&gt;    {&lt;br /&gt;        SysExcelRange   range;&lt;br /&gt;        ;&lt;br /&gt;&lt;br /&gt;        range = _workSheet.cells().range(#ExcelTotalRange);&lt;br /&gt;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            // Finds the row where the first contents is found.&lt;br /&gt;            range = range.find(#Star, null, #xlFormulas, #xlWhole, #xlByRows, #xlPrevious);&lt;br /&gt;        }&lt;br /&gt;        catch (Exception::Error)&lt;br /&gt;        {&lt;br /&gt;            error("@SYS59926");&lt;br /&gt;            return 0;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        if (range)&lt;br /&gt;        {&lt;br /&gt;            return range.row();&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            return 0;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    dialogFilename = dialog.addField(typeId(FilenameOpen));&lt;br /&gt;    dialog.filenameLookupFilter(["@SYS28576",#XLS]);&lt;br /&gt;    dialog.filenameLookupTitle("Upload from Excel");&lt;br /&gt;    dialogFilename.value(filename);&lt;br /&gt;    &lt;br /&gt;    if(!dialog.run())&lt;br /&gt;        return;&lt;br /&gt;&lt;br /&gt;    filename = dialogFilename.value();&lt;br /&gt;&lt;br /&gt;    ttsbegin;&lt;br /&gt;&lt;br /&gt;        application = SysExcelApplication::construct();&lt;br /&gt;        workBooks   = application.workbooks();&lt;br /&gt;        workBooks.open(filename,0,true);&lt;br /&gt;&lt;br /&gt;        workSheets  = workBooks.item(1).worksheets();&lt;br /&gt;    //    this.importExcel("Sheet1");&lt;br /&gt;&lt;br /&gt;    input       = "Sheet1";&lt;br /&gt;    workSheet   = workSheets.itemFromName(input);&lt;br /&gt;    cells       = workSheet.cells();&lt;br /&gt;    lastRow     = findLastRow(workSheet);&lt;br /&gt;    rowIdx      = 1;&lt;br /&gt;&lt;br /&gt;    progress = new SysOperationProgress();&lt;br /&gt;    progress.setCaption("Vendor Importing");&lt;br /&gt;    progress.setTotal(lastRow);&lt;br /&gt;    progress.setAnimation(#AviTransfer);&lt;br /&gt;    setprefix("Vendor Import");&lt;br /&gt;&lt;br /&gt;    while (rowIdx &lt; lastRow)&lt;br /&gt;    {&lt;br /&gt;        rowIdx++;&lt;br /&gt;        setPrefix(strfmt("Excel Row: %1", rowIdx));&lt;br /&gt;&lt;br /&gt;        &lt;span style="font-weight:bold;"&gt;c1 = COMVariant2Str(cells.item(rowIdx,1).value());  //Vendor Account in excel asigning value into dax variable&lt;br /&gt;        c2 = COMVariant2Str(cells.item(rowIdx,2).value());  //vendor Group&lt;br /&gt;        c3 = COMVariant2Str(cells.item(rowIdx,3).value())&lt;/span&gt;;  // vendor Currency&lt;br /&gt;&lt;br /&gt;        linesImported++;&lt;br /&gt;        vendCont[linesImported] = conins(vendCont[linesImported] , 1 ,c1, c2, c3);   // records inserted into container&lt;br /&gt;&lt;br /&gt;        progress.setText("Importing " + c1);&lt;br /&gt;        progress.setCount(linesImported);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    for(rowIdx = 1 ; rowIdx &lt;= linesImported; rowIdx++)            // for display&lt;br /&gt;    {&lt;br /&gt;        info(strfmt("Vendor Code: %1, Name: %2, Group: %3.", conpeek(vendCont[rowIdx], 1),conpeek(vendCont[rowIdx], 2), conpeek(vendCont[rowIdx], 3)));&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    application.quit();&lt;br /&gt;    application = null;&lt;br /&gt;&lt;br /&gt;    ttscommit;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-2248863899009675456?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/2248863899009675456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=2248863899009675456&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2248863899009675456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2248863899009675456'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/07/custom-excel-import-code-by-chhosing.html' title='Code for Excel import by choosing file in Axapta'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-402302447496157660</id><published>2009-03-17T13:52:00.000+05:30</published><updated>2009-03-17T13:57:34.429+05:30</updated><title type='text'>How to display total number pages in a report like  5 of 100 in AX?</title><content type='html'>Here 100 is the total pages of report and 5 indicating the current / active page of the report.&lt;br /&gt;&lt;br /&gt;Its a very simple. In any section of report create two integer control.&lt;br /&gt; &lt;br /&gt;For Page Number: go to propety of the a integer control and set &lt;span style="font-weight:bold;"&gt;DataMethod &lt;/span&gt;property with "&lt;span style="font-weight:bold;"&gt;Page&lt;/span&gt;".&lt;br /&gt;For Total Number Pages: go to propety of the another integer control and set &lt;span style="font-weight:bold;"&gt;DataMethod &lt;/span&gt;property with "&lt;span style="font-weight:bold;"&gt;PagesTotal&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;Run the report and see the effect.... :)&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-402302447496157660?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/402302447496157660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=402302447496157660&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/402302447496157660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/402302447496157660'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/03/how-to-display-total-number-pages-in.html' title='How to display total number pages in a report like  5 of 100 in AX?'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-645120951528381709</id><published>2009-03-03T14:20:00.000+05:30</published><updated>2009-03-03T14:24:33.829+05:30</updated><title type='text'>Form Run(Open) through code</title><content type='html'>void clicked()  // Button of a form it is optional&lt;br /&gt;{&lt;br /&gt;    Args                 args;&lt;br /&gt;    FormRun              formRun;&lt;br /&gt;    ;&lt;br /&gt;    super();  // will be comment in case of MenuItemButton includes MenuItemName&lt;br /&gt;&lt;br /&gt;    args = new Args(formstr(FormName));&lt;br /&gt;&lt;br /&gt;    args.record(DataSourceTable); // as argument is optional&lt;br /&gt;    args.parm(Text);              // Text Argument is optional&lt;br /&gt;&lt;br /&gt;    formRun = classFactory.FromRunClass(args);&lt;br /&gt;    formRun.init();&lt;br /&gt;    formRun.run();&lt;br /&gt;    formRun.wait();&lt;br /&gt;    formRun.detach();&lt;br /&gt;    table_ds.refresh();          // Refreshing parent table DataSourceTable&lt;br /&gt;    table_ds.executeQuery();          // Refreshing Parent DataSourceTable Query&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-645120951528381709?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/645120951528381709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=645120951528381709&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/645120951528381709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/645120951528381709'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/03/form-runopen-through-code.html' title='Form Run(Open) through code'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-8379892810492177369</id><published>2009-03-03T13:26:00.000+05:30</published><updated>2009-03-03T13:39:22.140+05:30</updated><title type='text'>Open table or browse from editor code</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Many times Developer needs to open the table or browse while coding. Developer has to go to AOT then search for that table. To ease of this situation by following code developer can easily open the table or browse from Editor windows itself.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;It is applicable when you write code into an editor then select table Name (Not the buffer) and then right click -&gt; script -&gt; Rajdip, you will find your created menu here....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copy paste the following methods in EditorScript Class of axapta&lt;/span&gt;&lt;br /&gt;//------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;// FOR OPEN TABLE&lt;/span&gt;&lt;br /&gt;void Rajdip_OpenTable(Editor e)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    #AOT&lt;br /&gt;    TreeNode tr;&lt;br /&gt;    XInfo xInfo = new xInfo();&lt;br /&gt;    str selection;&lt;br /&gt;    ;&lt;br /&gt;    selection= strltrim((strrtrim(Editorscripts::Raj_getSelectedText_n(e)))); // modified standard method getSelectedText&lt;br /&gt;    tr = TreeNode::findNode(#TablesPath + '\\'+selection);&lt;br /&gt;    if(tr)&lt;br /&gt;    tr.AOTnewWindow();&lt;br /&gt;    else&lt;br /&gt;    Throw error(strfmt("Table %1 not found",selection));&lt;br /&gt;&lt;br /&gt;    return;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;// FOR BROWSING TABLE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;void Rajdip_BrowseTable(Editor e)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    #AOT&lt;br /&gt;    TreeNode tr;&lt;br /&gt;    TableId TableId;&lt;br /&gt;    XInfo xInfo = new xInfo();&lt;br /&gt;    str selection;&lt;br /&gt;    SysTableBrowser SysTableBrowser;&lt;br /&gt;    ;&lt;br /&gt;    selection = strltrim((strrtrim(Editorscripts::Raj_getSelectedText_n(e)))); // modified standard method getSelectedText&lt;br /&gt;    tr = TreeNode::findNode(#TablesPath + '\\'+selection);&lt;br /&gt;    if(tr)&lt;br /&gt;    {&lt;br /&gt;        TableId = tablename2id(selection);&lt;br /&gt;        if(TableId)&lt;br /&gt;            new SysTableBrowser().run(tableID);&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;        throw error(strfmt("Table %1 not found",selection));&lt;br /&gt;&lt;br /&gt;    return;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;// FOR Selecting Text&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;static str Raj_getSelectedText_n(Editor e)&lt;br /&gt;{&lt;br /&gt;    int i;&lt;br /&gt;    str text;&lt;br /&gt;    str line;&lt;br /&gt;    int startLine = e.selectionStartLine()+1;&lt;br /&gt;    int endLine = e.selectionEndLine()+1;&lt;br /&gt;    int startCol = e.selectionStartCol();&lt;br /&gt;    int endCol = e.selectionEndCol();&lt;br /&gt;&lt;br /&gt;    if (startLine == endLine &amp;&amp; startCol == endCol)&lt;br /&gt;    {&lt;br /&gt;        e.firstLine();&lt;br /&gt;        while (e.moreLines())&lt;br /&gt;        {&lt;br /&gt;            text += e.getLine();&lt;br /&gt;            e.nextLine();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;        e.firstSelectedLine();&lt;br /&gt;        for (i = startLine; i &lt;= endLine; i++)&lt;br /&gt;        {&lt;br /&gt;            line = e.getLine();&lt;br /&gt;            if (i == startLine &amp;&amp; i == endLine)&lt;br /&gt;            {&lt;br /&gt;                line = substr(line, startcol, endCol-startCol);&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;                if (i == endLine)&lt;br /&gt;                {&lt;br /&gt;                    line = substr(line, 1, endCol-1);&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                    if (i == startLine)&lt;br /&gt;                    {&lt;br /&gt;                        line = strrep(' ', startCol-1)+substr(line, startCol, strlen(line));&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;            text += line;&lt;br /&gt;            e.nextSelectedLine();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    return text;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Note: You can also open Report, EDT, Base Enum, Form by using this function with a small change i.e.&lt;br /&gt;tr = TreeNode::findNode(#&lt;span style="font-weight:bold;"&gt;TablesPath&lt;/span&gt; + '\\'+selection);&lt;br /&gt;Bold word will be changed, please follow up the "Macro-&gt;AOT", &amp; then replace the TablePath with "ClassesPath or FormsPath, etc.]&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-8379892810492177369?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/8379892810492177369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=8379892810492177369&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/8379892810492177369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/8379892810492177369'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/03/open-table-or-browse-from-editor-code.html' title='Open table or browse from editor code'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-3903604228975298718</id><published>2009-03-03T13:17:00.000+05:30</published><updated>2009-03-10T16:56:36.843+05:30</updated><title type='text'>Show all the Forms Name into a StringEdit Control as a look up</title><content type='html'>Set the EDT Property = "&lt;span style="font-weight:bold;"&gt;formName&lt;/span&gt;" under a StringControl property.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-3903604228975298718?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/3903604228975298718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=3903604228975298718&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/3903604228975298718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/3903604228975298718'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/03/how-can-i-create-drop-down-on-form.html' title='Show all the Forms Name into a StringEdit Control as a look up'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-3066401802567508457</id><published>2009-01-30T13:50:00.000+05:30</published><updated>2009-03-03T13:17:17.637+05:30</updated><title type='text'>XML Export in Axapta   [Simple Code]</title><content type='html'>static void RAJ_XMLWrite(Args _args)&lt;br /&gt;{&lt;br /&gt;    XMLDocument xmlDoc = XMLDocument::newBlank();&lt;br /&gt;    XMLNode     rootNode;&lt;br /&gt;    XMLNode     NodeEmpl, NodeName, NodeAddr;&lt;br /&gt;    XMLElement  xmlElement;&lt;br /&gt;    XMLText     xmlText;&lt;br /&gt;    CustTable   custTable;&lt;br /&gt;    int         i;&lt;br /&gt;    ;&lt;br /&gt;    // Create first line containing version info&lt;br /&gt;    rootNode = xmlDoc.documentElement();&lt;br /&gt;    xmlElement = xmlDoc.createElement("CustTable");&lt;br /&gt;    rootNode = xmlDoc.appendChild(xmlElement);&lt;br /&gt;    while select custTable order by recId&lt;br /&gt;    {&lt;br /&gt;    // Create a node for the CustTable record&lt;br /&gt;    xmlElement = xmlDoc.createElement("Customer");&lt;br /&gt;    NodeEmpl = rootNode.appendChild(xmlElement);&lt;br /&gt;    // Create a node for the name&lt;br /&gt;    xmlElement = xmlDoc.createElement("CustomerId");&lt;br /&gt;    NodeName = NodeEmpl.appendChild(xmlElement);&lt;br /&gt;    xmlText = xmlDoc.createTextNode(custTable.AccountNum);&lt;br /&gt;    NodeName.appendChild(xmlText);&lt;br /&gt;    // Create a node for the Name&lt;br /&gt;    xmlElement = xmlDoc.createElement("CustName");&lt;br /&gt;    NodeAddr = NodeEmpl.appendChild(xmlElement);&lt;br /&gt;    xmlText = xmlDoc.createTextNode(custTable.Name);&lt;br /&gt;    NodeAddr.appendChild(xmlText);&lt;br /&gt;    i++;&lt;br /&gt;    print i;&lt;br /&gt;    }&lt;br /&gt;    // Save the file&lt;br /&gt;    xmldoc.save('e:\\CustTable_XML.xml');&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-3066401802567508457?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/3066401802567508457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=3066401802567508457&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/3066401802567508457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/3066401802567508457'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/01/xml-export-in-axapta-simple-code.html' title='XML Export in Axapta   [Simple Code]'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-2580130979118308602</id><published>2009-01-13T18:23:00.000+05:30</published><updated>2009-01-13T18:30:58.939+05:30</updated><title type='text'>Auto Posting of Ledger Journal in AX</title><content type='html'>The tables used are LedgerJournalName, LedgerJournalTable, and LedgerJournalTrans.&lt;br /&gt;The steps are:&lt;br /&gt;• Create a journal table record {Table\LedgerJournalTable}&lt;br /&gt;• Create lines for each transaction to be posted {Table\LedgerJournalTrans}.&lt;br /&gt;• Post the journal. {Classes\LedgerJournalCheckPost}&lt;br /&gt;&lt;br /&gt;Sample Code: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class Raj_LedgerJournal&lt;br /&gt;{&lt;br /&gt;    LedgerJournalName      ledgerJournalName;&lt;br /&gt;    LedgerJournalTable     ledgerJournalTable;&lt;br /&gt;    LedgerJournalTrans     ledgerJournalTrans;&lt;br /&gt;    LedgerJournalCheckPost   ledgerJournalCheckPost;&lt;br /&gt;    NumberSeq          numberSeq;&lt;br /&gt;&lt;br /&gt;    LedgerJournalType      journalType;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void JournalParameters()&lt;br /&gt;{&lt;br /&gt;    str retStr;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    retStr = this.PostingJournal("Cust_Daily","INR","900120",5000,"900110");  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;str PostingJournal(JournalNameId _JournalName, str _CurrencyCode, str _AccountNum, AmountMST _amount, str _offset)&lt;br /&gt;{&lt;br /&gt;    #AviFiles&lt;br /&gt;    SysOperationProgress        _progress;&lt;br /&gt;    str             returnStr;&lt;br /&gt;    int             i;&lt;br /&gt;    LineNum         lineNum;&lt;br /&gt;    Amount          amountMST;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    amountMST   = _amount;&lt;br /&gt;&lt;br /&gt;    /********  Progress Bar ********************************/&lt;br /&gt;&lt;br /&gt;    _progress = new SysOperationProgress();&lt;br /&gt;    _progress.setCaption("Posting");&lt;br /&gt;&lt;br /&gt;    _progress.setTotal(2);&lt;br /&gt;    _progress.setAnimation(#AviTransfer);&lt;br /&gt;&lt;br /&gt;    /******************** End Progress Bar ***********************/&lt;br /&gt;&lt;br /&gt;    /*********************** Creating Journal ************************/&lt;br /&gt;&lt;br /&gt;    ttsbegin;&lt;br /&gt;    select firstonly ledgerjournalName where ledgerJournalName.JournalName == _JournalName;&lt;br /&gt;    ledgerJournalTable.JournalName = LedgerJournalName.JournalName;&lt;br /&gt;    ledgerJournalTable.initFromLedgerJournalName();&lt;br /&gt;   // ledgerJournalTable.Name = "Rajdip Journal Description";&lt;br /&gt;    ledgerJournalTable.insert();&lt;br /&gt;&lt;br /&gt;    info(ledgerJournalTable.JournalNum);&lt;br /&gt;&lt;br /&gt;    /************************ End Creating Journal ****************************/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    /************************* Creating Lines for Journal *************************/&lt;br /&gt;&lt;br /&gt;    numberSeq = NumberSeq::newGetVoucherFromCode(ledgerJournalName.VoucherSeries);&lt;br /&gt;    ledgerJournalTrans.voucher = numberSeq.voucher();&lt;br /&gt;&lt;br /&gt;    ++lineNum;&lt;br /&gt;&lt;br /&gt;    ledgerJournalTrans.LineNum      = lineNum;&lt;br /&gt;    ledgerJournalTrans.JournalNum = ledgerJournalTable.JournalNum;&lt;br /&gt;    ledgerJournalTrans.currencyCode = _CurrencyCode;&lt;br /&gt;    ledgerJournalTrans.ExchRate = Currency::exchRate(ledgerJournalTrans.currencyCode);&lt;br /&gt;    ledgerJournalTrans.AccountNum = _AccountNum;&lt;br /&gt;    ledgerJournalTrans.Dimension[1]= "Kolkata";&lt;br /&gt;    ledgerJournalTrans.AccountType = LedgerJournalACType::Ledger;&lt;br /&gt;&lt;br /&gt;    if(amountMST &gt; 0)&lt;br /&gt;        ledgerJournalTrans.AmountCurDebit      = amountMST;&lt;br /&gt;    else&lt;br /&gt;        ledgerJournalTrans.AmountCurCredit     = -(amountMST);&lt;br /&gt;&lt;br /&gt;    ledgerJournalTrans.TransDate = today();&lt;br /&gt;    ledgerJOurnalTrans.Txt = 'Rajdip Das Ledger Post Demo';&lt;br /&gt;&lt;br /&gt;    ledgerJournalTrans.OffsetAccountType = LedgerJournalACType::Ledger;&lt;br /&gt;    ledgerJournalTrans.OffsetAccount = _offset;&lt;br /&gt;    ledgerJournalTrans.insert();&lt;br /&gt;    returnStr = ledgerJournalTable.JournalNum;&lt;br /&gt;&lt;br /&gt;    /************************* End Creating Lines for Journal *************************/&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;    ledgerJournalCheckPost = ledgerJournalCheckPost::newLedgerJournalTable(ledgerJournalTable,NoYes::Yes); &lt;br /&gt;&lt;br /&gt;     _progress.setText(ledgerJournalTrans.voucher);&lt;br /&gt;&lt;br /&gt;    ledgerJournalCheckPost.run();&lt;br /&gt;    returnStr += ' please verify from AX.';&lt;br /&gt;    ttscommit;&lt;br /&gt;&lt;br /&gt;    return returnStr;      &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Static void main(Args a)&lt;br /&gt;{&lt;br /&gt;    Raj_LedgerJournal       ledgerJournal;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    ledgerJournal = new Raj_LedgerJournal();&lt;br /&gt;&lt;br /&gt;    ledgerJournal.JournalParameters();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-2580130979118308602?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/2580130979118308602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=2580130979118308602&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2580130979118308602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2580130979118308602'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2009/01/auto-posting-ledger-journal-in-ax.html' title='Auto Posting of Ledger Journal in AX'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-7396065453770071422</id><published>2008-11-17T13:22:00.000+05:30</published><updated>2008-11-17T13:25:35.251+05:30</updated><title type='text'>Brief Idea about Enterprise resource planning (ERP)</title><content type='html'>Enterprise resource planning (ERP) systems attempt to integrate several data sources and processes of an organization into a unified system. A typical ERP system will use multiple components of computer software and hardware to achieve the integration. A key ingredient of most ERP systems is the use of a unified database to store data for the various system modules.&lt;br /&gt;Some organizations — typically those with sufficient in-house IT skills to integrate multiple software products — choose to implement only portions of an ERP system and develop an external interface to other ERP or stand-alone systems for their other application needs. &lt;br /&gt;The two key components of an ERP system are a common database and a modular software design. A common database is the system that allows every department of a company to store and retrieve information in real-time. Using a common database allows information to be more reliable, accessible, and easily shared. Furthermore, a modular software design is a variety of programs that can be added on an individual basis to improve the efficiency of the business. This improves the business by adding functionality, mixing and matching programs from different vendors, and allowing the company to choose which modules to implement. These modular software designs link into the common database, so that all of the information between the departments is accessible and real-time.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-7396065453770071422?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/7396065453770071422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=7396065453770071422&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/7396065453770071422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/7396065453770071422'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2008/11/breif-idea-about-enterprise-resource.html' title='Brief Idea about Enterprise resource planning (ERP)'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-2559579968959304644</id><published>2008-11-17T13:21:00.001+05:30</published><updated>2008-11-17T13:21:35.263+05:30</updated><title type='text'>Best Practices of ERP</title><content type='html'>Best Practices were also a benefit of implementing an ERP system. When implementing an ERP system, organizations essentially had to choose between customizing the software or modifying their business processes to the “Best Practice” function delivered in the vanilla version of the software.&lt;br /&gt; &lt;br /&gt;Typically, the delivery of best practice applies more usefully to large organizations and especially where there is a compliance requirement such as IFRS, Sarbanes-Oxley or Basel II, or where the process is a commodity such as electronic funds transfer. &lt;br /&gt;This is because the procedure of capturing and reporting legislative or commodity content can be readily codified within the ERP software, and then replicated with confidence across multiple businesses who have the same business requirement.&lt;br /&gt; &lt;br /&gt;Where such a compliance or commodity requirement does not underpin the business process, it can be argued that determining and applying a Best Practice actually erodes competitive advantage by homogenizing the business as compared to everyone else in the industry sector.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-2559579968959304644?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/2559579968959304644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=2559579968959304644&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2559579968959304644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/2559579968959304644'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2008/11/best-practices-of-erp.html' title='Best Practices of ERP'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-735492214776315869</id><published>2008-11-17T13:20:00.001+05:30</published><updated>2008-11-17T13:20:31.706+05:30</updated><title type='text'>Implementation of ERP</title><content type='html'>Because of their wide scope of application within a business, ERP software systems are typically complex and usually impose significant changes on staff work practices.[citation needed] Implementing ERP software is typically not an “in-house” skill, so even smaller projects are more cost effective if specialist ERP implementation consultants are employed.[citation needed] The length of time to implement an ERP system depends on the size of the business, the scope of the change and willingness of the customer to take ownership for the project.[citation needed] A small project (e.g., a company of less than 100 staff) may be planned and delivered within 3-9 months; however, a large, multi-site or multi-country implementation may take years.[citation needed]&lt;br /&gt; &lt;br /&gt;To implement ERP systems, companies often seek the help of an ERP vendor or of third-party consulting companies. These firms typically provide three areas of professional services: consulting, customization and support.&lt;br /&gt; &lt;br /&gt;Data migration is one of the most important activities in determining the success of an ERP implementation. Since many decisions must be made before migration, a significant amount of planning must occur. Unfortunately, data migration is the last activity before the production phase of an ERP implementation, and therefore receives minimal attention due to time constraints. &lt;br /&gt;The following are steps of a data migration strategy that can help with the success of an ERP implementation: &lt;br /&gt; &lt;br /&gt;1. Identifying the data to be migrated &lt;br /&gt;2. Determining the timing of data migration &lt;br /&gt;3. Generating the data templates &lt;br /&gt;4. Freezing the tools for data migration &lt;br /&gt;5. Deciding on migration related setups &lt;br /&gt;6. Deciding on data archiving&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-735492214776315869?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/735492214776315869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=735492214776315869&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/735492214776315869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/735492214776315869'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2008/11/implementation-of-erp.html' title='Implementation of ERP'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-8856569953605228807</id><published>2008-11-17T13:19:00.001+05:30</published><updated>2008-11-17T13:19:57.056+05:30</updated><title type='text'>Configuration of ERP</title><content type='html'>Configuring an ERP system is largely a matter of balancing the way you want the system to work with the way the system lets you work. Begin by deciding which modules to install, then adjust the system using configuration tables to achieve the best possible fit in working with your company’s processes.&lt;br /&gt; &lt;br /&gt;Modules - Most systems are modular simply for the flexibility of implementing some functions but not others. Some common modules, such as finance and accounting are adopted by nearly all companies implementing enterprise systems; others however &lt;br /&gt;such as human resource management are not needed by some companies and therefore not adopted. A service company for example will not likely need a module for manufacturing. Other times companies will not adopt a module because they already have their own proprietary system they believe to be superior. Generally speaking the greater number of modules selected, the greater the integration benefits, but also the increase in costs, risks and changes involved.&lt;br /&gt; &lt;br /&gt;Configuration Tables – A configuration table enables a company to tailor a particular aspect of the system to the way it chooses to do business. For example, an organization can select the type of inventory accounting – FIFO or LIFO – it will employ or whether it wants to recognize revenue by geographical unit, product line, or distribution channel.&lt;br /&gt; &lt;br /&gt;So what happens when the options the system allows just aren’t good enough? At this point a company has two choices, both of which are not ideal. It can re-write some of the enterprise system’s code, or it can continue to use an existing system and build interfaces between it and the new enterprise system. Both options will add time and cost to the implementation process. &lt;br /&gt;Additionally they can dilute the system’s integration benefits. The more customized the system becomes the less possible seamless communication becomes between suppliers and customers.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-8856569953605228807?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/8856569953605228807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=8856569953605228807&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/8856569953605228807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/8856569953605228807'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2008/11/configuration-of-erp.html' title='Configuration of ERP'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-3237531694096413368</id><published>2008-11-17T13:17:00.001+05:30</published><updated>2008-11-17T13:17:39.758+05:30</updated><title type='text'>Advantages of ERP</title><content type='html'>In the absence of an ERP system, a large manufacturer may find itself with many software applications that do not talk to each other and do not effectively interface. Tasks that need to interface with one another may involve:&lt;br /&gt; &lt;br /&gt;* design engineering (how to best make the product) &lt;br /&gt;* order tracking from acceptance through fulfillment &lt;br /&gt;* the revenue cycle from invoice through cash receipt &lt;br /&gt;* managing interdependencies of complex Bill of Materials &lt;br /&gt;* tracking the 3-way match between Purchase orders (what was ordered), Inventory                                      receipts (what arrived), and Costing (what the vendor invoiced) &lt;br /&gt;* the Accounting for all of these tasks, tracking the Revenue, Cost and Profit on a granular level. &lt;br /&gt; &lt;br /&gt;Change how a product is made, in the engineering details, and that is how it will now be made. Effective dates can be used to control when the switch over will occur from an old version to the next one, both the date that some ingredients go into effect, and date that some are discontinued. Part of the change can include labeling to identify version numbers.&lt;br /&gt; &lt;br /&gt;Some security features are included within an ERP system to protect against both outsider crime, such as industrial espionage, and insider crime, such as embezzlement. A data tampering scenario might involve a disgruntled employee intentionally modifying prices to below the breakeven point in order to attempt to take down the company, or other sabotage. ERP systems typically provide functionality for implementing internal controls to prevent actions of this kind. ERP vendors are also moving toward better integration with other kinds of information security tools.&lt;br /&gt; &lt;br /&gt;Problems with ERP systems are mainly due to inadequate investment in ongoing training for involved personnel, including those implementing and testing changes, as well as a lack of corporate policy protecting the integrity of the data in the ERP systems and how it is used.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-3237531694096413368?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/3237531694096413368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=3237531694096413368&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/3237531694096413368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/3237531694096413368'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2008/11/advantages-of-erp.html' title='Advantages of ERP'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-6485787614623283697</id><published>2008-11-17T13:15:00.001+05:30</published><updated>2008-11-17T13:16:59.780+05:30</updated><title type='text'>Disadvantages of an ERP</title><content type='html'>Customization of the ERP software is limited. &lt;br /&gt;Re-engineering of business processes to fit the “industry standard” prescribed by the ERP system may lead to a loss of competitive advantage. &lt;br /&gt; &lt;br /&gt;* ERP systems can be very expensive leading to a new category of “ERP light” solutions &lt;br /&gt;* ERPs are often seen as too rigid and too difficult to adapt to the specific workflow and business process of some companies—this is cited as one of the main causes of their failure. &lt;br /&gt; &lt;br /&gt;* Many of the integrated links need high accuracy in other applications to work effectively. A company can achieve minimum   standards, then over time “dirty data” will reduce the reliability of some applications. &lt;br /&gt;* Once a system is established, switching costs are very high for any one of the partners (reducing flexibility and strategic control at the corporate level). &lt;br /&gt;* The blurring of company boundaries can cause problems in accountability, lines of responsibility, and employee morale. &lt;br /&gt;*  Resistance in sharing sensitive internal information between departments can reduce the effectiveness of the software. &lt;br /&gt;*  Some large organizations may have multiple departments with separate, independent resources, missions, chains-of-command, etc, and consolidation into a single enterprise may yield limited benefits. &lt;br /&gt;*  The system may be too complex measured against the actual needs of the customer.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-6485787614623283697?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/6485787614623283697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=6485787614623283697&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/6485787614623283697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/6485787614623283697'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2008/11/enterprise-resource-planning-erp.html' title='Disadvantages of an ERP'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895796808903471514.post-5604846920043756458</id><published>2008-09-17T15:52:00.002+05:30</published><updated>2009-11-25T18:18:46.843+05:30</updated><title type='text'>Microsoft Dynamics AX</title><content type='html'>Microsoft Dynamics AX is a comprehensive business management solution for mid-sized and larger organizations that works like and with familiar Microsoft software to help your people improve productivity. Microsoft Dynamics AX is built to make it easy to do business across locations and countries by consolidating and standardizing processes, providing visibility across your organization, and help in simplifying compliance. With Microsoft Dynamics AX, you can be confident your business management solution is, and will continue to be, relevant to the needs of your people and the demands of your industry and business.&lt;div class="blogger-post-footer"&gt;Rajdip Das
Kolkata&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895796808903471514-5604846920043756458?l=dax-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dax-world.blogspot.com/feeds/5604846920043756458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895796808903471514&amp;postID=5604846920043756458&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/5604846920043756458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895796808903471514/posts/default/5604846920043756458'/><link rel='alternate' type='text/html' href='http://dax-world.blogspot.com/2008/09/microsoft-dynamics-ax.html' title='Microsoft Dynamics AX'/><author><name>Rajdip Das</name><uri>http://www.blogger.com/profile/17535167013434316567</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_oJQ5Q8BEy0Y/Sb94OcMnK5I/AAAAAAAAA-I/Uy5AZD7Rymc/S220/ATgAAABCSy73WsyHVus1-qEs9oBgtlXs8SYvYTjcyGMtv_7-aLdu6Rr7LIu6YBFyAyORh_H8yyVLl-iJxXn7ZwGMoZwSAJtU9VCpVH1ShYHg3od4Yl79n-FMM3kmpQ.jpg'/></author><thr:total>0</thr:total></entry></feed>
