{"id":8077,"date":"2015-11-27T09:31:19","date_gmt":"2015-11-27T09:31:19","guid":{"rendered":"http:\/\/www.greytrix.com\/blogs\/sagex3\/?p=8077"},"modified":"2019-02-05T10:56:10","modified_gmt":"2019-02-05T10:56:10","slug":"profiling-x3-code-for-performance","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagex3\/2015\/11\/27\/profiling-x3-code-for-performance\/","title":{"rendered":"Profiling X3 code for performance"},"content":{"rendered":"<p>Profiling the Sage ERP X3 script code is important to obtain the best possible performance. It localizes time consuming programs and measures how often certain code sections are called. This is possible by using a dedicated library. This is a two-step process to get the profiling of X3 code (i.e Start and stop of profiling process)<\/p>\n<p><em><strong>New Stuff:\u00a0<\/strong><\/em><span style=\"color: #a52a2a;\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2015\/11\/27\/set-default-bank-globally-in-sage-erp-x3\/\">Set default bank globally in Sage ERP X3<\/a><\/span><\/p>\n<ol>\n<li><strong>Starting the profile process<\/strong><\/li>\n<\/ol>\n<p>This is performed by using the function ASYRTIMING.START<\/p>\n<p>STAT=func ASYRTIMING.START(&#8220;&#8221;,1)<br \/>\nThis function includes two parameters:<\/p>\n<ul>\n<li>A string character value that defines the temporary file name without an extension and path, where the calls and timestamps are written. If an empty value is given, the name will be generated.<\/li>\n<li>An additional integer is set to &#8216;0&#8217; by default. Its value will be modified to &#8216;1&#8217; if the code called by Gosub needs to be analyzed.<\/li>\n<\/ul>\n<ol start=\"2\">\n<li><strong>Ending the profile process<\/strong><\/li>\n<\/ol>\n<p>This is performed by using the function ASYRTIMING.STOP<\/p>\n<p>STAT=func ASYRTIMING.STOP(GACTX,&#8221;&#8221;,1,WFICTRACE)<br \/>\nThis function includes four parameters:<\/p>\n<ul>\n<li>A pointer on the current context.<\/li>\n<li>The temporary file name where the calls and timestamps have been written. If the file name is not provided, the same algorithm will be used to generate it.<\/li>\n<li>The same integer value to know if Gosub must be analyzed.<\/li>\n<li>A string variable that returns the generated detailed log file.<\/li>\n<\/ul>\n<p>For Example:<\/p>\n<p># Start the profile<br \/>\nLocal integer STAT<br \/>\nSTAT=func ASYRTIMING.START(&#8220;&#8221;,1)<br \/>\n# The X3 code<br \/>\n&#8230;<br \/>\n# End the profile<br \/>\nLocal char WFICTRACE<br \/>\nSTAT=func ASYRTIMING.STOP(GACTX,&#8221;&#8221;,1,WFICTRACE)<\/p>\n<p>You get the log generated when the function stops which can be read by you in log reading.<\/p>\n<p>Below is the snippet of the log generated by the profiling process.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full aligncenter\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2015\/11\/blog8.jpg\" width=\"624\" height=\"462\" \/><\/p>\n<p>Hope this Helps!<\/p>\n<p><span style=\"font-size: Medium;\"><strong>About Us<\/strong><\/span><br \/>\n<a href=\"https:\/\/www.greytrix.com\/\">Greytrix<\/a> \u2013 a globally recognized Premier Sage Gold Development Partner is a one-stop solution provider for Sage ERP and Sage CRM needs. Being recognized and rewarded for multi-man years of experience, we bring complete end-to-end assistance for your technical consultations, product customizations, data migration, system integrations, third-party add-on development and implementation expertise.<\/p>\n<p><a href=\"https:\/\/www.greytrix.com\/\">Greytrix<\/a>\u00a0caters to a wide range of Sage Enterprise Management (Sage X3) offerings \u2013 a Sage Business Cloud Solution. Our\u00a0unique GUMU&#x2122; integrations include <a href=\"https:\/\/www.greytrix.com\/product\/sage-crm\/gumu-sage-x3-integration\">Sage Enterprise Management (Sage X3) for Sage CRM<\/a>,\u00a0<a href=\"https:\/\/www.greytrix.com\/product\/sage-x3\/gumu-x3-salesforce-integration\">Salesforce.com<\/a> and\u00a0<a href=\"https:\/\/www.greytrix.com\/product\/magento-sage-integrations\/sage-x3-magento\">Magento eCommerce<\/a>\u00a0along with Implementation and Technical Support worldwide for <a href=\"https:\/\/www.greytrix.com\/africa\/product\/consulting\/implementation-planning\">Sage Enterprise Management (Sage X3)<\/a>. Currently we are <a href=\"https:\/\/www.greytrix.com\/africa\">Sage Enterprise Management Implementation Partner<\/a> in East Africa, Middles East, Australia, Asia.\u00a0We also offer best-in-class\u00a0<a href=\"https:\/\/www.greytrix.com\/product\/erp-development\/sage-x3\">Sage X3 customization and development services<\/a>,\u00a0integrated applications such as <a href=\"https:\/\/www.greytrix.com\/product\/sage-enterprise-management-integration-services\/pos-system\">POS<\/a> | <a href=\"https:\/\/www.greytrix.com\/product\/sage-enterprise-management-integration-services\/warehouse-management-system\">WMS<\/a> | <a href=\"https:\/\/www.greytrix.com\/product\/sage-enterprise-management-integration-services\/payment-gateway\">Payment Gateway<\/a> | <a href=\"https:\/\/www.greytrix.com\/product\/sage-enterprise-management-integration-services\/shipping-system\">Shipping System<\/a> | <a href=\"https:\/\/www.greytrix.com\/product\/sage-enterprise-management-integration-services\/business-intelligence\">Business Intelligence<\/a> | <a href=\"https:\/\/www.greytrix.com\/product\/sage-x3\/ecommerce-magento-integration\">eCommerce<\/a> and have developed add-ons such as <a href=\"https:\/\/www.greytrix.com\/product\/sage-enterprise-management-add-ons\/catch-weight\">Catch \u2013 Weight <\/a>\u00a0and <a href=\"https:\/\/www.greytrix.com\/product\/sage-enterprise-management-add-ons\/letter-of-credit\">Letter of Credit<\/a> for Sage Enterprise Management to Sage business partners, end users and Sage PSG worldwide.<\/p>\n<p>Greytrix is a recognized <a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2017\/07\/26\/greytrix-on-boards-sage-global-rockstar-isv-program-with-gumu-for-sage-crm-sage-x3-solution\/\">Sage Rockstar ISV Partner<\/a> for GUMU&#x2122; Sage Enterprise Management \u2013 Sage CRM integration also listed on <a href=\"https:\/\/www.sage.com\/marketplace\/asb_ListingDetail?listingId=a1h24000007PC3aAAG\" target=\"_blank\" rel=\"noopener\">Sage Marketplace<\/a>; GUMU&#x2122; integration for Sage Enterprise Management \u2013 Salesforce is a 5-star app listed on <a href=\"https:\/\/appexchange.salesforce.com\/listingDetail?listingId=a0N30000000psM5EAI\" target=\"_blank\" rel=\"noopener\">Salesforce AppExchange<\/a>.<\/p>\n<p>For more information on Sage X3 Integration and Services, please contact us at\u00a0<a href=\"mailto:x3@greytrix.com\">x3@greytrix.com<\/a>. We will be glad to assist you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Profiling the Sage ERP X3 script code is important to obtain the best possible performance. It localizes time consuming programs and measures how often certain code sections are called. This is possible by using a dedicated library. This is a two-step process to get the profiling of X3 code (i.e Start and stop of profiling\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2015\/11\/27\/profiling-x3-code-for-performance\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[154,155,1551,1553],"class_list":["post-8077","post","type-post","status-publish","format-standard","hentry","category-sage-erp-x3","tag-asyrtiming","tag-asyrtiming-start","tag-profile-process","tag-profiling-x3-code"],"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/8077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/comments?post=8077"}],"version-history":[{"count":2,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/8077\/revisions"}],"predecessor-version":[{"id":17058,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/8077\/revisions\/17058"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/media?parent=8077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/categories?post=8077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/tags?post=8077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}