JCO RFC Server - defining a repository

Hi,
We're creating an RFC listener through JCO, and I'm not entirely sure where definitions for the RFCs go.  Originally, we had the RFC definitions defined as stubbed out shell Functions, and in the Java code as a JCO.MetaData repository definition as well.  It seems like the stubs in SAP don't actually matter, and it only needs the JCO.MetaData functions, but I'm not sure. 
While I'm at it, if it is possible to not actually define the parameters to an RFC in a java-side repository, that would be great.  We're planning on supporting Unicode, and those MetaData definitions look scary.
Thanks,
Corey

I think I just answered my own question.  Can someone verify?
You have to define the repository on the Java side, and there should be no matching remote enabled function on the SAP side <i>if </i> you want a static repository.
If you want a dynamic repository, then the remote enabled RFCs must exist on the SAP side, and a connection from Java to the SAP system must exist so that the repository may be dynamically retrieved.
Is this all correct?

Similar Messages

  • Calling JCO RFC Server program from JCO RFC client

    Hi,
    I have an RFC registered server program which implements JCO.Server.  It seems to be working fine, when called from SAP.
    For testing purposes, I was trying to write a JCO client program which would take the place of the SAP client.
    This program opens a connection to the RFC server and executes a function e.g.
    JCO.Client client = JCO.createClient("xx.yy.com", "sapgw35", "MYPROGID");
    client.connect();
    client.execute(function);
    The RFC server program receives the call fine, when I test with a simple function which has no table parameters.  However when I tried a more complex function with table parameters, I get an serverExceptionOccurred from the RFC server program:
    com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: connection closed without message (CM_NO_DATA_RECEIVED)
        at com.sap.mw.jco.rfc.MiddlewareRFC$Server.nativeListen(Native Method)
        at com.sap.mw.jco.rfc.MiddlewareRFC$Server.listen(MiddlewareRFC.java:1368)
        at com.sap.mw.jco.JCO$Server.listen(JCO.java:6805)
    I have tried to initialize the repositories in both server and client programs correctly, so that the function is in the cached function list and the table structures in the cached structures list before the function is invoked.  But I am not sure if there is still something I am missing, so any ideas would be welcome.
    Thanks,
    Richard

    JCO example 5 is a very good one for server side programming.
    try the example,somethings you 'd better make clear.
    1) JCO.server
    2) repositories--data mapping
    3) parameters: export import,table...
    further topic:
    1) JCO pool
    2) tRFC,qRFC
    After you have success in Client side programming,try example 5.
    Regards

  • JCO RFC provider and JCO connection

    Hi all:
    Please share your thoughts on the following doubts I have. Thanks.
    1. To my understanding, we use JCO RFC provider(define in Java side) and RFC destination(in SM59) when we have request from ABAP to Java side. Then we use JCO destinations(define in Web Dynpro Content Admin) if we have request from Java to ABAP. Is this correct?
    2. When creating the JCO RFC provider service, why we need to create those entries for repository for example, the server name, the user used to log into repository? What is the repository used for?
    Thanks!

    Hai,
          your understanding of JCO RFC and RFC Destination is right.But JCO Destination gets the metadata and model data from ABAP,thats what we mention the Dictionany meta data and Application data while creating them.
    Yes, we need to mention the application host,sys no,client and userdetails while creating the JCO RFC provider,then only it will fetch the data from that host and that particular client.
    Thanks and Regards,

  • JCO RFC provider: Server function not found, short dump

    Hi all,
    I'm trying to use the JCO RFC provider service of NW04s (SP15) together with an ABAP 4.6C system. I've followed all the documentation that I could find, but couldn't get it to work yet. This is what I've done so far:
    Using SM59 I've had a destination APP_JK1 created for me on the R/3 system. AFAIK it's set up correctly and marked as a "registered server", connection tests were successful.
    On the portal, I've created a RFC portal destination using my R/3 credentials and successfully tested it. Then I created an entry in the RFC provider service, using the correct values for system, id & gateway, and let it point to my RFC destination for the repository connection. The program ID is also APP_JK1.
    Next, I created a stateless session bean which is part of an EAR, gave it a JNDI name of "RFCTEST" and added a method like this:
        * @ejb.interface-method view-type="both"
        * @param function called function
       public void processFunction(com.sap.mw.jco.JCO.Function function) {
          JCO.ParameterList input  = function.getImportParameterList();
          String query = input.getString("I_STRING_SEARCH");
          JCO.ParameterList output = function.getExportParameterList();
          output.setValue(query, "ECHOTEXT");
    (The project uses xdoclet for the creation of J2EE stuff)
    In application-j2ee-engine.xml located in the META-INF directory of my EAR, I've added:
    <reference reference-type="hard">
         <reference-target provider-name="sap.com" target-type="library">com.sap.mw.jco</reference-target>
    </reference>
    The application deploys without errors, and besides from my RFC connection works as expected. In the JNDI registry view of VisualAdmin I see the corresponding entry: "rfcaccessejb/RFCTEST" is a local reference to my stateless session bean.
    On ABAP, I have a tiny little program that calls my function, mainly looking like this:
    CALL FUNCTION 'RFCTEST' DESTINATION 'APP_JK1'
      EXPORTING
        I_STRING_SEARCH = query
      IMPORTING
        ECHOTEXT = t1.
    Unfortunately, it short dumps immediately. The error message is:
    JCO.Server could not find server function 'RFCTEST'
    I'm lost. What could be wrong? Any help is greatly appreciated. Kind regards,
    Christian Aust

    Hello Perry song,
    You got the short dump bcoz, there is no perform by the name you provided in the program,
    for example. consider there are 2 programs.
    Program 1 :
    REPORT  ZPGM1.
    *Calling a perform SNAME1 , the code of perform is written in ZPGM2.
    perform sname1 IN PROGRAM ZPGM2.
    Program 2 :
    REPORT  ZPGM2.
    perform sname1 .
    Form SNAME1 .
    write : 'Text in form SNAME1' .
    endform.                    " SNAME1
    (here SNAME1 is found and it works perfectly )
    Change in Program 1 :
    REPORT  ZPGM1.
    *Calling perform DELTA ,
    perform DELTA IN PROGRAM ZPGM2 IF FOUND.
    Now the perform statement will search for perform " DELTA " in ZPGM2 , but there is no perform by name DELTA , so here we need to mention the condition " IF FOUND "  , so now by mentioning the condition " IF FOUND " in perform statement ,  if the perform DELTA is not found then it wont go to DUMP.
    If condition " IF FOUND "  is not mentioned in perform statement like
    perform DELTA IN PROGRAM ZPGM2 . ( This gives DUMP )
    just type " IF FOUND " when u r calling a perform from other program ( i guess this will solve the problem ).
    Hope it might be helpfull,
    Regards ,
    Aby
    Edited by: abhi on Nov 6, 2008 10:14 AM

  • JCO3: NullPointerException unregistering server with custom repository

    Hello,
    I have a JCO 2 project running on a J2EE server that we ported over to JCO3, and the ultimate issue is that when I
    stop the JCoServer in the application, it's throwing a null pointer exception.  Seemingly because the JCoServers
    are in a higher classloader, they are still there on restart, and then I get the NullPointerException trying to
    recreate the server as well.  I very well may be doing something totally wrong here...
    I'm creating the Data Provider, Repository, and Server as follows:
    ========================================================
    // This is a simple implementation of ServerDataProvider
    markviewDataProvider = new MarkviewServerDataProvider();
    if (!Environment.isServerDataProviderRegistered()){
      log.debug("Registering data provider");
      Environment.registerServerDataProvider(markviewDataProvider);
    else{
      log.error("Data provider already registered.");
      throw new IllegalStateException("Data provider already registered.  Please restart application server.");
    // Create the neccessary properties and assign to data provider
    // Their values are being read from a database
    serverProperties.setProperty(ServerDataProvider.JCO_GWSERV, rfcServerInfo.getGatewayServer());
    serverProperties.setProperty(ServerDataProvider.JCO_GWHOST, rfcServerInfo.getGatewayHost());
    serverProperties.setProperty(ServerDataProvider.JCO_PROGID, rfcServerInfo.getProgramId());
    serverProperties.setProperty(ServerDataProvider.JCO_CONNECTION_COUNT, maxConnections.toString());
    //XXX: We have to get this to work or else the server will not restart correctly
    //More on this later.
    //serverProperties.setProperty(ServerDataProvider.JCO_REP_DEST, "custom destination");
    markviewDataProvider.setServerProperties(serverName, serverProperties);
    // Get back the configured server from the factory.
    JCoServer server;
    try
      server = JCoServerFactory.getServer(serverName);
    catch(JCoException ex)
      throw new RuntimeException("Unable to create the server " + serverName
      + ", because of " + ex.getMessage(), ex);
    // rfcRepository is a singleton that contains
    // repository = JCo.createCustomRepository(name);  
    // and methods to add structures to the repository            
    server.setRepository(rfcRepository.exposeRepository());
    // add in the handlers, start the server
    ========================================================
    So...the first issue is this: if I set ServerDataProvider.JCO_REP_DEST to anything, the program won't run because
    it looks for the repository host connection info in a text file with that name, just like the example code does. 
    According to the javadoc, custom repositories don't have a destination, so it seems this property should be NULL. 
    Yet if I leave that property null, it works fine...until I need to stop the server (or, I get the same error when
    the above code runs again on restart, as the JCoServerFactory.getServer code runs in both places - tries to refresh
    a server that survived the restart as it failed to shut down due to the error).
    For completeness, the shutdown code essentially reads:
    =========================================================
    JCoServer server = JCoServerFactory.getServer(serverName);
    server.stop();
    =========================================================
    Then what happens is this:
    java.lang.NullPointerException
            at com.sap.conn.jco.rt.StandaloneServerFactory.compareServerCfg(StandaloneServerFactory.java:91)
            at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:116)
            at com.sap.conn.jco.server.JCoServerFactory.getServer(JCoServerFactory.java:56)
            at com.markview.integrations.sap.gateway.sap2mv.JCoServerController.destroy(JCoServerController.java:310)
    I decompiled and debugged StandaloneServerFactory and I'm seeing this in compareServerCfg:
    =========================================================
            key = "jco.server.repository_destination";
            if(!current.getProperty(key).equals(updated.getProperty(key)))
                return CompareResult.CHANGED_RESTART;
            } else
                return CompareResult.CHANGED_UPDATE;
    =========================================================
    Clearly, if getProperty() returns null, the .equals is going to raise NullPointerException, so this appears to be
    the cause of that error.  In other words, if this code runs, I'm going to have this problem because the property
    needs to (seemingly) be null for my program to run at all.
    Any insights on how to fix this / work around this would be greatly appreciated!
    Thanks in advance,
    Corey

    <div style="width:58em;text-align:left">
    Whoa, a long posting and I'm not sure I read it thoroughly enough to fully understand your problem - so please be patient with me if any comments are silly...
    Your RFC server program provides an implementation for your own ServerDataProvider. If you reference a repository destination the default DestinationDataProvider implemented will look for a file name with the repository and extension .jcoDestination. If you don't like this behavior you simply need to provide your own implementation and register it, same as you did for the server data.
    According to the javadoc, custom repositories don't have a destination, so it seems this property should be NULL.
    Not sure where you found this. I'm assuming that you're talking about com.sap.conn.jco.JCoCustomRepository, which can of course be backed by a destination, i.e. see the comments in method setDestination:
    <div style="text-align:left">Set the destination for the remote queries.
    If the requested meta data objects are not available in the repository cache, i.e. not set by the application, the remote query to the specified destination will be started. Default value is null meaning the remote queries are not allowed.
    Note: As soon the destination is provided, the repository can contain mixed meta data - set statically by the application and requested dynamically from the ABAP backend.</div>
    I usually prefer using a connection to a backend providing the meta data instead of hard coding the meta data insertion into a custom repository. As the data is cached this introduces an acceptable overhead for retrieving meta data for long running server programs.
    Anyhow, when you create your custom repository via JCo.createCustomRepository(java.lang.String name) you obviously must give it a name. That's the name I'd expect in the server data as a reference for your repository (property ServerDataProvider.JCO_REP_DEST). However, if your custom repository is not backed by a complete online repository you obviously have to ensure that all meta data is already provided.
    So for testing it might be interesting to see if adding a JCoDestination to your custom repository helps. Another option might be to enable tracing and see what goes wrong...
    Cheers, harald
    </div>

  • Third party system (JCO) ---RFC--- PI ---RFC--- ECC

    Hello all,
    We are trying to implement the following scenario:
    Third party system (JCO) -RFC-> PI -RFC-> SAP ECC
    The third party system connect to PI via Java Connector API with a know user id in PI. After that third party system tries to obtain the RFC that is already implemented and remote enabled in SAP ECC environment. But at this step there is something wrong in third party system software because we are not able to obtain the RFC interface and metadata from PI repository.
    1. This step is working correctly. Connection is OK.
                JCO.Client mConnectionPI = JCO.createClient("100", // SAP client
                                                                                    "user_id", // userid
                                                                                    "********", // password
                                                                                    "pt", // language
                                                                                    "10.x.x.x", // application server host name
                                                                                    "01"); // system number
                mConnectionPI.connect();
    2. This step is not working correctly:
                JCO.Repository repository = new JCO.Repository("TestRep", mConnectionPI);
                IFunctionTemplate ftemplate = repository.getFunctionTemplate("Z_RFC_XXX"); - not found exception
    We would like to know if there is something missing in any environment that we have to configure or implement in order to fix this issue. Thanks a lot.

    Hi Primini,
    couple of stupid-but-necessary questions:
    1) have you imported the RFC model in PI Repository?
    You don't need to have the RFC metadata in PI ABAP stack (there is no point in doing that), but rather in the PI Repository/ESR, within the SWCV you've created.
    Check the "Activities" session of this link for more details:
    http://help.sap.com/saphelp_nw70ehp2/helpdata/en/2b/a48f3c685bc358e10000000a11405a/frameset.htm
    2) if you have done 1), have you configured the RFC Sender scenario properly?
    I mean, have you ran the configuration wizard to create the agreements & determinations, setting the RFC interface as both the sender and the receiver interface? Of course, the systems would be different: as the sender system, you'll have a Business Service representing the legacy/JCo system; as the receiver, you'll have the ERP Business System.
    This should make your scenario work.
    If it doesn't, try one more thing: in the JCo code, just for the metadata repository connection, use a connection to the ERP system. But for the actual call, use the PI system.
    Let us know the results.
    Best regards,
    Henrique.

  • LCRSAPRFC is missing in Visual Admin (JCo RFC Provider)

    H y,
    I'm facing a problem while connecting our SolMan via RFC to SLD.
    Found documents explainig how to set up connection to SLD.
    SAPSLDAPI (was present in Abap and Java - wrong credentials - repaired)
    LCRSAPRFC (only present as RFC CONN in ABAP, but missing in Java, Visual Administrator JCo RFC Provider
    How can be the LCRSAPRFC added to JCo RFC Providers?
    Do I have to create the RFC Conn LCRSAPRFC again in Abap/SM59 to get the LCRSAPRFC visible again in Visual Admin?
    Thanks in advance
    Tom

    Hi,
    Do I have to create the RFC Conn LCRSAPRFC again in Abap/SM59 to get the LCRSAPRFC visible again in Visual Admin?
    Not Required.
       LCRSAPRFC (only present as RFC CONN in ABAP, but missing in Java, Visual Administrator JCo RFC Provider
    Usual Process
    Maintaining the RFC Connections (Transaction SM59)
    1. Log on to your SAP Exchange Infrastructure central instance host.
    2. Call transaction SM59.
    3. Choose Create.
    4. Enter at least the following:
    RFC destination:LCRSAPRFC
    Connection type: T
    Description: <your description>
    5. Choose ENTER
    6. Choose the tab Technical settings and do the following:
    a. Select Registered Server Program
    b. In the Program ID field, enter: LCRSAPRFC_<SID>
    where <SID> is the SAP system ID of your Integration Server host.
    Use uppercase letters only.
    c. Enter Gateway host and Gateway service of your Integration Server host.
    To find out the required parameters:
    a. On the Integration Server host, call transaction SMGW
    b. Choose Goto u2192 Parameters u2192 Display (see entries for gateway hostname and
    gateway service)
    7. Choose tab Special Options and select the flag Unicode in the box Character Width in
    Target System.
    8. Save your settings.
    Java Stack
    SAP J2EE Configuration for the Destinations (Visual Administrator)
    1. On your SAP Exchange Infrastructure central instance host, start the SAP J2EE
    Engine administration tool.
    If you do not know how to start, see section How to start the SAP J2EE Administration Tool .
    2. Choose Cluster u2192 Server u2192 Services u2192 JCo RFC Provider
    3. In the section RFC destination, enter exactly the same program ID and gateway options for LCRSAPRFC that you used in the step Maintaining the RFC connection above.
    Additionally, set the number of processes to 3.
    4. In the section Repository, do the following:
    a. Enter the parameter for the SAP XI host: Application Server, System Number, Client
    and Language.
    b. For User and Password maintain the login parameters for the user SAPJSF.
    c. Select the flag Unicode.
    6. Choose Set.
    Testing
    After you have maintained an RFC destination in both the ABAP and Java environment,
    you can check it as follows:
    1. Call transaction SM59 again.
    2. Open your RFC destination.
    3. Choose Test Connection.
    No error should be displayed.
    Regards,
    Rao.Mallikarjuna
    Edited by: Rao Mallikarjuna on May 31, 2008 11:40 AM

  • JCo rfc deatination.

    HI friends. i am getting following error while creating rfc deatination.
    Plz suggest me the needful.
    Exception Message:TYPE=A
    STATE=
    INFO_SHORT=com.sap.mw.jco.JCO$Exception: com.sap.mw.jco.JCO$Exception: (102) JCO_ERROR_COMMUNICATION: JCO.Client not connected in repository call at com.sap.mw.jco.JCO$Repository.getVersion(JCO.java:20290) at com.sap.mw.jco.JCO$Repository.queryFunctionInterface(JCO.java:20630) at com.sap.mw.jco.JCO$Repository.queryFunctionInterface(JCO.java:20351) at com.sap.mw.jco.JCO$Repository.getFunctionInterface(JCO.java:20465) at com.sap.mw.jco.JCO$BasicRepository.getFunctionTemplate(JCO.java:19533) at com.sap.ctc.util.AbapRfcCall.createRfcDestination(AbapRfcCall.java:517) at com.sap.ctc.util.AbapRfcCall.performFunction(AbapRfcCall.java:40) at com.sap.ctc.util.ConfigServlet.doGet(ConfigServlet.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 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:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)// => Creating RFC Destination: ...
    CONFIGURATION=
    thanks and regard
    Narpal Singh

    Hi Narpal
    Do you have an SLD system? The error which you are getting might be because of
    1.SLD is not configured in ur instance.For configuring go to visual admin -
    instance node--server nodeservices--
    sld data supplier.
    give the deatils of SLD system which you are using.
    2.If the backed system with which your trying to have a JCO connection is not hosted in the SLD.You get this error.
    Please speacify in details the process you are following.Which is ur instance?Which is the backened system? Which SLD ur using?
    In case of any doubts feel free to contact me.

  • Problems with JCO RFC Provider in a cluster J2EE

    Hello all,
    We've defined a JCO RFC Provider because we need to call an EJB from a SAP R3 program. If I configure it in a J2EE with a unic server all works fine, but when I configure this scenario in a cluster J2EE (a central instance with two servers and a dialoge instance with three servers) it isn't working.
    I've tried different configurations:
    Configure the JCO RFC Provider in all the servers.
    Configure the JCO RFC Provider only in one server, but this configuration is replied to the rest of the servers.
    The previouse configuration, but stopping all the JCO RFC Provider services and starting it in a unic server.
    Configure the JCO RFC Provider only in one server and checking "Local bundle" checkbox.
    But it's not working... v_v
    Has anyone configured a similar scenario? I don't know what is the correct way to configure it...
    Thanks in advance...
    jc!

    Did you create the corresponding RFC connection in ECC transaction sm59 ?
    with the same program ID.
    both pointing on the same application host.
    Regards,
    Chris

  • SSO between EP and ECC-- JCo RFC Provider- Error-- JCO_ERROR_SERVER_STARTUP

    Hello Everyone
    I am setting Up SSO between my EP 7.0 and my ECC 6.0 system. During the phase JCO RFC PRovider i am giving the following values:
    The following was done;
    1. start Visual Administrator -> Service : Choose JCo RFC Provider
    2. Created JCo RFC provider:
    Program ID: SAPJ2EE_Port
    Gateway host: EPDEV ( host of my EP System)
    Gateway service: sapgw00
    Server Count 5
    Application Server Host: ERP6 ( Host of my ECC System)
    System Number: 00
    Client: 000
    Language: EN
    User: SAPJSF
    Password: ..
    When i click on SET i am getting the error " ERROR When ADDING TO BUNDLE" Check LOG FOR DETAILS".
    I checked the DEFAULTTRACE.TRC and get the following MEssage :
    Date , Time , Message , Severity , Category , Location , Application , User
    03/01/2011 , 3:33:30:101 , Error changing bundle SAPJ2EE_PORT , Error , /System/Server , com.sap.engine.services.rfcengine.RFCRuntimeInterfaceImpl.addBundle(BundleConfiguration conf) ,  , Administrator
    03/01/2011 , 3:33:30:085 , com.sap.mw.jco.JCO$Exception: (129) JCO_ERROR_SERVER_STARTUP: Server startup failed at Tue Mar 01 03:33:30 PST 2011.
    This is caused by either a) erroneous server settings, b) the backend system has been shutdown, c) network problems. Will try next startup in 1 seconds.
    Could not start server: Connect to SAP gateway failed
    Connect parameters: TPNAME=SAPJ2EE_PORT GWHOST=EPDEV GWSERV=sapgw00
    ERROR       partner 'EPDEV:sapgw00' not reached
    TIME        Tue Mar 01 03:33:30 2011
    RELEASE     700
    COMPONENT   NI (network interface)
    VERSION     38
    RC          -10
    MODULE      nixxi.cpp
    LINE        2823
    DETAIL      NiPConnect2
    SYSTEM CALL connect
    ERRNO       10061
    ERRNO TEXT  WSAECONNREFUSED: Connection refused
    COUNTER     1
    I have configured my SLD as well. Any suggestions. Please Advise.

    Hi Ahmed,
    Please do check the validity of the certificate.
    Please do cross check these steps again.
    1.     Transaction u2013 STRUSTSSO2 (Trust Manager for Logon Ticket)
    2.     Double Click Owner certificate. It gets reflected under the certificate tab.
    3.                  Choose Format Binary
    4.                  Choose File Path.
    5.                  Enter the File Name
    6.                 saved in local drive.
    You can import into portal as x.509 certificate.
    check this thread -
    Certificate no longer has signature (use restriction)
    Renew certificate via SAP MarketPlace, and install from tcode slicense.  If you are working on a trial version, there is a SAP license request application form. Fill the form with the hardware key. you will get the new license via email. Install using slicense. Then try exporting the certificate.
    Thanks,
    Divya
    Edited by: Divya V on Mar 10, 2011 11:25 AM

  • Services in JCo RFC not getting started after Changing the client from 001

    Hi SAP Stars,
                               I have recently Installed Quality and Production servers with PI 7.1 on windows 2003, Sqlserver 2005, when I'm doing Post Activities(http://host:port/nwa) in which I try to change the client from 001 to 300(newly created) in  JCo RFC(4 services) and start the service it is throwing error when I again change it to 001 client and start the service it is getting started, Could anyone help me in solving this issue same issue I facing in PI 7.1 Quality and Production
    Thanks In Advance
    Anil Kumar

    Hi Anil,
    All these JCo RFCs are client specific RFCs.
    Please logon your PI NWA
    Choose Configuration Management - Infrastructure- JCo RFC Provider
    Then, Select the RFC
    Under Details -> Choose Repository Configuraton
    Change the client name to 300 (your new client)
    Save
    And repeat the same for all JCo RFC that you want to work for your newly created client.
    Please ensure that you are using SAPJSF user & correct password for all these RFCs.
    Ideally, these rfcs shuould work now if now please restart your PI  (mostly Java alone also do)
    I hope this helps you.
    Regards
    Sekhar
    Edited by: sekhar on Dec 17, 2009 11:39 AM

  • Question: Can Jco RFC Provider registers Program Id for BW7.3

    Hello, Friends
      I encounter the following issue and I wonder whether it is supported by Netweaver product. Please help answer.
      My scenario is to create RFC (TCP/IP Connection) in ABAP server with program id registered by Jco RFC Provider (Visual Admin of NW7.02 Java)
      If my ABAP BW NW server is 7.02 version, RFC can be tested successfully. However, for this time, I worked on another ABAP BW NW 7.3 Server and I create the RFC(TCP/IP Connection) with program id registered by Jco RFC Provider. As a
    result, the RFC cannot find the program id registered by Jco NW 7.02 Java.  Does Netweaver support ABAP 7.3 RFC with Program id registered by Nw 7.02 java Jco RFC provider?
    Thanks a lot!
    Welkin

    Hi, Ejersbo
      If you are using 7.3 portal, you can refer to the following on how to register Jco RFC provider on 7.3 Java:
    (1) Open http://<server>:<port>/nwa
    (2) Search for "Jco RFC destinations", open "Jco RFC destinations"
    (3) Create a Jco RFC destination, with program id in the same name as the one which is used in your ABAP RFC in SM59
    Welkin

  • JCo RFC Provider Service

    Hello
    This topic may be not relevant to this forum but has anyone used JCo RFC Provider service for maintaining RFC Destinations?
    What I am trying to do is to store the RFC Destinations over here and have a lookup on JCo RFC Provider service (or on its program id) from mapping tool.My code looks like
    javax.naming.Context ctx = new InitialContext();
    ctx.lookup("JCo RFC Service"); or
    ctx.loopup("Program id name");
    But while testing it gives Object Not Found exception.
    I am expecting it to return JCO object which I can use to connect to SAP for executing RFCs.
    Thanks in advance.
    Regards
    Rajeev

    Hi rajeev,
    Did u check if the Prog Id mentioned in JCo RFC provider is running (started in visual admin).
    Did u perform ur lookup properly
    Properties p = new Properties();
    p.put(Context.INITIAL_CONTEXT_FACTORY,"com.sap.engine.services.jndi.InitialContextFactoryImpl");
    p.put(Context.PROVIDER_URL, "server:50004");
    p.put(Context.SECURITY_PRINCIPAL, "Administrator");
    p.put(Context.SECURITY_CREDENTIALS, "password");
    javax.naming.Context ctx = new InitialContext();
    ctx.lookup("JCo RFC Service");
    Hope this helps you.
    Cheers,
    Siva Maranani.

  • Notes on JCO,RFC and ARFC?

    Hi,
    I need information regarding JCO,RFC,ARFC.
    wht the main use of  this?
    Reply ASAP.
    Regards
    kiran

    hi,
    JCO
    SAP Java Connector (SAP JCo) is a middleware component that enables the development of SAP-compatible components and applications in Java. SAP JCo supports communication with the SAP Server in both directions: inbound calls (Java calls ABAP) and outbound calls (ABAP calls Java).
    SAP JCo can be implemented with Desktop applications and with Web server applications.
    SAP JCo is used as an integrated component in the following applications:
    ●     SAP Business Connector, for communication with external Java applications
    ●     in the Application Server, for connecting the integrated J2EE server with the ABAP environment.
    SAP JCo can also be implemented as a standalone component, for example to establish communication with the SAP system for individual online (web) applications.
    RFC
    Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. The RFC calls a function to be executed in a remote system.
    ARFC
    Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog. There are three characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:
    When the caller starts an asynchronous RFC, the called server must be available to accept the request.
    The parameters of asynchronous RFCs are not logged to the database, but sent directly to the server.
    Asynchronous RFCs allow the user to carry on an interactive dialog with the remote system.
    The calling program can receive results from the asynchronous RFC.
    regards,
    Kris

  • How to send an idoc of lower release to an External RFC server

    Hi All,
    I am sending idocs from the sap system to an external rfc server(written using Sap RFC SDK).
    When an idoc is sent from the Sap system, I receive an IDOC_INBOUND_ASYNCHRONOUS call in the external RFC server with the Idoc data.
    Everything works fine with the latest release of idocs. But if I send an Idoc of lower release number, I am getting the data records properly for the lower release(say 640). But the DOCREL field (in the control record- EDI_DC40) always gives me the latest release number(700)
    In my partner profile, I specify the Segment release number to 640 and even then I am receiving the value 700 in DOCREL.
    What am I missing here? How can I populate the DOCREL field with the appropriate release number?
    Any help would be greatly appreciated.
    Thanks
    PS: Please feel free to move this post to appropriate category, if this is not the one.

    Serigo,
    Thanks for your reply and we are not using XI.
    I have defined in the port definition giving the path name refering to unix like /outbound/<system name>/<directory name>. But I dont know how to define for C:\temp\, if I define the same way as c:\temp\  do I need define anything anywhere else ?
    Kindly let me know.
    Thanks,
    Kalikonda.

Maybe you are looking for

  • ISW 6.0 and patch 119214 (NSS/NSPR/JSS) will it ever be solved

    I am just wondering if the problem with ISW 6 and patch 119214-19 and higher will ever be fixed. Sun bugid: 6862663 Synopsis: ISW core install breaks dsadm ld.si.1: libnss3.so: version NSS_3.12 not found (require by file /var/mps/serverroot/lib/libss

  • IWeb Published Quicktime Movie Won't Play in Safari. Only Quicktime Logo Shows.

    I created a movie using iMovie and, after publishing my movie, using iWeb, to my MobileMe account, I visit the site using Safari, and can only see the Quicktime logo instead of my movie. When I use Firefox to view the page I created, it shows fine. I

  • AAAArrrrhhhh!!!!

    I have had Itunes on my Windows 95 comp since xmas, I have just had broadband put on the computer and I cant open Itunes. There is no eror message, It just isn't opening at all, My ipod can play and charge but I cant update. Please give me some answe

  • Camera Raw Plug In

    I'm trying to download RAW images from my canon 60d to Photoshop CS5 and it's not working.  I did some research and found that I need a Camera RAW Plug-In. Can anyone tell me where to find this plug in? Is that all I need to work with RAW images?

  • Changing PO through IDOC PORDCH02  gives an error

    Hi ,   When I try changing /modifiying an existing PO through Idoc PORDCH02 , I get an error  with status 51 & message   "BUFFER TABLE NOT UP TO DATE"  , Also the POItem segment is displayed in red with no messages . kindly help me in resolving this