Guest User

Untitled

a guest
Apr 17th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.97 KB | None | 0 0
  1. Proceduri si Triggere in Forms Builder
  2.  
  3. 1. Butoane pe blocuri
  4.  
  5. a) INSERARE
  6.  
  7. begin
  8. last_record;
  9. create_record;
  10. end;
  11.  
  12. b) INTEROGARE
  13.  
  14. begin
  15. do_key('enter_query');
  16. end;
  17.  
  18. c) CAUTARE
  19.  
  20. begin
  21. do_key('execute_query');
  22. end;
  23.  
  24. d) STERGERE
  25.  
  26. begin
  27. delete_record;
  28. end;
  29. commit;
  30.  
  31. e) SALVARE
  32.  
  33. begin
  34. commit;
  35. end;
  36.  
  37. f) IESIRE
  38.  
  39. begin
  40. do_key('exit');
  41. end;
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51. 2. Lansare in executie LOV
  52.  
  53. WHEN-MOUSE-DOUBLECLICK
  54. declare
  55. lov boolean;
  56. begin
  57. lov := show_lov('LOV_MATRICOLE');
  58. end;
  59.  
  60.  
  61. 3. Afisare date in campuri de tip display
  62.  
  63. WHEN-NEW-FIELD-INSTANCE
  64.  
  65. if :id_autor is null then
  66. message('Nu ati selectat autorul');
  67.  
  68. else
  69. select nume into :nume_autor
  70. from scott.autori
  71. where
  72. id_autor = :id_autor;
  73. end if;
  74.  
  75.  
  76.  
  77. 4. Prelucrare mesaje
  78.  
  79. ON-MESSAGE
  80.  
  81. DECLARE
  82. lv_errtyp VARCHAR2(3) := MESSAGE_TYPE; lv_errcod NUMBER := MESSAGE_CODE;
  83. lv_errtxt VARCHAR2(80) := MESSAGE_TEXT;
  84. BEGIN
  85. IF lv_errcod=40400 THEN
  86. message('TRANZACTIE EXECUTATA CU SUCCES !');
  87. ELSIF
  88. lv_errcod= 40301 then
  89. message('NU A FOST GASITA NICIO INREGISTRARE
  90. CORESPUNZATOARE CRITERIULUI !') ;
  91. ELSIF
  92. lv_errcod= 40350 then
  93. message('NU A FOST GASITA NICIO INREGISTRARE
  94. CORESPUNZATOARE CRITERIULUI !') ;
  95. ELSIF
  96. lv_errcod= 40352 then
  97. message('ATI AJUNS LA ULTIMA INREGISTRARE !') ;
  98. ELSIF
  99. lv_errcod= 40353 then
  100. message('RENUNTARE CAUTARE !') ;
  101. ELSIF
  102. lv_errcod= 40402 then
  103. message('RENUNTARE SALVARE !') ;
  104. ELSE
  105. Message(lv_errtyp||'-'||to_char(lv_errcod)||': '||lv_errtxt);
  106. RAISE Form_Trigger_Failure;
  107. END IF;
  108.  
  109. END;
  110.  
  111.  
  112.  
  113. 5. Prelucrare erori
  114.  
  115. ON-ERROR
  116.  
  117. DECLARE
  118. lv_errcod NUMBER := ERROR_CODE;
  119. lv_errtyp VARCHAR2(3) := ERROR_TYPE;
  120. lv_errtxt VARCHAR2(80) := ERROR_TEXT;
  121. BEGIN
  122. IF (lv_errcod = 40100) THEN
  123. message('ATI AJUNS LA PRIMA INREGISTRARE !!!') ;
  124. ELSIF (lv_errcod = 40102) THEN
  125. message('INTRODUCETI SAU STERGETI INREGISTRAREA !') ;
  126. ELSIF (lv_errcod = 40200) THEN
  127. message('Campul nu poate fi modificat! ') ;
  128. ELSIF (lv_errcod = 40358) THEN
  129. message('ATI INTRODUS UN CRITERIU GRESIT DE CAUTARE !') ;
  130. ELSIF (lv_errcod = 40401) THEN
  131. message('NU A FOST OPERATA NICIO MODIFICARE !') ;
  132. ELSIF (lv_errcod = 40508) THEN
  133. message(' INREGISTRAREA NU POATE FI INSERATA!') ;
  134. ELSIF (lv_errcod = 40509) THEN
  135. message(' MODIFICAREA NU POATE FI SALVATA !') ;
  136. ELSIF (lv_errcod = 40510) THEN
  137. message('INREGISTRAREA NU POATE FI STEARSA !') ;
  138. ELSIF (lv_errcod = 41049) THEN
  139. message('APASATI BUTONUL DE STERGERE !') ;
  140. ELSE
  141. message(lv_errtyp||'-'||to_char(lv_errcod)||': '||lv_errtxt);
  142. RAISE Form_Trigger_Failure;
  143. END IF;
  144. END;
  145.  
  146.  
  147.  
  148.  
  149.  
  150. 6. Lansarea unei alerte ( pe butonul SALVARE)
  151.  
  152. DECLARE
  153. al_id Alert;
  154. al_button NUMBER;
  155. BEGIN
  156. al_id := Find_Alert('PRE_SALVARE');
  157. IF Id_Null(al_id) THEN
  158. Message('Nu exista alerta SALVEAZA!');
  159. RAISE Form_Trigger_Failure;
  160. ELSE
  161. al_button := Show_Alert(al_id);
  162. IF al_button = ALERT_BUTTON1 THEN
  163. commit;
  164. ELSE
  165. raise form_trigger_failure;
  166. END IF;
  167. END IF;
  168. completare_date_user;
  169.  
  170. END;
  171.  
  172. 7. Proceduri / Functii
  173.  
  174. PROCEDURE COMPLETARE_DATE_USER IS
  175. BEGIN
  176. SELECT sysdate, user
  177. INTO :carti.data_op, :carti.operator
  178. FROM sys.dual ;
  179. END;
  180.  
  181.  
  182. FUNCTION Nr_volume RETURN number IS
  183.  
  184. nr_titluri number;
  185. BEGIN
  186. IF :id_autor is not null THEN
  187. SELECT count(id_carte) INTO nr_titluri
  188. FROM carti
  189. WHERE id_autor=:id_autor;
  190. END IF;
  191. RETURN nr_titluri;
  192. END;
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200. 8. Lansare in executie Proceduri / Functii
  201.  
  202. WHEN_NEW_ITEM_INSTANCE (pe campul ID_autor)
  203.  
  204. BEGIN
  205. IF :id_autor is null THEN
  206. message('Nu ati selectat autorul');
  207.  
  208. ELSE
  209. SELECT nume into :nume
  210. FROM scott.autori
  211. WHERE
  212. id_autor = :id_autor;
  213. :carti.nr_titluri:=nr_volume;
  214. END IF;
  215. END;
  216.  
  217.  
  218.  
  219. 9. Lansare in executie o forma
  220.  
  221. ON-BUTTON-PRESSED
  222.  
  223. DECLARE
  224. pl_id ParamList;
  225. BEGIN
  226. pl_id := Get_Parameter_List('tmpdata_intrari');
  227. IF NOT Id_Null(pl_id) THEN
  228. Destroy_Parameter_List( pl_id );
  229. END IF;
  230. pl_id := Create_Parameter_List('tmpdata_intrari');
  231.  
  232. CALL_FORM(‘C: \CASE_work\autori.fmx', no_hide, no_replace,
  233. no_query_only); -- (pentru Dev10g si Dev11g)
  234.  
  235.  
  236. -- Run_Product(FORMS, '\top\forme\in_nir', ASYNCHRONOUS, RUNTIME,
  237. -- FILESYSTEM, pl_id, NULL);
  238. -- call_form('C: \CASE_work\autori.fmx’); (pentru Dev6i si DEV9i)
  239.  
  240.  
  241. -- Run_Product(FORMS, 'C: \CASE_work\autori.fmx’, ASYNCHRONOUS,
  242. -- RUNTIME, FILESYSTEM, pl_id, NULL); (pentru Dev6i si Dev9i)
  243.  
  244.  
  245. END;
  246.  
  247.  
  248.  
  249.  
  250.  
  251. 10. Lansare in executie un raport
  252.  
  253. ON-BUTTON-PRESSED (pentru Dev10g si DEV11g)
  254.  
  255. DECLARE
  256. rep_url varchar2(200);
  257. rep_path varchar2(100);
  258. username varchar2(50);
  259. pass varchar2(50);
  260. database varchar2(50);
  261. BEGIN
  262. rep_path := ‘D: \CASE_work\carti.rdf';
  263. username := 'stud1';
  264. pass := 'student';
  265. database:= 'bd';
  266. rep_url:='/reports/rwservlet?'
  267. ||'&report='||rep_path
  268. ||'&desformat=htmlcss&destype=cache'
  269. ||'&userid='||username||'/'||pass||'@'||database;
  270. WEB.SHOW_DOCUMENT(rep_url,'_blank');
  271. END;
  272.  
  273.  
  274.  
  275. ON-BUTTON-PRESSED (pentru Dev6i si DEV9i)
  276.  
  277. DECLARE
  278. pl_id ParamList;
  279. BEGIN
  280. pl_id := Get_Parameter_List('tmpdata_bca');
  281. IF NOT Id_Null(pl_id) THEN
  282. Destroy_Parameter_List( pl_id );
  283. END IF;
  284. pl_id := Create_Parameter_List('tmpdata_bca');
  285.  
  286. Run_Product(REPORTS, ‘C: \CASE_work\autori.rdf’, ASYNCHRONOUS,
  287. RUNTIME, FILESYSTEM, pl_id);
  288. END;
  289.  
  290.  
  291. 11) Link MENU - demo
  292.  
  293. https://www.youtube.com/watch?v=FrLsSdlQhUA
Add Comment
Please, Sign In to add comment