CftClub.ru
Клуб специалистов ЦФТ-Банк

Вызов формы директивой PLPCALL с передачей массива

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
montes
Участник


Вступление в Клуб: 05.04.2013
СообщениеВт Июн 05, 2018 06:13   Вызов формы директивой PLPCALL с передачей массива Ответить с цитатой
Полезность: Нет оценки
Добрый день.
Есть необходимость поднять форму операции ввода клиента и передать на нее часть параметров. Все работает, но возникла проблема с передачей массивов. Массив по своей сути являющийся коллекцией, привязать не к чему, т.к. клиента в базе еще нет. Подскажите, как передать коллекцию на еще не введенный экземпляр через PLPCALL?
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеВт Июн 05, 2018 06:19    Ответить с цитатой
Полезность: Нет оценки
ну через глобальную переменную можно, это ведь не дистрибутивная операция вызывается ?
montes
Участник


Вступление в Клуб: 05.04.2013
СообщениеВт Июн 05, 2018 07:08    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
ну через глобальную переменную можно, это ведь не дистрибутивная операция вызывается ?

Как раз дистрибутивную операцию пытаюсь вызвать. Можно, наверное, сначала создать клиента а потом поднять форму на его редактирование, но мне это очень не нравится.
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеВт Июн 05, 2018 09:09   Re: Вызов формы директивой PLPCALL с передачей массива Ответить с цитатой
Полезность: Нет оценки
montes пишет:
Добрый день.
Есть необходимость поднять форму операции ввода клиента и передать на нее часть параметров. Все работает, но возникла проблема с передачей массивов. Массив по своей сути являющийся коллекцией, привязать не к чему, т.к. клиента в базе еще нет. Подскажите, как передать коллекцию на еще не введенный экземпляр через PLPCALL?


Ну как вариант ... Как всякие копирования делают - создай клиента NEW#AUTO, наполни его чем надо и стартани PLPCALL-ом редактирование EDIT#AUTO на созданном экземпляре, в который ты уже впихнул массивы
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеВт Июн 05, 2018 09:25    Ответить с цитатой
Полезность: Нет оценки
montes пишет:
Alkov пишет:
ну через глобальную переменную можно, это ведь не дистрибутивная операция вызывается ?

Как раз дистрибутивную операцию пытаюсь вызвать. Можно, наверное, сначала создать клиента а потом поднять форму на его редактирование, но мне это очень не нравится.


минус в том что в случае отмены ,данного клиента нужно удалить.
Ну как вариант сделать расширение к вызываемой операции,
а дальше мучать глобальную переменную...тоже в общем не красиво.


Последний раз редактировалось: Alkov (Вт Июн 05, 2018 09:28), всего редактировалось 1 раз
montes
Участник


Вступление в Клуб: 05.04.2013
СообщениеВт Июн 05, 2018 09:27    Ответить с цитатой
Полезность: 1
На схеме встречал подобные конструкции:
result := '<% PLPCALL [NEW#FOR_SAFE](%COLLECTION%=>''' || V#COLLECTION ||''', P_VEK =>'''||null||''', P_CLASS =>'''||class_vek||''', P_COLL=>'''|| V#COLLECTION ||''') %>';
Я так понимаю, здесь передаются ссылки на уже созданные коллекции?
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеВт Июн 05, 2018 09:30    Ответить с цитатой
Полезность: Нет оценки
montes пишет:
На схеме встречал подобные конструкции:
result := '<% PLPCALL [NEW#FOR_SAFE](%COLLECTION%=>''' || V#COLLECTION ||''', P_VEK =>'''||null||''', P_CLASS =>'''||class_vek||''', P_COLL=>'''|| V#COLLECTION ||''') %>';
Я так понимаю, здесь передаются ссылки на уже созданные коллекции?

Думаю да, как вариант заполнить коллекцию ,а потом уже вызывать...
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru