В OIM лукапы используются в двух местах:
- На различных формах, например на форме редактирования и на форме просмотра пользователя (список организаций, список руководителей и т.д.)
- В дочерних формах - список ролей/прав
Лукап можно заменить на произвольную выборку из базы: из таблицы, из VIEW или из тех же таблиц, на основе которых строится лукап.
select lkv.lkv_encoded, lkv.lkv_decoded
from lkv
join lku on lku.lku_key = lkv.lku_key and lku.lku_type_string_key='Имя лукапа';
В OIM лукапы используются в двух местах:
- На различных формах, например на форме редактирования и на форме просмотра пользователя (список организаций, список руководителей и т.д.)
- В дочерних формах - список ролей/прав
Лукап можно заменить на произвольную выборку из базы: из таблицы, из VIEW или из тех же таблиц, на основе которых строится лукап.
Для Oracle Identity Manager версии 9.X
Замена на формах
Для того, что бы заменить на формах, нужно отредактировать файл FormMetaData.xml Пример. Атрибут описан как лукап:<Attribute name="-19" label="global.label.managerid" displayComponentType="LookupField" variantType="long" dataLength="50" map="Users.Manager Login">
<ValidValues lookupMethod="findUsersFiltered" operationClass="Thor.API.Operations.tcUserOperationsIntf" displayColumns="Users.User ID,Users.Last Name,Users.First Name" selectionColumn="Users.User ID">
</Attribute>
Атрибут описан как выборка из таблицы:
<Attribute name="-19" label="global.label.managerid" displayComponentType="LookupField" variantType="long" dataLength="50" map="Users.Manager Login">
<ValidValues lookupQuery="select usr_login, usr_last_name from usr"
selectionColumn="USR_LOGIN"
columnNames="USR_LOGIN"/>
</Attribute>
Замена на дочерних формах
Первые два шага можно пропустить, если используются уже имеющие локализацию названия столбцов таблицы.
1. В файл локализации xlWebAdmin_ru.properties в блок "# ----- LOOKUPFIELD column headers -----" добавляем строку: lookupfield.header.test_lookup_name.CustomField=tname
(в имени лукапа пробелы заменяются знаком "_", название лукапа обязательно записываем маленькими буковками)
2. Создаем лукап:
Название лукапа (Code): Test Lookup Name.CustomField
Поле (Field): SOME_FIELD_ALIAS
Тип лукапа: Field Type
Группа (Group): Lookup Definition
Добавить строку в лукап, в которой: Code Key=CustomField, Decode=Любая строка
3. В Property лукап поля указываем:
Lookup Query=Select SOME_FIELD1 AS SOME_FIELD_ALIAS, SOME_FIELD2 from TABLE
Lookup Column Name = SOME_FIELD2 (поле из селекта, которое будет записано в форму как значение)
Column Names = SOME_FIELD_ALIAS, SOME_FIELD2
Column Captions = ...(тут можно указать что угодно)
Для Oracle Identity Manager версии 11.1.1.X
Проверено на версии 11.1.1.3.8, скорее всего подойдет и для других версий
Замена на формах
См. раздел документации Creating Entity Attributes, в таблице типов атрибутов это LOV Type -> By Query
Замена на дочерних формах
Пункты 1 и 2 см. для версии 9.X
3. В Property лукап поля указываем:
3. В Property лукап поля указываем:
Lookup Query=Select SOME_FIELD1 AS SOME_FIELD_ALIAS, SOME_FIELD2 from TABLE
Lookup Column Name = SOME_FIELD2 (поле из селекта, которое будет записано в форму как значение)
Column Names = SOME_FIELD2
Column Captions = ...(тут можно указать что угодно)