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

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

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

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


Спасибо.
...
Рейтинг: 0 / 0
Oracle Forms ....
    #34900948
yra1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все может быть, но судя по внешнему виду триггера все генерилось автоматически
а так путь открывает все библиотеки и ищет!
...
Рейтинг: 0 / 0
Oracle Forms ....
    #34900982
yra1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поподробнее сложнее!
просто создай в программах процедуру
Код: 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
Oracle Forms ....
    #34902285
rodi77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не уверен, но если из переменной окружения FORMS60_PATH убрать путь к библиотекам, то при открытии формсы отругиваются на отсутствующие библиотеки.
...
Рейтинг: 0 / 0
Oracle Forms ....
    #34902425
Ученик6
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rodi77
FORMS60_PATH


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


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