3 votes

DOORS DXL pour modifier les liens versionnés vers une ligne de base cible spécifique

Je voudrais pouvoir modifier l'attribut Baseline pour tous les liens sortants d'un module source. Quelqu'un connaît-il un code DXL qui pourrait être utilisé pour faire cela ?

Il doit y avoir un moyen plus facile que de supprimer manuellement les liens sortants précédents (c'est-à-dire ModuleVersion BL [1.20] et de recréer des liens sortants vers une nouvelle ligne de base spécifique (c'est-à-dire ModuleVersion BL [1.21]).

for outLink in all (Object srcObject) -> (string linkModName) do { ... version cible(lien externe) ... }

Merci pour toute aide.

2voto

Steve Valliere Points 1864

Voici la manière dxl de le faire :

Link ol
Object o
Object othero
Module m = current
string LinkModName = "FULLPATHTOLINKMODULE"
Module tMod
ModName_ tModName
ModuleVersion mv
Baseline b
int tAbs

  // Current Version of the Links
string cVersion = "1.20"

  // Target Major, Minor and Suffix
int tMajor = 1
int tMinor = 21
string tSuffix = ""

for o in m do
{
  for ol in all(o -> LinkModName) do
  {
    mv = targetVersion(ol)
    tModName = target(ol)
    tMod = read(fullName(tModName),false)
    if(isBaseline(mv))
    {
      if(versionString(mv) "" == cVersion)
      {
        if(!isBaseline(tMod))
        {
          b = baseline(tMajor,tMinor,tSuffix)
          if(baselineExists(tMod,b))
          {
            tMod = load(tMod, b, true)
          } else {
            ack "Baseline [" tMajor "." tMinor " " tSuffix "] was not found"
            halt
          }
        }
        tAbs = targetAbsNo(ol)
        othero = object(tAbs,tMod)
        if(!null othero)
        {
          o -> LinkModName -> othero
          delete ol
        }
      }
    }
  }
}
flushDeletions()
save m

N'oubliez pas d'insérer le chemin d'accès à votre module de liens et de mettre à jour les informations de base pour le courant et la cible si nécessaire.

Vous pouvez omettre le delete ol y flushDeletions() si vous décidez de ne pas supprimer les anciens liens.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X