oracle adf

39
Oracle Forms et Reports Présenté par Ayoub Ben Khiroun E-mail : [email protected] www,ayoubbenkhiroun.com 1

Upload: mr25000

Post on 16-Aug-2015

261 views

Category:

Documents


12 download

DESCRIPTION

Oracle adf

TRANSCRIPT

Oracle Forms et Reports Prsent par Ayoub Ben Khiroun E-mail : [email protected] www,ayoubbenkhiroun.com 1 Oracle Forms et Reports2 Oracle? Environnement dune application Forms Les composantes dune application Forms Environnement dune application Reports Plan Oracle Forms et Reports3 Environnement dune application Reports Les outils de latelier Historique : 1977 : La socit RSI (Oracle Corporation) a t cre (Lawrence Ellison, Bob Miner, et Ed Oates). 1983 : RSI change de raison sociale et devient Oracle. 1984 : La premire version d'Oracle (Oracle 4) est commercialise sur les machines IBM. 1985 : Oracle 5 permet une utilisation client-serveur grce au middleware SQL*Net. 1988 : Oracle 6 est disponible sur un grand nombre de plates-formes. 1992 : Oracle 7 sort sur les plates-formes UNIX 1997 : la version Oracle 7.3. 1998 : la version 8 offrant des capacits objet la base de donnes.Oracle Forms et Reports4 6 UneapplicationFormBuilderestcomposedeplusieursmodulesde formulaires Achaquemoduledeformulaireduneapplicationcorresponddiffrents fichiers : Menus :(.mmb,.mmx, .mmt) Formulaires : (.fmb, .fmx, .fmt) librairies PL/SQL: (.pll, .plx, .pld) librairies dobjets : (.olb, .olt) Oracle Forms Oracle Forms et Reports 7 Les composantes dune application Forms Oracle Forms Les dclencheursLes alertesLes bibliothques PL/SQLLes menusLes blocs de donnesLes canevasLes diteursLes listes de valeurs (LOV)Les groupes d'objets Les paramtresLes menus instantansLes units de programmeLes classes de propritsLes groupes d'enregistrementsLes tatsLes attributs visuelsLes fentres 8 Les dclencheurs contiennent du code excutable. Ils sont nomms et rpondent des vnements spcifiques. (Programmation vnementielle) par exemple : Le dclencheur when-new-form-instance se dclenche au chargement du module. Le dclencheur pre-insert se dclenche avant l'insertion d'une ligne en table. Le dclencheur on-update se dclenche au moment de la mise jour d'une ligne. Le dclencheur key-next-item se dclenche lorsque l'utilisateur se dplace sur l'item suivant avec la touche tab. Les dclencheurs 9 Forms gre deux types de dclencheurs: Les dclencheurs natifs Les dclencheurs natifs font partie intgrante d'une application Forms. Ils ont un nom spcifique et rpondent un vnement particulier. Ils sont grs automatiquement par Forms et peuvent tre surchargs par de dveloppeur. Les dclencheurs crs par le dveloppeur Les dclencheurs explicites sont crs et nomms par le dveloppeur. Ils ne rpondent aucun vnement particulier et doivent tre appels explicitement dans le code du programme. Ce ne sont que des procdures contenant du code excutable. Les dclencheurs 10 Il existe cinq familles de dclencheurs natifs: PRE-xxx ON-xxx WHEN-xxx POST-xxx KEY-xxx Les dclencheurs 11 Les dclencheurs peuvent tre situs au niveau du module, d'un bloc ou d'un item. Si un dclencheur de mme type est renseign chaque niveau, alors le dclenchement et l'ordre de dclenchement dpend de sa proprit : Ordre de dclenchement qui peut prendre l'une des trois valeurs suivantes : Avant se dclenche avant tout autre dclencheur situ un niveau suprieur Aprs se dclenche aprs tout autre dclencheur situ un niveau suprieur Substitu annule et remplace tout autre dclencheur situ un niveau suprieur Les dclencheurs 12 Dclencheur Moment de dclenchementMoment de dclenchement PRE-FORM Avant lentre dans la formeWHEN-CREATE-RECORD A la cration dun enregistrementPRE-BLOCK Avant lentre dans le blocPRE-RECORD Avant lentre dans lenregistrementPRE-TEXT-ITEM Avant lentre dans litemWHEN-NEW-FORM-INSTANCE lentre dans la formeWHEN-NEW-BLOCK-INSTANCE lentre dans le blocWHEN-NEW-RECORD-INSTANCE lentre dans lenregistrementWHEN-NEW-ITEM-INSTANCE lentre dans litemWHEN-WINDOW-ACTIVATED lactivation de la fentreLes dclencheurs Chargement de la forme13 DclencheurMoment de dclenchement POST-TEXT-ITEM Aprs la sortie de litemPOST-RECORD Aprs la sortie de lenregistrementPRE-QUERY Avant linterrogationPRE-SELECT Avant la slectionPOST-SELECT Aprs la slectionPOST-QUERY (x nombre de lignes) Aprs linterrogationON-CLOSE Fermeture du curseurPRE-RECORD Avant lentre dans lenregistrementPRE-TEXT-ITEM Avant lentre dans litemWHEN-NEW-RECORD-INSTANCE lentre dans lenregistrementWHEN-NEW-ITEM-INSTANCE lentre dans litemLes dclencheurs Interrogation (EXECUTE-QUERY)14 DclencheurMoment de dclenchement POST-TEXT-ITEMAprs la sortie de litem POST-RECORDAprs la sortie de lenregistrement POST-BLOCKAprs la sortie du bloc PRE-BLOCKAvant l'arrive dans le nouveau bloc PRE-RECORDAvant l'arrive dans l'enregistrement PRE-TEXT-ITEMAvant lentre dans litem WHEN-NEW-BLOCK-INSTANCEA l'entre dans le bloc WHEN-NEW-RECORD-INSTANCE lentre dans lenregistrement WHEN-NEW-ITEM-INSTANCE lentre dans litem Les dclencheurs Changement de bloc 15 DclencheurMoment de dclenchement POST-TEXT-ITEMAprs la sortie de litem WHEN-VALIDATE-RECORDA la validation de l'enregistrement POST-RECORDAprs la sortie de lenregistrement WHEN-CREATE-RECORDA la cration d'un nouvel enregistrement PRE-RECORDAvant l'arrive dans l'enregistrement PRE-TEXT-ITEMAvant lentre dans litem WHEN-NEW-RECORD-INSTANCE lentre dans lenregistrement WHEN-NEW-ITEM-INSTANCE lentre dans litem Les dclencheurs Insertion d'un enregistrement16 DclencheurMoment de dclenchement POST-TEXT-ITEMAprs la sortie de litem PRE-TEXT-ITEMAvant lentre dans litem WHEN-NEW-ITEM-INSTANCE lentre dans litem WHEN-DATABASE-RECORDAu marquage de l'enregistrement pour insertion WHEN-VALIDATE-ITEMA la validation de l'item Les dclencheurs Mise jour d'enregistrement17 DclencheurMoment de dclenchement PRE-INSERT2me enregistrement insr ON-INSERT2me enregistrement insr POST-INSERT2me enregistrement insr POST-FORM-COMMITaprs oprations du DML ON-COMMITCommit en base POST-DATABASE-COMMITAprs le commit en base PRE-BLOCKentre dans le bloc PRE-RECORDAvant l'arrive dans l'enregistrement PRE-TEXT-ITEMAvant lentre dans litem WHEN-NEW-ITEM-INSTANCE lentre dans litem Les dclencheurs Commit avec insertions et mises jour (2 enregistrements)18 DclencheurMoment de dclenchement POST-TEXT-ITEMsortie de litem en cours POST-RECORDAprs la sortie de lenregistrement POST-BLOCKAprs la sortie du bloc PRE-COMMITavant oprations du DML PRE-UPDATE1er enregistrement modifi ON-UPDATE1er enregistrement modifi POST-UPDATE1er enregistrement modifi PRE-UPDATE2me enregistrement modifi ON-UPDATE2me enregistrement modifi POST-UPDATE2me enregistrement modifi PRE-INSERT1er enregistrement insr ON-INSERT1er enregistrement insr POST-INSERT1er enregistrement insr Les dclencheurs Commit avec insertions et mises jour (2 enregistrements)19 DclencheurMoment de dclenchement POST-TEXT-ITEMAprs la sortie de litem POST-RECORDAprs la sortie de lenregistrement POST-BLOCKAprs la sortie du bloc POST-FORMAprs la sortie de la forme Les dclencheurs Sortie de l'application sans donnes enregistrer20 Les alertes Les alertes sont des boites de dialogue que vous pouvez appeler de n'importe quelendroit de la forme pour afficher un message et rcuprer le code d'un bouton presspar l'utilisateur. Les bibliothques Cesontdesbibliothquesexternesdecodeexcutableliesunouplusieurs modules Forms. Ellespermettentdecentraliserdesfonctions,packagesetprocduresquiseront utiliss par les applications Forms. Ellesoffrentl'avantageden'trechargesenmmoirequ'unefoisetd'yrsider pendant toute la dure d'excution de l'application. Cesontdesfichiersindpendantsayantl'extension.PLLpourlaversionsourceet .PLXpour la version compile et excutable.21 Le menu Ils sont grs sous la forme de modules indpendants (.MMB) et peuvent tre associs un ou plusieurs modules Forms. Ils contiennent les options ncessaires l'excution de l'application. Ils peuvent attacher une ou plusieurs librairies PL/SQL et contenir des units de programme (procdures, fonctions, packages). Ils permettent de filtrer les autorisations d'accs aux modules Forms via les rles implments en base. 22 Sont associs aux tables de la base de donne Ils peuvent contenir des items correspondant toutes ou certaines colonnes de la table/vue lie ainsi que des items non bass. Forms grera automatiquement les interactions avec la base (SELECT, INSERT, UPDATE, DELETE, LOCK). Les blocs peuvent tre indpendants ou lis par une relation afin de grer les mcanismes de relation matre/dtail entre plusieurs tables.Blocks de donnes 23 Ne sont pas associs une base de donnes Ne contiennent initialement pas dlment (car il n y a pas dassociation a faire avec une colonne de table) Ne sont pas automatiquement mis jour, moins que vous ne le programmiez vous-mme Blocks de contrle 24 Ils correspondent une surface d'affichage. Ils permettent d'afficher les objets graphiques (surfaces, traits, cercles, encadrements, etc.) ainsi que les items contenus dans les blocs. Il n'y a pas de limite thorique au nombre de canevas que peut contenir une forme. Chaque canevas est attach une et une seule fentre. Ils peuvent tre de cinq types:IntgralSuperposOngletsBarre d'outils horizontaleBarre d'outils verticaleLes canevas 25 Les groupes dobjets Ils contiennent les packages, procdures et fonctions crites par le dveloppeur. Leur mise en uvre est identique celle utilise pour les procdures et fonctions stockes ou dclares dans un bloc PL/SQL anonyme. Elles ne ncessitent pas les mots cls : CREATE OR REPLACE. Elles peuvent contenir des appels toutes les fonctions natives Forms. Elles ne sont visibles que dans le module Forms. Les fentres Elles peuvent tre de type document ou boite de dialogue et peuvent tre modales ou non. (Une fentre modale permet la navigation entre plusieurs fentres. Une fentre non modale ne permet pas la navigation entre plusieurs fentres). Il n'y a pas de limite thorique au nombre de fentres d'une application Forms. Une fentre peut contenir un ou plusieurs canevas. Elle peut galement tre attache un menu. 26 Les listes de valeurs (LOV) Ce sont des boites de dialogue modales qui permettent d'afficher des listes d'enregistrements pour la slection ou le contrle du contenu d'un item. Elles sont alimentes par un groupe d'enregistrements. Elles reprsentent une aide la saisie et peuvent tre considres comme des vues filtres. Les paramtres Ce sont des variables permettant de recevoir des valeurs transmises par les modules appelants. Ils peuvent tre l'un des trois types suivants: CHAR NUMBER DATE 27 Les groupes denregistrements Ce sont des conteneurs de donnes. Ils sont statiques ou aliments par une requte SQL et permettent de constituer des tableaux d'enregistrements. Ils sont utiliss pour alimenter les LOV et les items de type liste. Les attributs visuels Ce sont des conteneurs d'attributs graphiques. Ils permettent de constituer des ensembles de proprits graphiques qui seront ensuite appliqus aux items. 28 Les classes de proprits Ce sont des conteneurs de proprits et de dclencheurs. Elle permettent de dfinir des ensembles de proprits communes qui seront ensuite appliqus aux items. Elles participent la mise en place et au respect de la charte graphique. Les units de programme Ce sont des conteneurs de code. Ils contiennent les packages, procdures et fonctions crites par le dveloppeur. Elle peuvent contenir des appels toutes les fonctions natives Forms. Elles ne sont visibles que dans le module Forms. 30 Environnement Report Builder Reports Builder est l'outil de cration d'tats cr par Oracle. Ce logiciel est un puissant outil destin aux entreprises permettant de dvelopper et de gnrer rapidement des tats sous format papier et HTML, XML, PDF et RTF. 31 Reports Builder inclut les composantes suivantes: Modle de Donnes Modle de Prsentation Grille de Paramtres Les Dclencheurs dtats les units de programme Les Bibliothques Report Builder Les outils de latelier Oracle 11g express edition Oracle Forms 6i Oracle Reports 6i Oracle SQL Developer Oracle Forms et Reports33 Oracle 11g express edition Oracle Database est un systme de gestion de base de donnes relationnel (SGBDR) qui depuis l'introduction du support du modle objet dans sa version 8 peut tre aussi qualifi de systme de gestion de base de donnes relationnel-objet (SGBDRO) Oracle Forms et Reports34 Les outils de latelier Oracle Forms 6i o Permettant d'interroger la base de donnes de faon graphique sans connaissances pralables du langage SQL.o Permet ainsi de dvelopper des applications graphiques (fentres, formulaires, ...) permettant de slectionner, modifier et supprimer des donnes dans la base. Oracle Forms et Reports35 Les outils de latelier Oracle Reports 6i Un outil permettant de raliser des tats.Oracle Forms et Reports36 Les outils de latelier PL/SQL o Le langage PL/SQL est un langage fournissant une interface procdurale au SGBD Oracle. Le langage PL/SQL intgre parfaitement le langage SQL en lui apportant une dimension procdurale.Oracle Forms et Reports37 Les outils de latelier Les tapes suivre pour notre atelier 1) Conception de la base de donnes. 2) Dvelopper une application dexemple avec Oracle Forms. 3) Crer des dclencheurs au niveau SGBD 4) Gnrer des tats laide de Oracle Reports Oracle Forms et Reports38 Oracle Forms et Reports39