Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по Вумудщзук / 3 сообщений из 3, страница 1 из 1
02.05.2002, 12:11
    #32029388
новичек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Вумудщзук
Извините за глупый вопрос.Подскажите пожалуйста, как передать результат запроса передать в отчет, т.е. предположим есть личные данные (фио, адрес и т.д.), нужно выбрав нужного человека сформировать отчет.
...
Рейтинг: 0 / 0
05.07.2002, 15:00
    #32035340
Fozzy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Вумудщзук
Насколько я понял Вумудщзук = Developer. И создается отчет на Reports.
Если отчет запускать из Forms, то работает след. код
declare
pl_id ParamList;
BEGIN
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,[имя параметра],TEXT_PARAMETER,[Значение которое надо передать]);
Run_Product(REPORTS,[путь к файлу отчета],SYNCHRONOUS,runtime,FILESYSTEM,pl_id,NULL);
end if;
ЕND;
теперь что делать в отчете: в секции парметры пользователя объявить переменную с именем, таким же как и имя параметра в процедуре Add_Parameter. А затем эту переменную можно использовать в модели данных отчета, в качестве параметра в условии.
Это если вызывать отчет из Forms.
Извините если ответ немного не в жилу :-)
...
Рейтинг: 0 / 0
05.07.2002, 19:43
    #32035379
SAA_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Вумудщзук
С точки зрения реализации данного примера все верно, но я решил все-же позаимствовать одну идею, порожденную глюками Developer Forms 4.5 (про которые мне сказали, когда я начал изучать формы: Там есть глюки, делай лучше так), но этот способ обладает достаточной универсальностью только если у тебя много типизированных отчетов.

1. Создаешь таблицу параметров:
TASK_ID, SID, SERIAL# +
PARAM0x (тип NUMBER)
PARAM1x (тип VARCHAR2)
PARAM2x (тип DATE) и пр..

2. Создаешь тригеры для защиты параметров от редактирования другой сессией

3. Создаешь процедуры создания и удаления TASK

4. И прежде чем вызвать отчет, ты создаешь ему TASK, заполняешь необходимые параметры, переприсваеваешь TASK новой сессии, и вызываешь сам отчет, передав ему единственный параметр TASK_ID

Плюсов здесь несколько. Во-первых ты видишь активные TASK. Во-вторых ты можешь сделать соответсвующий журнал TASKов. В-третьих ты можешь определить при каких условиях отчет зависает, вылетает, ломается и пр.
Какие еще плюсы... ну не знаю придумать еще можно. Насчет минусов... не знаю, не думал... наверное потому-что не сталкивался с этими минусами
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по Вумудщзук / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]