Запрос PTC WindChill также читает удаленные ссылки - PullRequest
2 голосов
/ 10 февраля 2011

Я пытаюсь запросить базу данных WindChill, чтобы получить все дочерние части данной детали (сборки).Сейчас у меня есть следующее:

-- this is how sql server management studio rewrites an oracle join
SELECT    M1.WTPARTNUMBER AS COMPONENT, M2.WTPARTNUMBER AS ASSEMBLY, MAX(WTPARTUSAGELINK.AMOUNTA7) AS AMOUNT
FROM      WTPART, WTPARTMASTER M2, WTPARTUSAGELINK, WTPARTMASTER M1
WHERE     WTPART.IDA3MASTERREFERENCE = M2.IDA2A2 
                   AND WTPART.IDA2A2 = WTPARTUSAGELINK.IDA3A5
                   AND WTPARTUSAGELINK.IDA3B5 = M1.IDA2A2
GROUP BY  M2.WTPARTNUMBER, M1.WTPARTNUMBER
order by  M2.WTPARTNUMBER, M1.WTPARTNUMBER

Это работает в том смысле, что я получаю список каждой сборки и ее частей, которые я могу позже отфильтровать при построении своего дерева.Это прекрасно, всего около 1k сборок.

Проблема в том, что я также получаю строки, которые я удалил из WindChill (они не отображаются в веб-приложении WindChill).Я понимаю, что это длинный путь, но есть ли другой стол, к которому мне нужно присоединиться, или что-то, чтобы получить, действительно ли включать потенциальную дочернюю часть?

1 Ответ

4 голосов
/ 21 апреля 2011

Я полагаю, что вы должны использовать конкретную версию детали, а не мастер детали.

То, как спецификации и сборки обрабатываются в Windchill, заключается в том, что снимки соответствующих деталей делаются с каждой ревизиейчасть.Если на конкретную часть 'version' нет ссылки, то вы получите 'all'.

Я не знаю, как это сделать, потому что я всегда использовал задачи информационного движка для достижения одинаковых результатов., избегая прямого контакта с БД.Существует встроенный веб-объект под названием «Query-Tree», который при наличии объекта будет возвращать все связанные дочерние объекты.Поэтому, если мне нужна полная ведомость материалов для детали, я просто запускаю веб-объект и передаю ему этот объект детали.

...