Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms .... / 16 сообщений из 16, страница 1 из 1
29.10.2007, 10:19
    #34900617
Ученик6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Добрый день!
Имеется Oracle Forms Builder 6.0.8 и формочка *.fmb,
вопрос как ее откомпилировать?
При компиляции пишет об отсутсвии объектов ..., как узнать какие библиотеки в ней используются и как их приаттачить?

Первый опыт работы с формсами.
Есть ли инфа на русском?

Спасибо.
...
Рейтинг: 0 / 0
29.10.2007, 10:23
    #34900634
БлинКомом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
С бд сначала соединитесь :)
...
Рейтинг: 0 / 0
29.10.2007, 10:27
    #34900649
Ученик6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
C бд коннект есть
...
Рейтинг: 0 / 0
29.10.2007, 10:34
    #34900675
БлинКомом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Тогда конкретно - какие объекты отсутствуют?
...
Рейтинг: 0 / 0
29.10.2007, 10:45
    #34900714
Ученик6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Например на все триггеры см.файл.
...
Рейтинг: 0 / 0
29.10.2007, 10:49
    #34900728
Brodiaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Прикрепите библиотеки, тогда все скомпилиться нормально!
Там есть свойство Attached library выбираешь нужную библиотеку и компилишь!
...
Рейтинг: 0 / 0
29.10.2007, 11:03
    #34900766
Ученик6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Проблема в том, что там *.pll файлов докучи, а как узнать какие библиотеки нужно аттачить?
...
Рейтинг: 0 / 0
29.10.2007, 11:04
    #34900776
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Судя по названию формы, речь идет о OeBS ? :)
Если так, то компилировать форму надо на том сервере, где она будет выполняться (иначе форма, скомпилированная под Win не будет работать на сервере, если он на *nix)
...
Рейтинг: 0 / 0
29.10.2007, 11:31
    #34900884
Ученик6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Да речь о OeBS, это то понятно, что компилить надо на сервере, вопрос в том, как узнать какие библиотеки используются формой?
...
Рейтинг: 0 / 0
29.10.2007, 11:39
    #34900917
yra1973
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
К конкретному примеру : процедура Clear_All_Master_Details делается автоматически при созданиии
отношения между блоками - просто пересоздай какой-нибудь Relations
...
Рейтинг: 0 / 0
29.10.2007, 11:41
    #34900930
Осторожно!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
yra1973К конкретному примеру : процедура Clear_All_Master_Details делается автоматически при созданиии
отношения между блоками - просто пересоздай какой-нибудь Relations

Не делай этого! Подозреваю, что там своя Clear_All_Master_Details написана!
...
Рейтинг: 0 / 0
29.10.2007, 11:42
    #34900939
Ученик6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
а вот с этого места можно поподробнее
yra1973
делается автоматически при созданиии
отношения между блоками - просто пересоздай какой-нибудь Relations


Спасибо.
...
Рейтинг: 0 / 0
29.10.2007, 11:45
    #34900948
yra1973
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Все может быть, но судя по внешнему виду триггера все генерилось автоматически
а так путь открывает все библиотеки и ищет!
...
Рейтинг: 0 / 0
29.10.2007, 11:53
    #34900982
yra1973
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
поподробнее сложнее!
просто создай в программах процедуру
Код: plaintext
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.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
PROCEDURE Clear_All_Master_Details IS
  mastblk  VARCHAR2( 30 );  -- Initial Master Block Causing Coord
  coordop  VARCHAR2( 30 );  -- Operation Causing the Coord
  trigblk  VARCHAR2( 30 );  -- Cur Block On-Clear-Details Fires On
  startitm VARCHAR2( 61 );  -- Item in which cursor started
  frmstat  VARCHAR2( 15 );  -- Form Status
  curblk   VARCHAR2( 30 );  -- Current Block
  currel   VARCHAR2( 30 );  -- Current Relation
  curdtl   VARCHAR2( 30 );  -- Current Detail Block

  FUNCTION First_Changed_Block_Below(Master VARCHAR2)
  RETURN VARCHAR2 IS
    curblk VARCHAR2( 30 );  -- Current Block
    currel VARCHAR2( 30 );  -- Current Relation
    retblk VARCHAR2( 30 );  -- Return Block
  BEGIN
    --
    -- Initialize Local Vars
    --
    curblk := Master;
    currel := Get_Block_Property(curblk,  FIRST_MASTER_RELATION);
    --
    -- While there exists another relation for this block
    --
    WHILE currel IS NOT NULL LOOP
      --
      -- Get the name of the detail block
      --
      curblk := Get_Relation_Property(currel, DETAIL_NAME);
      --
      -- If this block has changes, return its name
      --
      IF ( Get_Block_Property(curblk, STATUS) = 'CHANGED' ) THEN
        RETURN curblk;
      ELSE
        --
        -- No changes, recursively look for changed blocks below
        --
        retblk := First_Changed_Block_Below(curblk);
        --
        -- If some block below is changed, return its name
        --
        IF retblk IS NOT NULL THEN
          RETURN retblk;
        ELSE
          --
          -- Consider the next relation
          --
          currel := Get_Relation_Property(currel, NEXT_MASTER_RELATION);
        END IF;
      END IF;
    END LOOP;

    --
    -- No changed blocks were found
    --
    RETURN NULL;
  END First_Changed_Block_Below;

BEGIN
  --
  -- Init Local Vars
  --
  mastblk  := :System.Master_Block;
  coordop  := :System.Coordination_Operation;
  trigblk  := :System.Trigger_Block;
  startitm := :System.Cursor_Item;
  frmstat  := :System.Form_Status;

  --
  -- If the coordination operation is anything but CLEAR_RECORD or
  -- SYNCHRONIZE_BLOCKS, then continue checking.
  --
  IF coordop NOT IN ('CLEAR_RECORD', 'SYNCHRONIZE_BLOCKS') THEN
    --
    -- If we're processing the driving master block...
    --
    IF mastblk = trigblk THEN
      --
      -- If something in the form is changed, find the
      -- first changed block below the master
      --
      IF frmstat = 'CHANGED' THEN
        curblk := First_Changed_Block_Below(mastblk);
        --
        -- If we find a changed block below, go there
        -- and Ask to commit the changes.
        --
        IF curblk IS NOT NULL THEN
          Go_Block(curblk);
          Check_Package_Failure;
         if curblk in ('DG_T_PRIS') then  
          Clear_Block(DO_COMMIT);
         else 
         	Clear_Block(ASK_COMMIT);
         end if;
          --
          -- If user cancels commit dialog, raise error
          --
          IF NOT ( :System.Form_Status = 'QUERY'
                   OR :System.Block_Status = 'NEW' ) THEN
            RAISE Form_Trigger_Failure;
          END IF;
        END IF;
      END IF;
    END IF;
  END IF;

  --
  -- Clear all the detail blocks for this master without
  -- any further asking to commit.
  --
  currel := Get_Block_Property(trigblk, FIRST_MASTER_RELATION);
  WHILE currel IS NOT NULL LOOP
    curdtl := Get_Relation_Property(currel, DETAIL_NAME);
    IF Get_Block_Property(curdtl, STATUS) <> 'NEW'  THEN
      Go_Block(curdtl);
      Check_Package_Failure;
      Clear_Block(NO_VALIDATE);
      IF :System.Block_Status <> 'NEW' THEN
        RAISE Form_Trigger_Failure;
      END IF;
    END IF;
    currel := Get_Relation_Property(currel, NEXT_MASTER_RELATION);
  END LOOP;

  --
  -- Put cursor back where it started
  --
  IF :System.Cursor_Item <> startitm THEN
    Go_Item(startitm);
    Check_Package_Failure;
  END IF;

EXCEPTION
  WHEN Form_Trigger_Failure THEN
    IF :System.Cursor_Item <> startitm THEN
      Go_Item(startitm);
    END IF;
    RAISE;

END Clear_All_Master_Details;

...
Рейтинг: 0 / 0
29.10.2007, 16:36
    #34902285
rodi77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
Не уверен, но если из переменной окружения FORMS60_PATH убрать путь к библиотекам, то при открытии формсы отругиваются на отсутствующие библиотеки.
...
Рейтинг: 0 / 0
29.10.2007, 17:03
    #34902425
Ученик6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle Forms ....
rodi77
FORMS60_PATH


Огромное спасибо, помогло.
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Oracle Forms .... / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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