Character conversion problems when calling FM via RFC from Unicode ECC 6.0?

Hi all,
I faced a Cyrillic character convertion problem while calling an RFC function from R/3 ECC 6.0 (initialized as Unicode system - c.p. 4103). My target system is R/3 4.6C with default c.p. 1500.
The parameter I used in my FM interface in target system is of type CHAR10 (single-byte, obviously).
I have defined rfc-connection (SM59) as an ABAP connection and further client/logon language/user/password are supplied.
The problem I faced is, that Cyrillic symbols are transferred as '#' in the target system ('#' is set as default symbol in RFC-destination definition in case character convertion error is met).
Checking convertions between c.p. 4103  and target c.p. 1500 in my source system using tools of transaction i18n shows no errors - means conversion passed O.K. It seems default character conversion executed by source system whithin the scope of RFC-destination definition is doing something wrong.
Further, I played with MDMP & Unicode settings whithin the RFC-destination definition with no successful result - perhaps due to lack of documentation for how to set and manage these parameters.
The question is: have someone any experience with any conversion between Unicode and non-Unicide systems via RFC-call (non-English target obligatory !!!), or can anyone share valuable information regarding this issue - what should be managed in the RFC-destination in order to get character conversion working? Is it acceptable to use any character parameter in the target function module interface at all?
Many thanks in advance.
Regards,
Ivaylo Mutafchiev
Senior SAP ABAP Consultant

hey,
I had a similar experience. I was interfacing between 4.6 (RFC), PI and ECC 6.0 (ABAP Proxy). When data was passed from ECC to 4.6, RFC received them incorrectly. So i had to send trimmed strings from ECC and receive them as strings in RFC (esp for CURR and QUAN fields). Also the receiver communication channel in PI (between PI and  RFC) had to be set as Non unicode. This helped a bit. But still I am getting 2 issues, truncation of values and some additional digits !! But the above changes resolved unwanted characters problem like "<" and "#". You can find a related post in my id. Hope this info helps..

Similar Messages

  • Problems with sending IDOC via RFC from Unicode to NonUnic

    Hello
    I have following problem, sending an IDOC via RFC from Unicode to Non Unicode System. IDoc is not sent with error: codepage of receiver system cant determined. receiver destination was: Message no. B1999
    I have tried different options in sm59, but it didnt help.
    Any ideas? The recipient system is rather old, version 4.0

    hey,
    I had a similar experience. I was interfacing between 4.6 (RFC), PI and ECC 6.0 (ABAP Proxy). When data was passed from ECC to 4.6, RFC received them incorrectly. So i had to send trimmed strings from ECC and receive them as strings in RFC (esp for CURR and QUAN fields). Also the receiver communication channel in PI (between PI and  RFC) had to be set as Non unicode. This helped a bit. But still I am getting 2 issues, truncation of values and some additional digits !! But the above changes resolved unwanted characters problem like "<" and "#". You can find a related post in my id. Hope this info helps..

  • Problem when calling BPEL process (WS) from APEX

    I am trying to add a web service call to a BPEL process I have created (tried a few others aswell), but every time I try to add the WDSL file I get the following error:
    *1 error has occurred*
    The WSDL document contains multiple SOAP bindings. Application Express only supports WSDL's with one SOAP binding. Click Create Web Service Reference Manually to continue creating a reference for this service.
    It is a simple BPEL process which works fine when called from the BPEL Console, however I have no success when calling it from APEX.
    Am I doing something wrong, or is there a bug in BPEL/APEX?
    Oracle BPEL Console v10.1.3.1.0
    Apex: 3.2
    The WDSL looks like this:
    <definitions name="BPELProcess9" targetNamespace="http://xmlns.oracle.com/BPELProcess9">

    <types>

    <schema>
    <import namespace="http://xmlns.oracle.com/BPELProcess9" schemaLocation="BPELProcess9.xsd"/>
    </schema>

    <schema>
    <import namespace="http://schemas.xmlsoap.org/ws/2003/03/addressing" schemaLocation="http://xxx:8888/orabpel/xmllib/ws-addressing.xsd"/>
    </schema>
    </types>

    <message name="BPELProcess9ResponseMessage">
    <part name="payload" element="tns:BPELProcess9ProcessResponse"/>
    </message>

    <message name="BPELProcess9RequestMessage">
    <part name="payload" element="tns:BPELProcess9ProcessRequest"/>
    </message>

    <message name="WSAReplyToHeader">
    <part name="ReplyTo" element="wsa:ReplyTo"/>
    </message>

    <message name="WSARelatesToHeader">
    <part name="RelatesTo" element="wsa:RelatesTo"/>
    </message>

    <message name="WSAMessageIDHeader">
    <part name="MessageID" element="wsa:MessageID"/>
    </message>

    <portType name="BPELProcess9Callback">

    <operation name="onResult">
    <input message="tns:BPELProcess9ResponseMessage"/>
    </operation>
    </portType>

    <portType name="BPELProcess9">

    <operation name="initiate">
    <input message="tns:BPELProcess9RequestMessage"/>
    </operation>
    </portType>

    <binding name="BPELProcess9Binding" type="tns:BPELProcess9">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="initiate">
    <soap:operation style="document" soapAction="initiate"/>

    <input>
    <soap:header message="tns:WSAReplyToHeader" part="ReplyTo" use="literal" encodingStyle=""/>
    <soap:header message="tns:WSAMessageIDHeader" part="MessageID" use="literal" encodingStyle=""/>
    <soap:body use="literal"/>
    </input>
    </operation>
    </binding>

    <binding name="BPELProcess9CallbackBinding" type="tns:BPELProcess9Callback">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="onResult">
    <soap:operation style="document" soapAction="onResult"/>

    <input>
    <soap:header message="tns:WSARelatesToHeader" part="RelatesTo" use="literal" encodingStyle=""/>
    <soap:body use="literal"/>
    </input>
    </operation>
    </binding>

    <service name="BPELProcess9">

    <port name="BPELProcess9Port" binding="tns:BPELProcess9Binding">
    <soap:address location="http://xxxx:8888/orabpel/default/BPELProcess9/1.1"/>
    </port>
    </service>

    <service name="BPELProcess9CallbackService">

    <port name="BPELProcess9CallbackPort" binding="tns:BPELProcess9CallbackBinding">
    <soap:address location="http://set.by.caller"/>
    </port>
    </service>

    <plnk:partnerLinkType name="BPELProcess9">

    <plnk:role name="BPELProcess9Requester">
    <plnk:portType name="tns:BPELProcess9Callback"/>
    </plnk:role>

    <plnk:role name="BPELProcess9Provider">
    <plnk:portType name="tns:BPELProcess9"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>

    Allow me to reply to my own thread, for the benefit of any others who might want to invoke a BPEL WS from APEX facing the same problem:
    Apex does not seem to like asynchronous BPEL processes so the trick is to make a synchronous BPEL process call the asynchronous BPEL process.

  • Problems when calling the SOAP adapter from a Webdynpro

    Hi,
    An error occurs in the SOAP adapter when sending a message from a Webdynpro client. I have downloaded the SAP Soap Client and made the same test and that works fine.
    I had to do some debugging to finally find the stack trace found below.
    Does anybody have an idea of why the call doesn't work from Webdynpro?
    <text>com.sap.aii.af.service.cpa.CPAException: invalid channel (party:service:channel) = &lt;null&gt;
         at com.sap.aii.af.mp.soap.web.MessageServlet.getChannelID(MessageServlet.java:415)
         at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:377)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160)</text>
    </s:SystemError>
    Thanks for help,
    Hans

    Hi Suraj
    First I should mention that I have imported a generated WSDL from XI to create the Model and thus the port configuration. The URL looks like this:
    http://<host>:<port>/XISOAPAdapter/MessageServlet?Version=3.0&amp;Channel=:Telia_Kundservice_portal:Sender_SOAP&amp;version=3.0&amp;Sender.Service=Telia_Kundservice_portal&amp;Interface=urn%3Aacandofrontec.se%2FTelia%2Ffaktura%5ETelia_faktura_4
    Service = Telia_Kundservice_portal
    Channel = Sender_SOAP
    I've also tried with a modified shorter version which is also the one I'm using from the SAP SOAP client.
    http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=:Telia_Kundservice_portal:Sender_SOAP
    The actual call is a typical one:
    wdContext.currentRequest_Faktura().modelObject().execute();
    Before this call the Basic authentication (user/passw) is set.
    Regards,
    Hans

  • Installing CCMS agent fails: calling SALS_MS_GET_LOCAL_MS_INFO via RFC

    Hi All,
    I'm trying to connect our SolMan development to the CEN. However when registering ccmsr within J2ee admin it gives the following errors.
    Does anybody have an idea?
    Output for : /usr/sap/DSM/SYS/exe/run/sapccmsr(-j2ee,-v,pf=/usr/sap/DSM/SYS/profile/DSM_DVEBMGS00_ijmdsm01)         
    CCMS version 20040229, 64 bit, multithreaded, Non-Unicode         
    compiled at Oct 28 2006         systemid 324 (IBM RS/6000 with AIX)         
    relno 7000         
    patch text patch collection 2006/4, OSS note 914721         
    patchno 83         intno 20050900         
    running on ijmdsm01 AIX 3 5 00C97C6E4C00
    Logfile for : /usr/sap/DSM/SYS/exe/run/sapccmsr(-j2ee,-R,-f,/tmp/csm53771.conf,pf=/usr/sap/DSM/SYS/profile/DSM_DVEBMGS00_ijmdsm01)      [Thr 01]   Mon Mar 26 13:29:05 2007      
    INFO: CCMS agent sapccmsr working directory is /usr/sap/ccms/DSM_00/sapccmsr      
    INFO: CCMS agent sapccmsr config file is /usr/sap/ccms/DSM_00/sapccmsr/csmconf   
    INFO: Central Monitoring System is . (found in config file)   
    INFO: additional Central Monitoring System is . (found in config file)   
    INFO: found ini file /usr/sap/ccms/DSM_00/sapccmsr/sapccmsr.ini.         
    INFO: Checking Distributed Statistical Records Library dsrlib.o    
    INFO: checking version an Unicodeness of dsrlib.o   
    INFO: DSR: Dynamic Library dsrlib.o (version 22) successfully loaded.   
    INFO: DSR: Dynamic Library dsrlib successfully loaded.   
    INFO: DSR: Path /usr/sap/ccms/DSM_00/dsr for Distributed Statistical Records.   
    INFO:         CCMS version 20040229, 64 bit, multithreaded, Non-Unicode         compiled at Oct 28 2006         systemid 324 (IBM RS/6000 with AIX)         relno 7000         patch text patch collection 2006/4, OSS note 914721         patchno 83         intno 20050900         running on ijmdsm01 AIX 3 5 00C97C6E4C00         pid 479452         profile /usr/sap/DSM/SYS/profile/DSM_DVEBMGS00_ijmdsm01      
    INFO: Attached to Shared Memory Key 73 (size 40000000), no pool used      
    INFO: Connected to Monitoring Segment           segment status WARM_UP           segment started at Thu Mar 22 08:58:40 2007           segment version 20040229         
    INFO: DSM:000:999999 connected to DSM, host ijmdsm01, System Nr. 00, traceflag   
    INFO: DSM release is 700 , (kernel release 700 )   
    ERROR: DSM:000:CSMREG calling SALS_MS_GET_LOCAL_MS_INFO via RFC failed, can not get version of DSM. RfcRc = 2, C_CALL_FAILED</b>     
     INFO: SLM:000:999999 connected to SLM, host rthuas50, System Nr. 10, traceflag   
    INFO: SLM release is 700 , (kernel release 700 )      
    INFO: SLM:000:CSMREG connected to SLM, host rthuas50, System Nr. 10, traceflag   INFO: SLM release is 700 , (kernel release 700 ), CCMS version 20040229      INFO: RFC logon info for SLM:000:CSMREG can be updated at any time with -R option:        sapccmsr -R           INFO: Updated saprfc.ini in agent work directory /usr/sap/ccms/DSM_00/sapccmsr   
    ERROR: Registration failed: Can't get version of DSM. RfcRc = 2, C_CALL_FAILED RFC Error Info for SALS_MS_GET_LOCAL_MS_INFO message: status: EXCEPTION C_CALL_FAILED RAISED intstat:       Mon Mar 26 13:29:10 2007   INFO: dsr: dsrlib unloaded.   
    ...closing this logfile...
    Registration of CCMS Customizing Destination   
    Error during registration of CCMS Customizing destination        
    Source system cannot be set to Unicode

    Hi,
    Check these notes.
    641339 - RZ20: CCMS monitoring context loses client assignment
    558608 - Correction: Starting/stopping LDAP Connector via CCMS
    827843 - Access Alert Analysis Methods that are Defined Locally
    Feel free to revert back.
    --Ragu

  • TS4185 Just downloaded FACETIME on my 4yr. olf Imac running Snow Leopard. When making a call to my friend's Imac all works correctly going both ways. When my wife calls me via Facetime from her Ipad, I cannot click on "accept"- not there?

    Just downloaded FACETIME on my 4yr. olf Imac running Snow Leopard. When making a call to my friend's Imac all works correctly going both ways. When my wife calls me via Facetime from her Ipad, I cannot click on "accept"- not there? When called by the Imac (newest), the "accept" or "reject" radio button appears for me to click and connect. On my wife's Ipad the two radio buttons always appear when a call actiivates Facetime and comes on?
    There is nothing I can find in "Preferences" in Facetime to turn that on or off. I suspect it has to do with having a more current operating system; that the "controls" are in the operating system? [I'm guessing] It's frustrating getting Facebook calls from several friends on Ipads! Any ideas...VFP

    I suspect it has to do with not having a more current operating system
    Exactly, what Apple is doing is leveraging new features only on newer OS X versions to force you to upgrade OS X to 10.7 or later.
    What they don't tell you is 10.7 or later will NOT run your PowerPC based software, some of it you can't get Intel versions like for perfectly working printers, scanners and games etc. So it can be a very expensive OS X upgrade to 10.7 or later with third party software.
    http://roaringapps.com/apps:table
    Also they don't tell you is the risk in bricking your machine if the update goes badly, so you have to have AppleCare in case that occurs so it's on them to fix it. Else your paying money to replace the logicboard or buying a new machine prematurely.
    A four year old machine can't have AppleCare, it's only good for 3 years from date of purchase new.
    Your machine came with a boot hard drive, it's usually got about 4-5 years of life on it, then it needs to be replaced.
    Also they don't tell you the newer OS X version has more abilities and features that causes your machine to slow down in performance, especially on older machines.
    Also they implement new, idotic and extremely fustrating new user interface features in a arbitrary "you take it or leave it" manner with little or no fall back method.
    So upgrading OS X is a gamble on older machines that otherwise would likely work perfectly fine for the next 5 years if one didn't need to have to mess with it.
    Since Snow Leopard has slightly over 25% OS X version market share, your still good for security updates etc for the next few years if you just want to stay where your at and be happy.
    OS X 10.4/10.5 need to upgrade, 10.6.8 ok still
    The Lions are, well, not so welcome due to Scott Forstall retard UI issues, OS X Mavericks 10.9 is likely going to fix things a bit better.
    But basically what is occuring is Apple is trying to force a faster hardware upgrade cycle with the more expensive products by leveraging features on the smaller devices that expire sooner.
    Apple is a hardware company that leverages whatever it can to get you to buy more hardware, it's why they are as rich as they are.

  • 11g preview version 3: JNDI Lookup problem when calling PL/SQL webservice

    Hi,
    I am experiencing a problem when calling a PL/SQL Webservice from a BPEL flow.
    When I am trying to test my BPEL flow from the SOA Console I get a "Error doing JNDI lookup on target jdbc/MyDBDS"
    The composite application including the BPEL flow is deployed in one application. "CompositeApp" and the web service in another Application called
    "WebServiceApp".
    Both applications are deployed on the same built in OC4J Application Server
    If I test the webservice in isolation from the SOA console it works. It also seems to be working if the webservice and the and the BPEL flow is in the same project.
    If anyone has any ideas on this one I would be very greatful.
    Thanks in advance

    try creating the MyDBDS connection as an application resource in both applications.

  • [svn] 4741: Fix to RTE problem when calling captureEndValues() without having first called captureStartValues().

    Revision: 4741
    Author: [email protected]
    Date: 2009-01-29 13:43:53 -0800 (Thu, 29 Jan 2009)
    Log Message:
    Fix to RTE problem when calling captureEndValues() without having first called captureStartValues(). outcome of a patch submission, although this fix is different than the one suggested in the patch.
    QE Notes: None
    Doc Notes: None
    Bugs: patch sdk-17060, bug sdk-16452
    Reviewer: Jason
    tests: checkintests, Mustella: tests/Effects tests/ListDataEffects
    Ticket Links:
    http://bugs.adobe.com/jira/browse/sdk-17060
    http://bugs.adobe.com/jira/browse/sdk-16452
    Modified Paths:
    flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/effects/Effect.as

    Look for the "contact us" on the verizon pages.  http://www22.verizon.com/content/contactus/
    Almost all of the forums here are peer to peer.  Some verizon admins will occasionaly step in and try to get you help.  These admins are usually not able to solve problems for you themselves, but can sometimes give advise or get you in contact with someone who can.

  • Problem when calling session bean from main.

    Hi everyone
    I get the following error when calling a session bean from main(String args[]).
    Sep 3, 2008 9:11:13 AM com.sun.enterprise.appclient.MainWithModuleSupport <init>
    WARNING: ACC003: Application threw an exception.
    java.lang.NullPointerException
    at databasetest.Main.main(Main.java:26)
    Here is my code beneath.
    I'm using netbeans and glassfish application server.
    Everything is in the same project, called DatabaseTest, I also have deployed the application before running the client.
    I'm running the client as follows, right click on the DatabaseTest-app-client and select run.
    The client:
    package databasetest;
    import com.test.UsersFacadeRemote;
    import javax.ejb.EJB;
    import com.test.Users;
    public class Main {
        @EJB
        private static UsersFacadeRemote usersFacade;
        public static void main(String[] args) {
            Users users = new Users(12, 34);
            usersFacade.create(users);
    }The remote facade I'm calling:
    package com.test;
    import java.util.List;
    import javax.ejb.Remote;
    @Remote
    public interface UsersFacadeRemote {
        void create(Users users);
        void edit(Users users);
        void remove(Users users);
        Users find(Object id);
        List<Users> findAll();
    }The stateless bean:
    package com.test;
    import java.util.List;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    @Stateless
    public class UsersFacade implements UsersFacadeRemote {
        @PersistenceContext
        private EntityManager em;
        public void create(Users users) {
            em.persist(users);
        public void edit(Users users) {
            em.merge(users);
        public void remove(Users users) {
            em.remove(em.merge(users));
        public Users find(Object id) {
            return em.find(com.test.Users.class, id);
        public List<Users> findAll() {
            return em.createQuery("select object(o) from Users as o").getResultList();
    }

    looks like you're banging your head against the same brick wall as [I have done|http://forums.sun.com/thread.jspa?forumID=13&threadID=5317110] and [others have in the past|http://forums.sun.com/thread.jspa?forumID=136&threadID=5259913] if that's any consolation.
    Funny thing is, mine did actually work in the debugger but not when running!
    Strange thing that.
    I did initially interest someone from the developers but they couldn't really help, ended up saying : try instantiating your beans the EJB 2.1 way and see where that gets you. Yes that works but they promised us "hey no more dopey xml deployment descriptors just some cool annotations" didn't they?
    I've got the feeling were' missing something really obvious!
    Edited by: sebthebike on 03-Sep-2008 12:21

  • I have problem when transferring book (PDF/Epub) from Computer to iPad with the new iTune? Please Help....

    I have problem when transferring book (PDF/Epub) from Computer to iPad with the new iTune? Please Help....

    With iTunes 11 you can enable the left-hand sidebar via control-S on a PC, option-command-S on a Mac. If you are trying to get it to the iBooks app then with the sidebar enabled the process should be similar to how it was on previous versions of iTunes e.g. add it to your iTunes library via File > Add To Library, connect the iPad and select it on the left-hand sidebar, and then use the Books tab on the right-hand side to select and sync it to the iBooks app.

  • HT4623 i had a problem when i update iphone 3gs from ios 5.1.1 to 6.1. How could i fix it?

    i had a problem when i update iphone 3gs from ios 5.1.1 to 6.1. How could i fix it?. I can active my phone?help me, please!

    Well we need to know what your problem is if you want someone to offer a solution for you

  • Problem in calling BW web templates from Netscape 7.0

    Hi all
    I have a problem in calling BW web template from Netscape 7.0, it gives an error " port number not accepted for security reasons" .
    It works on Netscape 8.0 and ie.
    regards
    Paul

    This is the very frequently asked question about Netscape.
    http://ilias.ca/netscape/browserfaq/#portaccess
    Solution is:
    find the file <b>c:\Program Files\Netscape\Netscape\defaults\pref\all.js</b>
    and append the following string to this file:
    <b>pref("network.security.ports.banned.override", "1080");</b>

  • I have a problem, when I execute an mapping from Desing Center, its frezeen

    I have a problem, when I execute an mapping from Desing Center, its frezeen, this doesnt send error can you help me plis
    Ali

    If I would be you, I will check mapping activity from backend using (TOAD/SESSION-BROWSER) your map should be under JDBC THIN CLIENT. Also check if your target table is locked by running this query (select
    c.owner,
    c.object_name,
    c.object_type,
    b.sid,
    b.serial#,
    b.status,
    b.osuser,
    b.machine
    from
    v$locked_object a ,
    v$session b,
    dba_objects c
    where
    b.sid = a.session_id
    and
    a.object_id = c.object_id;).

  • DNS problem when calling a web service

    Hi,
    when I try to call a web service from the Studio I get the following error message:
    return code: 503
    Network Error
    Network Error (dns_server_failure)
    Your request could not be processed because an error occurred contacting the DNS server.
    The DNS server may be temporarily unavailable, or there could be a network problem.
    Looks not like an OBPM problem, but I can access the web service via SoapUI and I can access it from an OBPM enterprise installation on a server here in the network. The problem is only when I try to access the service from OBPM Studio. I also tried accessing a local web service, also does not work.
    Does anyone have a hint, what it could be? Thanks for your help!
    Regards
    Matthias

    No, it is in my local LAN, so it should work without proxy (and in SoapUI it also works without Proxy). But nevertheless I tried it also with a proxy, but unfortunately without success.
    Regards
    Matthias

  • ORA-00604: error occurred at recursive SQL when calling proc via db_link

    Hi,
    I'm on 9.2.0.8 and got strange issue with simple test case
    on source db:
    CREATE OR REPLACE PROCEDURE ADMIN.gg_ref(out_tokens OUT SYS_REFCURSOR) is
      BEGIN
      OPEN out_tokens for select dummy from dual;
    END ;
    Now testing code localy:
    SQL> var r refcursor
    SQL> declare
      2   output sys_refcursor;
      3  begin
      4   adminx.gg_ref(output);
      5  :r:=output;
      6  end;
      7  /
    PL/SQL procedure successfully completed.
    SQL> print r
    D
    X
    So its working.
    I've got db_link to that db , and now call that proc via dblink from other 9.2.0.8 DB:
    var r refcursor
      1  declare
      2   output sys_refcursor;
      3  begin
      4   admin.gg_ref@LINK_NAME(output);
      5  :r:=output;
      6* end;
    SQL> /
    declare
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-00900: invalid SQL statementWhats wrong with my code ?
    Are there any restriction I'm not aware of ?
    Regards
    GregG

    GregG wrote:
    What should my code look like now ?
    Should I rewrite this as function returning index by collection or something ?You can use DBMS_SQL - but use the remote package and not the local one. This is a little bit more complex ito call interface than using a ref cursor, but is the very same thing on the server side. DBMS_SQL also provides a more comprehensive set of features than using the ref cursor interface.
    The main issue though is additional coding - as DBMS_SQL is a lower level interface (a lot closer to the real Oracle Call Interface/OCI):
    --// on remote database the procedure returns a DBMS_SQL cursor instead of a ref cursor
    SQL> create or replace procedure FooProc( cur in out number, deptID number ) is
      2          rc      number;
      3  begin
      4          cur := DBMS_SQL.open_cursor;
      5 
      6          DBMS_SQL.parse(
      7                  cur,
      8                  'select ename from emp where deptno = :deptID',
      9                  DBMS_SQL.native
    10          );
    11 
    12          DBMS_SQL.Bind_Variable( cur, 'deptID', deptID );
    13 
    14          rc := DBMS_SQL.Execute( cur );
    15  end;
    16  /
    Procedure created.
    --// from the local database side we call this remote proc
    SQL> declare
      2          c               number;  --// instead of using sys_refcursor
      3          empName         varchar2(10); --// buffer to fetch column into
      4  begin
      5          FooProc@testdb( c, 10 );  --/ call the proc that creates the cursor
      6 
      7          --// we need to define our fetch buffer for the 1st column in the
      8          --// SQL projection of that cursor (10 byte fetch buffer for 1st column)
      9          DBMS_SQL.define_column@testdb( c, 1, empName, 10 );
    10 
    11          --// we now fetch from this cursor, but via the DBMS_SQL
    12          --// interface
    13          loop
    14                  --// fetch the row (exit when 0 rows are fetched)
    15                  exit when DBMS_SQL.Fetch_Rows@testdb( c ) = 0;
    16 
    17                  --// copy value of 1st column in row into the local PL/SQL buffer
    18                  DBMS_SQL.column_value@testdb( c, 1, empName );
    19 
    20                  --// record value it via dbms output
    21                  DBMS_OUTPUT.put_line( 'name='||empName||' deptID=10' );
    22          end loop;
    23 
    24          --// close it explicitly as you would a ref cursor
    25          DBMS_SQL.Close_Cursor@testdb( c );
    26  end;
    27  /
    name=CLARK deptID=10
    name=KING deptID=10
    name=MILLER deptID=10
    PL/SQL procedure successfully completed.
    SQL>

Maybe you are looking for