This Attribute DXL displays the identifiers of source objects that are linked from via a link module called “satisfies”. This code is generic and can be used to display any relationship by changing the link module name.
The link module name is unqualified to allow the use of multiple link modules with the same name.
// Satisfied By /* Display child requirements that are linked to the current requirement via "satisfies" links. Tony Goodman */ pragma runLim, 0 Buffer bsz = create Link l = null LinkRef lr = null ModName_ otherMod = null Object othero = null bool doneOne = false string LM = "satisfies" for lr in all(obj<-"*") do { if (name(module lr) != LM) continue ModuleVersion mvSource = sourceVersion(lr) otherMod = module(mvSource) if (!null otherMod) { if ((!isDeleted otherMod) && (null data(mvSource))) { load((mvSource), false) } } delete(mvSource) } for l in all(obj<-"*") do { if (name(module l) != LM) continue ModuleVersion otherVersion = sourceVersion(l) otherMod = module(otherVersion) if (null otherMod || isDeleted otherMod) continue othero = source(l) if (null othero) { load(otherVersion, false) } othero = source(l) if (null othero) continue if (isDeleted othero) continue if (doneOne) { bsz += "\n" } bsz += identifier(othero) // to display a different attribute, un-comment the following line and replace <attr-name> with your attribute name. //bsz += probeAttr_(othero, "<attr-name>") doneOne = true delete(otherVersion) } obj.attrDXLName = tempStringOf(bsz) delete(bsz)