Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/04/2007, 12h14   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 62
Points : 10
Points : 10
Par défaut Temmps de pause dans un Forms

Bonjours

j'aimerai savoir si il existe une manière de mettre un temps de pause dans le code PL/SQL d'un Forms pour que pendant quelques secondes il stop l'execution du code.


Merci
solean45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h20   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Tu peux :
1/ Faire un loop jusqu'à sysdate + xx secondes (pas super)
2/ Faire un timer. Ca nécessite de diviser ton code.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h47   #3
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Sinon, encore plus simple, utiliser la fonction SLEEP du package DBMS_LOCK
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h51   #4
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Arg, encore une fonction DBMS que je ne connaissais pas.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h01   #5
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 62
Points : 10
Points : 10
merci

mais comment je ratache ce package a ma forms ou de base est ce qu'il est rattaché

et la sintaxe de la fonction sleep je peut la trouver ou?
solean45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h05   #6
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
salut,

Tu peux faire simplement

Pour la synthaxe de Dbms_lock

Code :
1
2
 
DBMS_LOCK.SLEEP(2);-- il va s'arréter deux secondes
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h17   #7
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
PAUSE; nécessite l'intervention de l'utilisateur.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h22   #8
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 62
Points : 10
Points : 10
merci

j'aimerai savoir ou puis je trouver ce package et comment l'intégré à Forms pours qu'il la prenne en compte car de base ce package n'y est pas


solean45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h22   #9
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
salut,

Oui ça nécessite l'intervention de l'utilisateur, mais c'est une manière de donner une petite pause au programme plsql mais manuellement, mais si elle veut que son stop est géré automatiquement la on utilise
Code :
1
2
 
dbms_lock.sleep(nb_secondes);
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h27   #10
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Citation:
Envoyé par solean45
merci

j'aimerai savoir ou puis je trouver ce package et comment l'intégré à Forms pours qu'il la prenne en compte car de base ce package n'y est pas


Tu vas juste mettre la instruction suivante à l'endroit ou tu veux faire un stop
Code :
1
2
 
dbms_lock.sleep(nb_secondes);
Voici un lien qui parle de ce package
http://www.cs.umbc.edu/help/oracle8/...1/dbms_loc.htm
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 15h11   #11
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Le package appartient a SYS. Il suffit qu'il donne l'accès en EXECUTE à votre user ou a PUBLIC

Code :
1
2
3
4
 
Connect SYS...
 
GRANT execute ON DBMS_LOCK TO public ;
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 15h16   #12
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 62
Points : 10
Points : 10
eh

dbms_lock.timer (2);

est ce que ça existe car moi en faite je veux pas faire une pause de tout mon forms
je souhaite plus qu'il y ai un délai d'attente juste avant qu'il y ai une suppression dans une table tempo.
Car la avec le dbms_lock.sleep(2); ça fige le forms pendant 2s et y a plus rien qui se passe c'est pas ce que je cherche.
solean45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 15h55   #13
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Peut-être pourriez-vous expliquer plus clairement le résultat à obtenir
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 16h18   #14
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
salut,

Je pense que ca que tu veux, programmer le lancement d'un traitement qui va s'executer apres 30 secondes et continuer ton traitement dans ta forme

Code :
1
2
3
4
5
6
7
8
 
dbms_scheduler.create_job(
    job_name   => 'APEX__JOB_LANG_LAUFEND'
   ,job_type   => 'stored_procedure'
   ,job_action => 'lang_laufend'
   ,start_date => NULL -- tu choisis quand ca va s'executer 
   ,enabled    => true
  );
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 16h40   #15
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 62
Points : 10
Points : 10
Ok je vais etre plus claire

voici la parti de mon code qui pause souci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
FOR I IN 1..DER_REC
loop
go_record(I);
IF :CB_MERE = 'O' then
INSERT INTO W_NOTE_FABRICATION_A_EDITER
VALUES(:GLOBAL.NOM_UTIL,:NOTE_SERIE.ETB_NMR,:NOTE_SERIE.ANNEE,
:NOTE_SERIE.SEMAINE,:NOTE_SERIE.NUMERO,I);
OLDMSG := :System.Message_Level;
:System.Message_Level := '10';
commit;
:System.Message_Level := OLDMSG;
end IF;
end loop;
SELECT count(*) INTO V_CPT FROM W_NOTE_FABRICATION_A_EDITER WHERE NOM=:GLOBAL.NOM_UTIL;
IF V_CPT>0 then
 
LC$Cmd := LC$Rep60_Test || '?Section1&report=note_serie_mere_chauss2.rdf' || '&P_NOM='|| name_in('GLOBAL.NOM_UTIL')||'&PARAMFORM=no'||'&DESNAME=prt04_letter'||'&PRINTJOB=no'
||'COMM_MODE=SYNCHRONOUS';
Web.show_document(LC$Cmd, '_blank'); 					
alert_mess('I',to_char(V_CPT)||' fiche(s)');
DELETE W_NOTE_FABRICATION_A_EDITER 
WHERE NOM=:GLOBAL.NOM_UTIL;
OLDMSG := :System.Message_Level;
:System.Message_Level := '10';
commit;
:System.Message_Level := OLDMSG;
end IF;
voila alors le truc c'est quand je met dans mon code un message d'alerte "alert_mess('I',to_char(V_CPT)||' fiche(s)');"
la mon état report se lance correctement avec toute les données qu'il doit contenir.

Mais si j'enleve mon message d'alerte car je doit pas en avoir la mon report se lance mais c'est un page vierge j'ai plus aucune données.

Donc j'aimerai savoir si j'ai essayer de renseigner mon URL pour que le mode soit synchroniser biensur sur il me retourne un erreur car ça doit pas etre la bonne syntaxe
mais j'aimerais savoir si ça peut jouer pour le fait que ça affiche mon état reports avec les données complêtes si ou avoir la bonne syntaxe ou sinon comment faire pour obtenir mon etat report avec toutes les données sans avoir de message d'alerte

merci de votre aide en espérant etre assez clair.
solean45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 16h55   #16
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
salut,

Pourquoi tu mets pas ton code ci_dessous dans le trigger after_report du rapport
Code :
1
2
3
4
 
DELETE W_NOTE_FABRICATION_A_EDITER 
WHERE NOM=P_NOM;
commit;
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 16h57   #17
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Le plus propre serait de faire le ménage de la table dans le Report lui-même dans le trigger AFTER-REPORT par exemple.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 17h10   #18
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 62
Points : 10
Points : 10
est ce que vous pouvez me donnez un exemple pour modifier mon code pour que ma table soit nettoyé dans le after_report car je me suis jamais servi de ça
solean45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 17h14   #19
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Dans ton formulaire tu as passé les parametres a report.


Code :
1
2
3
4
5
LC$Cmd := LC$Rep60_Test || '?Section1&report=note_serie_mere_chauss2
.rdf' || '&P_NOM='|| name_in('GLOBAL.NOM_UTIL')||
'&PARAMFORM=no'||'&DESNAME=prt04_letter'||'&PRINTJOB=no'
||'COMM_MODE=SYNCHRONOUS';

Citation:
Envoyé par salim11
salut,

Trigger after_report
Code :
1
2
3
4
 
DELETE W_NOTE_FABRICATION_A_EDITER 
WHERE NOM=P_NOM; --  le  parametre P_NOM  qui contient le nom 
commit;
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 17h18   #20
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Soit tu fais le delete dans le report.
Soit avec un timer.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h57.


 
 
 
 
Partenaires

Hébergement Web