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!!
    AJ

    Hi 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.

  • Error EXEC SQL

    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
    Wille

    HI,
    •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,
    Gianluca

    hello,
    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,
    Kishan

    Hello..
      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

  • Exec sql Execute in Pro*C

    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!
    Ash

    You 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
    mohan

    1) 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's

    Hi 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

  • How do I restore my bookmarks and favorites from the Firefox servers using my recovery key with a new hard drive?

    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@