Гость
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Exeption / 3 сообщений из 3, страница 1 из 1
08.06.2015, 16:40
    #38979294
Len4ick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
Есть таблица TEST_CLIENT - таблица клиентов с номером(уникальный) и персональные данные.
На экране необходимо что бы при заполнении поля "НОМЕР КЛИЕНТА" остальные поля заполнялись автоматически.
1. я создала форму с этими полями.
2. пробую написать следующий пакет, чтобы потом при WHEN_VALIDATE_ITEM вызвать из него функцию

следующим образом:
Код: plsql
1.
2.
3.
4.
5.
declare
	v_bool boolean;
begin
	v_bool := MAIN_VALIDATION.CHK_EMP_EMPLOYER_ID;
end;  



но пакет компилируется с ошибкой (ошибка в блоке EXEPTION - проверяю когда ввели не существующий номер клиента )
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
PACKAGE BODY main_validation IS
  FUNCTION main_logic (            cur_item  IN VARCHAR2 )             RETURN BOOLEAN IS
/*--------------------------------------------------------------------------------------*/
  BEGIN
      IF cur_item = 'CON_WORK_EMPLOYERS.EMP_EMPLOYER_ID' THEN
          RETURN CHK_EMP_EMPLOYER_ID;
      END IF; 
       RETURN TRUE;
     
  END;


FUNCTION CHK_EMP_EMPLOYER_ID RETURN BOOLEAN IS
 -------------------------------------------------------------------
  v_ret_value              VARCHAR2(500);
  e_application_error      EXCEPTION;  
  v_value                  VARCHAR2(30);
  v_orgbra_branch_code     VARCHAR2(5);
  v_employer_category      VARCHAR2(1);
  v_employer_status        VARCHAR2(2);
  v_stopped_date           DATE;
  
BEGIN
 v_value := '@'||nvl(:TEST_CLIENTD.INSURED_ID,'')||'@';

 IF v_value = '@@' THEN
     CONTR.TMP_ERROR_MESS ('Query', 'Fourth', null, 'Y');
   :TEST_CLIENT.SURNAME               :='';
   :TEST_CLIENT.NAME                  :='';
   :TEST_CLIENT.FATHER_NAME                    :='';
   :TEST_CLIENT.BIRTH_DISTRICT_REGION          :='';
   --return true;
 ELSE
   SELECT SURNAME,    
          NAME,       
          FATHER_NAME,  
          BIRTH_DISTRICT_REGION 
   INTO  :TEST_CLIENT.SURNAME,   
         :TEST_CLIENT.NAME,  
         :TEST_CLIENT.FATHER_NAME,
         :TEST_CLIENT.BIRTH_DISTRICT_REGION 
   FROM   TEST_CLIENT
   WHERE  INSURED_ID = :TEST_CLIENT.INSURED_ID;
  EXEPTION
 WHEN NO_DATA_FOUND THEN
  message('Клиента с таким номером нет');
 return false;
 WHEN OTHERS 
 message('Другая ошибка');
 return false;
  END IF;
  return true;
END;
END;


в первый раз появилась необходимость работать с Oracle Forms. Подскажите пожалуйста, как поправить скрипт
...
Рейтинг: 0 / 0
08.06.2015, 17:12
    #38979366
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
Len4ickEXEPTION
Мне одному кажется, что данное слово по английски пишется: EX C EPTION

p://docs.oracle.com/cd/A97630_01/appdev.920/a96624/07_errs.htm
...
Рейтинг: 0 / 0
12.06.2015, 11:31
    #38982855
dmitry1000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Exeption
А через LOV это решить нельзя? Делаете LOV по номеру клиента и всем данным которые нужно заполнить. Пользователь выбирает номер, остальные поля заполняются из запроса по LOV
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Exeption / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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