IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

Temmps de pause dans un Forms


Sujet :

Forms Oracle

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    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

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Tu peux :
    1/ Faire un loop jusqu'à sysdate + xx secondes (pas super)
    2/ Faire un timer. Ca nécessite de diviser ton code.

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Sinon, encore plus simple, utiliser la fonction SLEEP du package DBMS_LOCK

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Arg, encore une fonction DBMS que je ne connaissais pas.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    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?

  6. #6
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    salut,

    Tu peux faire simplement

    Pour la synthaxe de Dbms_lock

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DBMS_LOCK.SLEEP(2);-- il va s'arréter deux secondes

  7. #7
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    PAUSE; nécessite l'intervention de l'utilisateur.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    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



  9. #9
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dbms_lock.sleep(nb_secondes);

  10. #10
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  11. #11
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Le package appartient a SYS. Il suffit qu'il donne l'accès en EXECUTE à votre user ou a PUBLIC

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Connect SYS...
     
    Grant execute on DBMS_LOCK to public ;

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    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.

  13. #13
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Peut-être pourriez-vous expliquer plus clairement le résultat à obtenir

  14. #14
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
      );

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    Ok je vais etre plus claire

    voici la parti de mon code qui pause souci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  16. #16
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    salut,

    Pourquoi tu mets pas ton code ci_dessous dans le trigger after_report du rapport
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DELETE W_NOTE_FABRICATION_A_EDITER 
    WHERE NOM=P_NOM;
    commit;

  17. #17
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    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.

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    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

  19. #19
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Dans ton formulaire tu as passé les parametres a report.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DELETE W_NOTE_FABRICATION_A_EDITER 
    WHERE NOM=P_NOM; --  le  parametre P_NOM  qui contient le nom 
    commit;

  20. #20
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Soit tu fais le delete dans le report.
    Soit avec un timer.

Discussions similaires

  1. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  2. [langage] pause dans l'affichage
    Par louisis dans le forum Langage
    Réponses: 6
    Dernier message: 01/07/2004, 15h37
  3. [servlet][formulaire] utilisation de 2 servlet dans 1 form
    Par luc_pichot dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/05/2004, 17h55
  4. Marquer une pause dans une procédure stockée
    Par PéPénet dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2003, 10h42
  5. Pause dans une boucle
    Par HT dans le forum Langage
    Réponses: 4
    Dernier message: 03/06/2003, 08h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo