Comment faire pour résoudre les chercher en dehors de la séquence dans oracle?

J'ai une procédure dans laquelle je suis souvent l'erreur suivante se produit dans oracle 11g:

ORA-01002: fetch out of sequence ORA-06512: 
at "LEAVE.GES_ERP_LEV_FFS_INTERFACE_PRC", line 350 ORA-06512: at line 1.

à la ligne 350-je-

BEGIN

  FOR V_INTERFACE_EMP IN CUR_INTERFACE_EMP LOOP        (Line 350)
      EXIT WHEN CUR_INTERFACE_EMP%NOTFOUND;
      V_ERR_FLAG  := 'N';
      V_LOCAL_EMP := 'Y';

      BEGIN

Le Curseur CUR_INTERFACE_EMP est déclarée comme ci-dessous

SELECT GELF.*
   FROM GES_ERP_LEV_FFS_INTERFACE_T GELF
 WHERE (GELF.BALANCE_FLAG != 'W' 
         OR GELF.CASE_FLAG = 'S' 
         OR SELF.BALANCE_FLAG IS NULL)
    AND GELF.PROCESS_FLAG = 'N'
    AND GELF.DATE_OF_RELEASE <= TRUNC(SYSDATE);

Si je mettre à jour certains enregistrements de la table avec Process_Flag Y,le lot fonctionne bien pendant un certain temps et puis de nouveau après quelques jours, nous en arrivons à ce même problème.

Aider s'il vous plaît,laissez-moi savoir dans le cas où les données sont également nécessaires pour la mentionné table.

  • Pourquoi avez-vous EXIT WHEN CUR_INTERFACE_EMP%NOTFOUND? Un POUR le Curseur de la boucle sera automatiquement sortir de la boucle une fois qu'il est traité tous les dossiers, et si le curseur n'est pas extraire tous les enregistrements, n'entreront pas dans la boucle à tous. Sans voir le code complet pour la boucle FOR, il n'est pas possible de dire quel est le problème. Faites-vous toute supprime les mises à jour/om la table référencée dans le curseur à l'intérieur de la boucle for?
  • Avez-vous une livraison à l'intérieur de la boucle de n'importe où? Voir ma réponse.