{"id":404,"date":"2017-04-21T12:01:06","date_gmt":"2017-04-21T10:01:06","guid":{"rendered":"http:\/\/daxvisionerp.com\/?p=393"},"modified":"2025-10-27T08:34:30","modified_gmt":"2025-10-27T08:34:30","slug":"query-last-modified-aot-objects-utilidelements-modelelementdata","status":"publish","type":"post","link":"https:\/\/daxvisionerp.com\/home\/query-last-modified-aot-objects-utilidelements-modelelementdata\/","title":{"rendered":"Last modified AOT objects (UtilIdElements ModelElementData)"},"content":{"rendered":"<p>There is a task that comes up from time to time.&nbsp;Find which objects were last modified, when and by whom.<\/p>\n<p>There are more ways in AX 2012. Here are 2 that I use.<\/p>\n<ol>\n<li>\n<h2>Open UtilIdElements table from AOT<\/h2>\n<p>You can see last modifications in table browser. Go to &#8216;System documentation\/Tables&#8217;, right click UtilIdElements and select &#8216;Add-Ins\/Table Browser&#8217;.<br>\n<a href=\"http:\/\/daxvisionerp.com\/wp-content\/uploads\/2017\/04\/ObjectsModified-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-397 size-full\" src=\"http:\/\/daxvisionerp.com\/wp-content\/uploads\/2017\/04\/ObjectsModified-1.png\" alt=\"\" width=\"480\" height=\"333\"><\/a><br>\nYou will see fields like name, type, modified\/created by and datetime.<\/p>\n<p><a href=\"http:\/\/daxvisionerp.com\/wp-content\/uploads\/2017\/04\/UtilIDElements-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-405 size-large\" src=\"http:\/\/daxvisionerp.com\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-1024x155.png\" alt=\"UtilIDElements\" width=\"688\" height=\"104\" srcset=\"https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-1024x155.png 1024w, https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-300x46.png 300w, https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-768x117.png 768w, https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-1536x233.png 1536w, https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-1080x164.png 1080w, https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-1280x194.png 1280w, https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-980x149.png 980w, https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1-480x73.png 480w, https:\/\/daxvisionerp.com\/home\/wp-content\/uploads\/2017\/04\/UtilIDElements-1.png 2022w\" sizes=\"(max-width: 688px) 100vw, 688px\" \/><\/a><\/p><\/li>\n<li>\n<h2>Query ModelElementData in the model database<\/h2>\n<\/li>\n<\/ol>\n<p><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">select<\/span> <span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">top<\/span><span style=\"font-family: Consolas; font-size: small;\"> 100 me<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">Name<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> mt<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">name <\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">as<\/span><span style=\"font-family: Consolas; font-size: small;\"> TypeName<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> mt<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">TREENODENAME <\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">as<\/span><span style=\"font-family: Consolas; font-size: small;\"> TypeTreeNode<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> mtparent<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">TREENODENAME <\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">as<\/span><span style=\"font-family: Consolas; font-size: small;\"> ParentTypeTreenode<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> AxId<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> ParentId<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> LayerId<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> CREATEDBY<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> CREATEDDATETIME<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> MODIFIEDBY<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">,<\/span><span style=\"font-family: Consolas; font-size: small;\"> MODIFIEDDATETIME <\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">from<\/span><span style=\"font-family: Consolas; font-size: small;\"> ModelElement me<\/span><\/p>\n<p><span style=\"color: #808080; font-family: Consolas; font-size: small;\">inner<\/span> <span style=\"color: #808080; font-family: Consolas; font-size: small;\">join<\/span><span style=\"font-family: Consolas; font-size: small;\"> ModelElementData med <\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">on<\/span><span style=\"font-family: Consolas; font-size: small;\"> me<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">ElementHandle <\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">=<\/span><span style=\"font-family: Consolas; font-size: small;\"> med<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">ElementHandle<\/span><\/p>\n<p><span style=\"color: #808080; font-family: Consolas; font-size: small;\">inner<\/span> <span style=\"color: #808080; font-family: Consolas; font-size: small;\">join<\/span><span style=\"font-family: Consolas; font-size: small;\"> SYSMODELELEMENTTYPE mt <\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">on<\/span><span style=\"font-family: Consolas; font-size: small;\"> mt<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">recid <\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">=<\/span><span style=\"font-family: Consolas; font-size: small;\"> me<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">ElementType<\/span><\/p>\n<p><span style=\"color: #808080; font-family: Consolas; font-size: small;\">left<\/span> <span style=\"color: #808080; font-family: Consolas; font-size: small;\">outer<\/span> <span style=\"color: #808080; font-family: Consolas; font-size: small;\">join<\/span><span style=\"font-family: Consolas; font-size: small;\"> SYSMODELELEMENTTYPE mtparent <\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">on<\/span><span style=\"font-family: Consolas; font-size: small;\"> mt<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">PARENTTYPE <\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">=<\/span><span style=\"font-family: Consolas; font-size: small;\"> mtparent<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">RECID<\/span><\/p>\n<p><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">order<\/span> <span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">by<\/span><span style=\"font-family: Consolas; font-size: small;\"> med<\/span><span style=\"color: #808080; font-family: Consolas; font-size: small;\">.<\/span><span style=\"font-family: Consolas; font-size: small;\">MODIFIEDDATETIME <\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">desc<\/span><span style=\"color: #0000ff; font-family: Consolas; font-size: small;\">&nbsp;<\/span><\/p>\n<p>You will get similar fields as above, but slightly different content.<\/p>\n<h2>Hints<\/h2>\n<p>First version is easier for most, second version is more accurate and more flexible as you can&nbsp;easily extend&nbsp;the query.<\/p>\n\n\n<p><a href=\"https:\/\/github.com\/PeterProkopecz\/AX\/tree\/master\/AX2012R3_SQL_LastModifiedAOTObjects\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/PeterProkopecz\/AX\/tree\/master\/AX2012R3_SQL_LastModifiedAOTObjects<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is a task that comes up from time to time.&nbsp;Find which objects were last modified, when and by whom. There are more ways in AX 2012. Here are 2 that I use. Open UtilIdElements table from AOT You can see last modifications in table browser. Go to &#8216;System documentation\/Tables&#8217;, right click UtilIdElements and select [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"1080","footnotes":""},"categories":[23],"tags":[],"class_list":["post-404","post","type-post","status-publish","format-standard","hentry","category-ax-2012"],"_links":{"self":[{"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/posts\/404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/comments?post=404"}],"version-history":[{"count":1,"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/posts\/404\/revisions"}],"predecessor-version":[{"id":1415,"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/posts\/404\/revisions\/1415"}],"wp:attachment":[{"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/media?parent=404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/categories?post=404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daxvisionerp.com\/home\/wp-json\/wp\/v2\/tags?post=404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}