Oracle Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Iron Speed
Go Back   Dev Shed ForumsDatabasesOracle Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now!
  #1  
Old January 17th, 2005, 04:25 AM
Paul Izzo Paul Izzo is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2005
Posts: 14 Paul Izzo User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 m 25 sec
Reputation Power: 0
Question Problem with Writing a Cursor Error ORA-06512: at line 188

I'm attempting to write a cursor that will read data from a table, reformat the data and insert it into another table. I have an existing SQL script that contains a cursor. When I copy the same cursor into my script it doesn't work. I get an error message of ORA-06512: at line 188. Line 188 contains the following "FETCH varial_fib into" I don't know where my problem is since both of the cursors contained are identical.

Here's a copy of portions of my script: (the entire script is attached to this thread)

SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 80
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF


DECLARE
applik_kz CHAR(2) := 'XX';
firmennummer CHAR(3) := '001';
buchungsperiode CHAR(6) := '000000';
erfassungsdatum CHAR(6) := '000000';
erfassungsnummer CHAR(6) := '000001';
laufende_nr CHAR(5) := '00000';
transakt_nr CHAR(5) := '00000';

(cont...)
cursor varial_fib IS
select
LPAD(NVL(TO_CHAR(buch_jahr,'FM99999'),'0'),4,'0') || -- buch_periode
LPAD(NVL(TO_CHAR(buch_monat,'FM999'),'0'),2,'0'),

(cont...)
from "MOSCA"."PFIB"
where pfib.BELEGART = 'LAG'
;

BEGIN
OPEN varial_fib;
LOOP
FETCH varial_fib into
buchungsperiode,
erfassungsdatum,
konto_sa,

(cont...)
EXIT when varial_fib%NOTFOUND;

schreib_string :=

applik_kz ||
firmennummer ||
buchungsperiode ||
;

(cont...)
insert into w100.varial_fibu values (schreib_string,'N',belegnummer,
substr(konto_nr,2,8),substr(gegenkonto_nr,2,8),zahlungs_kond_nr,
kst_ktr1_nr,bs_bezeichnung);
commit;
END LOOP;

update w100.pfib set gebucht = 'J'
where beleg_nr = nr_merker
and buchungs_pos_nr = pos_merker;
commit;
END LOOP;
CLOSE varial_fib;

END;
/




Attached Files
File Type: txt var_lag.sql.txt (11.8 KB, 176 views)

Reply With Quote
  #2  
Old January 17th, 2005, 05:44 AM
swampBoogie swampBoogie is offline
Contributing User
Dev Shed Intermediate (1500 - 1999 posts)
 
Join Date: Jan 2003
Location: Paris Uppland
Posts: 1,766 swampBoogie User rank is Sergeant Major (2000 - 5000 Reputation Level)swampBoogie User rank is Sergeant Major (2000 - 5000 Reputation Level)swampBoogie User rank is Sergeant Major (2000 - 5000 Reputation Level)swampBoogie User rank is Sergeant Major (2000 - 5000 Reputation Level)swampBoogie User rank is Sergeant Major (2000 - 5000 Reputation Level)swampBoogie User rank is Sergeant Major (2000 - 5000 Reputation Level) 
Time spent in forums: 2 Weeks 4 Days 6 h 24 m 8 sec
Reputation Power: 37
Using a cursor is just a waste in this case. You can do this directly with an insert statement.

Code:
insert into t1 (c1,c2) 
select expression,expression from t2
where <searchCondition>

Reply With Quote
  #3  
Old January 19th, 2005, 04:27 AM
Paul Izzo Paul Izzo is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2005
Posts: 14 Paul Izzo User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 m 25 sec
Reputation Power: 0
Problem with INTO list and SELECT statement

I've managed to widdle down my problem to being a mismatch between the SELECT statement of the cursor and the INTO list of the FETCH statment of the cursor.

I've been looking through the two lists and cannot pinpoint the record ( or lack of) that is causing the problem. All I know is that the 2 lists are not the same and the script will not run.

Below the cursor part of my script that is causing the problem:


select
LPAD(NVL(TO_CHAR(buch_jahr,'FM99999'),'0'),4,'0') || -- buch_periode
LPAD(NVL(TO_CHAR(buch_monat,'FM999'),'0'),2,'0'),
LPAD(NVL(TO_CHAR(erstell_jahrzehnt,'FM999'),'0'),2,'0') || -- erfassungsdatum
LPAD(NVL(TO_CHAR(erstell_monat,'FM999'),'0'),2,'0') ||
LPAD(NVL(TO_CHAR(erstell_tag,'FM999'),'0'),2,'0'),
NVL(kontenart,' '), -- konto_sa
LPAD(TO_CHAR(TO_NUMBER(konten_nr)),8,'0'), -- konto_nr
LPAD(TO_CHAR(TO_NUMBER(konten_nr)),8,'0'), -- erl_kto
NVL(gegenkonto_kontenart,' '), -- gegenkonto_sa
LPAD(NVL(TO_CHAR(TO_NUMBER(gegenkonto),'FM999999999'),'0'),8,'0'), -- gegenkonto_nr
LPAD(NVL(TO_CHAR(beleg_nr,'FM99999999999'),'0'),11,'0'), -- belegnummer
LPAD(NVL(TO_CHAR(rechnungs_jahrzehnt,'FM999'),'0'),2,'0') || -- beleg_datum
LPAD(NVL(TO_CHAR(rechnungs_monat,'FM999'),'0'),2,'0') ||
LPAD(NVL(TO_CHAR(rechnungs_tag,'FM999'),'0'),2,'0'),
LPAD(NVL(TO_CHAR(valuta_jahrzehnt,'FM999'),'0'),2,'0') || -- valut_datum
LPAD(NVL(TO_CHAR(valuta_monat,'FM999'),'0'),2,'0') ||
LPAD(NVL(TO_CHAR(valuta_tag,'FM999'),'0'),2,'0'),
RPAD(NVL(belegart,' '),3,' '), -- bs_bezeichnung
NVL(soll_oder_haben,' '), -- soll_haben_sz
buch_betrag, -- ew_vz_ermittler
RPAD(replace(substr(to_char(abs(buch_betrag),'FM099999999999.99'),2,14),'.',','),14,'0'),
RPAD(replace(nvl(substr(to_char(abs(steuerbetrag),'FM099999999999.99'),2,14),'0'),'.',','),14,'0'),
RPAD(replace(nvl(substr(to_char(abs(skonto_betrag),'FM099999999999.99'),2,14),'0'),'.',','),14,'0'),
LPAD(NVL(TO_CHAR(TO_NUMBER(steuerart),'FM9999'),'0'),3,'0'), -- steuersatznummer
RPAD(replace(nvl(substr(to_char(abs(steuersatz),'FM0999.99'),2,6),'0'),'.',','),6,'0'),
RPAD(NVL(laender_kenner,' '),2,' ') || -- ust_id_nummer_kd
RPAD(NVL(ust_id_nr_rest,' '),12,' '),
RPAD(replace(nvl(substr(to_char(abs(fremdw_betrag),'FM099999999999.99'),2,14),'0'),'.',','),14,'0'),
RPAD(replace(nvl(substr(to_char(abs(steuerbetrag),'FM099999999999.99'),2,14),'0'),'.',','),14,'0'),
RPAD(replace(nvl(substr(to_char(abs(skonto_betrag),'FM099999999999.99'),2,14),'0'),'.',','),14,'0'),
RPAD(NVL(waehrung,' '),3,' '), -- waehrungsbez
RPAD(NVL(TO_CHAR(beleg_nr,'FM999999999'),'0'),25,' '), -- text_fremdbelg_nr
RPAD(NVL(buchungstext,' '),50,' '), -- buchungstext
LPAD(NVL(FLOOR(ABS(entnahme_menge)),'0'),11,'0'), -- menge
RPAD(NVL(mengeneinheit,' '),3,' '), -- mengen_kz
LPAD(NVL(TO_CHAR(TO_NUMBER(zahlungsziel_kenner),'FM9999'),'0'),3,'0'), -- zahlungs_kond_nr
LPAD(NVL(TO_CHAR(skonto_tage_1,'FM9999'),'0'),3,'0'), -- skonto1_tage
LPAD(NVL(TO_CHAR(skonto_tage_2,'FM9999'),'0'),3,'0'), -- skonto2_tage
LPAD(NVL(TO_CHAR(TO_NUMBER(kostenstelle),'FM999999999'),'0'),8,'0'), -- kostenstelle
LPAD(NVL(TO_CHAR(TO_NUMBER(kt_frei),'FM999999999'),'0'),8,'0'), -- kt_frei als kostentraeger
LPAD(NVL(TO_CHAR(netto_tage,'FM99999'),'0'),4,'0'), -- netto_faellig_tage
buchungs_pos_nr,
beleg_nr,
RPAD(NVL(lieferanten_kunden_name,' '),30,' '), -- ku_li_name
fremdw_betrag -- fw_vz_ermittler
from "MOSCA"."PFIB"
where gebucht <> 'J';



BEGIN
OPEN varial_fib;
LOOP
FETCH varial_fib into
buchungsperiode,
erfassungsdatum,
konto_sa,
konto_nr,
erl_kto,
gegenkonto_sa,
gegenkonto_nr,
belegnummer,
beleg_datum,
valuta_datum,
bs_bezeichnung,
soll_haben_sz,
ew_vz_ermittler,
betrag_ew,
steuer_betrag_ew,
skonto_betrag_ew,
steuersatznummer,
steuer_prozentsatz,
ust_id_nummer_kd,
betrag_fw,
steuer_betrag_fw,
skonto_betrag_fw,
waehrungsbez,
text_fremdbelg_nr,
buchungstext,
menge,
mengen_kz,
zahlungs_kond_nr,
skonto1_tage,
-- skonto1_prozent,
skonto2_tage,
-- skonto2_prozent,
kst_ktr1_nr,
-- k_traeger,
netto_faellig_tage,
pos_merker,
nr_merker,
ku_li_name,
fw_vz_ermittler;

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesOracle Development > Problem with Writing a Cursor Error ORA-06512: at line 188


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 4 hosted by Hostway