PeopleSoft XML Publisher - Скрытие пустых наборов строк

У меня есть отчет, который я создаю, в котором используется набор строк с шестью дочерними наборами строк. Я создаю этот отчет с помощью pplcode на кнопке. Объявляю наборы строк:

rs_resp = CreateRowset(Record.AVZ_JD_RESP_TBL);
&rs_expr = CreateRowset(Record.AVZ_JD_EXPR_TBL);
&rs_skls = CreateRowset(Record.AVZ_JD_SKLS_TBL);
&rs_educ = CreateRowset(Record.AVZ_JD_EDUC_TBL);
&rs_lic = CreateRowset(Record.AVZ_JD_LIC_TBL);
&rs_cond = CreateRowset(Record.AVZ_JD_COND_TBL);
&rs_dtl = CreateRowset(Record.AVZ_JD_DTL_VW, &rs_resp, &rs_expr, &rs_skls, &rs_educ, &rs_lic, &rs_cond);

Затем я прохожу и заполняю наборы строк:

&rs_dtl.Fill("WHERE FILL.AVZ_JD_DESCRID = :1 AND EFFDT = %DATEIN(:2)", &jdDescrID, &effdt); 

И так далее.

В моем отчете у меня есть кое-что из родительского набора строк вверху, а затем дочерние наборы строк (с «заголовками разделов»), следующие:

Первый ребенок: данные из & rs_resp

Второй ребенок: данные из & rs_expr ... Моя проблема в том, что не все наборы строк будут иметь данные, и я хочу исключить эти разделы из своего отчета. Сначала я попытался использовать @numrows в условной области в шаблоне RTF, но мне быстро напомнили, что даже в пустых наборах строк есть как минимум 1 строка ...

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

Кто-нибудь делал это или есть идеи?

Спасибо!


person Chip    schedule 08.05.2012    source источник
comment
спасибо navi - я фактически создаю отчет с помощью кнопки на странице, поэтому я имею дело только с одним родителем (и его дочерними элементами) за раз. Отчет работает должным образом, но проблема заключается в пустых наборах строк - как проверить наличие пустых наборов строк?   -  person Chip    schedule 09.05.2012


Ответы (1)


Ваш текущий порядок выглядит примерно так:
Родитель 1
Родитель 2

Ребенок 1.1
Ребенок 1.2
Ребенок 2.1
Ребенок 2.2
Ребенок 1.3
Ребенок 1.4
Ребенок 2.3
Ребенок 2.4
Ребенок 1.5

В подходе, который вы пытаетесь использовать выше, вы получите все родительские строки в & rs_dtl и все дочерние строки в соответствующих наборах строк. В этом случае вам нужно будет найти соответствующие дочерние строки (для каждой родительской строки, которая присутствует) в шаблоне RTF, что, я бы сказал, является утомительной задачей.

Вместо этого попробуйте упорядочить набор строк в следующем порядке:

Родитель 1
ребенок 1
ребенок 2
ребенок 3
ребенок 4
Родитель 2
ребенок 1
ребенок 2
ребенок 3
ребенок 4

Это упростит вам печать дочерних строк для родительских строк. Кроме того, можно поставить проверки - чтобы проверить, пусты ли дочерние строки, и распечатать их соответствующим образом.

person navi    schedule 09.05.2012
comment
Может ли использование условной области для проверки того, установлены ли ключи в дочерних строках, поможет? - person navi; 13.05.2012