dimanche 8 août 2010

Mise en place d'un JavaBean dans Forms 10g.

Pour pouvoir utiliser des javabeans dans Oracle Forms 10g, on doit y aller au site http://forms.pjc.bean.over-blog.com/10-index.html pour télécharger un JavaBean qu'on va l'utiliser dans notre application (module Forms), c'est à dire qu'il faudrait télécharger le fichier JAR (showmessage.jar).

Donc, on va mettre en place un JavaBean de type SHOWMESSAGE à la manière du Java (voir l'image).



Après le téléchargement du fichier JAR, vous devez le placer dans le répertoire approprié de Forms (C:\DevSuiteHome_1\forms\server\formsweb.cfg).


Copier le fichier JAR dans le dossier JAVA de Forms.

Voici les étapes pas à pas pour la mise en place de ce JavaBean dans Oracle FORMS 10g.
  • Créer un module (donner un nom quelconque).
  • Créer un canevas (nommer-le CVSM).
  • Créer un block de contrôle (on va le nommer CTRL).
  • Créer un bouton sur le canevas et changer le Label à 'Afficher un message de type Java).
  • Créer un Bean sur le canevas et changer les positions (mettre 1 partout pour qu'il ne sera pas visible sur le canevas) et nommer-le SHOW



Et pour le bouton et le Bean sur le canevas, voici l'image



On voit ici la flèche qui représente le bean qu'on a placé sur le canevas avec les positions 1 (fenêtre propriété de bean - voir l'image).



  • Mettre la classe du BEAN en allant à la propriété de ce dernier (oracle.forms.fd.ShowMessage- voir l'image)

  • Créer une unité de programme SHOWMESSAGE.

  • Cliquer sur ok pour taper le code suivant:
PROCEDURE showmessage
(
PC$Bean IN Varchar2,
PC$Text IN Varchar2,
PC$Title IN Varchar2 DEFAULT NULL,
PC$Icon IN Varchar2 DEFAULT 'P',
PN$Max IN NUMBER DEFAULT 150
) IS

LN$Slices Pls_Integer := 1 ;
LN$Rest Pls_Integer ;
LN$Pos Pls_Integer := 1 ;

BEGIN

-- Clear text --
Set_Custom_Property( PC$Bean, 1, 'CLEAR', '' ) ;

-- Set Title --
If PC$Title IS NOT NULL Then
Set_Custom_Property( PC$Bean, 1, 'SETTITLE', PC$Title ) ;
End if ;
-- Set icon --
If Upper( PC$Icon ) IN ('I','E','P','W') Then
Set_Custom_Property( PC$Bean, 1, 'SETICON', Upper( PC$Icon ) ) ;
End if ;
-- Set max line size --
If PN$Max IS NOT NULL Then
Set_Custom_Property( PC$Bean, 1, 'SETLINESIZE', To_Char( PN$Max ) ) ;
End if ;
-- Set text --
If PC$Text IS NOT NULL Then
If LENGTH( PC$Text ) > 1000 Then
LN$Slices := LENGTH( PC$Text ) / 1000 ;
LN$Rest := MOD( LENGTH( PC$Text ), 1000 ) ;
IF LN$Rest > 0 THEN LN$Slices := LN$Slices + 1 ; END IF ;
End if ;
FOR i IN 1..LN$Slices LOOP
message('.', no_acknowledge);
Set_Custom_Property( PC$Bean, 1, 'SETTEXT', SUBSTR( PC$Text, LN$Pos, 1000 ) ) ;
LN$Pos := LN$Pos + 1000 ;
END LOOP ;
End if ;
-- Show text --
If PC$Text IS NOT NULL Then
Set_Custom_Property( PC$Bean, 1, 'SHOW', '' ) ;
End if ;

END;

  • Compiler la procédure.
  • Créer un SmartTriggers pour le bouton en cliquant sur le bouton droit de la souris (trigger WHEN-BUTTON_PRESSED)


  • Mettre ce code : ShowMessage('CTRL.SHOW',' Suppression effectuée avec succès...','Message','I');
  • Ceci est un appel de la procédure SHOWMESSAGE en utilisant le Bean qui est placé sur le canevas.
  • Compiler le code PL/SQL.
  • Compiler le module et il va vous donner ce résultat en cliquant sur le bouton:


Abed

Aucun commentaire:

Enregistrer un commentaire