2015-10-02 6 views
0

У меня в настоящее время возникает проблема с связыванием двух модулей с различными базовыми линиями.DOORS DXL ссылка на несуществующий объект в модуле Базовая линия

Пример: У меня есть модуль A с 10 базовыми линиями и модулем B с 10 базовыми линиями. Ссылки отсутствуют ссылки из A => B. Последняя базовая линия модуля A была выполнена через 1 месяц после последней базовой линии модуля B. Тем временем было создано больше объектов в модуле B и были связаны с модулем A с ними.

Итак, теперь у меня есть некоторые ссылки в последней базовой линии модуля A, которые ссылаются на объекты в модуле B, которые не существуют в последней базовой линии модуля B (существуют только в последней базовой линии ++).

Когда я запускаю свой DXL-скрипт, чтобы получить все связанные объекты, я также получаю идентификаторы этого несуществующего объекта, хотя они не существуют в последней базовой линии. Я открываю оба модуля и загружаю последнюю базовую линию с помощью функции load (module, baseline, false). Название базовой линии и моя отладка показывают мне, что я действительно работаю над последней базой. Но почему-то эти несуществующие объекты перечислены из-за ссылки. Я читал кое-что о эхо-ссылках, но они не работают для меня.

Возможным решением было бы получить дату базовой линии модуля A и сравнить ее с датой создания связанного объекта. Но должен быть более простой и понятный способ имхо ... любые идеи?

ответ

0

Прошу прощения за то, что у меня нет прямого ответа на ваш вопрос. Я попробовал сценарий между двумя модулями (A и B), которые вы представили. Я связал объекты, сделал новую базовую линию и добавил еще несколько объектов, которые также были связаны.

Я не встречаю проблему, которую вы представили, когда я запускаю следующий скрипт. Надеюсь, что что-то может дать что-то новое. В основном я открываю базовый уровень модуля B и подсчитываю ссылки. Новые объекты (которые я нашел в текущей версии) не включены в этот счет.

Module modB = read("/Testmappe/ModuleB", false) 
Module baselineModuleB 
Object objB 
Link l 
string linkModName = "*" 
int countLinks = 0 

    // baseline(MAJ, MIN, SUFFIX) 
Baseline myBaseline = baseline(0, 1, "") 

if(baselineExists(modB, myBaseline)) 
{ 
    baselineModuleB = load(modB, myBaseline, false) 

    for objB in baselineModuleB Module do { 
    for l in all(objB<-linkModName) do { 
    countLinks++ 
    } 
    } 
    print "Number of in-links are: " countLinks "" 
} 
+0

Спасибо за скрипт. Он должен работать, но только учитывает встроенные ссылки модуля. Проблема в том, что если я последую за исходящей ссылкой, это приведет к несуществующему объекту. Я сделал обходной путь, когда я проверяю атрибут «Создано по» и сравниваю его с датой базового уровня модуля А. Кажется, что дата ссылки в настоящее время является моим единственным шансом. – Cleese

 Смежные вопросы

  • Нет связанных вопросов^_^