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 20/04/2007, 12h02   #1
Invité de passage
 
Inscription : février 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 8
Points : 1
Points : 1
Par défaut pb boucle Loop

Ma boucle ne tient pas compte du dernier élément de ma liste d'enregistrement. (pb rencontrer sous oracle forms)
Voici le code:

GO_BLOCK('LIGNEMVT');
FIRST_RECORD;
LOOP
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
w_cursor_anc := :system.cursor_record;

valide := PR_MAJ_STOCK( :B_SAISIE.MOUVEMENT, :B_SAISIE.DATEMVT, :B_SAISIE.AGENCE, :B_SAISIE.POINTEXPL, :LIGNEMVT.ARTICLE, :LIGNEMVT.QTEMVT, NVL(:LIGNEMVT.PRIX_UNIT,0),
'M','C', null, null, :B_SAISIE.NUMDOC, :B_SAISIE.COMMVT, :GLOBAL.CUTI, null, null, null);

NEXT_RECORD;
END LOOP;
IF valide = TRUE THEN
w_retour := fgen_alert_erreur('ALERT_INFO1','ERR-00001','Mouvement effectué avec succès !');
commit_form;
ELSE
w_retour := fgen_alert_erreur('ALERT_ERREUR','ERR-00001','Erreur lors de la validation du mouvement!');

END IF;
am_bra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2007, 12h14   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Il faut mettre le exit à la fin :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
GO_BLOCK('LIGNEMVT');
FIRST_RECORD;
LOOP
w_cursor_anc := :system.cursor_record;
 
valide := PR_MAJ_STOCK( :B_SAISIE.MOUVEMENT, :B_SAISIE.DATEMVT, :B_SAISIE.AGENCE, :B_SAISIE.POINTEXPL, :LIGNEMVT.ARTICLE, :LIGNEMVT.QTEMVT, NVL(:LIGNEMVT.PRIX_UNIT,0),
'M','C', NULL, NULL, :B_SAISIE.NUMDOC, :B_SAISIE.COMMVT, :GLOBAL.CUTI, NULL, NULL, NULL);
 
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
NEXT_RECORD;
END LOOP; 
IF valide = TRUE THEN
w_retour := fgen_alert_erreur('ALERT_INFO1','ERR-00001','Mouvement effectué avec succès !');
commit_form;
ELSE
w_retour := fgen_alert_erreur('ALERT_ERREUR','ERR-00001','Erreur lors de la validation du mouvement!'); 
 
END IF;
Merci d'éditer votre message pour :
- mettre [forms] dans le titre
- utiliser les balises code (# dans la barre d'outils)
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h47.


 
 
 
 
Partenaires

Hébergement Web