Sunteți pe pagina 1din 39

Oracle Forms et Reports

Prsent par

Ayoub Ben Khiroun


E-mail : contact@ayoubbenkhiroun.com
www,ayoubbenkhiroun.com
1

Oracle

Oracle Forms et Reports

Plan
Environnement dune application Forms
Les composantes dune application Forms

Environnement dune application Reports


Environnement dune application Reports
Les outils de latelier

Oracle Forms et Reports

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 Reports

Oracle Forms

Oracle Forms
Une application Form Builder est compose de plusieurs modules de
formulaires
A chaque module de formulaire dune application correspond diffrents
fichiers :
Menus :
(.mmb,
.mmx, .mmt)
Formulaires : (.fmb, .fmx, .fmt)
librairies PL/SQL
: (.pll, .plx, .pld)
librairies dobjets : (.olb, .olt)

Oracle Forms et Reports

Oracle Forms
Les composantes dune application Forms
Les dclencheurs
Les alertes
Les bibliothques PL/SQL
Les menus
Les blocs de donnes
Les canevas
Les diteurs
Les listes de valeurs (LOV)
Les groupes d'objets

Les paramtres
Les menus instantans
Les units de programme
Les classes de proprits
Les groupes d'enregistrements
Les tats
Les attributs visuels
Les fentres

Les dclencheurs
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
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
Il existe cinq familles de dclencheurs natifs:

PRE-xxx
ON-xxx
WHEN-xxx
POST-xxx
KEY-xxx

10

Les dclencheurs
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

11

Les dclencheurs
Chargement de la forme
Dclencheur Moment de dclenchement

Moment de dclenchement

PRE-FORM

Avant lentre dans la forme

WHEN-CREATE-RECORD

A la cration dun enregistrement

PRE-BLOCK

Avant lentre dans le bloc

PRE-RECORD

Avant lentre dans lenregistrement

PRE-TEXT-ITEM

Avant lentre dans litem

WHEN-NEW-FORM-INSTANCE

lentre dans la forme

WHEN-NEW-BLOCK-INSTANCE

lentre dans le bloc

WHEN-NEW-RECORD-INSTANCE

lentre dans lenregistrement

WHEN-NEW-ITEM-INSTANCE

lentre dans litem

WHEN-WINDOW-ACTIVATED

lactivation de la fentre

12

Les dclencheurs
Interrogation (EXECUTE-QUERY)
Dclencheur

Moment de dclenchement

POST-TEXT-ITEM

Aprs la sortie de litem

POST-RECORD

Aprs la sortie de lenregistrement

PRE-QUERY

Avant linterrogation

PRE-SELECT

Avant la slection

POST-SELECT

Aprs la slection

POST-QUERY

(x nombre de lignes) Aprs linterrogation

ON-CLOSE

Fermeture du curseur

PRE-RECORD

Avant lentre dans lenregistrement

PRE-TEXT-ITEM

Avant lentre dans litem

WHEN-NEW-RECORD-INSTANCE

lentre dans lenregistrement

WHEN-NEW-ITEM-INSTANCE

lentre dans litem


13

Les dclencheurs
Changement de bloc
Dclencheur

Moment de dclenchement

POST-TEXT-ITEM

Aprs la sortie de litem

POST-RECORD

Aprs la sortie de lenregistrement

POST-BLOCK

Aprs la sortie du bloc

PRE-BLOCK

Avant l'arrive dans le nouveau bloc

PRE-RECORD

Avant l'arrive dans l'enregistrement

PRE-TEXT-ITEM

Avant lentre dans litem

WHEN-NEW-BLOCK-INSTANCE

A l'entre dans le bloc

WHEN-NEW-RECORD-INSTANCE

lentre dans lenregistrement

WHEN-NEW-ITEM-INSTANCE

lentre dans litem

14

Les dclencheurs
Insertion d'un enregistrement
Dclencheur

Moment de dclenchement

POST-TEXT-ITEM

Aprs la sortie de litem

WHEN-VALIDATE-RECORD

A la validation de l'enregistrement

POST-RECORD

Aprs la sortie de lenregistrement

WHEN-CREATE-RECORD

A la cration d'un nouvel enregistrement

PRE-RECORD

Avant l'arrive dans l'enregistrement

PRE-TEXT-ITEM

Avant lentre dans litem

WHEN-NEW-RECORD-INSTANCE

lentre dans lenregistrement

WHEN-NEW-ITEM-INSTANCE

lentre dans litem

15

Les dclencheurs

Mise jour d'enregistrement


Dclencheur

Moment de dclenchement

POST-TEXT-ITEM

Aprs la sortie de litem

PRE-TEXT-ITEM

Avant lentre dans litem

WHEN-NEW-ITEM-INSTANCE

lentre dans litem

WHEN-DATABASE-RECORD

Au marquage de l'enregistrement pour insertion

WHEN-VALIDATE-ITEM

A la validation de l'item

16

Les dclencheurs
Commit avec insertions et mises jour (2 enregistrements)
Dclencheur

Moment de dclenchement

PRE-INSERT

2me enregistrement insr

ON-INSERT

2me enregistrement insr

POST-INSERT

2me enregistrement insr

POST-FORM-COMMIT

aprs oprations du DML

ON-COMMIT

Commit en base

POST-DATABASE-COMMIT

Aprs le commit en base

PRE-BLOCK

entre dans le bloc

PRE-RECORD

Avant l'arrive dans l'enregistrement

PRE-TEXT-ITEM

Avant lentre dans litem

WHEN-NEW-ITEM-INSTANCE

lentre dans litem

17

Les dclencheurs

Commit avec insertions et mises jour (2 enregistrements)


Dclencheur

Moment de dclenchement

POST-TEXT-ITEM

sortie de litem en cours

POST-RECORD

Aprs la sortie de lenregistrement

POST-BLOCK

Aprs la sortie du bloc

PRE-COMMIT

avant oprations du DML

PRE-UPDATE

1er enregistrement modifi

ON-UPDATE

1er enregistrement modifi

POST-UPDATE

1er enregistrement modifi

PRE-UPDATE

2me enregistrement modifi

ON-UPDATE

2me enregistrement modifi

POST-UPDATE

2me enregistrement modifi

PRE-INSERT

1er enregistrement insr

ON-INSERT

1er enregistrement insr

POST-INSERT

1er enregistrement insr


18

Les dclencheurs

Sortie de l'application sans donnes enregistrer


Dclencheur

Moment de dclenchement

POST-TEXT-ITEM

Aprs la sortie de litem

POST-RECORD

Aprs la sortie de lenregistrement

POST-BLOCK

Aprs la sortie du bloc

POST-FORM

Aprs la sortie de la forme

19

Les alertes
Les alertes sont des boites de dialogue que vous pouvez appeler de n'importe quel
endroit de la forme pour afficher un message et rcuprer le code d'un bouton press
par l'utilisateur.

Les bibliothques

Ce sont des bibliothques externes de code excutable lies un ou plusieurs


modules Forms.
Elles permettent de centraliser des fonctions, packages et procdures qui seront
utiliss par les applications Forms.
Elles offrent l'avantage de n'tre charges en mmoire qu'une fois et d'y rsider
pendant toute la dure d'excution de l'application.
Ce sont des fichiers indpendants ayant l'extension .PLL pour la version source et
.PLX pour la version compile et excutable.
20

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.

21

Blocks de donnes
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.

22

Blocks de contrle

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 vousmme

23

Les canevas
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:
Intgral
Superpos
Onglets
Barre d'outils horizontale
Barre d'outils verticale

24

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.
25

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
26

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.

27

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.

28

Oracle Reports

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.

30

Report Builder
Reports Builder inclut les composantes suivantes:

Modle de Donnes
Modle de Prsentation
Grille de Paramtres
Les Dclencheurs dtats
les units de programme
Les Bibliothques

31

Latelier Forms & Reports

Les outils de latelier


Oracle 11g express edition
Oracle Forms 6i
Oracle Reports 6i
Oracle SQL Developer

Oracle Forms et Reports

33

Les outils de latelier


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 Reports

34

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 Reports

35

Les outils de latelier


Oracle Reports 6i
Un outil permettant de raliser des tats.

Oracle Forms et Reports

36

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 Reports

37

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 Reports

38

Oracle Forms et Reports

39

S-ar putea să vă placă și