Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Ср Июл 25, 2018 17:16  склонение по падежам |
|
Полезность: Нет оценки
|
добрый день.
подскажите:
есть библиотечная функция склонения по падежам. (короткое имя PADEG)
как к ней программно обратиться?
пробовал так:
Код: | l_val := ::[RUNTIME].[PADEG].GetOffice(l_val, 3); |
пишет ошибку, у типа RUNTIME нет реквизита или операции [PADEG].
что я делаю не так? |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Чт Июл 26, 2018 05:29   |
|
Полезность: Нет оценки
|
Ну значит нет такой операции в типе RUNTIME ,
у меня она например в типе ::[DECLENSION].[PADEG]
p.s. первый день код пишите ? |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Июл 26, 2018 08:51   |
|
Полезность: Нет оценки
|
а как и где посмотреть к какому типу какая функция относится? |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Июл 26, 2018 09:10   |
|
Полезность: Нет оценки
|
Псевдоним123 пишет: | а как и где посмотреть к какому типу какая функция относится? |
В администраторе словария данных
::[DECLENSION].[PADEG]
Тип базового понятия [DECLENSION]
Внутри(в типе) операция [PADEG] |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Июл 26, 2018 10:21   |
|
Полезность: Нет оценки
|
вылезла ошибка
Код: | subprogram or cursor 'GetOffice' is declared in a package specification and must be defined in the package body |
посмотрев свой код ошибки не обнаружил, в чем я туплю? |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Июл 26, 2018 10:23   |
|
Полезность: Нет оценки
|
Псевдоним123 пишет: | вылезла ошибка
Код: | subprogram or cursor 'GetOffice' is declared in a package specification and must be defined in the package body |
посмотрев свой код ошибки не обнаружил, в чем я туплю? |
Пришли свой код...который выдает такую ошибку
По тексту ошибки видимо GetOffice объявлен в секции Глобальные описания и не реализован в секции Локальные описания... но это не точно... |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Июл 26, 2018 10:35   |
|
Полезность: Нет оценки
|
если убираю функцию ошибка все-равно остается...
Код: | function get_dep_pad(p_kode number)
return varchar2(2000)
is
l_name varchar2(2000);
l_depart varchar2(2000);
begin
select d(d.[name]) in [depart] where d%id = p_kode into l_depart;
l_name := ::[DECLENSION].[PADEG].GetOffice(l_depart, 3);
return l_name;
end; |
|
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Июл 26, 2018 10:39   |
|
Полезность: Нет оценки
|
Псевдоним123 пишет: | если убираю функцию ошибка все-равно остается...
Код: | function get_dep_pad(p_kode number)
return varchar2(2000)
is
l_name varchar2(2000);
l_depart varchar2(2000);
begin
select d(d.[name]) in [depart] where d%id = p_kode into l_depart;
l_name := ::[DECLENSION].[PADEG].GetOffice(l_depart, 3);
return l_name;
end; |
|
Твоя функция компилируется без ошибок у меня...
Тут всё ок
Второй вопрос... в каком месте она у тебя располагается?
Пришли наименование блока - секции и содержимое по возможности
если убираю функцию ошибка все-равно остается... значит ошибка не в функции) |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Июл 26, 2018 10:46   |
|
Полезность: Нет оценки
|
нашел я ошибку...
перезашел в пакет, а в нем глобальные описания имеются, которые в локальных описаниях не используются.... |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Июл 26, 2018 10:49   |
|
Полезность: Нет оценки
|
Матвеев Евгений пишет: | Псевдоним123 пишет: | а как и где посмотреть к какому типу какая функция относится? |
В администраторе словария данных
::[DECLENSION].[PADEG]
Тип базового понятия [DECLENSION]
Внутри(в типе) операция [PADEG] |
а подскажите еще, не могу сообразить как это посмотреть... |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Чт Июл 26, 2018 10:53   |
|
Полезность: 1
|
Матвеев Евгений пишет: | Псевдоним123 пишет: | а как и где посмотреть к какому типу какая функция относится? |
В администраторе словария данных
::[DECLENSION].[PADEG]
Тип базового понятия [DECLENSION]
Внутри(в типе) операция [PADEG] |
Запускаешь "администраторе словария данных"
Далее ctrl+f поиск галка типы с втроке DECLENSION поиск потом переходишь в найденную папку, внутри библиотечная операция PADEG
Мишуры всякой полно
Код: |
/* Внимание! Данная библиотека не гарантирует 100% точность и при её использовании желательно обеспечить визуальный контроль результата со стороны пользователя. */
procedure Get_FIO
/* Процедура преобразования фамилии, имени, отчества из именительного падежа в заданный падеж. */
(cLastName in out varchar2(32767)
/* Фамилия. В этот же параметр записывается результат склонения. */
,cFirstName in out varchar2(32767)
/* Имя. В этот же параметр записывается результат склонения. */
,cMiddleName in out varchar2(32767)
/* Отчество. В этот же параметр записывается результат склонения. */
,cSex varchar2(1)
/* Пол. Допустимые значения: "м", "ж", null. */
,nPadeg integer
/* Падеж. Допустимые значения: 1,2,3,4,5,6 (1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный). */
);
function GetFIO
/* Функция преобразования фамилии, имени, отчества из именительного падежа в заданный падеж. */
(cLastName varchar2(32767)
/* Фамилия. */
,cFirstName varchar2(32767)
/* Имя. */
,cMiddleName varchar2(32767)
/* Отчество. */
,cSex varchar2(1)
/* Пол. Допустимые значения: "м", "ж", null. */
,nPadeg integer
/* Падеж. Допустимые значения: 1,2,3,4,5,6 (1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный). */
)
/* ФИО в заданном падеже. */
return varchar2(32767);
function GetFIOFromStr
/* Функция преобразования фамилии, имени, отчества, записанных одной строкой, из именительного падежа в заданный падеж. */
(cFIO varchar2(32767)
/* Фамилия Имя Отчество. */
,cSex varchar2(1)
/* Пол. Допустимые значения: "м", "ж", null. */
,nPadeg integer
/* Падеж. Допустимые значения: 1,2,3,4,5,6 (1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный). */
)
/* ФИО в заданном падеже. */
return varchar2(32767);
function GetSex
/* Определение пола по отчеству в некотором падеже. */
(cMiddleName varchar2
/* Отчество. */
)
/* Пол: "м", "ж" или null. */
return varchar2;
procedure GetFIOParts
/* Разделение ФИО на фамилию, имя, отчество. */
(cFIO varchar2
/* фамилия, имя и отчество, разделенные пробелами. */
,cLastName out varchar2
/* Возвращаемая фамилия. */
,cFirstName out varchar2
/* Возвращаемое имя. */
,cMiddleName out varchar2
/* Возвращаемое отчество. */
);
function GetPadeg
/* Определение падежа по ФИО. */
(cLastName varchar2(32767)
/* Фамилия. */
,cFirstName varchar2(32767)
/* Имя. */
,cMiddleName varchar2(32767)
/* Отчество. */
,cSex in out varchar2(1)
/* Пол. Допустимые значения: "м", "ж". Если не задан, то определяется автоматически и возвращается через параметр. */
)
/* Значение падежа (0,1,2,3,4,5,6): 0 - при невозможности определить, 1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный. */
return integer;
function GetNominativeFromStr
/* Определение именительного падежа просклоненного ФИО. */
(cFIO varchar2(32767)
/* фамилия, имя и отчество, разделенные пробелами. */
,cSex varchar2(1) default null
/* Пол. Допустимые значения: "м", "ж", null. */
,nPadeg integer default null
/* Падеж. Допустимые значения: 1,2,3,4,5,6 (1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный). */
)
/* ФИО в именительном падеже. */
return varchar2(32767);
function GetNominative
/* Определение именительного падежа просклоненного ФИО. */
(cLastName varchar2(32767)
/* Фамилия. */
,cFirstName varchar2(32767)
/* Имя. */
,cMiddleName varchar2(32767)
/* Отчество. */
,cSex varchar2(1) default null
/* Пол. Допустимые значения: "м", "ж", null. */
,nPadeg integer default null
/* Падеж. Допустимые значения: 1,2,3,4,5,6 (1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный). */
)
/* ФИО в именительном падеже. */
return varchar2(32767);
function GetAppointment
/* Преобразование наименования должности в заданный падеж. */
(pName varchar2(32767)
/* Наименование должности. */
,nPadeg integer
/* Падеж. Допустимые значения: 1,2,3,4,5,6 (1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный). */
)
/* Наименование должности в заданном падеже. */
return varchar2(32767);
function GetOffice
/* Преобразование наименования подразделения в заданный падеж. */
(pName varchar2(32767)
/* Наименование подразделения. */
,nPadeg integer
/* Падеж. Допустимые значения: 1,2,3,4,5,6 (1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный). */
)
/* Наименование подразделения в заданном падеже. */
return varchar2(32767);
function GetFullAppointment
/* Склонение объединенных наименований должности и подразделения. */
(Appointment varchar2(32767)
/* Наименование должности. */
,Office varchar2(32767)
/* Наименование подразделения. */
,nPadeg integer
/* Падеж. Допустимые значения: 1,2,3,4,5,6 (1-именительный, 2-родительный, 3-дательный, 4-винительный, 5-творительный, 6-предложный). */
)
/* Наименований должности и подразделения в заданном падеже. */
return varchar2(32767);
procedure ExceptDic_reset
/* Сброс кэша словаря исключений. Следует выполнять, если в текущей сессии нужно учесть только что добавленные исключения. */
;
function properInitcap
/* Подъем регистра первых слов с учетом национальных приставок (оглы, кызы, ...) */
(
cStr varchar2(32767)
/* Строка для обработки с частью или полным ФИО */
)
/* Возвращает переданную строку с первыми буквами каждого слова в верхнем регистре */
return varchar2(32767);
|
|
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Июл 26, 2018 11:04   |
|
Полезность: Нет оценки
|
спасибо! |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|