Error in EXEC SQL
hi, I have a problem.
I would like to capture an error provoked by the education EXEC SQL.
I have tried to insert the block try... cath around the command EXEC but
the program goes in loop.
Thanks for the help
This is the example that I have tried but it doesn't work
data myref type ref to CX_SY_NATIVE_SQL_EROR.
try.
exec sql.
endexec.
catch CX_SY_NATIVE_SQL_EROR.
write 'Error ', myref->SQL_ERROR.
RAISE EXCEPTION myref.
endtry.
According to you, you've placed the sqlexec statements in fieldchange event but if you'll notice in your error, it happened on the fieldformula event of SI_LTTR_TMP field. currently, what is the code in SI_WRK.SI_LTTR_TMP.FieldFormula?
Thanks...
Similar Messages
-
SQL error 3113 occurred when executing EXEC SQL.
Hi,
We are facing one typical problem, One background is failing regularly with
below dump. as we now got all notes giving information, if database restarted
taking backup, these type of failures occur, but our database is only down for backup once in a week, but it is failing with frequenly.
in this two servers are located in different place, in this job tries to connect
another server to get material statistics.
It is giving some error message in sm21 with
SQL error 3113 occurred when executing EXEC SQL.
work procees in reconnect mode.
all notes saying these types of dump occur when database restared, but this dump
even though database is up.
below is short dump, please can anyone help me from this problem.
ABAP runtime errors DBIF_DSQL2_SQL_ERROR
Occurred on 08.01.2007 at 00:30:28
>> Short dump has not been completely stored. It is too big.
SQL error 3113 occurred when executing EXEC SQL.
What happened?
The error occurred in the current database connection "AZ1".
What can you do?
Note the actions and input that caused the error.
Inform your SAP system administrator.
You can print out this message by choosing "Print". Transaction ST22
allows you to display and manage termination messages, including keeping
them beyond their normal deletion date.
Error analysis
How to correct the error
Database error text........: "ORA-03113: end-of-file on communication channel#"
Triggering SQL statement...: "select mara.groes, mara.brgew, mara.ntgew,
mara.gewei, mara.volum, mara.voleh, mara.mstae, mara.mstde, mara.prdha,
marc.matnr, marc.werks, marc.mmsta, marc.mmstd from sapr3.mara, sapr3.m
where sapr3.mara.mandt = sapr3.marc.mandt and sapr3.mara.matnr =
Internal call code.........: "[DBDS/NEW DSQL]"
Please check the entries in the system log (Transaction SM21).
If the error occurred in a non-modified SAP program, you may be
able to find a solution in the SAP note system.
If you have access to the note system yourself, use the following
search criteria:
"DBIF_DSQL2_SQL_ERROR"
"ZM2431216 " or "ZM2431216 "
"EXTRACT_GENERAL_DATA"
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in th
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error o
or which actions and input led to the error.
System environment
SAP Release.............. "46C"
Application server....... "essceu3"
Network address.......... "172.19.119.198"
Operating system......... "AIX"
Release.................. "5.3"
Hardware type............ "00C7ADBD4C00"
Database server.......... "ukblx176"
Database type............ "ORACLE"
Database name............ "EU3"
Database owner........... "SAPR3"
Character set............ "es_ES.ISO8859-1"
SAP kernel............... "46D"
Created on............... "Jul 9 2006 20:26:33"
Created in............... "AIX 1 5 00447C4A4C00"
Database version......... "OCI_920__OCI_7_API "
Patch level.............. "2257"
Patch text............... " "
Supported environment....
Database................. "ORACLE 8.0.5.., ORACLE 8.0.6.., ORACLE
8.1.6.., ORACLE 8.1.7.., ORACLE 9.2.0.., ORACLE 10.2.0.."
SAP database version..... "46D"
Operating system......... "AIX 1 4, AIX 2 4, AIX 3 4, AIX 1 5, AIX 2 5, AIX 3
5, , System build information:, , LCHN :
841480"
User, transaction...
Client.............. 600
User................ "MPZMMES"
Language key........ "S"
Transaction......... " "
Program............. "ZM2431216 "
Screen.............. "SAPMSSY0 1000"
Screen line......... 6
Information on where termination occurred
The termination occurred in the ABAP/4 program "ZM2431216 " in
"EXTRACT_GENERAL_DATA".
The main program was "ZM2431216 ".
The termination occurred in line 980
of the source code of program "ZM2431216 " (when callin
The program "ZM2431216 " was started as a background jo
Source code extract
009500 mara.ntgew,
009510 mara.gewei,
009520 mara.volum,
009530 mara.voleh,
009540 mara.mstae,
009550 mara.mstde,
009560 mara.prdha,
009570 marc.matnr,
009580 marc.werks,
009590 marc.mmsta,
009600 marc.mmstd
009610 into :w_ops-groes,
009620 :w_ops-brgew,
009630 :w_ops-ntgew,
009640 :w_ops-gewei,
009650 :w_ops-volum,
009660 :w_ops-voleh,
009670 :w_ops-mstae,
009680 :w_ops-mstde,
009690 :w_ops-prdha,
009700 :w_ops-matnr,
009710 :w_ops-werks,
009720 :w_ops-mmsta,
009730 :w_ops-mmstd
009740 from sapr3.mara, sapr3.marc
009750 where sapr3.mara.mandt = sapr3.marc.mandt
009760 and sapr3.mara.matnr = sapr3.marc.matnr
009770 and sapr3.mara.mandt = :p_mandt
009780 and sapr3.mara.matnr = :w_ebs-matnr
009790 and sapr3.marc.werks = :p_owerks
> ENDEXEC.
009810 endform. " extract_general_data
009820 *&
009830 *& Form append_i_ops
009840 *&
009850 * Appends W_OPS to I_OPS
009860 *
009870 form append_i_ops.
009880 append w_ops to i_ops.
009890 endform. " append_i_ops
009900 *&
009910 *& Form extract_material_description
009920 *&
009930 * Extracts a Material Description from the remote database an
009940 * modifies the current record in I_OPS.
009950 *
009960 * >P_SPRAS Language Key
009970 *
009980 form extract_material_description using p_spras.
009990 EXEC sql performing set_langauge.
Contents of system fields
SY field contents..................... SY field contents............
SY-SUBRC 0 SY-INDEX 0
SY-TABIX 1 SY-DBCNT 1
SY-FDPOS 18 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1
Chosen variables
Name.......................... Contents.1........2........3....+..
W_EBS-PRAT4
2
0
W_OPS-GROES
22222222222222222222222222222222
00000000000000000000000000000000
W_OPS-BRGEW #######
0000000
000000C
W_OPS-NTGEW #######
0000000
000000C
regards,
krishnaiah.Hi,
This is usually a SERVER SIDE DATABASE PROBLEM or SQLNET LISTENER (server side) PROBLEM. The client side should initially be ignored and instead the server should be investigated. In rare cases, this can be caused by client
side memory or other resource problem, or a DLL version mismatch, but this is
unlikely.
Enlist the assistance of your DBA. Then reproduce the ORA-3113 error on your
client application. Ask your DBA to look at the database side Alert.log and
trace files and look for ANY activity. Any activity that coincides with your
ORA-3113 will be a clue.
REgards
Vinod -
Use Of "#EC CI_EXECSQL in ABAP with EXEC SQL. Statement giving Syntax Error
Dear Gurus,
I have encountered an issue while trying to remove warning for using Native SQL statement using pseudo comment "#EC CI_EXECSQL
The thing is like this -- i have used follwing native sql command in abap.
EXEC SQL.
CONNECT TO 'SURROUND_DB'
ENDEXEC.
Now when i am checking this code in code inspector it is showing a warning with information below
CA CL_CI_TEST_CRITICAL_STATEMENTS0006
Code Inspector
Critical Statements
Use of Native SQL
Authorization checks cannot be appropriately run using EXEC SQL and should be carried out at program level.
The message can be hidden using the pseudo-comment "#EC CI_EXECSQL
Use of exceptin handling section for that warning showing me to use :
The message can be hidden using pseudo
comment "#EC CI_EXECSQL
Now when I am using "#EC CI_EXECSQL in the abap like below :
EXEC SQL. "#EC CI_EXECSQL
CONNECT TO 'SURROUND_DB'
ENDEXEC.
It is giving syntax error
The text literal ""#EC CI_EXECSQL " is longer than 255
characters.Check whether it ends correctly.
Please provide the guideline to resolve this issue.
Thanks & regards
Saifur Rahaman.Hi Saifur,
You can remove the warning using the following syntax:
EXEC "#EC CI_EXECSQL
SQL.
CONNECT TO 'SURROUND_DB'
ENDEXEC.
At least, it worked fine for me when using OPEN CURSOR, SELECT, FETCH and so on statements.
The way to use the pseudo comment is not very intuitive, but at least for my examples worked fine.
I hope this may help you.
Best regards,
Edgardo G. König -
EXEC SQL Error: ORA-01401: Inserted value too large for column
Getting this SQL Error: ORA-01401: Inserted value too large for column..on an EXEC SQL Insert statement when writing to an
external Oracle DB from SAP.
On further analysis..it appears that this happens to the fields..when the string length matches the field length.
Example: Plant field is defined as char(4) on the SAP side and it is a Varchar2(4) on the Oracle side.
When a value like '1015' is passed thru a variable in the insert statement then this ORA-01401 error pops up.
No error:
- if the value '1015' is passed directly in the insert statement to the external table (or)
- when a value with 3 chars or less(like the first three chars..101) is passed thru a variable defined as 'Plant(4) type c'.
- when using EXEC sql within SAP
- when reading from the external db table
This was working ok until the Oracle Patch P9147110 was installed recently.
Any suggestions !Hello Dvas,
what's the characterset of your external database?
What's the column definition in your external database (byte or character based)?
If you use a characeterset like UTF8 it is possible, that one character needs more than one byte and then you will run into such kind of issues if the definition is too small.
Regards
Stefan -
EXEC SQL and DBIF_DSQL2_CONNECTERR error
Hello,
Currently our shipping system is communicating with SAP below are the parameters used:
<SAPProgramID>kewill_LXD</SAPProgramID>
<SAPGatewayHost>10.XX.40.XX</SAPGatewayHost>
<SAPGatewayService>sapgw00</SAPGatewayService>
<TransHandlerConnString>STMT=;OPTION=3;DSN=didb;UID=sn_usr;PASSWORD=sipndb;DESC=MySQL ODBC 3.51 Driver;DATABASE=didb;SERVER=localhost;PORT=3306</TransHandlerConnString
This is what I have in DBCON or tcode DBCO
Connection Name: Ship
DBMS: MSS
User Name: sn_usr
Password: sipndb
Conn. info: MSSQL_SERVER=localhost;MSSQL_DBNAME=didb
I get a dump with DBIF_DSQL2_CONNECTERR error when I try to use this in the EXEC SQL:
REPORT ZKEWILL_CONN .
Tables: DBCON.
DATA: BEGIN OF WA,
ship_date(10), S2Name1(50),
END OF WA.
DATA : bdate(10) value '2008-09-29',
edate(10) value '2008-10-05'.
EXEC SQL.
CONNECT TO 'KEWILL' AS 'K'
ENDEXEC.
EXEC SQL.
SET CONNECTION 'K'
ENDEXEC.
EXEC SQL.
SELECT ship_date, s2name1 INTO :WA FROM shipment_header
WHERE ship_date >= :bdate
AND ship_date <= :edate
ENDEXEC.
WRITE: / WA-ship_date, WA-s2name1.
We are in 4.6C. Please let me know if I need to make changes to the DBCO or to the program or both.... thanks!!
AJHi Jimmy,
The issue is more related to livecache.So can you please close this tread and create new thread under forum 'SAP MaxDB/livecache'.
Thanks & Regards,
Sunitha -
Error with Oracle10G Sql Browser while execute package with exec clause
Dear Experts,
Please tell me why i am getting Error ORA- 00900 while executing this script with Oracle10G Sql Browserbut not getting error with Oracle9i Sql Browser
var r1 refcursor;
var r2 refcursor;
exec ETKT_CANCEL_TICKET_PCK.GET_DATA(:r1,:r2,'05052007/00000003/0000994','23');It would be interesting to know, what Sql Browser is.
-
hello people,
I'm using the connection DBCOMM to connect a external BD, using this connection:
EXEC SQL.
SET CONNECTION :vg_con_name
ENDEXEC.
IF NOT sy-subrc IS INITIAL.
EXEC SQL.
CONNECT TO :vg_con_name
ENDEXEC.
ENDIF.
I verified the connection and before i maked a select in the table EKKO
kind of this:
EXEC SQL.
SELECT EBELN
FROM EKKO
INTO :P_EBELN
WHERE EBELN = :W_EBELN
ENDEXEC.
sometimes i lost the connection, but here in the project I use the version of R/3, 4.6c and don't have the command TRY to catch the problem.
The Dump is:
DBIF_DSQL2_SQL_ERROR
"ORA-03113: end-of-file on communication channel#"
anyone here can help me,
waiting
WilleHI,
Cause: There is an SQL error during execution of a Native SQL command.
Runtime Error: DBIF_DSQL2_SQL_ERROR
If you want to select into a work area in a SELECT statement, and not into a list of host variables, the host variable must be a structure. If you cannot determine statically (at compilation time) whether the target area is a structure at runtime, then there is a runtime error, depending on the database system. Or only the first selected column is placed into the target area. In this case, one can be certain, using INTO STRUCTURE (instead of only INTO), that at runtime a structure really is available as target area.
Please the connection which you have specified is existing in the DBCON TABLE.
Regards
Anitha -
Getting core dump when using EXEC SQL CLOSE
In my pro*c program , i have used a cursor to fetch the set of accounts.Once cursor is opened , code will perform set
of operation using fetched data and then cursor is closed. Between open and closing of cursor , i have used 23 EXEC
SQL CLOSE. For example i am copying the value of a to b using strlcpy between fetch and close cursor statement.If
returned value from strlcpy is greater than size of destination variable, then flow should not proceed , in that case I will
close the cursor using EXEC SQL CLOSE and return the flow to calling program. Similarly i have closed the cursor at
another 22 locations.
When i compile the code and run binary the core dump occurs. On analyzing the core it shows
t@null (l@8) terminated by signal SEGV (no mapping at the fault address)
0xffffffffffffffff: <bad address 0xffffffffffffffff>
dbx: core file read error: address 0xfc4ffe48 not in data space
Current function is dbMtBaseClass::Pswd_Change
7860 sqlcxt(&_dbMtCtx, &sqlctx, &sqlstm, &sqlfpn);
if I remove any of the three EXEC SQL CLOSE commands , core dump does not occurs.
It looks strange.Please help me to resolve the issue.In my pro*c program , i have used a cursor to fetch the set of accounts.Once cursor is opened , code will perform set
of operation using fetched data and then cursor is closed. Between open and closing of cursor , i have used 23 EXEC
SQL CLOSE. For example i am copying the value of a to b using strlcpy between fetch and close cursor statement.If
returned value from strlcpy is greater than size of destination variable, then flow should not proceed , in that case I will
close the cursor using EXEC SQL CLOSE and return the flow to calling program. Similarly i have closed the cursor at
another 22 locations.
When i compile the code and run binary the core dump occurs. On analyzing the core it shows
t@null (l@8) terminated by signal SEGV (no mapping at the fault address)
0xffffffffffffffff: <bad address 0xffffffffffffffff>
dbx: core file read error: address 0xfc4ffe48 not in data space
Current function is dbMtBaseClass::Pswd_Change
7860 sqlcxt(&_dbMtCtx, &sqlctx, &sqlstm, &sqlfpn);
if I remove any of the three EXEC SQL CLOSE commands , core dump does not occurs.
It looks strange.Please help me to resolve the issue. -
Error while running sql queries..
Hi there,
We are suppose to run gather schema stats..
but while running the procedure we are getting following error..
gather_schema.sql:
exec fnd_stats.gather_schema_statistics('CMWCONN');
exec fnd_stats.gather_schema_statistics('CMW');
exec fnd_stats.gather_schema_statistics('ALL');
SQL> @gather_schema.sql;
BEGIN fnd_stats.gather_schema_statistics('CMWCONN'); END;
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'FND_STATS.GATHER_SCHEMA_STATISTICS' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
BEGIN fnd_stats.gather_schema_statistics('CMW'); END;
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'FND_STATS.GATHER_SCHEMA_STATISTICS' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
BEGIN fnd_stats.gather_schema_statistics('ALL'); END;
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'FND_STATS.GATHER_SCHEMA_STATISTICS' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Could you give me the correct pl/sql procedure to run the query.
Thanks,.
Balu.Actually the script was working fine last week..we are using the following script
SQL> exec fnd_stats.gather_schema_statistics('ALL');
but it throws me the following error
BEGIN fnd_stats.gather_schema_statistics('ALL'); END;
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'FND_STATS.GATHER_SCHEMA_STATISTICS' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored -
Statspack: error with spcreate.sql in 11.1.0.7 on WIndows
Hello,
I'm trying to install statspack on a 11.1.0.7 64bit RDBMS on Windows 2008 R2.
I get this error during spcreate.sql as sysdba
... Creating views
. quisce_t*drms quiesce_time
ERROR at line 5
ORA-00904: "QUISCE_T" : invalid identifier
I wasn't able to find anything related on metalink....
Any hint?
I was previously able to run it on 11.2.0.1 and 11.2.0.3 RDBMS on Linux systems...
I don't know if it is a problem with this particular version of the rdbms.
Thanks in advance,
Gianlucahello,
running now a snap as perfstat user I get this error
SQL> exec statspack.snap;
BEGIN statspack.snap; END;
ERROR at line 1:
ORA-04063: package body "SYS.DBMS_SHARED_POOL" has errors
ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_SHARED_POOL"
ORA-06512: at "PERFSTAT.STATSPACK", line 5767
ORA-06512: at line 1
In fact
SQL> select owner,object_name,object_type from dba_objects where status='INVALID
2 order by object_name;
OWNER OBJECT_NAME OBJECT_TYPE
SYS DBMS_SHARED_POOL PACKAGE BODY
PUBLIC STATSPACK SYNONYM
Trying to recompile as sysdba I get
Connected to:
Oracle Database 11g Release 11.1.0.7.0 - 64bit Production
SQL> alter package dbms_shared_pool compile body;
Warning: Package Body altered with compilation errors.
SQL> show errors
Errors for PACKAGE BODY DBMS_SHARED_POOL:
LINE/COL ERROR
87/13 PLS-00323: subprogram or cursor 'PURGE' is declared in a package
specification and must be defined in the package body
Could it be that t was my first 10.2.0.3 spcreate.sql putting the package in this state?
I don't suppose so and that the package was already invalid before... but not sure...
How to correct? I found similar cases where Oracle oly suggested catalog/catproc runs... but I would like to avoid if possible...
Thanks in advance -
Where can i set up connection in "exec sql"?
i have code block like this:
EXEC SQL.
SET CONNECTION :'PA'
ENDEXEC.
IF SY-SUBRC <> 0.
Connection not yet opened.
EXEC SQL.
CONNECT TO :'PA'
ENDEXEC.
IF SY-SUBRC <> 0.
write: / sy-msgid ,sy-msgno,sy-msgty,sy-msgv1,sy-msgv2,sy-msgv3,sy-msgv4.
write: / 'connect error'.
RAISE EXCEPTION TYPE cx_sy_native_sql_error.
ENDIF.
ENDIF.
where can i set up the 'PA'?thanks very much!!!!You set up new databse connection for SAP to communincate with using 'DBCO' tcode.
-
How to use INSERT in EXEC SQL ...... ENDEXEC ?
Hi,
The following code;
DATA: BEGIN OF str_insert,
a(3) TYPE c,
b(3) TYPE c,
END OF str_insert.
EXEC SQL.
SET CONNECTION DEFAULT
ENDEXEC.
str_insert-a = 'a'.
str_insert-b = 'b'.
EXEC SQL.
INSERT INTO ZSAP VALUES :str_insert
ENDEXEC.
The Structure of the ZSAP table (There is no data in ZSAP);
A CHAR 3 (Primary Key)
B CHAR 3
I cannot instert a record to this table it throughs the following error;
Runtime Errors DBIF_DSQL2_SQL_ERROR
Exceptn CX_SY_NATIVE_SQL_ERROR
How could use a structure to insert values into ZSAP?
Thanks,
KishanHello..
loop at T_PC.
loop at T_PCD .
at new NUMREFERENCIA.
exec sql.
INSERT INTO tblPolizaContableR3
(LibroMayor, PeriodoContable, Prefijo, NumReferencia,
Fecha, FuenteDiario, ComentarioPoliza, Moneda,
TipoCambio, RefExternaID1, RefExternaID2, RefExterna1,
RefExterna2, DescRefExterna)
VALUES (:T_PC-LIBROMAYOR, :T_PC-PERIODOCONTABLE,
:T_PC-PREFIJO, :T_PC-NUMREFERENCIA, :T_PC-FECHA,
:T_PC-FUENTEDIARIO, :T_PC-COMENTARIOPLIZA, :T_PC-MONEDA,
:T_PC-TIPOCAMBIO, :T_PC-REFEXTARNAID1, :T_PC-REFEXTERNAID2,
:T_PC-REFEXTERNA1, :T_PC-REFEXTERNA2, :T_PC-DESCREFEXTERNA)
endexec.
endat.
exec sql.
INSERT INTO tblPolizaContableDetR3
(LibroMayor, PeriodoContable, Prefijo, NumReferencia,
Partida, Cuenta, CuentaIMSA, CCostoIMSA,
Cargo, Abono, ComentarioPartida)
VALUES (:T_PCD-LIBROMAYOR, :T_PCD-PERIODOCONTABLE,
:T_PCD-PREFIJO, :T_PCD-NUMREFERENCIA, :T_PCD-PARTIDA,
:T_PCD-CUENTA, :T_PCD-CUENTAIMSA, :T_PCD-CCOSTOIMSA,
:T_PCD-CARGO, :T_PCD-ABONO, :T_PCD-COMENPARTIDA)
endexec.
endloop.
Hope this help you.
Regards, Gustavo Estrada -
Hi,
My ProC code works fine when I have Exec sql in it but when I include plsql block in it using EXEC SQL EXECUTE, it throws the following error:
/tmp/cc88UGZa.o(.text+0x2c0): In function `main':
: undefined reference to `ECPGget_sqlca'
I have included all these below header files:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sqlca.h>
#include <sqlda.h>
#include <sqlcpr.h>
and the path have been mentioned in pcscfg.cfg as well.
what can be the reason and the solution to this please? Help is appreciated.
Thanks in advance!
AshYou have to use 'BEGIN procedure_name END' in the execute statement while calling PL/SQL Procedures
EXEC SQL EXECUTE
DECLARE
BEGIN
END;
END-EXEC; -
ORA-06528: Error executing PL/SQL profiler
Hai
I would like to see the outcome of package (to view the report on the package).In order to get that
I installed the below package connect as internal
sql>d:\oracle\orq81\rdbms\admin\profload.sql
In order to use dbms_profiler,after that i need to have installed profilling tables ,in order to get i ran proftab.sql ,and its created three tables are
plsql_profiler_data,plsql_profiler_units,plsql+profiler_runs
after that i ran the below procedure
create or replace procedure do_mod as
cnt number := 0;
begin
dbms_profiler.start_profiler( 'mod' );
for i in 1 .. 500000
loop
cnt := cnt + 1;
if ( mod(cnt,1000) = 0 )
then
commit;
end if;
end loop;
dbms_profiler.stop_profiler;
end;/
PL/SQL procedure successfully completed.
exec no_mod
PL/SQL procedure successfully completed.
In order to see the report on packge ,i had query the table , RUN_TOTAL_TIME IS 3.5190E+11(this is seconds)
my qusetion is
1)
Please explain me that is total amount time in seconds or minutes,i donnot understand what is 3.5190e+11
SQL> select RUNID,RUN_COMMENT,RUN_TOTAL_TIME FROM PLSQL_PROFILER_RUNS;
RUNID
RUN_COMMENT
RUN_TOTAL_TIME
1
mod
7.0975E+11
2
mod
6.9767E+11
RUNID
RUN_COMMENT
RUN_TOTAL_TIME
3
no mod
3.5190E+11
2)
I had ran the above script one of the schema ,and successfully created above procedure.When i execte,it retuns below error message
SQL> exec do_mod;
BEGIN do_mod; END;
ERROR at line 1:
ORA-06528: Error executing PL/SQL profiler
ORA-06512: at "SYS.DBMS_PROFILER", line 123
ORA-06512: at "SYS.DBMS_PROFILER", line 132
ORA-06512: at "MOHAN1.DO_MOD", line 4
ORA-06512: at line 1
Any one any idea about that
Regards
mohan1) Run_total_time is the elapsed total time in nanoseconds.
A nanosecond is one billionth of a second.
It is displayed in scientific notation
where E stands for "times ten to the power of".
So, 3.5190E+11 nanoseconds
= 3.5190 * 100000000000 nanoseconds
= 351900000000 nanoseconds
= 351900000000 billionths of a second
= 351900000000 / 1000000000 seconds
= 351.9 seconds
If you want to display it in seconds, use:
SELECT runid,
run_comment,
run_total_time / 1000000000 AS seconds
FROM plsql_profiler_runs;
2) The only thing that looks wrong about your do_mod procedure
is the last line:
end;/
The / should be on the next line.
Other than that, I don't see any possible cause for
the error. -
Error Text = PL/SQL: ORA-00926
Can some one tell me what the problem is with this, fairly urgent
ERROR:Line # = 120 Column # = 28 Error Text = PL/SQL: ORA-00926: missing VALUES keyword
Line # = 120 Column # = 2 Error Text = PL/SQL: SQL [b]Statement ignored
Oracle Migration Workbench
CREATE OR REPLACE FUNCTION "SA"."SPCXDB_DELIVERPRJ" (
CurrUser_ID IN NUMBER DEFAULT NULL,
Object_ID IN NUMBER DEFAULT NULL,
Path_ID IN NUMBER DEFAULT NULL,
IsLastPhase IN NUMBER DEFAULT NULL,
NewPhase_ID IN NUMBER DEFAULT NULL,
User_ID IN NUMBER DEFAULT NULL,
Comment_ IN VARCHAR2 DEFAULT NULL,RC1_CALL IN OUT Omwb_emulation.globalPkg.RCT1 )
RETURN INTEGER
AS
CurrUser_ID_ NUMBER(10,0) := CurrUser_ID;
Object_ID_ NUMBER(10,0) := Object_ID;
Path_ID_ NUMBER(10,0) := Path_ID;
IsLastPhase_ NUMBER(3,0) := IsLastPhase;
NewPhase_ID_ NUMBER(10,0) := NewPhase_ID;
User_ID_ NUMBER(10,0) := User_ID;
Comment__ VARCHAR2(255) := Comment_;
StoO_selcnt INTEGER;
StoO_error INTEGER;
StoO_rowcnt INTEGER;
StoO_crowcnt INTEGER := 0;
StoO_fetchstatus INTEGER := 0;
StoO_errmsg VARCHAR2(255);
StoO_sqlstatus INTEGER;
tempVar1 NUMBER :=3;
tempVar2 NUMBER :=1;
id NUMBER(10,0);
CURSOR ptr IS
SELECT Object_ID
FROM TT_DVROBJECTS;
dummy_var1 INTEGER;
/****** Object: Stored Procedure dbo.spCXDB_deliverprj Script Date: 2003-11-12 14:21:41 ******/
-- currently logged user id
BEGIN
NULL;
/*[SPCONV-ERR(12)]:(set XACT_ABORT) Manual conversion required*/
1) update project
IF SPCXDB_DELIVERPRJ.IsLastPhase_ = 0 THEN
BEGIN
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBObjects
SET DvrPath_ID = SPCXDB_DELIVERPRJ.Path_ID_,
DvrPhase_ID = SPCXDB_DELIVERPRJ.NewPhase_ID_,
DvrUser_ID = SPCXDB_DELIVERPRJ.User_ID_
WHERE Object_ID = SPCXDB_DELIVERPRJ.Object_ID_;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
-- Status = 4
END;
ELSE
BEGIN
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBObjects
SET DvrPath_ID = 0,
DvrPhase_ID = 0,
DvrUser_ID = 0
WHERE Object_ID = SPCXDB_DELIVERPRJ.Object_ID_;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
-- Status = 0
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBDeliverPaths
SET RefCount = RefCount - 1
WHERE Path_ID = SPCXDB_DELIVERPRJ.Path_ID_;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
2) get all subobjects , subprojects and documents
END;
END IF;
/* Emulating @@TRANCOUNT functionality in Oracle model */
omwb_emulation.globalPkg.trancount:=omwb_emulation.globalPkg.trancount+1;
/*[SPCONV-ERR(55)]:CREATE TABLE TT_DVROBJECTS_2-- TT_DVROBJECTS Will be used -- statement passed to ddl file*/
DELETE FROM TT_DVROBJECTS;
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
INSERT INTO TT_DVROBJECTS ; /*ERROR:Line # = 120 Column # = 28 Error Text = PL/SQL: ORA-00926: missing VALUES keyword
Line # = 120 Column # = 2 Error Text = PL/SQL: SQL Statement ignored
SQL SERVER 2000
BEGIN TRAN
CREATE TABLE #DvrObjects ( Object_ID int NOT NULL )
NSERT
#DvrObjects
EXEC
spCXDB_expandtree @Object_ID,3,1 */
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
BEGIN
/* demoDMS*/sa.spCXDB_expandtree(SPCXDB_DELIVERPRJ.Object_ID_,
tempVar1,
tempVar2,
RC1 => RC1_CALL);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
3) put documents and projects onto deliver path
NULL;/*DECLARE CURSOR ptr */
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
StoO_crowcnt := 0;
OPEN ptr;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
StoO_crowcnt := 0;
FETCH ptr INTO
SPCXDB_DELIVERPRJ.id;
EXCEPTION
WHEN OTHERS THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
IF ptr%NOTFOUND THEN
StoO_sqlstatus := 2;
StoO_fetchstatus := -1;
ELSE
StoO_sqlstatus := 0;
StoO_fetchstatus := 0;
END IF;
<<i_loop1>>
WHILE ( StoO_fetchstatus = 0) LOOP
BEGIN
-- IF (SELECT Status FROM CXDBObjects WHERE Object_ID = @id) = 4 AND
BEGIN
StoO_selcnt := 0;
StoO_error := 0;
StoO_rowcnt := 0;
SELECT 1 INTO StoO_selcnt
FROM DUAL
WHERE 0 <> (
SELECT DvrPhase_ID
FROM CXDBObjects
WHERE Object_ID = SPCXDB_DELIVERPRJ.id ) AND SPCXDB_DELIVERPRJ.Path_ID_
= (
SELECT DvrPath_ID
FROM CXDBObjects
WHERE Object_ID = SPCXDB_DELIVERPRJ.id );
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
WHEN OTHERS THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
IF StoO_selcnt != 0 THEN
BEGIN
BEGIN
BEGIN
StoO_selcnt := 0;
StoO_error := 0;
StoO_rowcnt := 0;
SELECT 1 INTO StoO_selcnt
FROM DUAL
WHERE 0 = (
SELECT type_
FROM CXDBObjects
WHERE Object_ID = SPCXDB_DELIVERPRJ.id );
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
WHEN OTHERS THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
IF StoO_selcnt != 0 THEN
BEGIN
-- update project data
IF SPCXDB_DELIVERPRJ.IsLastPhase_ = 0 THEN
BEGIN
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBObjects
SET DvrPath_ID = SPCXDB_DELIVERPRJ.Path_ID_,
DvrPhase_ID = SPCXDB_DELIVERPRJ.NewPhase_ID_,
DvrUser_ID = SPCXDB_DELIVERPRJ.User_ID_
WHERE Object_ID = SPCXDB_DELIVERPRJ.id;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
-- Status = 4
END;
ELSE
BEGIN
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBObjects
SET DvrPath_ID = 0,
DvrPhase_ID = 0,
DvrUser_ID = 0
WHERE Object_ID = SPCXDB_DELIVERPRJ.id;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
-- Status = 0
--decrease path reference counter
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
UPDATE sa.CXDBDeliverPaths
SET RefCount = RefCount - 1
WHERE Path_ID = SPCXDB_DELIVERPRJ.Path_ID_;
StoO_rowcnt := SQL%ROWCOUNT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
END;
END IF;
END;
ELSE
BEGIN
BEGIN
dummy_var1 := /* demoDMS*/sa.spCXDB_deliverdocument(SPCXDB_DELIVERPRJ.CurrUser_ID_,
SPCXDB_DELIVERPRJ.id,
SPCXDB_DELIVERPRJ.Path_ID_,
SPCXDB_DELIVERPRJ.IsLastPhase_,
SPCXDB_DELIVERPRJ.NewPhase_ID_,
SPCXDB_DELIVERPRJ.User_ID_,
SPCXDB_DELIVERPRJ.Comment__);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
END;
END IF;
END;
END;
END IF;
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
StoO_crowcnt := 0;
FETCH ptr INTO
SPCXDB_DELIVERPRJ.id;
EXCEPTION
WHEN OTHERS THEN
StoO_rowcnt := 0;
StoO_selcnt := 0;
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
IF ptr%NOTFOUND THEN
StoO_sqlstatus := 2;
StoO_fetchstatus := -1;
ELSE
StoO_sqlstatus := 0;
StoO_fetchstatus := 0;
END IF;
END;
END LOOP;
BEGIN
StoO_error := 0;
StoO_rowcnt := 0;
CLOSE ptr;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
StoO_error := SQLCODE;
StoO_errmsg := SQLERRM;
raise_application_error(SQLCODE, SQLERRM,true);
END;
NULL;
/* Emulating @@TRANCOUNT functionality in Oracle model */
IF omwb_emulation.globalPkg.trancount = 1 THEN
COMMIT WORK;
END IF;
IF omwb_emulation.globalPkg.trancount > 0 THEN
omwb_emulation.globalPkg.trancount:=omwb_emulation.globalPkg.trancount-1;
END IF;
RETURN (0);
END SPCXDB_DELIVERPRJ;
Thank'sHi Hilary,
This is the original T-SQL code. Please, help me.
CREATE PROCEDURE spCXDB_deliverPrj
@CurrUser_ID int, -- currently logged user id
@Object_ID int,
@Path_ID int,
@IsLastPhase tinyint,
@NewPhase_ID int,
@User_ID int,
@Comment varchar(255) = NULL
AS
SET XACT_ABORT ON
1) update project
IF @IsLastPhase = 0
BEGIN
UPDATE
CXDBObjects
SET
DvrPath_ID = @Path_ID,
DvrPhase_ID = @NewPhase_ID,
DvrUser_ID = @User_ID
-- Status = 4
WHERE
Object_ID = @Object_ID
END
ELSE
BEGIN
UPDATE
CXDBObjects
SET
DvrPath_ID = 0,
DvrPhase_ID = 0,
DvrUser_ID = 0
-- Status = 0
WHERE
Object_ID = @Object_ID
UPDATE
CXDBDeliverPaths
SET
RefCount = RefCount - 1
WHERE
Path_ID = @Path_ID
END
2) get all subobjects , subprojects and documents
BEGIN TRAN
CREATE TABLE #DvrObjects ( Object_ID int NOT NULL )
INSERT
#DvrObjects
EXEC
spCXDB_expandtree @Object_ID,3,1
3) put documents and projects onto deliver path
DECLARE @id int
DECLARE ptr CURSOR FOR SELECT Object_ID FROM #dvrobjects
OPEN ptr
FETCH NEXT FROM ptr INTO @id
WHILE(@@FETCH_STATUS = 0)
BEGIN
-- IF (SELECT Status FROM CXDBObjects WHERE Object_ID = @id) = 4 AND
IF (SELECT DvrPhase_ID FROM CXDBObjects WHERE Object_ID = @id) <> 0 AND
(SELECT DvrPath_ID FROM CXDBObjects WHERE Object_ID = @id) = @Path_ID
BEGIN
IF (SELECT type FROM CXDBObjects WHERE Object_ID = @id) = 0
BEGIN
-- update project data
IF @IsLastPhase = 0
BEGIN
UPDATE
CXDBObjects
SET
DvrPath_ID = @Path_ID,
DvrPhase_ID = @NewPhase_ID,
DvrUser_ID = @User_ID
-- Status = 4
WHERE
Object_ID = @id
END
ELSE
BEGIN
UPDATE
CXDBObjects
SET
DvrPath_ID = 0,
DvrPhase_ID = 0,
DvrUser_ID = 0
-- Status = 0
WHERE
Object_ID = @id
--decrease path reference counter
UPDATE
CXDBDeliverPaths
SET
RefCount = RefCount - 1
WHERE
Path_ID = @Path_ID
END
END
ELSE
BEGIN
EXEC spCXDB_deliverdocument @CurrUser_ID, @id,@Path_ID,@IsLastPhase,@NewPhase_ID,@User_ID, @Comment
END
END
FETCH NEXT FROM ptr INTO @id
END
CLOSE ptr
DEALLOCATE ptr
COMMIT TRAN
RETURN(0)
Regards,
Emilia.
Maybe you are looking for
-
I set up Firefox sync before getting a new hard drive. My understanding is that my favs and bookmarks would be stored on Firefox servers and could be synced to any of my devices. However, now that I'm trying to restore to my new hard drive, it appear
-
[SOLVED] Possibly dead hard drive or bad raid setup...
I have a 4 drive raid5 running. Just recently one of the drives kept removing itself from the array. I have re / formated / partitioned the drive multiple times, but either mdadm doesn't accept the drive, or it accepts, resyncs, and when i try to acc
-
SAP UI5 export to PDF ( Fetch data dynamically )
Hello Everyone, I am creating a utility wherein the data ( table ) would be fetched from the back end and then it would be displayed on the front end. I have follewed the approach of Chandrashekhar ( Display Smartform (PDF) in SAPUI5 ) but I want t
-
TS1424 I'm unable to connect to itunes on my WinXP machine.
The Help Diagnostics tells me I'm not connected to the internet when I am. Similar discussions refer to the fix being jusy to click on the "US Flag" icon on the bottom of the store page - but my store page is just blank. any other ideas would be grea
-
J2sdk1.4.1 installation in Solaris 2.6
Hi, I've installed the "j2sdk-1_4_1-rc-solaris-i586.sh" (Solaris j2sdk1.4.1) and "J2SE_Solaris_2[3].6_x86_Recommended.tar.Z" (patch for solaris 2.6). And make the j2sdk1.4.1 de default java. When running java, the following message ocurrs: 18:03 eid@