{"id":27767,"date":"2023-11-28T12:38:20","date_gmt":"2023-11-28T12:38:20","guid":{"rendered":"https:\/\/www.greytrix.com\/blogs\/sagex3\/?p=27767"},"modified":"2024-07-19T05:53:03","modified_gmt":"2024-07-19T05:53:03","slug":"disabling-access-to-transactions-using-4gl-in-sage-x3","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagex3\/2023\/11\/28\/disabling-access-to-transactions-using-4gl-in-sage-x3\/","title":{"rendered":"Disabling access to transactions using 4GL in Sage X3"},"content":{"rendered":"\n<p>Many times we need to restrict access for transactions based on some requirement and for doing that <a href=\"https:\/\/www.greytrix.com\/product\/erp-development\/sage-x3\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/www.greytrix.com\/product\/erp-development\/sage-x3\" rel=\"noreferrer noopener\">Sage X3<\/a> provides ways from application setup. However, we as developers also have control with the 4GL (Safe X3 console language) to add more in depth conditional requirements which sometimes with setup is not achieved.<\/p>\n\n\n\n<p>To know more about this, we\u2019ll show a small example of how we are restricting access for a specific user code on Sales Order transactions via 4GL.<\/p>\n\n\n\n<p>For this we\u2019re referencing following paths and screenshots below:<\/p>\n\n\n\n<p>Sales Order: All &gt; Sales &gt; Orders &gt; Orders (GESSOH)<\/p>\n\n\n\n<p><strong>New Stuff:<\/strong> <a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2023\/11\/04\/sales-order-updation-in-sage-x3-using-edi-860-documents\/\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2023\/11\/04\/sales-order-updation-in-sage-x3-using-edi-860-documents\/\" rel=\"noreferrer noopener\">Sales Order updation in Sage X3 using EDI 860 documents<\/a><\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2023\/11\/Fig.-1-Original-transactional-access-for-ADMIN-on-Orders-1024x706.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px;\nalign: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2023\/11\/Fig.-1-Original-transactional-access-for-ADMIN-on-Orders-1024x706.png\" alt=\"Fig. 1 - Original transactional access to ADMIN on Orders\"><\/a><\/center>\n<font size=\"2\"><center>Fig. 1 &#8211; Original transactional access to ADMIN on Orders<\/center><\/font>\n\n\n\n<p><\/p>\n\n\n\n<p>-As shown in Fig. 1 we can see the original access list for ADMIN user code on Sales orders. There are a total 6 transaction types available to open Sales Order Transaction.<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2023\/11\/Fig.-2-Snippet-of-code.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px;\nalign: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2023\/11\/Fig.-2-Snippet-of-code.png\" alt=\"Fig. 2 - Snippet on code\"><\/a><\/center>\n<font size=\"2\"><center>Fig. 2 &#8211; Snippet on code<\/center><\/font>\n\n\n\n<p><\/p>\n\n\n\n<p>-Now using the 4GL editor we\u2019ve written the logic on Fig. 2 as shown. We wanted to give access to only ALL &amp; SAL transactions within the selection to ADMIN user code. The above logic helps us achieves that and can be modified as per your own requirement.<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2023\/11\/Fig.-3-Descriptive-error-for-user.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px;\nalign: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2023\/11\/Fig.-3-Descriptive-error-for-user.png\" alt=\"Fig. 3 - Descriptive error for user\"><\/a><\/center>\n<font size=\"2\"><center>Fig. 3 &#8211; Descriptive error for user<\/center><\/font>\n\n\n\n<p><\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2023\/11\/Fig.-4-Restricted-transactional-acess-for-ADMIN-on-Orders.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px;\nalign: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2023\/11\/Fig.-4-Restricted-transactional-acess-for-ADMIN-on-Orders.png\" alt=\"Fig. 4 - Restrictive transactional access for ADMIN on Orders\n\"><\/a><\/center>\n<font size=\"2\"><center>Fig. 4 &#8211; Restrictive transactional access for ADMIN on Orders\n<\/center><\/font>\n\n\n\n<p><\/p>\n\n\n\n<p>This way we can implement advanced restrictions on transactions using 4GL in Sage X3.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many times we need to restrict access for transactions based on some requirement and for doing that Sage X3 provides ways from application setup. However, we as developers also have control with the 4GL (Safe X3 console language) to add more in depth conditional requirements which sometimes with setup is not achieved. To know more\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2023\/11\/28\/disabling-access-to-transactions-using-4gl-in-sage-x3\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,13],"tags":[3880,3265,3878,3881,2292,3879],"class_list":["post-27767","post","type-post","status-publish","format-standard","hentry","category-sage-erp-x3","category-integration","tag-language","tag-sagex3","tag-text","tag-text-to-translate","tag-translation","tag-untranslated"],"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/27767","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\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/comments?post=27767"}],"version-history":[{"count":13,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/27767\/revisions"}],"predecessor-version":[{"id":27788,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/27767\/revisions\/27788"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/media?parent=27767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/categories?post=27767"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/tags?post=27767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}