OSB with database adapter using stored procedure
Hi All,
We have a following requirement, in OSB while using the DB adapter with stored procedure.
1) the store procedure has custome datatype as inout parameter
2) send reference cursor as input to stored procedure
Can you please let me know how to do this.
Thanks,
Vinoth
Please go through below links -
Section "9.7 Stored Procedure and Function Support" of Tech Adapter user guide - http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10231/adptr_db.htm#CHDFBBCD
http://blogs.oracle.com/middleware/2010/05/using_jca_adapter_with_osb_11113.html
Regards,
Anuj
Similar Messages
-
Database Adapter calling stored procedure with xmlDOM.DOMNODE input problem
Hi all,
I have been asked to do a POC on using SOA suite to generate a web-service for several database stored procedure. A few of them can be done without a fuss. But I am now stuck with a stored procedure that has input and output as xmlDOM.DOMNODE type.
The stored procedure is very simple as below:
procedure prc_accinquiry(request in xmlDOM.DOMNODE, response out xmlDOM.DOMNODE) is
begin
response := request;
end prc_accinquiry;
I get the following error
Error while writing wsdl file C:/JDeveloper/mywork/ABSPOC/NetBanking/DomNodeTestDB.wsdl. Exception: WSDLException: faultCode=OTHER_ERROR: The wrapper procedure, PACK_TESTING$PRC_ACCINQUIRY, could not be found in the package, BPEL_DOMNODETESTDB, for the schema, MBTT
Did I do something wrong? or DOMNODE is not part of supported datatype for DB Adapter stored procedure call from JDeveloper?
The environment is SOA suite 11g 11.1.1.5 with Database 11 XE
Thank you in advance,
Jomphop
Edited by: e-Teoy on 15/12/2011 19:49This problem can be resolved by granting execute permission on the object type to the caller. For example, if the stored procedure is in schema1 and the object type is in schema2 then you would connect as schema2 and execute
SQL> grant execute on <object type> to schema1
Referencing object types defined in other schemas is documented. This is the described method for accessing object types in other schemas. -
XI JDBC Adapter using stored procedures
Hi
I am using the JDBC adpapter to call a stored procedure on a SQL database.
In the adapter configuration I am using 'com.microsoft.jdbc.sqlserver.SQLServerDriver' as the JDBC Driver parameter and 'jdbc:microsoft:sqlserver://LIBOEE01:1433;DatabaseName=DEV_OEE;SelectMethod=cursor;' as the connection string.
My payload is as follows:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<Statement>
<PL101_SAPR3_SKU_OBJ action="EXECUTE">
<p_verb isInput="true" type="varchar">CREATE</p_verb>
<p_site_id isInput="true" type="varchar">GPK</p_site_id>
<p_sap_line_id isInput="true" type="varchar">LN005</p_sap_line_id>
<p_sku_id isInput="true" type="varchar">4014847</p_sku_id>
<p_sku_desc isInput="true" type="varchar">Klipdrift Exp - 12x750ml</p_sku_desc>
<p_bottles_in_sku isInput="true" type="float">12</p_bottles_in_sku>
<p_bps_sap isInput="true" type="float">2.083</p_bps_sap>
</PL101_SAPR3_SKU_OBJ>
</Statement>
</root>
However, when I cal lthe interface I receive the follwoing error in the adapter:
2007-07-18 11:25:03 Error MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: JDBC Adapter configuration not initialized: null
2007-07-18 11:25:03 Error Exception caught by adapter framework: JDBC Adapter configuration not initialized: null
2007-07-18 11:25:03 Error Delivery of the message to the application using connection failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: JDBC Adapter configuration not initialized: null.
Is this possibly casued by the driver being the incorrect version?
Regards
MichaelHi Kanth,
Thanks for your response, but the blog by Siva Maranani is actually where I got my code from. Upon further research I think have found the problem as experienced in this blog --> Re: MS SQL Server jdbc Driver installation on XI . There are 2 jar files missing from our SQL JDBC driver --> msbase.jar and msutil.jar, I think once I have added these to the driver it might work. Strange that when you download the driver from microsoft's website that these 2 files are only available in the UNIX download though!
Regards
Michael -
Problem with database adapter on plsql procedure with in/out parameters
running BPEL 10.1.3.1 and using the database adapter on a plsql procedure with in/out parameters I get errors
the plsql procedure:
create or replace procedure proc_with_clob_inout_parameter(
p_string in varchar2,
p_clob in out clob)
is
begin
p_clob := p_string;
end proc_with_clob_inout_parameter;
In BPEL I call this procedure. When I only assign a value to the p_string parameters (in a BPEL assign) all is well. When I also assign a value to the p_clob parameter the error occurs:
<part name="summary">
<summary>
file:/ora1/app/oracle/as101.3/bpel/domains/digitaaldossier/tmp/.bpel_janb_inout_1.0_f6908ccf864581b7265c362444e88075.tmp/twee.wsdl
[ twee_ptt::twee(InputParameters,OutputParameters) ] - WSIF JCA Execute of
operation 'twee' failed due to: Error while trying to prepare and execute
an API.
An error occurred while preparing and executing the
JANB.PROC_WITH_CLOB_PARAMETER2 API. Cause: java.sql.SQLException: Parameter
Type Conflict [Caused by: Parameter Type Conflict]
; nested exception is:
ORABPEL-11811
Error while trying to prepare and execute an API.
An error occurred while preparing and executing the
JANB.PROC_WITH_CLOB_INOUT_PARAMETER API. Cause: java.sql.SQLException: Parameter
Type Conflict [Caused by: Parameter Type Conflict]
Check to ensure that the API is defined in the database and that the
parameters match the signature of the API. Contact oracle support if error
is not fixable.
</summary>
</part>
In BPEL 10.1.2.0 this isn't a problem. I tested it against a 10.2.0.1 and a 10.2.0.2 database and in both situations I get the error with BPEL 10.1.3.1 and no error with BPEL 10.1.2.0
it appears to be a problem in the database adapter...
anyone with the same problems and/or a solution?Not of any use to you, but we had exactly the same problem on Friday when we applied AS 10.1.2.2 Patchset on top of BPEL 10.1.2.0.2.
The clob in our pl/sql proc wan't declared as in/out but for some reasons JDeveloper had created a clob on the Output Parameter type in the db partner link xsd. I removed this and it worked. This code had been untouched , and working fine, for months.
I'll be raising an SR today.
Rob J -
How to use Stored Procedure Call in Sender JDBC adapter
Hi All,
Could someone send me a blog on how to use Stored Procedure call in Sender JDBC adapter?
XierHi Xler
refer these links
/people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
Also, you can check Sriram's blog for executing Stored Procedures,
/people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi
/people/jegathees.waran/blog/2007/03/02/oracle-table-functions-and-jdbc-sender-adapter
This blog might be helpfull on stored procedures for JDBC
JDBC Stored Procedures
/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
Please go through these threads and see if it helps...
Re: How to execute Stored Procedure?
Re: Problem with JDBC stored procedure
Thnaks !! -
Using Stored Procedures with TopLink / JPA : Success explanation
For those who have to use Stored Procedures in TopLink this is my success history :
To call an Stored Procedure from the persistence, we have to use the direct JDBC connection because my TopLink version ( Essentials 10g ) ? to date ( 10g ) does not have support for Stored Procedures.
Here is my code :
<address>{color:#0000ff} EntityManagerFactory JPAemfactory = null;{color}</address>
<address>{color:#0000ff} JPAemfactory = Persistence.createEntityManagerFactory ("MyPersistenceUnit"); // this is the name of the persistence unit wrote in the persistence.xml file{color}</address>
<address>{color:#0000ff} EntityManagerr MyEntityManager = JPAemfactory.createEntityManager ();{color}</address>
bq. <address>{color:#0000ff}// creation of the stored procedure calling string .... one question mark for every param, output included \\ String sql = "{call SP_GETLISTATARIFAS(?,?,?,?,?)}"; \\ // We get the JDBC connection \\ oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl entityManager = (oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl) MyEntityManager; \\ UnitOfWorkImpl uow = (UnitOfWorkImpl)entityManager.getUnitOfWork(); \\ // we create a request to the unitofwork because if dont the connection will not exist \\ uow.beginEarlyTransaction(); \\ Connection conexion = ((UnitOfWorkImpl)uow).getAccessor().getConnection(); \\ {color}{color:#0000ff} \\ try { \\ // Creation of the call and we will identify the params as they are in the stored procedure definitiondefinidos \\ CallableStatement call = conexion.prepareCall(sql); \\ {color}</address>
bq. <address>{color:#0000ff} \\ // params INPUT with their values \\ call.setString("pIDMCUPO", "125"); \\ call.setString("pCODIGOHOT", "8023"); \\ call.setString("pCODCANAL", "WEB"); \\ call.setString("pCODSUBCANAL", "HOTEL"); \\ {color}</address><address>{color:#0000ff} \\ // params OUTPUT \\ call.registerOutParameter("rRESULTADO", java.sql.Types.VARCHAR); \\ {color}</address><address>{color:#0000ff} \\ // execution \\ call.execute(); \\ {color}</address><address>{color:#0000ff} \\ // getting the response \\ mcontratos_out = call.getString("rRESULTADO"); \\ {color}</address><address>{color:#0000ff} \\ // closing the proc \\ call.close(); \\ {color}</address><address>{color:#0000ff} \\ } catch (SQLException ex) { {color}</address><address>{color:#0000ff} // something you do if there is an error \\ {color}</address><address>{color:#0000ff} \\ } {color}</address>
Hope this helps all the people that have searched a lot like me.......I have my entity manager setup in a singleton.
I'm finding it's costly to generate the emf, but if I don't close the em (enitity manager) and emf (entity manager factory) my open cursor count climbs until I exceed the max number of open cursors on the database (11g RAC)
I'm committing the connection, and uow, and closing the em at the end of each call.
But until I close the emf, the open cursors aren't released.
TransactionhistoryPkg tranPkg = new TransactionhistoryPkg(conn); //Class created over database package via JPublisher
tranPkg.transactionhistoryInsSp(insertTrans.getCardId()); // executes db package
tranPkg.closeConnection();
conn.commit();
uow.commit();
uow.getAccessor().decrementCallCount();
em.close();
Am I missing something really obvious here??
btw - I found this link helpful in troubleshooting the max cursors issue: https://support.bea.com/application_content/product_portlets/support_patterns/wls/InvestigatingORA-1000MaximumOpenCursorsExceededPattern.html -
Using stored procedures with dabasae controls
Hi. We have two questions.
Answer 1:
We are working with Sybase and we are trying to use stored procedures (SP) with databse controls but we don't know how to obtain SP's return. We can to use SP normally if that SP don't have any return. Next example works fine but "stored_procedure_name" actually returns an number (error code) and we need to obtain it:
* @jc:sql statement="{call stored_procedure_name (?)}"
Answer 2:
Do you know how to call SP dinamically? This mean to call an sql statemente where stored_procedure_name and its parameters could be pased as paremeters. That looks as:
* @jc:sql statement="{call {sql: spName} {sql: listOfParameters}}"
Thak you very much for your comments.
Regards.I have my entity manager setup in a singleton.
I'm finding it's costly to generate the emf, but if I don't close the em (enitity manager) and emf (entity manager factory) my open cursor count climbs until I exceed the max number of open cursors on the database (11g RAC)
I'm committing the connection, and uow, and closing the em at the end of each call.
But until I close the emf, the open cursors aren't released.
TransactionhistoryPkg tranPkg = new TransactionhistoryPkg(conn); //Class created over database package via JPublisher
tranPkg.transactionhistoryInsSp(insertTrans.getCardId()); // executes db package
tranPkg.closeConnection();
conn.commit();
uow.commit();
uow.getAccessor().decrementCallCount();
em.close();
Am I missing something really obvious here??
btw - I found this link helpful in troubleshooting the max cursors issue: https://support.bea.com/application_content/product_portlets/support_patterns/wls/InvestigatingORA-1000MaximumOpenCursorsExceededPattern.html -
XI/PI: jdbc receiver using stored procedure with arrays
The company needs an interface to search for header data and detail to a legacy system.
This interface from ERP to legacy system is synchronous and uses stored procedure.
The definition of the stored procedure is as follows:
PROCEDURE
Generar_Detalle_Vtas_Pagadas
(p_cvendedor IN bdc_vendedores.cvendedor%TYPE,
p_fdesde IN DATE,
p_fhasta IN DATE,
v_encabezado_ct OUT encabezado_ct,
v_detalle_vtas_pagadas_ct OUT detalle_vtas_pagadas_ct,
err_num OUT NUMBER
Data types used in stored procedure:
TYPE encabezado_ct AS OBJECT
( CREGION NUMBER(22),
XREGION VARCHAR2(50),
CMERCADO NUMBER(22),
XMERCADO VARCHAR2(50),
CTVENDEDOR VARCHAR2(5),
XCTVENDEDOR VARCHAR2(50),
XDENOMINACION VARCHAR2(15))
TYPE detalle_vtas_pagadas_ct AS OBJECT
( CITEM VARCHAR2(10),
XIDENTIFICADOR VARCHAR2(15),
XCONTRATO VARCHAR2(15),
XVALOR VARCHAR2(30),
CCUENTA VARCHAR2(15),
FACTIVACION DATE,
XDOMINIO VARCHAR2(30),
CCED VARCHAR2(20),
XCLIENTE VARCHAR2(161),
CCPO VARCHAR2(60) )
As shown, this has three input parameters varchar and date respectively and has three output parameters, two of which are defined with a data
type such as table and the other number.
The problem is to define the signature of the stored procedure in XI when defining the data type request, the message type and mapping system
legacy because the data type is not supported (tables: detalle_vtas_pagadas_ct,encabezado_ct )FORM 2:
defined as an array, but the error tells me that we need to define the attribute either input or output
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_VtasPagadas_VYC xmlns:ns0="urn:VentasPagadas:VE_ALTASDEDCALIDAD_SD_VYC">
<VtasPagadasRequest><Generar_Detalle_Vtas_Pagadas action="EXECUTE">
<table>vyc.Vyc_Pack_Reportes_Sap.Generar_Detalle_Vtas_Pagadas</table>
<p_cvendedor type="VARCHAR"></p_cvendedor>
<p_fdesde type="DATE"></p_fdesde>
<p_fhasta type="DATE"></p_fhasta>
<v_encabezado_ct>
<CREGION isOutput="1" type="NUMERIC">X</CREGION>
<XREGION isOutput="1" type="VARCHAR">X</XREGION>
<CMERCADO isOutput="1" type="NUMERIC">X</CMERCADO>
<XMERCADO isOutput="1" type="VARCHAR">X</XMERCADO>
<CTVENDEDOR isOutput="1" type="VARCHAR">X</CTVENDEDOR>
<XCTVENDEDOR isOutput="1" type="VARCHAR">X</XCTVENDEDOR>
<XDENOMINACION isOutput="1" type="VARCHAR">X</XDENOMINACION>
</v_encabezado_ct>
<v_detalle_vtas_pagadas_ct>
<CITEM isOutput="1" type="VARCHAR">X</CITEM>
<XIDENTIFICADOR isOutput="1" type="VARCHAR">X</XIDENTIFICADOR>
<XCONTRATO isOutput="1" type="VARCHAR">X</XCONTRATO>
<XVALOR type="VARCHAR">X</XVALOR>
<CCUENTA isOutput="1" type="VARCHAR">X</CCUENTA>
<FACTIVACION isOutput="1" type="DATE">X</FACTIVACION>
<ICTA isOutput="1" type="VARCHAR">X</ICTA>
<CCED isOutput="1" type="VARCHAR">X</CCED>
<XCLIENTE isOutput="1" type="VARCHAR">X</XCLIENTE>
<CCPO isOutput="1" type="VARCHAR">X</CCPO>
</v_detalle_vtas_pagadas_ct>
<err_num isOutput="1" type="NUMERIC">X</err_num>
</Generar_Detalle_Vtas_Pagadas>
</VtasPagadasRequest></ns0:MT_VtasPagadas_VYC>
Edited by: ymonasterio on Mar 31, 2010 4:48 PM -
Using stored procedure with ExecuteXmlReader
Just looking to find out if it's possible to use stored procedures when createing an OracleCommand object that calls ExecuteXmlQuery. I'm having a problem and all the samples I've found for using this only use command text (inline SQL). TIA.
Edited by: user9529215 on Mar 27, 2009 7:48 AMHi,
I have similar problem. Have you already solved the issue?
Thanks -
How to use stored procedures in DIAdem and Can the stored procedures be used to return values?
Can anyone please tell me how to use stored procedures in diadem and to return values from it. Its really important, can you please answer it at the earliest.
Thanks In advance
spiyaHi Spria,
I'm very sorry for the mix-up, I thought Allen was going to answer you back with the particulars that we found out. Check out the attached Word document and the below tidbits:
The built-in DIAdem ODBC functions {SQL_...()} can only call stored functions, which return a scaler result {found then in SQL_Result(1,1)}. The syntax for this with an ORACLE db is
"select function(parameters) from package"
...where package defaults to "dual" if you don't use your own package.
There might be exceptions to that though, and the syntax will be different for other databases. Note that stored ORACLE procedures can NOT be called from the ODBC functions, instead you must use either ADO function calls in the DIA
dem VBScript or the OO4O COM wrapper that ORACLE provides (this is described in further detail in the below Word document).
Hope this helps,
Brad Turpin
DIAdem Product Support Engineer
National Instruments
Attachments:
Calling_ORACLE_Stored_Procedures_from_DIAdem.doc 28 KB -
JDBC Sender adapter - Oracle - Stored Procedure - Error
Hello,
Need few clarifications on JDBC sender adapter and stored procedures when connecting to Oracle DB.
My scenario is, Oracle to SAPBW. So in sender JDBC adapter, we have used a SP having multiple SQL statements it, esp. one of the SELECT statment having Joins on a table and View.
My questions are,
1) Is it possible to have more SQL statements in SP for Sender JDBC?
2) Is the SP of Oracle DB returns resultset or cursor?
I have tried in searching the forum perticularly for connecting to Oracle as Sender and below like said that there is a limitation of XI JDBC when connecting to Oracle.
Executing an Oracle Stored Procedure from Sender JDBC adapter
So please clarify the doubts and help me.
With regards,
JilanHi Jilan,
Unlike what was mentioned in the link given by you that oracle returns cursor and not resultset is not completely true. It may be difficult but certainly not impossible.
Refer : http://www.enterprisedt.com/publications/oracle/result_set.html
regards
joel -
Hello, I need to run ssis package by stored proc(pass parameters inside and get result using stored procedures [SSISDB].[catalog].[create_execution]) etc. Do not suggest me to use SQL Agent here as this is not the case. or by pass this using configuration
for SSIS, I need to know what permission I'm missing if those stored proc run by AD account, with rights described from BOL and I'm having "The current security
context cannot be reverted. Please switch to the original database where 'Execute As' was called and try it again." If I schedule stored proc to run by Agent and specify parameters - will work, from remote PC - does not. I have sysdamin
rights on the server where SSIS and stored proc which is call it exists. I was digging around and have ugly solution to make it working, I want to use elegant solution using those stored proc from [SSISDB].[catalog] ...
Any help especially from Microsoft guys here...?
Vladimir>>>>If I schedule stored proc to run by Agent and specify parameters - will work,
from remote PC - does not.
Vova
If you schedule the job it will be running under SQL Server Agent account security.... What error
do you get when you run the SP from remote PC?
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence -
IN Operator Parameter using stored procedure
Hi Guys,
I'm running a reporting services report using stored procedure and I'm facing a dilemma with the IN Operator in the stored procedure.
Can someone please help me out debugging the statement below? (run it on AdventureWorks Database)
Can I have the @Title Parameter based on another select statement something like this
Set @Title = SELECT Title FROM TableTitle
DECLARE @Title varchar(1000)
set @Title = 'Design Engineer', 'Tool Designer', 'Marketing Assistant'
SELECT FirstName, LastName, e.Title
FROM HumanResources.Employee AS e
JOIN Person.Contact AS c
ON e.ContactID = c.ContactID
WHERE e.Title IN (@Title)
Appreciate all the help on this.
Thank you
JohnHi John,
For your problem, we can use dynamical statement to solve the issue.
Here are 2 options to be clarified:
1. A multi-value parameter will return an array value.
2. It is not able to pass an array in a stored procedure.
To solve the issue, we can use the following steps:
1. Cconvert the array into string that delimited by “,” using the function “Join” in SQL Server Reporting Services.
2. Pass the string in the stored procedure.
3. Combine the parameter and the statement into one simply string.
4. Execute the simply string.
Here are the detailed steps for your reference:
1. In Report Designer, create a new dataset as “SELECT Title FROM TableTitle”.
2. Create a new multi-value parameter, set the available value from the dataset above.
3. Set the query of the main dataset as :
="spSelect_Title "&Join(Parameters!para.Value, ",")
4. Change the stored procedure as:
ALTER PROCEDURE [dbo].[spSelect_Title]
-- Add the parameters for the stored procedure here
--@Query NVarchar(Max),
@Title NVarchar(MAX)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @Query Varchar(Max)
SET @Query = 'SELECT FirstName, LastName, e.Title
FROM HumanResources.Employee AS e
JOIN Person.Contact AS c
ON e.ContactID = c.ContactID
WHERE e.Title IN (' + @Title+ ')'
-- PRINT ' QUERY = '+ ISNULL(@Query,'NULL')
Execute sp_executesql @Query
END
If you have any more questions, please feel free to ask.
Thanks,
Jin
Jin Chen - MSFT -
Best practices to use stored procedure
Just wondering about best practices of using Stored procedures in TOPLink with respect to Objects. Any thoughts on this?
I find the approach suggested at re:Coding for Stored Procedures is a lot of work! seems to be fine.
Is there any thoughts on converting results directly into Java objects?
MuraliI encountered the same problems.
See the topic I posted: Re: Mapping a Java attribute to the result of a function call
The solution I used is good, but has its restrictions.
I created a database view on the query that uses stored functions. Then, I mapped my object to the database view. Problem solved.
However, like I said, this solution has its restrictions:
1) Your database must support views
2) This only works for read-only queries
I hope this helps you any further.
Kind regards,
Erwin -
Create user using stored-procedures
Would anyone know of a way to create a user and assign role(s) using stored-procedures from a DOS shell? With MS SQL, one could issue the following commands from the DOS shell to connect to the database engine (osql -ULoginID -PPassword) and then "sp_addlogin loginid password". Additionally, can it be used in a VB app?
Your help is much appreciated.
tkyes, in the code editor.
Auto-completion suggestions as you type?
Maybe you are looking for
-
Hi, I had to change my PC because it stopped working suddenly. I had no time to recover iTunes. On my iPad, it is recorded the name of my old PC as syncronisation machine so it refuses to syncronize with the iTunes I installed on my new PC (windows 8
-
No Startup After 10.4.7 Update
I have two internal HD's. The Quantum 20G (backup) is connected via onboard ATA bus. The Maxtor 160G (main) is connected via Acard 6280 PCI Host Controller. I cloned 10.4.6 to the backup drive. I ran R.Permissions, R.Disk and Disk Warrior on the main
-
Hi, I am implementing RAR and connecting it to ECC6.0 and SRM. They will be sharing the same ruleset, so can I create 1 logical system for these 2 physical systems? Thanks, Niamh
-
Hi, hope someone can help Problem is Been using notes for weeks, sync'ed iPad with pc and I tunes, went to notes on iPad to see all 8 still there but then disappear before my eyes. I have yahoo email, everything seems switched on Please help
-
Add on not working on SBO PL 10
I have developed an addon which runs perfectly on SBO PL 00 but gives an error "You are Not connected to a company" when I open my addon form in SBO PL 10