Пример: рекурсивные уровни и рекурсивные сегменты со схемой источника данных Rational RequisitePro

Список требований к программному обеспечению можно просмотреть с помощью запроса PRRequirement в схеме IBM® Rational RequisitePro, которая устанавливается вместе с примерами Rational Publishing Engine: RPE_HOME\source\XML\examples\RequisitePro.xsd

Для каждого запроса PRRequirement можно извлечь все дочерние требования на всех уровнях вложения, избежав добавления каждого запроса в шаблон.

Вместо добавления следующих запросов:
Можно создать один запрос для всех требований:
  1. Добавьте запрос Project/Requirements/PRRequirement/Children/Relationship/RelatedReq в элемент.
  2. Добавьте значения в свойства Рекурсивный уровень и Рекурсивные сегменты:
    • Для свойства Рекурсивный уровень введите значение 4.

      Рекурсивный уровень задает глубину запроса. Если ввести значение не менее единицы, то потребуется также указать значение не менее единицы для параметра Рекурсивные сегменты.

    • Для свойства Рекурсивные сегменты введите значение 3.
      Параметр Рекурсивные сегменты задает число повторяющихся сегментов в запросе. В этом примере применяются сегменты Children/Relationship/RelatedReq.
      Прим.: Значение свойства Рекурсивные сегменты не должно превышать число сегментов в запросе. Родительский запрос не включается в качестве сегмента.
  3. Выполните отчет для тестирования.
    При создании отчета выполняются следующие запросы:
    • [$1] – Project/Requirements/PRRequirement/Children/Relationship/RelatedReq
      Прим.: Первый запрос должен содержать полный контекст запроса.
    • [$2] – $1/Children/Relationship/RelatedReq
    • [$3] - $2/Children/Relationship/RelatedReq
    • [$4] – $3/Children/Relationship/RelatedReq
    Если значение свойства Рекурсивные сегменты превышает число сегментов в запросе, то неполадку можно устранить одним из следующих способов:
    • Выберите элемент, к которому применено свойство Рекурсивные сегменты. На панели Свойства выберите вкладку Данные и уменьшите значение свойства Рекурсивные сегменты.
    • Кроме того, запрос можно изменить таким образом, чтобы он начинался с другого родительского запроса. Если значение свойства Рекурсивные сегменты больше не один сегмент, создайте элемент контейнера и добавьте запрос, расположенный на один уровень выше родительского запроса существующего элемента. Затем переместите существующий элемент в элемент контейнера.

Комментарии