Look up and set up AOT Properties
Sometimes,We often need to lookup the dictionary date( such as table) list or modified the properties on AOT .
so,X++ code as below:
Jimmy August 3th 2010
Batch set up the field for table properties
static void Jimmy_LookUpsetTableList(Args _args) { #AOT treeNode tableNode,childNode; AotTableFieldList myAOTTablefieldList; SysDictTable sysDictTable = new SysDictTable(tablenum(Test)); treenodeIterator nodeIterator; str fields; Str properties,Props; ; tableNode = TreeNode::findNode(#TablesPath+'\\'+sysDictTable.name()); myAOTTablefieldList = TreeNode::findNode(#TablesPath+'\\'+sysDictTable.name() + "\\Fields"); nodeIterator = myAOTTablefieldList.AOTiterator(); childNode = nodeIterator.next(); while (childNode) { fields = childNode.treeNodeName(); if (fields == "ItemId") { properties = setProperty(childNode.AOTgetProperties(), "Label","New label"); Props = " PROPERTIES\n" + " Name #ItemId\n" + " Label #Item number\n" + " HelpText #Jimmy X++ Code\n" + " ExtendedDataType #ItemId\n" + " ENDPROPERTIES\n"; childNode.AOTsetProperties(properties);//设置单个属性 childNode.AOTsetProperties(Props);//可以批量设置表属性 childNode.AOTsave(); childNode.AOTcompile(); childNode.AOTrefresh(); } info(fields); childNode = nodeIterator.next(); } }
Look up the table properties
static void Jimmy_TableProperty(Args _args) { /* Author : Jimmy xie Date : April 16, 2010 Purpose : get to the table properties */ #AOT str Property; TreeNode TreeNode; identifiername identifiername; str Name; ; TreeNode = TreeNode::findNode(#TablesPath); TreeNode = TreeNode.AOTfirstChild(); while (TreeNode) { Name = TreeNode.AOTname(); Property = TreeNode.AOTgetProperties(); identifiername = findproperty(Property, 'SecurityKey'); info (strfmt("%1, %2", Name, identifiername)); treenode = TreeNode.AOTnextSibling(); }
}
set up the table properties
static void Jimmy_TablePropertySet(Args _args) { /* Author : Jimmy xie Date : April 16, 2010 Purpose : set up to the table properties */ str Property; TreeNode TreeNode; str Name; ; Name = "CustTable"; TreeNode = TreeNode::findNode("Data Dictionary\\Tables\\" + Table); if (TreeNode) ttsbegin; Property = TreeNode.AOTgetProperties(); Property = SetProperty(Property, "ModifiedDate", "Yes"); TreeNode.AOTsetProperties(Property); TreeNode.AOTcompile(); TreeNode.AOTsave(); } }
Look up the projects properties of AOT
private void Jimmy_ProjectsList() {
/*
Author : Jimmy xie
Date : September 30, 2010
Purpose : get to the table properties
*/
TreeNode privateProjectNode; TreeNode sharedProjectNode; TreeNode node; ProjectNode projectNode; int i; ; privateProjectNode = infolog.projectRootNode().AOTfirstChild(); node = privateProjectNode.AOTfirstChild(); setPrefix(privateProjectNode.AOTname()); while(node != null) { info("--"+node.AOTname()); node = node.AOTnextSibling(); } sharedProjectNode = privateProjectNode.AOTnextSibling(); node = sharedProjectNode.AOTfirstChild(); setPrefix(sharedProjectNode.AOTname()); while(node != null) { i++; projectNode = node; projectNode = projectNode.loadForInspection(); info(strfmt("%6 : %1, -- %2, %3, -- %4, %5",projectNode.name(),projectNode.createdBy(),projectNode.creationDate(),projectNode.changedBy(),projectNode.changedDate(),i)); node = node.AOTnextSibling(); projectNode = node; } /*** loadForInspection()非常重要,我们需要把Project加载进来,才能确保可以读取到所有内容 你也可以调用getRunNode()方法来加载Project,但这时会打开Project form */ }