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

Вызов пакетной процедуры в операции

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


Вступление в Клуб: 26.01.2017
СообщениеПт Янв 27, 2017 10:14   Вызов пакетной процедуры в операции Ответить с цитатой
Полезность: Нет оценки
Добрый день.

Подскажите, как вызвать процедуру из пакета в операции?
В схеме TEST создан пакет и в нем процедура, например, TEST.TEST1.TST(a,b,c). Права на пакет TEST1 на основную схему даны.
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеПт Янв 27, 2017 10:31    Ответить с цитатой
Полезность: Нет оценки
TEST.TEST1.TST(a,b,c) Laughing
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеПт Янв 27, 2017 10:55    Ответить с цитатой
Полезность: Нет оценки
-- begin pl/sql

yaffil пишет:
TEST.TEST1.TST(a,b,c) Laughing



-- end pl/sql


+ на вкладке "Компиляция" включить [v] "Расширенный синтаксис"
_________________
Нельзя всем дать всё: всех много, а всего мало
Эмиралька
Профи
Неподтвержденный


Вступление в Клуб: 09.11.2015
СообщениеПт Янв 27, 2017 11:01    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
-- begin pl/sql

yaffil пишет:
TEST.TEST1.TST(a,b,c) Laughing



-- end pl/sql

begin pl/sql
пы-эль-вкладка совершенно лишняя.
-- end pl/sql

vtar пишет:

+ на вкладке "Компиляция" включить [v] "Расширенный синтаксис"--

А вот это правильный совет!
FoxSla
Участник
Неподтвержденный


Вступление в Клуб: 26.01.2017
СообщениеПт Янв 27, 2017 12:09    Ответить с цитатой
Полезность: Нет оценки
на вкладке "Компиляция" включить [v] "Расширенный синтаксис"-- включил.
При компиляции выходит ошибка: PLP-NOT_CLASS_COMPONENT У типа [INTEGR_FORMS] нет реквизита или операции [TEST]
Операция в "Обязательной отчетности"
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеПт Янв 27, 2017 12:13    Ответить с цитатой
Полезность: Нет оценки
FoxSla пишет:
на вкладке "Компиляция" включить [v] "Расширенный синтаксис"-- включил.
При компиляции выходит ошибка: PLP-NOT_CLASS_COMPONENT У типа [INTEGR_FORMS] нет реквизита или операции [TEST]
Операция в "Обязательной отчетности"


Как она у вас в "Обязательной отчетности" если она у вас оракловая судя по первому посту?
Или вам всё таки надо PL+ вызов? Тогда так
::[INTEGR_FORMS].[test1].test(a,b,c)
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеПт Янв 27, 2017 12:44    Ответить с цитатой
Полезность: Нет оценки
FoxSla пишет:
на вкладке "Компиляция" включить [v] "Расширенный синтаксис"-- включил.
При компиляции выходит ошибка: PLP-NOT_CLASS_COMPONENT У типа [INTEGR_FORMS] нет реквизита или операции [TEST]
Операция в "Обязательной отчетности"


-- begin pl/sql

....

-- end pl/sql

заголовок операции в PACKAGE надо объявить procedure/function xxx (zzz) ; , а не только описать в PACKAGE BODY
_________________
Нельзя всем дать всё: всех много, а всего мало


Последний раз редактировалось: vtar (Пт Янв 27, 2017 12:45), всего редактировалось 1 раз
FoxSla
Участник
Неподтвержденный


Вступление в Клуб: 26.01.2017
СообщениеПт Янв 27, 2017 12:45    Ответить с цитатой
Полезность: Нет оценки
Я хочу подключить в "Обязательную отчетность" новую операцию, в которой вызвать оракловую процедуру TEST.TEST1.TST(a,b,c).
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеПт Янв 27, 2017 12:47    Ответить с цитатой
Полезность: Нет оценки
FoxSla пишет:
Я хочу подключить в "Обязательную отчетность" новую операцию, в которой вызвать оракловую процедуру


может, лучше не надо ?
_________________
Нельзя всем дать всё: всех много, а всего мало
FoxSla
Участник
Неподтвержденный


Вступление в Клуб: 26.01.2017
СообщениеПт Янв 27, 2017 13:03    Ответить с цитатой
Полезность: Нет оценки
-- begin pl/sql

....

-- end pl/sql
Предупреждение: PLP-TYPE_WRONG: Выражение «PL/SQL block» не может быть использовано в этом контексте.
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеПт Янв 27, 2017 13:07    Ответить с цитатой
Полезность: 1
Я, когда спер пакет у инверсии по падежам прикрутил его так

Глобальные Описание

Код:
-- обертка для ораклового пакета ibs.padegi для использования в операциях PL+
function get_padegi(FIO varchar2(160), padeg varchar2(1) ) return varchar2(160);


Локальные

Код:
function get_padegi(FIO varchar2(160), padeg varchar2(1) ) return varchar2(160)
is
rezult varchar2(160);
begin
-- begin pl/sql
rezult:=padegi.get_fio_case(FIO,padeg);
-- end pl/sql
return (rezult);   
end;


З.Ы. правдо потом ЦФТ походу спер у меня и внедрил склонение по падежам в дистрибутиве Laughing
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеПт Янв 27, 2017 13:35    Ответить с цитатой
Полезность: 1
yaffil пишет:

З.Ы. правдо потом ЦФТ походу спер у меня и внедрил склонение по падежам в дистрибутиве Laughing


ЦФТ по определению не может у тебя ничего спереть, так как весь набитый тобой в платформу код pl+ и так является ЕГО собственностью которой ОН милостиво дозволяет пользоваться тебе Smile
_________________
Нельзя всем дать всё: всех много, а всего мало
FoxSla
Участник
Неподтвержденный


Вступление в Клуб: 26.01.2017
СообщениеПн Янв 30, 2017 13:20    Ответить с цитатой
Полезность: Нет оценки
Спасибо огромное. Заработало!
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

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