Od kilku dni zmagam sie z problemem, pisalam juz na www.orafaq.com ale nadal nie mam rozwiazania.
Problem jest nastepujacy:
Mam formularz ktory zostal przekonwertowany z FORMS 3.0 na wspomniane FORMS 6.0. Utworzona jest formatka ktora posiada kilka stron(od page1 do page8). Na jednej ze stron tworze blok danych ktory jest zasilany z tabeli bazy danych. W tym bloku uzywam wyzwalacza KEY-CRECREC i wywoluje kolejny blok. Oto tresc tego wyzwalacza:
Kod
declare nr_f number;
begin
create_record;
select nvl(max(id_formy),0)+1 into nr_f
from kartoteka_form
where zaklad=:global.zaklad;
:global.id_formy :=nr_f;
:sl_form.id_formy:=nr_f;
:sl_form.zaklad :=:global.zaklad;
:sl_form.id_masz :=:global.id_masz;
end;
--message ('KEY-CREREC');
go_block('formy');
hide_page(8);
execute_query;
W kolejnym wywolanym bloku wprowadzam zmiany, dopisuje informacje i chce zapisac je uzywajac wyzwalacza KEY-EXIT. Oto jego tresc:
Kod
:sl_form.id_formy := :formy.id_formy;
:sl_form.opis := :formy.opis ;
:sl_form.nr_inwent:= :formy.nr_inwent;
:sl_form.data_zak := :formy.data_zak;
:sl_form.sprawna := :formy.sprawna ;
:sl_form.il_gniazd:= :formy.il_gniazd;
:sl_form.zaklad := :formy.zaklad ;
:sl_form.id_masz := :formy.id_masz ;
:sl_form.id_wyr := :formy.id_wyr ;
go_block('sl_form');
--post;
execute_query;
hide_page(6);
:sl_form.opis := :formy.opis ;
:sl_form.nr_inwent:= :formy.nr_inwent;
:sl_form.data_zak := :formy.data_zak;
:sl_form.sprawna := :formy.sprawna ;
:sl_form.il_gniazd:= :formy.il_gniazd;
:sl_form.zaklad := :formy.zaklad ;
:sl_form.id_masz := :formy.id_masz ;
:sl_form.id_wyr := :formy.id_wyr ;
go_block('sl_form');
--post;
execute_query;
hide_page(6);
Ale w momencie execute_query wyskakuje blad FRM - 40600. Szukam juz wszedzie ale nic nie moge znalezc, nie potrafie rozwiazac tego problemu a jest pilny.
Kluczem w tabeli jest kombinacja ID_FORMY i ZAKLAD. W tym drugim wywolywanym bloku ustawiam ze element ID_FORMY jest kopiowany z odpowiedniego elementu bloku wywolywanego i tak samo robie dla zakladu. Prosze pomozcie bo juz nie wiem co z tym zrobic.
Bede bardzo wdzieczna
Pozdrawiam