Вы можете запрограммировать свой отчет так, чтобы разрешить использование псевдонимов для таблиц довольно легко. Обычно приложение ожидает запуска с таблицей по умолчанию, определенной для приложения:
Проверьте значение maxintbname в таблице maxapps для конкретного приложения, с которым вы хотите связать отчет. Это таблица, на которую будет ссылаться первичный оператор select, и частичное предложение 'where', которое maximo передает отчету, будет построено с учетом этого. (например, для приложения отслеживания рабочих заданий — WOTRACK — основной таблицей является WORKORDER)
Метод Open для первичного выбора в отчете BIRT создаст соответствующий оператор выбора SQL и добавит в конец предложение where, переданное MAXIMO. Таким образом, если вы используете псевдоним для workorder, он не будет соответствовать входящему предложению where, предоставленному maximo. Обойти это можно, закодировав дополнительный оператор включения.
например вместо использования следующего:
select ... from workorder mydetails
where $where;
используйте что-то вроде:
select ... from workorder alias ....
where alias.workorderid in (select workorderid from workorder where $where):
(workorderid — это уникальный столбец, содержащий целочисленное значение. Вы можете определить соответствующий уникальный столбец, просмотрев запись MAXTABLS для таблицы, на которую вы ссылаетесь, и проверив значение uniquecolumn)
Таким образом, это позволяет вам закодировать отчет, который будет выполняться независимо от того, какое предложение where maximo переходит из приложения отслеживания рабочих заданий.
Если вы сейчас зарегистрируете этот отчет для приложения PM, он обычно будет файлом для запуска, потому что переданное предложение where будет относиться к приложению PM, а не к объекту WORKORDER. Именно здесь появляется параметр appname — вы можете использовать его, чтобы добавить условную логику для выполнения немного разных действий в зависимости от вызывающего приложения.
Обычно это значение используется в отчете со списком заявок для добавления соответствующего заголовка в зависимости от того, вызывается ли отчет из приложения запроса на обслуживание, приложения инцидента или приложения проблемы!
:)
person
SlightlyCrazy
schedule
29.08.2020