Loop all views in module
Module m=current; string myView; for myView in views m do { print myView "\n"; }
Example: Get all Filter Strings from all views in current Module
Module m=current; string myView; for myView in views m do { print myView "\t"; View v=view(myView); load(m,v); Filter f=current; if(null f) { print "no filter\n" } else { string filterString=stringOf(m,f); print filterString "\n"; } }
Loop all attributes on module
Module m=current; string attribute; for attribute in m do { print attribute "\n"; }
Loop through all In-Links (with Baselines) of an Object
Object obj=current; Link lnk; LinkRef lnkRef; ModName_ otherMod = null; string linkModuleString; // I.e. for different Projects with different // Link-Module Locations string projName = name(current Project); if(projName=="VarCo") { // Links zu Change Request linkModuleString = "/VarCo/20 Sample Project/22 Links/Changes"; } else { // Links zu Change Request linkModuleString = "/Project/90 Administration/Changes"; } int lnkCount=0; Item linkModItem = itemFromID(uniqueID(item(linkModuleString))); linkModName = fullName(linkModItem); for lnkRef in all(obj<-linkModName) do { otherMod = module (sourceVersion lnkRef); if (!null otherMod) { if ((!isDeleted otherMod) && (null data(sourceVersion lnkRef))) { load((sourceVersion lnkRef),false); } } } for lnk in all(obj<-linkModName) do { // Get In-Link Object Object src = source lnk; if ( isDeleted(src) || null(src) ) continue; identifierCC = identifier(src) ""; lnkCount++; }
Loop through out-links of an object
Object obj=current; Link lnk; for lnk in obj->"*" do { string tmn=fullName target(lnk); if(!open module tmn) { read(tmn,false); } Object tgt = target(lnk); print identifier(tgt) "\n"; }
Loop through all (with baselines) out-links of an object
First Approach
Module baselineModul=current; string satisfiesModuleString = "/NDS/90 Administration/Satisfies"; int object_count=0; int link_count=0; Object blObject; for blObject in baselineModul do { // Laufe durch die gebaselinten Outlinks Link lnk; for lnk in all(blObject->satisfiesModuleString) do { ModuleVersion mvTarget=targetVersion(lnk); if(null data(mvTarget)) { load(mvTarget,false); } Object tgt=target(lnk); link_count++; } object_count++; } print "Link Count: " link_count "\nObject Count: " object_count "";
Second Approach
Module baselineModul=current; ModName_ otherMod=null; string satisfiesModuleString = "/NDS/90 Administration/Satisfies"; int object_count=0; int link_count=0; Object blObject; for blObject in baselineModul do { // Laufe durch die gebaselinten Outlinks Link lnk; for lnk in all(blObject->satisfiesModuleString) do { string tmn=fullName target(lnk); otherMod = module (targetVersion lnk); if (!null otherMod) { if ((!isDeleted otherMod) && (null data(targetVersion lnk))) { load((targetVersion lnk),false); } } Object tgt = target(lnk); if(null tgt) { print "Is null das Teil!\n"; } else { Baseline blI= baselineInfo(module tgt); print major(blI) " " minor (blI) "\n"; } link_count++; } object_count++; } print "Link Count: " link_count "\nObject Count: " object_count "";
Loop through all (with baselines) out-links without opening the target module
Object obj=current; Link lnk; for lnk in all(obj->"*") do { ModuleVersion mvTarget=targetVersion(lnk); Baseline b = baseline(mvTarget); if(!null b) { // Wenn der Link nicht auf Current geht print major(b) "." minor(b) "\n"; } print fullName(mvTarget) " " targetAbsNo(lnk) "\n"; }