Are Import parameters compressed in external JCo RFC calls?

I would like to send XML data from a Java program to an SAP ABAP System running on NW 7.02.
The connection is done by Java Connector 3.0. The XML file should be passed as a parameter of an RFC function module.
In older versions the data would have been passed as a TABLES parameter and would be compressed automatically if the payload exceeds 8kb or the connection would be marked as a slow connection. (see also Note 977407).
Now I would like to use the basXML RFC protocol. There it is advised to use Table Types in Import parameters instead of TABLES parameters for table data. Now will the data be compressed if I send them as Table data in an Import parameter? And will they also be compressed when I send them as an Import parameter as STRING or XSTRING instead of a table?
Unfortunately the help documentation is incomplete on these topics and I did not find any details for this scenario.

Yes it is possible
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.
http://help.sap.com/saphelp_erp2005vp/helpdata/en/09/a4a9e1d51d11d6b2c200508b5d5c51/frameset.htm

Similar Messages

  • Asyncronic JCO RFC call from JAVA to ABAP

    Hi,
    Please could you provide a sample java code to establish JCO RFC call to ABAP?
    Thanks.

    Hi Denis,
    Import the model In NWDS for ABAP for RFC.
    Please check here [Accessing ABAP Functions using the Adaptive RFC Model |http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a00f7103-6790-2a10-ac9c-fcac7c5b18a3?quicklink=index&overridelayout=true]
    [Web Dynpro Model: Backend Access|http://www.sdn.sap.com/irj/sdn/nw-wdjava?rid=/webcontent/uuid/403e6bf5-426e-2910-b0a8-a95548724af9#section10 [original link is broken]]
    Also check here /docs/DOC-8661#section10 [original link is broken]
    Hope it helps,
    Redards,
    Arun

  • User Name and Password for JCO RFC call to BAPI

    Hi all,
    What I think I know:
    --We do NOT have Single Sign On configured so don't tell me to use SSO please - I agree, but...
    --We have a requirement to do a goods receipt which prints labels for the handling units 
    .....The printer to which the labels are directed depends on the user who is running the transaction
    What I think this means
    --We will need to specify a user name and password in the RFC call so the label will go to the correct printer
    --I cannot use the IllumnLoginPassword (or whatever its name is) for the password
    --I need to prompt the user for their password a second time after they login to our MII app
    The problem
    --I will need to store the password somewhere for the duration of the session
    ......In session variable that has been encryted
    .............I didn't see an encryption action block so I could create my own
    ......In the database using database column encryption
    .............A little bit of a pain, but not too bad
    Any corrections, alternatives, ideas .... ???
    Thanks,
    --Amy Smith
    --Haworth

    Thanks for the attention guys.  A little clarification.
    1.  I have been assuming that I cannot use the IllumnLoginPassword for the JCO SAP password in the action block.  If this is NOT true, then it solves my whole problem.
    2.  It would not work to prompt a shop floor person for their password every time they do an operation completion.  Well, at least
    if I don't want to not get lynched! 
    3.  I am planning on prompting people every time they log on for their ECC password and retaining it somewhere secure while they are logged on (and longer if they skip the logoff step.)
    4.  I have been focusing on how/where to retain the password, but also need a way to encrypt it during transmission.  Jeremy said the applet/BLS would at least encode it for me.  That is good.
    --Amy Smith
    --Haworth
    Edited by: Amy Smith on Feb 18, 2010 1:30 PM

  • Import parameter is empty after an RFC call from BW to JCo

    I am calling a Java function (implemented using JCO and deployed on J2EE stack of the Portal box) from within a user-exit in BW (on a separate box) using RFC. The code in BW looks like:
    CALL FUNCTION 'Z_BW_VALIDATE_PROXY' DESTINATION 'ACF2PROXY'
        EXPORTING
            IREQUESTOR = 'AE012345'
            IREQUESTED = '012345'
        IMPORTING
            ERESULT = lv_result
        EXCEPTIONS
            SYSTEM_FAILURE = 1 message lv_rfc_mess
            COMMUNICATION_FAILURE = 2 message lv_rfc_mess.
    The following are working/setup correctly:
    1. RFC destination ACF2PROXY, in BW using transaction SM59;
    2. Java function 'Z_BW_VALIDATE_PROXY' , as the server log on the Portal(J2EE) shows the correct IMPORT and EXPORT parameters after processing a call from BW;
    The data types of the parameters in the function call above matches with those of the formal parameters in Java function where they are defined using JCO data types (export parameter is defined at CHAR 1 at both places).
    The problem is that I am not getting any value back in the IMPORT parameter 'lv_result'. I am expecting either '0' or '1' which is populated correctly in the Java function.
    Any insight is appreciated.

    The following is the code of the method in the class that inherits from JCO.Server. In this method the export parameter ERESULT is set with the value of variable 'result'. I thought it may be helpful to reporduce it here.
    protected void handleRequest(JCO.Function function) throws MMException
              if (function == null) {
                  LOGGER.logInfo("handleRequest - JCO.Function object is null.");
                   return;
              LOGGER.logDebug("handleRequest(" + function.getName() + ")");
              //process this function only, although I don't know what else would fall to this
              //server request method...
              if (function.getName().equalsIgnoreCase(ACF2Listener.ABAP_RFC_PROXY_FUNCTION)) {
                   //get input & output definitions from RFC. These are defined in the repository interface definition
                   JCO.ParameterList input = function.getImportParameterList();
                  JCO.ParameterList output = function.getExportParameterList();
                  LOGGER.logDebug("Received the following from ABAP: " + input.toString());
                  String requestor = input.getString("IREQUESTOR");
                  String requested = input.getString("IREQUESTED");
                  //call DAO to read ACF2 for these values
                  String result = null;
                  try {
                       ACF2DAO acf2 = ACF2DAO.getInstance();
                       if (acf2 != null) {
                            result = acf2.getACF2Delegation(requestor,requested);
                  catch (MMException e) {
                      LOGGER.logError("Exception occured during ACF2 DAO lookup: " + e.getMessage());
                      throw e;
                 output.setValue(result, "ERESULT");
                 LOGGER.logDebug("ACF2 Service Call returning: " + output.toString());
              else {
                   throw new JCO.AbapException("NOT_SUPPORTED","This service is not implemented by the ACF2 Proxy external server.");
    Thanks
    Sanjeev

  • What are  import parameters for bapi

    please tell me what are the minimum  fields i  has to pass for bapi
    " BAPI_SALESDOCUMENT_CHANGE ".
    if  possible  give me with example
    Moderator message: please (re)search yourself first.
    Edited by: Thomas Zloch on Dec 8, 2010 9:07 AM

    Hello,
    It will all depend on what you need to change in the sales order.
    For example, if you want to change something in the header only, then you need to pass ORDER_HEADER_IN and ORDER_HEADER_INX.
    Similarly, if you want to change something only in the sales items then you need to pass the value in SALESDOCUMENT, ITEM_IN and ITEM_INX.
    So, it will all depend on your need.
    But, always pass a table in RETURN so that you get to know whether BAPI has executed successfully or there is some error in the processing.
    Hope it helps.
    Regards,
    Himanshu

  • Logon exit for jco rfc call

    Hi. There is a external system to access our SAP rfc function by jco. I want to limit the jco access must be come from a certain ip.
    I found user exit SUSR0001 and can limit GUI logon. But it is no effect on jco logons. Is there another user exit for jco logon or others way to limit jco logon? Please give me some help. Thanks.

    Thanks for the attention guys.  A little clarification.
    1.  I have been assuming that I cannot use the IllumnLoginPassword for the JCO SAP password in the action block.  If this is NOT true, then it solves my whole problem.
    2.  It would not work to prompt a shop floor person for their password every time they do an operation completion.  Well, at least
    if I don't want to not get lynched! 
    3.  I am planning on prompting people every time they log on for their ECC password and retaining it somewhere secure while they are logged on (and longer if they skip the logoff step.)
    4.  I have been focusing on how/where to retain the password, but also need a way to encrypt it during transmission.  Jeremy said the applet/BLS would at least encode it for me.  That is good.
    --Amy Smith
    --Haworth
    Edited by: Amy Smith on Feb 18, 2010 1:30 PM

  • Table Values in Export/Import/Tables RFC calls

    Hi
    I know that using Adaptive RFC, the best practice is to use the Tables section of the function rather than the import/export.
    However, in ECC6.0, when creating entries in the Tables section of the FM it tells me that this section is obsolete.
    Should I start to use the export/import parameters instead?
    Cheers
    Ian

    Hi Ashu
    Thanks for the reply but there is no code snippet.  It is a 'best practice' question.
    The document <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/11c3b051-0401-0010-fe9a-9eabd9c216de">Effective Web Dynpro - Adaptive RFC</a> details that table values should not be passed in the exporting/importing parameters of the R/3 RFC enabled function module.  THey should always be added to the Tables section.
    However, in ECC6.0, when adding entries into the Tables section of an R/3 function module, it says that this practice is obsolete.
    Therefore, what is the current best practice for Adaptive RFC??
    Cheers
    Ian

  • RFC call from ECC to SCM -- Debug Steps required

    Hello,
    The steps being done for this issue is:-
    1) In ECC system ,CN22 Transaction Code (Change Networks) --> Click on Schedule (at the Header) and click on SAVE
    2) This seems to trigger an RFC call to SCM server (as per the trace log).
    3) From SCM, it comes back to ECC server as User 'BATCHRFC'. This has been defined in SM59 correctly.
    4) BATCHRFC in ECC system calls an RFC FM 'CIF_PJ_INBOUND' and changed the status of networks to DSEX (date set by External system)
    We are trying to understand why is the RFC call being made? I can debug the FM in ECC when an external breakpoint is used.
    However, I want to know where in ECC is the RFC call made (to SCM), and how? How can I control it as we do not want this to happen? How can I debug to understand how an RFC call is made?
    Your views would be appreciated.
    Regards,
    Sanjiv

    Hi,
        What you do is, enter the Tcode, CN22, then in Command window activate debugger by entering /H
    It takes u to debugger, from menu > utilities set a break point at Satetment Call Function, it will stop at all the Function modules in debugger, so you can look for the RFC FM in the program where it is called.
    And also look for setting in debugger, may be u have some options for RFC FM.
    Regards
    Bala Krishna

  • Function group memory with RFC calls

    We have a system where a web front-end interacts with our 4.6C system through RFC calls.
    I am having a number of problems where variables declared in a function group are not being cleared out between separate RFC calls to functions in the same group.
    I would not have expected separate RFC calls from an external system to use the same memory area.
    I have seen this happen at other sites too, but have never found an explanation for it.
    Has anyone else experienced this problem and if so can you give me more information about why it happens?
    Thanks for you help,
    Denis.

    This does make sense as global data within a function group is accessable by all function modules of the group.  Normally, in the ABAP system, you call multiple function modules of the same group, and they all share the data.  If you are calling from outside the system, I would expect a different behavior if you are connecting one by one.  But if you are using a pooled connection, this may be the issue.  Not sure though.  It seems that the session on r/3 has not ended and you are accessing the same when calling the second function module.  Is there any function module of the group that looks like it is a "refresher".  In some groups, there is a function module that will refresh the global data. 
    http://help.sap.com/saphelp_46c/helpdata/en/9f/db992335c111d1829f0000e829fbfe/frameset.htm
    Regards,
    Rich Heilman

  • Import parameters in jco

    All,
    Can anyone tell me how to use a table import parameters in a jco call
    Thanks

    One Example using Sap Enterprise Connector with JCO:
    RFC: BAPI_FLIGHT_GETLIST
    EnterpriseConectorTest connector = null;
    try {
         connector = new EnterpriseConectorTest();
         connector.client = JCO.getClient(POOL_NAME);
         System.out.println("Client: " + connector.client.getAttributes());
         Bapi_Flight_Getlist_Input input = new Bapi_Flight_Getlist_Input();
         BAPI_FLIGHT_GETLIST_PortType proxy = new BAPI_FLIGHT_GETLIST_PortType();
         proxy.messageSpecifier.setJcoClient(connector.client);
         //BapisfldatType datType = new  BapisfldatType();
         //datType.setAirline("AA");
         //Bapi0002_1Type types = new Bapi0002_1Type();
         //types.setComp_Code("AA");
         input.setAirline("AA");
         Bapi_Flight_Getlist_Output output = proxy.bapi_Flight_Getlist(input);
         BapisfldatType[] list = output.getFlight_List();
         System.out.println("Size: " + list.length);
         for (int i = 0; i < list.length; i++) {
              BapisfldatType type = list<i>;
              System.out.println(type.getAirline() + " - " + type.getCityfrom());
    } catch (Exception e) {
         e.printStackTrace();
    Regards
    Marcos

  • RFC importing parameters values

    Hi guys,
    One doubt, I've implemented an RFC with a table and an importing parameter of the the type char.
    I've done the mapping on the IR and everything is ok.
    When I test the scenario, I've introduced a breakpoint on the R/3 side to check if the values are coming right on the rfc, and I'm not getting any values on the table or on the char parameter.
    What is the "catch" that I'm missing...?
    Thanks in advance.

    Hi Naveen,
    I've been trying to see if there was any other problem but I can't get anything...
    On the R/3 side I now have two importing parameters, two tables and in the exporting parameters I have one char.
    "are u testing end to end , that is from xi to r3 or just testign your rfc on the abap side??"
    >> The scenario is an end to end, XI calling R/3, sending the xml file with a structure expected (theoretically) by R/3.
    "also if you were testing from xi, do u see testing data in sxmb_moni??"
    >> Yes, I see my XML file one the sending data.
    did you make any changes to the rfc after you imported the rfc into XI??
    >> No, the RFC is rightly imported...
    When I test the scenario, when the RFC is called, on the breakpoint I don't get any of the tables filled...
    Do you have any suggestions why isn't XI filling the tables?

  • Importing parameters RFC from SAP

    Hi,
    I read that is possible call a RFC from SAP using 'call fm destination xx in background'. But, how can i get importing parameters if the fm is asynchronous?
    I'll apreciated any helps! thanks,
    Alexandre!
    Message was edited by: Reiner Hille-Doering (marked as question)

    Hi Alexandre,
    I guess you should use the refernce fields when you indicate them ref. you can access the parameters, These will extra memory so it is better if you include whenever they are necessary
    Regards
    ram

  • Error after import external webservice(RFC) wsdl url to Process Composer

    Hi all,
    I try to use RFC webservice in my BPM as below:
    1. Expose RFC as webservice using CAF (import external service RFC and then create application service use this external service)
    2. Define Destination in NWA.
    3. Create a Process Composer project, and import the external webservice(RFC) wsdl file as service interface in the project.
    After importing, i get error : the port type specified for the ...binding is undefined. Check port type name and ensure it is defined.
    If i import another external service, not RFC (such as business object), there is no error.
    My system is NWCE 7.11
    Thanks in advance,
    Sinh.
    Edited by: Sinh Nguyen Van on Jul 20, 2009 8:29 AM

    Hi Bharath,
    Below is content of wsdl url and error message, thanks
    Error message:
    The 'zfm_rfc_caf_as' port type specified for the 'zfm_rfc_caf_asBinding' binding is undefined. Check the 'zfm_rfc_caf_as' port type name and ensure it is defined.
    wsdl url :
    - <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.sap.com/caf/demo.sap.com/s00_caf_rfc/modeled/zfm_rfc_caf_as" xmlns:b0="http://www.sap.com/caf/demo.sap.com/s00_caf_rfc/modeled/zfm_rfc_caf_as">
      <import namespace="http://www.sap.com/caf/demo.sap.com/s00_caf_rfc/modeled/zfm_rfc_caf_as" location="http://sinhnv-lap:50000/zfm_rfc_caf_as/zfm_rfc_caf_asBeanImpl?wsdl=binding&mode=ws_policy" />
    - <service name="zfm_rfc_caf_as">
    - <port name="zfm_rfc_caf_asBindingPort" binding="b0:zfm_rfc_caf_asBinding">
      <address xmlns="http://schemas.xmlsoap.org/wsdl/soap/" location="http://sinhnv-lap:50000/zfm_rfc_caf_as/zfm_rfc_caf_asBeanImpl" />
      </port>
      </service>
      </definitions>
    Edited by: Sinh Nguyen Van on Jul 22, 2009 4:18 AM

  • I imported files from an external hard drive to Itunes on a new computer.  they imported & play fine, but the ratings & playlists are gone & i am unable to update any info.  I found a file name playlist on old drive & imported now most files are missing!

    I imported files from an external hard drive to Itunes on a new computer.  they imported & play fine, but the ratings & playlists are gone & i am unable to update any info.  I found a file name playlist on old drive & imported now most files are missing!  Help!

    Can you locate the iTunes Library.itl file on the old drive? Ideally you would have simply copied over the entire iTunes folder structure from <User's Music> on the old computer into <User's Music> on the new one to transfer the library will all playlists, ratings, play counts etc. intact.
    tt2

  • How do I open compressed old files to view them before I delete,I have alot of space taken up with these files but I dont know what they are and if they are important.

    I have just started using the computer and have no idea what old compressed files are or if they are important,so I have not deleted any ,and now they are taking up alot of space.

    You should have the old Pages '08 inside the iWork folder, inside your Applications folder.
    Open your old files in Pages '08 > Menu > File > Export > Word
    Pages 5 can then open that Word file.
    Peter

Maybe you are looking for