Monday, June 24, 2013

Activities and SubActivities

Table HierarchyTreeTable and smmActivities contain activities and subactivities data.
In class HierarchTreeTable, method insertNode and insertRoot called from Form Hierarchy:write(), here is the node insertion:

ttsbegin;
        hierarchyTreeTable.clear();
        hierarchyTreeTable.HierarchyId = _hierarchyId;
        hierarchyTreeTable.ElementNumber = NumberSeq::newGetNum(CompanyInfo::numRefElementNumber()).num();
        hierarchyTreeTable.SiblingNumber = HierarchyTreeTable::nextSiblingNum(_hierarchyId, _parentElementNumber);
        hierarchyTreeTable.ParentElementNumber = _parentElementNumber;
        hierarchyTreeTable.ElementNodeType = ElementNodeType::Node;
        hierarchyTreeTable.Name = strLTrim(_name);
        hierarchyTreeTable.Path = HierarchyTreeTable::findElementNumber(_hierarchyId, _parentElementNumber).Path + hierarchyTreeTable.ParentElementNumber + #sharp;
        hierarchy=Hierarchy::find(_hierarchyId);
        smmActivities.clear();
        smmActivities.setActivityNum();
        smmActivities.Purpose =hierarchyTreeTable.Name;
        smmActivities.IsTemplate =hierarchy.IsTemplate;
        if (Hierarchy::isHierarchyTypeCRM(hierarchy.HierarchyType))
        {
            common = HierarchyLinkTable::findAssociation(hierarchyTreeTable.HierarchyId, Hierarchy::hierarchyType2tableId(hierarchy.HierarchyType));
            smmActivities.initFromCommon(common);
        }
        smmActivities.insert();
        hierarchyTreeTable.RefRecId = smmActivities.RecId;
        hierarchyTreeTable.insert();
        ttscommit;

Root Insertion:
  ttsbegin;
        hierarchyTreeTable.clear();
        hierarchyTreeTable.HierarchyId = _hierarchyId;
        hierarchyTreeTable.ElementNumber = NumberSeq::newGetNum(CompanyInfo::numRefElementNumber()).num();
        hierarchyTreeTable.SiblingNumber = 0;
        hierarchyTreeTable.ElementNodeType = ElementNodeType::Node;
        hierarchyTreeTable.Name = strLTrim(_name);
        if (isConfigurationkeyEnabled(configurationKeyNum(Project3)))
        {
            hierarchyTreeTable.psaLevelName = strLTrim(_name);
            hierarchyTreeTable.psaLevelDescription = ProjTable::find(strLTrim(_name)).Name;
            hierarchyTreeTable.psaNameLink = strLTrim(_name);
            hierarchyTreeTable.psaHierarchyLevelType = PSAHierarchyLevelType::Root;
        }
        hierarchyTreeTable.insert();
        ttscommit;

No comments:

Post a Comment