title: ora-01086 : save point was not established or invalid
body: <p>Ora-01086 : save point was not established or invalid.
  KRD_UPD_BORCTAHSILATYAP_SP this SP throws errors .
  When I test this loop below, I get the error: ora-01086 </p>
  
  <p>Normally it works without calling an external sp, I test it with an inline error and I rolledback to the save point. What am I missing ?</p>
  
  <pre><code>FOR rec IN (...records.....
                 )
     LOOP
        SAVEPOINT odemeIslemiBaslangic;
        BEGIN
  
  
           CASE rec.prosedur_ad
              WHEN 'KRD' THEN
  
                 KRD_UPD_BORCTAHSILATYAP_SP(rec.musterino, rec.urundegeri, rec.taksitno, v_MuhasebeReferans, v_IslemReferans, v_Tarih);
                 IF v_MuhasebeReferans IS NOT NULL THEN
                    v_SonucKd  := 10;
                    v_Aciklama := 'Başarılı işlem';
                 ELSE
                    v_SonucKd  := 9;
                    v_Aciklama := 'Borç bulunamadı';
                 END IF;
  
           END CASE;
           cll_ins_tahsilatislem_sp(p_odemeno        =&gt; rec.odemeno,
                                    p_islemtarihi    =&gt; v_Tarih,
                                    p_musterino      =&gt; rec.musterino,
                                    p_urundeger      =&gt; rec.urundegeri,
                                    p_islemref       =&gt; v_IslemReferans,
                                    p_muhasebesubekd =&gt; rec.sube_kd,
                                    p_muhaseberef    =&gt; v_MuhasebeReferans,
                                    p_aciklama       =&gt; v_Aciklama,
                                    p_sonuc          =&gt; v_SonucKd,
                                    p_kayityapan     =&gt; v_KayitYapan,
                                    p_kayittrxkod    =&gt; v_KayitTrxKod);
           UPDATE cll_gecikmisbankaalacak u
              SET u.sonuc_kd = v_SonucKd
            WHERE u.odemeno = rec.odemeno
              AND u.kayit_drm = 'A';
        EXCEPTION
           WHEN OTHERS THEN
              ROLLBACK TO SAVEPOINT odemeIslemiBaslangic;
              v_SonucKd  := 1;
              v_Aciklama := 'İşlem Hata: ' || substr(SQLERRM, 1, 400);
              cll_ins_tahsilatislem_sp(p_odemeno        =&gt; rec.odemeno,
                                       p_islemtarihi    =&gt; v_Tarih,
                                       p_musterino      =&gt; rec.musterino,
                                       p_urundeger      =&gt; rec.urundegeri,
                                       p_islemref       =&gt; v_IslemReferans,
                                       p_muhasebesubekd =&gt; rec.sube_kd,
                                       p_muhaseberef    =&gt; v_MuhasebeReferans,
                                       p_aciklama       =&gt; v_Aciklama,
                                       p_sonuc          =&gt; v_SonucKd,
                                       p_kayityapan     =&gt; v_KayitYapan,
                                       p_kayittrxkod    =&gt; v_KayitTrxKod);
              UPDATE cll_gecikmisbankaalacak u
                 SET u.sonuc_kd = v_SonucKd
               WHERE u.odemeno = rec.odemeno
                 AND u.kayit_drm = 'A';
        END;
  
     END LOOP;
  </code></pre>