Run a SQL procedure with multi database querying from Excel

I'm using SQL Server 2008 Enterprise. I created a procedure in one database. The procedure is composed of several queries to different databases and the final combined result set is being displayed.
I try to execute it via Excel, so the results will appear automatically in Excel sheet, but I'm getting the error:
"The query did not run, or the database table could not be opened. Check the database server or contact your DBA. Make sure the external
database is available and hasn't been moved or recognized, then try the operation again".
I created a simpler procedure that queries only one database, and the results displayed at the Excel sheet with no issues.
I suspect that, the original procedure failed due to the fact that I'm querying several databases in the procedure, when in the connection details of the "External Data Properties", only one database is mentioned.
My question is - can it be solved? Can I use multiple databases in the procedure and see it in the Excel?
Thanks, Roni

Use Global Temporary table(##) instead of Local Temporary table(#).
The scope of the temp table is limited to one database and it dispose automatically when jump to another database.
No, that is not correct. From where did you get that idea?
USE tempdb
go
CREATE TABLE #a(a int NOT NULL)
INSERT #a(a) VALUES(9)
go
USE master
go
SELECT a FROM #a
go
USE msdb
go
SELECT a FROM #a
go
DROP TABLE #a
And Roni's stored procedure does not even change database.
...however, the temp tables may very well be the problem, but for a completely different reason. Excel may ask SQL Server for the shape of the result set before it runs the procedeure, and this does not work with the temp tables. For this reason, using a
table variable my save the show.
Erland Sommarskog, SQL Server MVP, [email protected]

Similar Messages

  • Need help with multi database query.

    Hello,
    I am working on a query between multiple databases to be view on a web app.  We have multiple web apps and we are integrating some functionality between them all into one page. 
    The data will be for a delegate someone sets for themselves (they can have more then one also).  I need a way to pull the data view it as follows.
    User, UserNumber, DelegateName, ForApp, ForApp, ForApp, ForApp, ForApp, ForApp
    I have had no problem pulling the delegates themselves and which apps they are a delegate for,  but not which person they are the delegate for.
    SELECT DISTINCT
    dbo.Employee.Position_Num AS Delegate_Position, dbo.Employee.Name AS [Delegate Name],
    (CASE WHEN Hierarchy.dbo.Employee.Position_Num = CVI_Delegate.Delegate THEN 1 ELSE 0 END) AS For_CVI,
    (CASE WHEN Hierarchy.dbo.Employee.Position_Num = Travel_Delegate.Delegate THEN 1 ELSE 0 END) AS For_Travel,
    (CASE WHEN Hierarchy.dbo.Employee.Position_Num = Dept_Deposits_Delegate.Delegate THEN 1 ELSE 0 END) AS For_DeptDeposit,
    dbo.OKCorral_Delegate.For_UserRoles AS For_OkCorralUR, dbo.OKCorral_Delegate.For_FiscalApprover AS For_OkCorralFA,
    (CASE WHEN Hierarchy.dbo.Employee.Position_Num = Reqs_Delegate.Delegate THEN 1 ELSE 0 END) AS For_Reqs
    FROM dbo.Employee LEFT OUTER JOIN
    Reqs.dbo.Delegate AS Reqs_Delegate ON dbo.Employee.Position_Num = Reqs_Delegate.Position LEFT OUTER JOIN
    DeptDeposits.dbo.Delegate AS Dept_Deposits_Delegate ON dbo.Employee.Position_Num = Dept_Deposits_Delegate.Position LEFT OUTER JOIN
    CVI.dbo.Delegate AS CVI_Delegate ON dbo.Employee.Position_Num = CVI_Delegate.Position LEFT OUTER JOIN
    dbo.OKCorral_Delegate ON dbo.Employee.Position_Num = dbo.OKCorral_Delegate.Position LEFT OUTER JOIN
    Travel.dbo.Delegate AS Travel_Delegate ON dbo.Employee.Position_Num = Travel_Delegate.Position
    This query works fine.  The problem I run into is I have to use the same Employee table to get the EmployeeName and Number
    Which will be used for both the person and the delegate.  Any ideas will be a great help.  It had been suggested I use a procedure to accomplish this, but I have no idea where to start that at.  I also have tried a nested sbu-query but since
    a person can have more then one delegate for an app,  this through errors.  Thanks.
    George Fields

    Ok,  here are the tables Travel Application Database/Delegate Table
    INSERT INTO [Travel].[dbo].[Delegate]
    ([Position]
    ,[Delegate]
    ,[StartDate]
    ,[EndDate]
    ,[CreateDate]
    ,[EditDate])
    VALUES
    (<Position, char(6),>
    ,<Delegate, char(6),>
    ,<StartDate, datetime,>
    ,<EndDate, datetime,>
    ,<CreateDate, datetime,>
    ,<EditDate, datetime,>)
    GO
    Requistions Application /Table Delegates
    INSERT INTO [Reqs].[dbo].[Delegate]
    ([Position]
    ,[Delegate]
    ,[StartDate]
    ,[EndDate]
    ,[CreateDate]
    ,[EditDate])
    VALUES
    (<Position, char(6),>
    ,<Delegate, char(6),>
    ,<StartDate, datetime,>
    ,<EndDate, datetime,>
    ,<CreateDate, datetime,>
    ,<EditDate, datetime,>)
    GO
    Heirarchy Database for Purchasing Application / Delegates Table
    INSERT INTO [Hierarchy].[dbo].[OKCorral_Delegate]
    ([Dept_Campus]
    ,[For_DeptNum]
    ,[Position]
    ,[Delegate]
    ,[StartDate]
    ,[EndDate]
    ,[CreateDate]
    ,[EditDate]
    ,[For_FiscalApprover]
    ,[For_UserRoles])
    VALUES
    (<Dept_Campus, char(2),>
    ,<For_DeptNum, char(5),>
    ,<Position, char(6),>
    ,<Delegate, char(6),>
    ,<StartDate, datetime,>
    ,<EndDate, datetime,>
    ,<CreateDate, datetime,>
    ,<EditDate, datetime,>
    ,<For_FiscalApprover, bit,>
    ,<For_UserRoles, bit,>)
    GO
    Heirarchy Database / Employee Table
    INSERT INTO [Hierarchy].[dbo].[Employee]
    ([Dept_Num]
    ,[Position_Num]
    ,[Email]
    ,[Name]
    ,[Campus]
    ,[CWID]
    ,[Student]
    ,[Employee]
    ,[OPID]
    ,[Gender]
    ,[Birth_Date])
    VALUES
    (<Dept_Num, char(5),>
    ,<Position_Num, char(6),>
    ,<Email, varchar(75),>
    ,<Name, varchar(150),>
    ,<Campus, char(2),>
    ,<CWID, varchar(16),>
    ,<Student, char(1),>
    ,<Employee, char(1),>
    ,<OPID, char(4),>
    ,<Gender, char(1),>
    ,<Birth_Date, char(8),>)
    GO
    The other two databases also have a delegate table similar to the ones above.  As you can see all information about an employee is linked by their position number in the Employee Table.
    The Position Number is used in the Position field and Delegate field of all the Delegate tables.
    I am needing to pull an employee (actually all of them) List them and then show delegates for them by which applications the delegate holds permissions too. Which is the purpose of the delegate.  So a delegate may only be a delegate for one application
    or multiple which is why I am pulling from multiple databases.
    George Fields

  • Run Multiple SQL's in one Database and record there counts automatically.

    Hi ,
    I have to run 33 Sql's in three databases seperately and then have to match there counts, manually if i do it takes 3+ hours, is there any way to automate this in Toad i.e all 33 Sql's run in different databases and in the end i get the result count of all of them and then i compare the results.
    The 33 queries are:-
    select count(*),'FND_LOOKUP_VALUES' as TABLE_NAME from FND_LOOKUP_VALUES a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CSF_DEBRIEF_HEADERS' as TABLE_NAME from CSF_DEBRIEF_HEADERS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CSF_DEBRIEF_LINES' as TABLE_NAME from CSF_DEBRIEF_LINES a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENTS_AUDIT_B' as TABLE_NAME from CS_INCIDENTS_AUDIT_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_LINKS' as TABLE_NAME from CS.CS_INCIDENT_LINKS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_SEVERITIES_TL' as TABLE_NAME from CS_INCIDENT_SEVERITIES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_STATUSES_TL' as TABLE_NAME from CS_INCIDENT_STATUSES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_TYPES_TL' as TABLE_NAME from CS_INCIDENT_TYPES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_URGENCIES_TL' as TABLE_NAME from CS_INCIDENT_URGENCIES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENTS_ALL_B' as TABLE_NAME from CS_INCIDENTS_ALL_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_HZ_SR_CONTACT_POINTS' as TABLE_NAME from CS_HZ_SR_CONTACT_POINTS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENTS_ALL_TL' as TABLE_NAME from CS_INCIDENTS_ALL_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CSI_ITEM_INSTANCES' as TABLE_NAME from CSI_ITEM_INSTANCES a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_RS_GROUPS_B' as TABLE_NAME from JTF_RS_GROUPS_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_REFERENCES_B' as TABLE_NAME from JTF_TASK_REFERENCES_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'OKC_K_LINES_B' as TABLE_NAME from OKC_K_LINES_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'OKC_K_ITEMS' as TABLE_NAME from OKC_K_ITEMS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'HZ_RELATIONSHIPS' as TABLE_NAME from HZ_RELATIONSHIPS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'HZ_CONTACT_POINTS' as TABLE_NAME from HZ_CONTACT_POINTS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'HZ_PARTY_SITES' as TABLE_NAME from HZ_PARTY_SITES a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'MTL_SYSTEM_ITEMS_TL' as TABLE_NAME from MTL_SYSTEM_ITEMS_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_ASSIGNMENTS' as TABLE_NAME from JTF_TASK_ASSIGNMENTS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_PRIORITIES_TL' as TABLE_NAME from JTF_TASK_PRIORITIES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_PRIORITIES_B' as TABLE_NAME from JTF_TASK_PRIORITIES_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_STATUSES_TL' as TABLE_NAME from JTF_TASK_STATUSES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASKS_B' as TABLE_NAME from JTF_TASKS_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_OBJECTS_TL' as TABLE_NAME from JTF_OBJECTS_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_TYPES_TL' as TABLE_NAME from JTF_TASK_TYPES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_AUDITS_B' as TABLE_NAME from JTF_TASK_AUDITS_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_ASSIGNMENTS' as TABLE_NAME from JTF_TASK_ASSIGNMENTS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'EMCCS_SRLOG_ADD_AUDIT_COLMS' as TABLE_NAME from EMCCS_SRLOG_ADD_AUDIT_COLMS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*), 'cs_incident_statuses_b' as TABLE_NAME from cs.cs_incident_statuses_b a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*), 'jtf_task_statuses_b' as TABLE_NAME from jtf.jtf_task_statuses_b a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    Thanks in Advance.

    Hi,
    From TOAD you can connect to three different databases- that is different sessions with different DB's
    make a use of union operator and execute the queries.
    You can see the output in - output window.
    Select the output and right click save to excel sheet.
    Parallely you can run 33 sql in other sessions, do the same process as stated above and save to the same excel sheet but different instance (different sheet of excel)
    Now compare -- its demo for how to utilize the tool.
    Other way around, Create one table with two columns table_name, count.
    execute the select queries with union Operator and directly insert into the table.
    Perform the same above two steps in different databases.
    Now, from one database - create database link to other two dabases and provide select privilege on that table in order to access.
    Now, write a query to compare two tables using dblink.
    HTH
    - Pavan Kumar N
    OCP- Oracle 9i/10g
    http://oracleinternals.blogspot.com

  • Creating Web service for PL/SQL Procedure with Complex Data Types

    I need to created web service for PL/SQL Procedure with Complex Data types like table of records as parameters, how do we map the pl/sql table type parameters with web service, how to go about these?

    Hello,
    When you are creating a service from a Stored Procedure, the OracleAS WS tools will create necessary Java and PL wrapper code to handle the complex types (table of record) properly and make them compatible with XML format for SOAP messages.
    So what you should do is to use JDeveloper or WSA command line, to create a service from your store procedure and you will see that most of the work will be done for you.
    You can find more information in the:
    - Developing Web Services that Expose Database Resources
    chapter of the Web Service Developer's guide.
    Regards
    Tugdual Grall

  • PL/SQL Procedures with the same name

    Hi,
    I have some PL/SQL procedures with the same name but different arguments.
    If I try to catalog the second or third ALBPM always catalogs the first and I don't want to use this. ALBPM only catalogs the first one.
    ALBPM Studio Logs:
    Introspecci?n en curso...
    Agregando procedimiento 'ADM_SGI.UGDIASINOI'
    Agregando procedimiento 'ADM_SGI.UGDIASINOI'
    Agregando procedimiento 'ADM_SGI.UGDIASINOI'
    [Advertencia] No se puede agregar procedimiento 'UGDIASINOI'. Motivo: Duplicar nombre del componente (M?dulo DatabaseRoot.ADM_SGI - Componente UGDIASINOI)..
    [Advertencia] No se puede agregar procedimiento 'UGDIASINOI'. Motivo: Duplicar nombre del componente (M?dulo DatabaseRoot.ADM_SGI - Componente UGDIASINOI)..
    Analizando componentes
    Any solution or idea??
    Thanks!

    I need to retrive data from PL/SQL stored procedures. I am using the DynamicSQL component (2nd workaround) to retrive data from PL/SQL stored procedures. <br><br>
    I am having some problems.<br><br>
    This is the code I am running in Fuego Studio 5.5 SP 11 Build #71108:<br><br>
    dynamicSQL as Fuego.Sql.DynamicSQL<br>
    iterator as Iterator(Any[Any])<br>
    sentence as String<br>
    implname as String<br><br>
    dynamicSQL = Fuego.Sql.DynamicSQL()<br>
    implname = "conexionORBPAU"<br>
    sentence = "var result REFCURSOR; " + <br>
    "exec :result_cursor := pkg_audbpm_bpaasig_indicador.prgetsingle(9999);";<br>
    iterator = executeQuery(DynamicSQL, sentence, implname, inParameters : []);<br><br>
    And, this is the error:<br><br>
    java.sql.SQLException: Falta el parametro IN o OUT en el indice:: 1 <br>
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)<br>      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)<br>
    oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1681)<br>
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3280)<br>
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)<br>
         at fuego.jdbc.FaultTolerantPreparedStatement.executeQuery(FaultTolerantPreparedStatement.java:579)<br>
         at fuegoblock.sql.DynamicSQL.executeQuery(DynamicSQL.java:340)<br>
    ...<br><br>
    This is the code of the PL/SQL in the Oracle DB:<br><br>
    CREATE OR REPLACE PACKAGE PKG_AUDBPM_BPAASIG_INDICADOR IS<br>
    TYPE cursor_type IS REF CURSOR;<br>
         FUNCTION prGetSingle<br>
         (<br>
              p_ID_ASIG_INDICADOR IN NUMBER<br>
         )<br>
         RETURN cursor_type;<br><br>
    END PKG_AUDBPM_BPAASIG_INDICADOR;<br><br>
    is my code OK? Any ideas?<br><br>
    Thanks in advance.<br>

  • How to call sql procedure with parameter from java

    Hello,
    i am trying to call one sql procedure with two parameters from java.
    the first parameter is In parameter, the second is OUT.
    the return value of this java method should be this second parameter value.
    the following is my java code:
    protected String getNextRunNumber() {
         String runnumber=null;
         String sql = "{call APIX.FNC_SST_EXPORT.GET_NEXT_RUNNUMBER (?,?)}";
    CallableStatement state = null;
    try{
         Connection con= getDatabaseConnection();
         state = con.prepareCall(sql);
         state.setString(1, m_appKeyExport);
         state.registerOutParameter(2,Types.NUMERIC,0);
         state.execute();
    ResultSet resultR = (ResultSet)state.getObject(2);
         while (resultR.next()) {
              runnumber=resultR.getBigDecimal(1).toString();
    catch (SQLException e){System.out.println("You can not get the export next run number properly");}
    return runnumber;
    i got error message like:
    java.lang.ClassCastException: java.math.BigDecimal
    As far as i knew, if the parameter is number or decimal, we should give also the paramer scale to the method: state.registerOutParameter(), but i still get this error message.
    Please help me to solve this problem.
    Thanks a lot.

    state.execute();
    i try to use debug to find the problem, in this line, i saw
    OracleCallableStatement(OraclePreparedStatement).execute() line: 642 [local variables unavailable]
    is this the problem?

  • Unable to Integrate to BC4J Components & Running PL/SQL Procedure

    I recently shifted to bc4j technology.
    i am having problem in calling one application module from
    another application module, using same transaction context.
    Another problem is running pl/sql procedure from doDML method of
    entity object, i also want to pass user's input to these
    procedures.

    Anant,
    If you want to call one application module from another, you
    should nest them in a root application module. The documentation
    describes how to nest application modules; basically you select
    the Application Modules tab in the application module editor.
    Nested application modules all share the transaction context of
    the root app module, so when you call one app module from another
    you're automatically using the same transaction context.
    The Oracle9i JDeveloper Release Candidate (which you can download
    from OTN) contains a sample that calls a PL/SQL stored procedure
    from BC4J. It's in <jdev_home>\BC4J\samples\StoredProc.
    Blaise

  • Running SQL Procedure with dg4msql errors: Function sequence error HY010

    I am trying to execute a stored procedure on a SQL database and get the error Function sequence error HY010.
    A simple query on a table returns teh expected result.
    I have a single Win2008R2 server with MSSQL Express 2008 and Oracle 11gR2 (32bit not 64bit version of Oracle)
    Below is the gateway init, listener and tnsnames files and the query I am trying to run:
    -- initORIONWASP.ora --
    HS_FDS_CONNECT_INFO=INGRDB//waspForGIS
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
    HS_CALL_NAME=dbo.spTest;dbo.spQueryAsset;dbo.spQueryAssetDetails
    HS_FDS_PROC_IS_FUNC=TRUE
    HS_FDS_RESULTSET_SUPPORT=TRUE
    -- Listener.ora -- (partial)
    (SID_DESC =
    (SID_NAME = ORIONWASP)
    (ORACLE_HOME = C:\Oracle\product\11.2.0\dbhome_1)
    (PROGRAM=dg4msql)
    -- tnsnames.ora -- (partial)
    ORIONWASP =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=INGRDB)(PORT=1521))
    (CONNECT_DATA=(SID=ORIONWASP))
    (HS=OK)
    -- Simple Query --
    Running select "Asset_ID" from asset@ORIONWASP; returns the correct result
    Running select * from sys.procedures@ORIONWASP; returns a list of procedures including the procedure I want to run
    -- This pl/sql block returns the error ******* identifier 'spTest@ORIONWASP' must be declared *******
    declare
    begin
    "spTest"@ORIONWASP;
    end;
    -- This passthrough pl/sql block returns ******** [Oracle][ODBC SQL Server Driver]Function sequence error {HY010} ********
    DECLARE
    CRS BINARY_INTEGER;
    RET BINARY_INTEGER;
    v_COL1 VARCHAR2(50);
    v_COL2 VARCHAR2(50);
    BEGIN
    CRS := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@ORIONWASP;
    DBMS_HS_PASSTHROUGH.PARSE@ORIONWASP(CRS, 'exec spTest');
    BEGIN
    RET := 0;
    WHILE (TRUE)
    LOOP
    ret := DBMS_HS_PASSTHROUGH.FETCH_ROW@ORIONWASP(CRS, FALSE);
    DBMS_HS_PASSTHROUGH.GET_VALUE@ORIONWASP(CRS, 1, v_COL1);
    DBMS_HS_PASSTHROUGH.GET_VALUE@ORIONWASP(CRS, 2, v_COL2);
    DBMS_OUTPUT.PUT_Line('Col1:'||v_COL1||' Col2:'||v_COL2);
    END LOOP;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    BEGIN
    DBMS_OUTPUT.PUT_LINE('End of Fetch');
    DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@ORIONWASP(CRS);
    END;
    END;
    END;
    /

    The gateway configuration file contains:
    HS_FDS_PROC_IS_FUNC=TRUE
    HS_FDS_RESULTSET_SUPPORT=TRUE
    This setting commonly causes problems and you need to set
    HS_FDS_PROC_IS_FUNC=TRUE
    HS_FDS_RESULTSET_SUPPORT=FALSE
    for normal procedure calls and
    HS_FDS_PROC_IS_FUNC=FALSE
    HS_FDS_RESULTSET_SUPPORT=TRUE
    when calling the procedure with ref cursors.
    There's a note in My Oracle Support that gives you examples how to call remote SQl Server procedures
         Note.197192.1 Different Methods How To Call MS SQL Server Procedures Using TG4MSQL - DG4MSQL
    and another one for the Sybase gateway but this code is similar for the SQL Server:
    Article-ID: Note 351400.1
    Title: How to Call a Remote Sybase Procedure Using TG4SYBS

  • Pl/sql procedure with shell script

    Hi Guys,
    I will be updating some of the columns in the database thru SQL UPDATE stament. I want to make this process automatic. I.e instead of running manually this uodate process, i want to write a unix script which run on cron job. In the update stament I have to compare date like e_create_date > to_date (........, 'yymmdd') and date should be 2 days previous then to date and I would ike to create the spool file which I would like to send through mail.the script will run automatically.
    I am confused how to write shell script & sql procedure and how to call it inside the shell script. How can this be done.
    Help Appreciated.
    Thanks
    sonu

    save the Store procedure as a create_SP.sql in OS
    save another testrun.sql
    as follows
    begin
    sp_test('&p_test');
    end;
    If you are on a Unix or Solaris OS then
    open a Shell Script as follows :
    and name as test.sh or test.ksh
    var='SYSTEM'
    export var
    sqlplus username/password
    @create_SP.sql
    -- this created a store procedure on the database
    @testrun.sql $var
    This will execute the SP with parameter from OS Variable.

  • Debugging PL/SQL procedures with JDeveloper ?

    Hi,
    does anyone know if it is possible to debug PL/SQL procedures and packages with JDeveloper ? I'm using a 9.0.1.2.0 database but JDeveloper returns the error "The target VB_TEST could not be started because the database version does not support debugging." when I try to debug a PL/SQL procedure.
    If it is not possible, does anyone know a good alternative ?Oracle Script Debugger is not available anymore at technet.

    I need to retrive data from PL/SQL stored procedures. I am using the DynamicSQL component (2nd workaround) to retrive data from PL/SQL stored procedures. <br><br>
    I am having some problems.<br><br>
    This is the code I am running in Fuego Studio 5.5 SP 11 Build #71108:<br><br>
    dynamicSQL as Fuego.Sql.DynamicSQL<br>
    iterator as Iterator(Any[Any])<br>
    sentence as String<br>
    implname as String<br><br>
    dynamicSQL = Fuego.Sql.DynamicSQL()<br>
    implname = "conexionORBPAU"<br>
    sentence = "var result REFCURSOR; " + <br>
    "exec :result_cursor := pkg_audbpm_bpaasig_indicador.prgetsingle(9999);";<br>
    iterator = executeQuery(DynamicSQL, sentence, implname, inParameters : []);<br><br>
    And, this is the error:<br><br>
    java.sql.SQLException: Falta el parametro IN o OUT en el indice:: 1 <br>
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)<br>      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)<br>
    oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1681)<br>
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3280)<br>
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)<br>
         at fuego.jdbc.FaultTolerantPreparedStatement.executeQuery(FaultTolerantPreparedStatement.java:579)<br>
         at fuegoblock.sql.DynamicSQL.executeQuery(DynamicSQL.java:340)<br>
    ...<br><br>
    This is the code of the PL/SQL in the Oracle DB:<br><br>
    CREATE OR REPLACE PACKAGE PKG_AUDBPM_BPAASIG_INDICADOR IS<br>
    TYPE cursor_type IS REF CURSOR;<br>
         FUNCTION prGetSingle<br>
         (<br>
              p_ID_ASIG_INDICADOR IN NUMBER<br>
         )<br>
         RETURN cursor_type;<br><br>
    END PKG_AUDBPM_BPAASIG_INDICADOR;<br><br>
    is my code OK? Any ideas?<br><br>
    Thanks in advance.<br>

  • ORA-600 [17069] error while running catrelod.sql to downgrade 11g database

    Hi,
    We are downgrading our 11.2.0.2 database to 10.2.0.4. We have successfullly run catdwgrd.sql without any errors in 11g env. While running catrelod.sql in 10g env we are facing the following error:
    SQL> @?/rdbms/admin/catrelod.sql
    TIMESTAMP
    COMP_TIMESTAMP RELOD__BGN 2013-04-24 20:15:39 2456407 72939
    DOC>#######################################################################
    DOC>#######################################################################
    DOC>  The following statement will cause an "ORA-01722: invalid number"
    DOC>  error if the database server version is not 10.0.0.
    DOC>  Shutdown ABORT and use a different script or a different server.
    DOC>#######################################################################
    DOC>#######################################################################
    DOC>#
    no rows selected
    DOC>#######################################################################
    DOC>#######################################################################
    DOC>  The following statement will cause an "ORA-01722: invalid number"
    DOC>  error if the database has not been opened for MIGRATE.
    DOC>
    DOC>  Perform a "SHUTDOWN ABORT"  and
    DOC>  restart using MIGRATE.
    DOC>#######################################################################
    DOC>#######################################################################
    DOC>#
    no rows selected
    Session altered.
    Session altered.
    no rows selected
    DECLARE
    ERROR at line 1:
    ORA-00600: internal error code, arguments: [17069], [0x170FB8CA8], [], [], [],
    [], [], []I have checked the trace file in udump but it dint give any readable information.
    Please find below environment details.
    OS : RHEL 5 64 bit
    11g Database : 11.2.0.2
    10g Database : 10.2.0.4
    Kindly assist.

    KR10822864 wrote:
    Whenever an ORA-600 error is raised a trace file is generated and an entry written to the alert.log with details of the trace file location. Starting with Oracle Database 11g Release 1, the diagnosability infrastructure was introduced which places the trace and core files into a location controlled by the DIAGNOSTIC_DEST initialization parameter when an incident, such as an ORA-600 is created. For earlier versions, the trace file will be written to either USER_DUMP_DEST (if the error was caught in a user process) or BACKGROUND_DUMP_DEST (if the error was caught in a background process like PMON or SMON). The trace file contains vital information about what led to the error condition
    please post 40 lines of alert log info .
    MOS Note:ORA-600 [17069] "Failed to pin a library cache object after 50 attempts" [ID 39616.1]
    "Look in the trace file for the text 'LIBRARY OBJECT HANDLE: handle=170fb8ca8'"
    if not found any massages like above please raise [email protected].
    Hi KR,
    Thanks for your help. As suggested I have checked the trace file to search and found the below info. I suppose it is some kind of lock but not sure about it. Please let me know if the following makes sense:
        SO: 0x21158a6e0, type: 3, owner: 0x211006f28, flag: INIT/-/-/0x00
        (call) sess: cur 211572570, rec 211572570, usr 211572570; depth: 0
          SO: 0x21158a9b8, type: 3, owner: 0x21158a6e0, flag: INIT/-/-/0x00
          (call) sess: cur 211572570, rec 0, usr 211572570; depth: 1
            SO: 0x1727a2618, type: 54, owner: 0x21158a9b8, flag: INIT/-/-/0x00
            LIBRARY OBJECT PIN: pin=1727a2618 handle=170fb8ca8 mode=S lock=171243e98
            user=211572570 session=211572570 count=1 mask=001d savepoint=0x43 flags=[00]
            SO: 0x171243e98, type: 53, owner: 0x21158a9b8, flag: INIT/-/-/0x00
            LIBRARY OBJECT LOCK: lock=171243e98 handle=170fb8ca8 mode=S
            call pin=0x1727a2618 session pin=(nil) hpc=0000 hlc=0000
            htl=0x171243f18[0x17278a310,0x17278a310] htb=0x17278a310 ssga=0x172789928
            user=211572570 session=211572570 count=1 flags=PNC/[0400] savepoint=0x43
            LIBRARY OBJECT HANDLE: handle=170fb8ca8 mtx=0x170fb8dd8(0) cdp=0
            name=SYS.STANDARD
            hash=51570e225ed8a9a803b7318f191e0a8d timestamp=04-18-2006 00:00:00
            namespace=TABL flags=KGHP/TIM/SML/[02000000]
            kkkk-dddd-llll=0000-001d-001d lock=S pin=S latch#=3 hpc=0004 hlc=0004
            lwt=0x170fb8d50[0x170fb8d50,0x170fb8d50] ltm=0x170fb8d60[0x170fb8d60,0x170fb8d60]
            pwt=0x170fb8d18[0x170fb8d18,0x170fb8d18] ptm=0x170fb8d28[0x170fb8d28,0x170fb8d28]
            ref=0x170fb8d80[0x170fb8d80,0x170fb8d80] lnd=0x170fb8d98[0x170f05b50,0x170fa6858]
              LIBRARY OBJECT: object=170e82de8
              type=PCKG flags=EXS/LOC[0005] pflags=NST/IVR[0201] status=VALD load=0
              DATA BLOCKS:
              data#     heap  pointer    status pins change whr
                  0 170e831f8 170e82fc0 I/P/A/-/-    0 NONE   00
          SO: 0x21158e470, type: 5, owner: 0x21158a6e0, flag: INIT/-/-/0x00
          (enqueue) CU-70E88BC0-00000001    DID: 0001-001F-00000004
          lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2
          res: 0x17677adc8, mode: X, lock_flag: 0x0
          own: 0x211572570, sess: 0x211572570, proc: 0x211006f28, prv: 0x17677add8
          SO: 0x177f82c28, type: 59, owner: 0x21158a6e0, flag: INIT/-/-/0x00
          cursor enqueue
          child: 170e89348, flag: 53, number: 0
          parent: 170e89738

  • Report with stored proc running multiple stored procedures with insert statement

    Hi,
    I wonder if this is possible in SSRS ... I use the 2012 version (Data Tools).
    I have a report that triggers a stored procedure. See below.
    Within this SP there are 2 insert statements getting data from 2 other SP's.
    When I make a dataset referring to the main SP below, SSRS does not show me any fields at all.
    Is this because it's a SP with insert statements and nested SP's?
    At the end of the SP I make a select so it should see all the fields.
    The parameters @month and @costcenter are multivalue params. I use a special function to convert the multivalues, selected in the report, into a string to pass it correctly to the query (comma separated).
    USE [TestDB]
    GO
    /****** Object:  StoredProcedure [dbo].[_Pink_SP_StandingsRegisterDataset]    Script Date: 15-4-2014 13:31:30 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[_Pink_SP_StandingsRegisterDataset]
    @year INT,
    @month NVARCHAR(50),
    @costcenter NVARCHAR(500),
    @GLaccount NVARCHAR(9)
    AS
    BEGIN
    /* Remove existing content*/
    DELETE FROM _Pink_TB_StandingsRegister
    /* Add records part 1 */
    INSERT INTO _Pink_TB_StandingsRegister
    EXEC _Pink_SP_StandingsRegister @year, @month, @costcenter, @GLaccount
    /* Add records part 2 */
    INSERT INTO _Pink_TB_StandingsRegister
    Type,
    Row,
    Year,
    Month,
    YearDatetable,
    MonthDatetable
    EXEC _Pink_SP_StandingsRegisterDatetable @year
    /* Select all records */
    SELECT *
    FROM _Pink_TB_StandingsRegister
    END
    GO

    Hi bijntjede2e,
    After testing a similar scenario in my own environment, it works well in Reporting Services. In my test, the stored procedure returns all the fields from _Pink_TB_StandingsRegister table in the dataset. Then I select some values from year, month, costcenter
    and Glaccount parameters, it inserts some values in the _Pink_TB_StandingsRegister table. So we can use this stored procedure as the dataset in the report.
    In order to solve the problem more efficiently, I need to clarify some information.
    Are you pass multiple values parameter to one stored procedure correctly? We can refer to the following thread:
    http://social.technet.microsoft.com/Forums/en-US/dbdfa101-cccc-4e9f-aa50-566dc5ebcc27/ssrs-2008-r2-report-dataset-call-a-stored-procedure?forum=sqlrep
    What results are you get when executing the stored procedure in SQL Server Management Studio? Is it works well? We should double those stored procedures.
    If there are any misunderstanding, please elaborate the issue for further investigation.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Procedure runs in SQL Plus, but not when called from my Oracle Form

    Hi. I have this code to send an email alert as the user updates a record on my base table from my Oracle Form. I use dbms_scheduler so that it's submitted as a background job and so the email processing does not delay my Oracle Form from saving quickly. If I submit this code in SQL Plus it executes and I receive the email as expected.
    begin
    dbms_scheduler.create_job ( 
         job_name            => 'IMMEDIATE_JOB', 
         job_type            => 'PLSQL_BLOCK', 
         job_action          => 'begin TTMS.dropperVacationConflict_Notify (62547, ''01-SEP-11'', ''02-SEP-11''); end;', 
         number_of_arguments => 0, 
         start_date          => sysdate +1/24/59, -- sysdate + 1 minute 
         enabled             => TRUE, 
         auto_drop           => TRUE, 
         comments            => 'Immediate, one-time run');
    end;However if I submit this code from a Post-Update trigger in my form the code runs without error, but my email is never received (the same parameter values would be passed to this trigger):
    begin
    -- Submit the email notification in the background so as to not slow down the screen while saving.   
    dbms_scheduler.create_job ( 
         job_name            => 'IMMEDIATE_JOB', 
         job_type            => 'PLSQL_BLOCK', 
         job_action          => 'begin TTMS.dropperVacationConflict_Notify (:dropper_vacations.dropper_id, :dropper_vacations.begin_dt, :dropper_vacations.end_dt); end;', 
         number_of_arguments => 0, 
         start_date          => sysdate +1/24/59, -- sysdate + 1 minute 
         enabled             => TRUE, 
         auto_drop           => TRUE, 
         comments            => 'Immediate, one-time run');
    end;     Any ideas why this might be happening?

    Wow, so I changed the two procedures so that I'm only passing in one number parameter and one char parameter...
    CREATE OR REPLACE procedure TTMS.job_vacationconflict_notify (p_dropper_id number, p_other char) IS
    CREATE OR REPLACE PROCEDURE TTMS.dropperVacationEmailURL_new (in_dropper_id number, in_other char) ISIf I execute it like this it works and I get the email:
    TTMS.job_vacationconflict_notify(62547, 99999);or like this it works and I get the email:
    TTMS.job_vacationconflict_notify(62547, '99999');But if I execute it like this (I get no errors) the email is not sent:
    TTMS.job_vacationconflict_notify(62547, 'ababa');So this problem really has nothing to do with date formats. It seems to have to do with whether parameter two has characters in it!!! What the heck.
    Any ideas on this?
    Here is the procedure I'm calling:
    CREATE OR REPLACE procedure TTMS.job_vacationconflict_notify (p_dropper_id number, p_other char) IS
    begin
      dbms_scheduler.create_job ( 
         job_name            => 'IMMEDIATE_JOB', 
         job_type            => 'PLSQL_BLOCK', 
         job_action          => 'begin TTMS.dropperVacationemailurl_new ('||p_dropper_id||','||p_other||'); end;', 
         number_of_arguments => 0, 
         start_date          => sysdate +1/24/59, -- sysdate + 1 minute 
         enabled             => TRUE, 
         auto_drop           => TRUE, 
         comments            => 'Immediate, one-time run');
    end;
    /And the above procedure is calling this procedure which should be sending the email alert:
    CREATE OR REPLACE PROCEDURE TTMS.dropperVacationEmailURL_new (in_dropper_id number, in_other char) IS
          myguid varchar2(15):=null;
          pcm_contact varchar2(3):=null;
          guid_contact varchar2(15):=null;
          conflict_cnt number(8):=0;
          -- Various declarations
          PSENDER VARCHAR2(200);            --  From
          PRECIPIENT VARCHAR2(200);         --  To
          P_CC_RECIPIENT VARCHAR2(200);     --  CC
          P_BCC_RECIPIENT VARCHAR2(200);    --  BCC
          PSUBJECT VARCHAR2(200);           --  Subject
          PMESSAGE VARCHAR2(6000);          --  Message Body
          PPARAMETER NUMBER;                --  Parameter Value
          guid_valid varchar2(15);          --  Used to grab the validation value of
          -- Grab name details of e-mail targets
          cursor targets is
          select guid, initcap(first_name) first_name, initcap(first_name)||' '||initcap(last_name) fullname
          from pwc_employee
          where upper(guid) = upper(guid_contact);
    BEGIN
            select count(*)
            into conflict_cnt
            from dropper_bundle_assign
            where
                dropper_sched = in_dropper_id and
                trunc(sched) <> '31-DEC-29' AND        
                trunc(sched) between '01-SEP-11' and '02-SEP-11' and
                trunc(sched) > trunc(sysdate);
            select distinct pcm
            into pcm_contact
            from dropper_bundle_assign
            where
                  dropper_sched = in_dropper_id and
                  trunc(sched) <> '31-DEC-29' AND        
                  trunc(sched) between '01-SEP-11' and '02-SEP-11' and
                  trunc(sched) > trunc(sysdate);
            select guid
            into guid_contact
            from pwc_employee
            where initials = pcm_contact;
        -- Ensure required parameters have been passed
        if guid_contact is not null
           and in_dropper_id is not null then
               Begin
                    select guid
                    into guid_valid
                    from pwc_employee
                    where upper(guid) = upper(guid_contact);
               Exception
                    when no_data_found then
                    raise_application_error(-20000,'Invalid Recipient.  Please check the employee table.  Please try again.');
               End;
               -- In the event there are multiple targets then we will loop thru and send individual emails
               for thisone in targets loop
                    PSENDER := lower(user)||'@us.ibm.com';
                    PRECIPIENT := lower(thisone.guid)||'@us.ibm.com';
                    P_CC_RECIPIENT := lower(thisone.guid)||'@us.ibm.com';
                    P_BCC_RECIPIENT := 'ssbuechl'||'@us.ibm.com';
                    PPARAMETER := TO_NUMBER(lower(in_dropper_id));
                    PSUBJECT := 'TEST: Dropper Vacation '||in_other||' Conflict Notification for dropper '||in_dropper_id||' - Action Required';
                    PMESSAGE := thisone.first_name||'-<br><br>There is an induction conflict due to a new or updated dropper vacation.<br><br>Click here to the dropper''s vacation conflicts: <u><a href="http://9.35.32.205:7777/forms/frmservlet?config=TTMSMENU&form=dropper_vacations&otherparams=p_dropper='||PPARAMETER||'">Dropper Id: '||PPARAMETER||'</a></u> (note: use your Oracle credentials when prompted for log-on information).<br><br>Thanks.';
                    SEND_MAIL ( PSENDER, PRECIPIENT, P_CC_RECIPIENT, P_BCC_RECIPIENT, PSUBJECT, PMESSAGE );  -- Procedure to physically send the e-mail notification
               end loop;
        else
              raise_application_error(-20001,'Recipient and Parameter Value are required. Please try again.');
        end if;
    exception
        when no_data_found then
             raise_application_error(-20002,'Note: Email will not be sent because no PCM was identified as the manager or the PCM does not have a record in the Employee table.  See ITS for assistance.');
         when too_many_rows then
             raise_application_error(-20003,'Note: Email will not be sent because multiple PCMs manage this dropper. Please notify each PCM manually.');
    END dropperVacationEmailURL_new;
    /Edited by: sharpe on Aug 17, 2011 4:38 PM
    Edited by: sharpe on Aug 17, 2011 5:03 PM

  • FND_REQUEST PL/SQL procedure with parameters

    Hi guys
    I have created a concurrent program, using PL/SQL procedure which has 2 in parameters. I am trying to call the concurrent program using
    v_req_id :=FND_REQUEST.SUBMIT_REQUEST('INV','OMS_POP_INVVALUES_P',
    NULL,SYSDATE,FALSE,l_on_date, l_org_id,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
    NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
    COMMIT;
    However, the concurrent program always failing with
    **Starts**26-AUG-2013 14:02:31 ORACLE error 6550 in FDPSTP Cause: FDPSTP failed due to ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'OMS_POP_INVVALUES_P' ORA-06550: line 1, column 7: PL/SQL: Statement ignored
    and I doubt it is because the database procedure call is not proper.
    I have set four parameters with the concurrent program, as they were with the procedure itself, which are
    p_on_date IN DATE, p_org_id IN NUMBER, errbuff   OUT VARCHAR2,retcode   OUT VARCHAR2
    Please help
    regards,
    raj

    Okay I fixed the problem by
    1. Changing the order of parameters with Procedure like following
    CREATE OR REPLACE PROCEDURE OMS_POP_INVVALUES_P (
    errbuff   OUT VARCHAR2,retcode   OUT NUMBER, p_on_date IN DATE, p_org_id IN NUMBER)
    IS
    and then changing the concurrent program call like following
    l_req_id :=
          fnd_request.submit_request('INV','OMS_POP_INVVALUES_P',
                                                                        NULL,SYSDATE,FALSE,l_in_date, l_org_id,CHR(0));
       :SYSTEM.Message_Level := '25';
       COMMIT;
    after removing all the parameters from the program parameter list. No need to pass any value for errbuff and retcode, just pass other parameters and end the parameter list with CHR(0). Hope this is useful for somebody else out there.
    Regards,
    raj

  • Run a Crystal Report ( with SAP BW Query ) on BO XI R2 SP2

    Hi SAP Guru,
    In one customer, we want integrate SAP BI 7.0 on Business Objects XI R2 SP2 ( Full Control Right ) to delivery dedicated reports to target users ( Scheduling )
    We strart with a simple query that it works fine on Bex..
    The integration Kit for SAP was installed on BO server and transports on SAP BW Server (based on Thread of Ingo).
    For scheduling, I create a Business View based on my BW query and I create my crystal report. Everything work fine, when I launch my report localy on my desktop.
    The problem arrives when I want schedule my report on the CMC or in infoview. I received a error message :
    Failed to open the connection. D:ApplBusiness ObjectsBusinessObjects Enterprise 11.5DataprocSched  -  system - ~tmp148860c59ff44c6.rpt
    I try to schedule a report without Business View but I receive the same message.
    Questions :
    1 ) Is the Integation Kit for SAP is enable for this environement ( SAP BI 7.0 and BO XI R2 SP2 ) ?
    2) Have you any suggestion of resolution for my problem ?
    If you need more info, I will update my thread..
    Thanks in advance for your help...
    Cédric

    Thanks for your quick reply !!!
    are you able to run your report on-demand in the InfoView?
    --> I receive my error when I open/run  the report.
    Which version of CR Designer are you using?
    -->  CR 11.5.9
    Any chance to upgrade? There is already SP6 available for XI R2.
    --> We project to migrate to R3.1 this year but we want to show report earlier ( if it's possible on R2 of course ).
    Cédric

Maybe you are looking for