Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Proceduri si Triggere in Forms Builder
- 1. Butoane pe blocuri
- a) INSERARE
- begin
- last_record;
- create_record;
- end;
- b) INTEROGARE
- begin
- do_key('enter_query');
- end;
- c) CAUTARE
- begin
- do_key('execute_query');
- end;
- d) STERGERE
- begin
- delete_record;
- end;
- commit;
- e) SALVARE
- begin
- commit;
- end;
- f) IESIRE
- begin
- do_key('exit');
- end;
- 2. Lansare in executie LOV
- WHEN-MOUSE-DOUBLECLICK
- declare
- lov boolean;
- begin
- lov := show_lov('LOV_MATRICOLE');
- end;
- 3. Afisare date in campuri de tip display
- WHEN-NEW-FIELD-INSTANCE
- if :id_autor is null then
- message('Nu ati selectat autorul');
- else
- select nume into :nume_autor
- from scott.autori
- where
- id_autor = :id_autor;
- end if;
- 4. Prelucrare mesaje
- ON-MESSAGE
- DECLARE
- lv_errtyp VARCHAR2(3) := MESSAGE_TYPE; lv_errcod NUMBER := MESSAGE_CODE;
- lv_errtxt VARCHAR2(80) := MESSAGE_TEXT;
- BEGIN
- IF lv_errcod=40400 THEN
- message('TRANZACTIE EXECUTATA CU SUCCES !');
- ELSIF
- lv_errcod= 40301 then
- message('NU A FOST GASITA NICIO INREGISTRARE
- CORESPUNZATOARE CRITERIULUI !') ;
- ELSIF
- lv_errcod= 40350 then
- message('NU A FOST GASITA NICIO INREGISTRARE
- CORESPUNZATOARE CRITERIULUI !') ;
- ELSIF
- lv_errcod= 40352 then
- message('ATI AJUNS LA ULTIMA INREGISTRARE !') ;
- ELSIF
- lv_errcod= 40353 then
- message('RENUNTARE CAUTARE !') ;
- ELSIF
- lv_errcod= 40402 then
- message('RENUNTARE SALVARE !') ;
- ELSE
- Message(lv_errtyp||'-'||to_char(lv_errcod)||': '||lv_errtxt);
- RAISE Form_Trigger_Failure;
- END IF;
- END;
- 5. Prelucrare erori
- ON-ERROR
- DECLARE
- lv_errcod NUMBER := ERROR_CODE;
- lv_errtyp VARCHAR2(3) := ERROR_TYPE;
- lv_errtxt VARCHAR2(80) := ERROR_TEXT;
- BEGIN
- IF (lv_errcod = 40100) THEN
- message('ATI AJUNS LA PRIMA INREGISTRARE !!!') ;
- ELSIF (lv_errcod = 40102) THEN
- message('INTRODUCETI SAU STERGETI INREGISTRAREA !') ;
- ELSIF (lv_errcod = 40200) THEN
- message('Campul nu poate fi modificat! ') ;
- ELSIF (lv_errcod = 40358) THEN
- message('ATI INTRODUS UN CRITERIU GRESIT DE CAUTARE !') ;
- ELSIF (lv_errcod = 40401) THEN
- message('NU A FOST OPERATA NICIO MODIFICARE !') ;
- ELSIF (lv_errcod = 40508) THEN
- message(' INREGISTRAREA NU POATE FI INSERATA!') ;
- ELSIF (lv_errcod = 40509) THEN
- message(' MODIFICAREA NU POATE FI SALVATA !') ;
- ELSIF (lv_errcod = 40510) THEN
- message('INREGISTRAREA NU POATE FI STEARSA !') ;
- ELSIF (lv_errcod = 41049) THEN
- message('APASATI BUTONUL DE STERGERE !') ;
- ELSE
- message(lv_errtyp||'-'||to_char(lv_errcod)||': '||lv_errtxt);
- RAISE Form_Trigger_Failure;
- END IF;
- END;
- 6. Lansarea unei alerte ( pe butonul SALVARE)
- DECLARE
- al_id Alert;
- al_button NUMBER;
- BEGIN
- al_id := Find_Alert('PRE_SALVARE');
- IF Id_Null(al_id) THEN
- Message('Nu exista alerta SALVEAZA!');
- RAISE Form_Trigger_Failure;
- ELSE
- al_button := Show_Alert(al_id);
- IF al_button = ALERT_BUTTON1 THEN
- commit;
- ELSE
- raise form_trigger_failure;
- END IF;
- END IF;
- completare_date_user;
- END;
- 7. Proceduri / Functii
- PROCEDURE COMPLETARE_DATE_USER IS
- BEGIN
- SELECT sysdate, user
- INTO :carti.data_op, :carti.operator
- FROM sys.dual ;
- END;
- FUNCTION Nr_volume RETURN number IS
- nr_titluri number;
- BEGIN
- IF :id_autor is not null THEN
- SELECT count(id_carte) INTO nr_titluri
- FROM carti
- WHERE id_autor=:id_autor;
- END IF;
- RETURN nr_titluri;
- END;
- 8. Lansare in executie Proceduri / Functii
- WHEN_NEW_ITEM_INSTANCE (pe campul ID_autor)
- BEGIN
- IF :id_autor is null THEN
- message('Nu ati selectat autorul');
- ELSE
- SELECT nume into :nume
- FROM scott.autori
- WHERE
- id_autor = :id_autor;
- :carti.nr_titluri:=nr_volume;
- END IF;
- END;
- 9. Lansare in executie o forma
- ON-BUTTON-PRESSED
- DECLARE
- pl_id ParamList;
- BEGIN
- pl_id := Get_Parameter_List('tmpdata_intrari');
- IF NOT Id_Null(pl_id) THEN
- Destroy_Parameter_List( pl_id );
- END IF;
- pl_id := Create_Parameter_List('tmpdata_intrari');
- CALL_FORM(‘C: \CASE_work\autori.fmx', no_hide, no_replace,
- no_query_only); -- (pentru Dev10g si Dev11g)
- -- Run_Product(FORMS, '\top\forme\in_nir', ASYNCHRONOUS, RUNTIME,
- -- FILESYSTEM, pl_id, NULL);
- -- call_form('C: \CASE_work\autori.fmx’); (pentru Dev6i si DEV9i)
- -- Run_Product(FORMS, 'C: \CASE_work\autori.fmx’, ASYNCHRONOUS,
- -- RUNTIME, FILESYSTEM, pl_id, NULL); (pentru Dev6i si Dev9i)
- END;
- 10. Lansare in executie un raport
- ON-BUTTON-PRESSED (pentru Dev10g si DEV11g)
- DECLARE
- rep_url varchar2(200);
- rep_path varchar2(100);
- username varchar2(50);
- pass varchar2(50);
- database varchar2(50);
- BEGIN
- rep_path := ‘D: \CASE_work\carti.rdf';
- username := 'stud1';
- pass := 'student';
- database:= 'bd';
- rep_url:='/reports/rwservlet?'
- ||'&report='||rep_path
- ||'&desformat=htmlcss&destype=cache'
- ||'&userid='||username||'/'||pass||'@'||database;
- WEB.SHOW_DOCUMENT(rep_url,'_blank');
- END;
- ON-BUTTON-PRESSED (pentru Dev6i si DEV9i)
- DECLARE
- pl_id ParamList;
- BEGIN
- pl_id := Get_Parameter_List('tmpdata_bca');
- IF NOT Id_Null(pl_id) THEN
- Destroy_Parameter_List( pl_id );
- END IF;
- pl_id := Create_Parameter_List('tmpdata_bca');
- Run_Product(REPORTS, ‘C: \CASE_work\autori.rdf’, ASYNCHRONOUS,
- RUNTIME, FILESYSTEM, pl_id);
- END;
- 11) Link MENU - demo
- https://www.youtube.com/watch?v=FrLsSdlQhUA
Add Comment
Please, Sign In to add comment