AMFPHP - Sending data to Flex

Since i start using AMFPHP, i've been seeing different ways to send data to Flex, two of them is sending an ArrayCollection containing all the data another way is using VO's, or sending objects each one with one row of my query (am i correct?).
Now, what's the difference between sending the query results in an ArrayCollection (1000 records means 1 ArrayCollection) and sending a bunch of objects (1000 records means 1000 objects) to Flex with RemoteObject?
Sending an ArrayCollection the data goes like this:
  [0] (Object)#1
    color_code = "0x9999"
    color_id = "8"
  [1] (Object)#2
    color_code = "0xCC99CC"
    color_id = "7"
  [2] (Object)#3
    color_code = "0xFF9999"
    color_id = "10"
  [3] (Object)#4
    color_code = "0xFFCC66"
    color_id = "9"
And the PHP code is this one:
public function all_colors_array(){
     $db=$this->connection();
     $rs=$db->Execute("SELECT * FROM colors WHERE color_status=1 ORDER BY color_code ASC");
     $i=0;
     while (!$rs->EOF){
          $color_code[$i]['color_id'] = $rs->fields['color_id'];
          $color_code[$i]['color_code'] = $rs->fields['color_code'];
          $rs->MoveNext();
          $i++;
     return $color_code;
Sending as Objects, it goes like this:
  [0] (Object)#1
    color_code = "0x9999"
    color_id = "8"
    color_status = "1"
  [1] (Object)#2
    color_code = "0xCC99CC"
    color_id = "7"
    color_status = "1"
  [2] (Object)#3
    color_code = "0xFF9999"
    color_id = "10"
    color_status = "1"
  [3] (Object)#4
    color_code = "0xFFCC66"
    color_id = "9"
    color_status = "1"
And the PHP is like this after including the VO file:
include_once '../vo/ColorVO.php';
.......public function all_colors_objects(){
     $db=$this->connection();
     $rs=$db->Execute("SELECT * FROM colors WHERE color_status=1 ORDER BY color_code ASC");
     while (!$rs->EOF){
          $color = new ColorVO();
          $color->color_id = $rs->fields['color_id'];
          $color->color_code = $rs->fields['color_code'];
          $color->color_status = $rs->fields['color_status'];
          $a[]=$color;
          $rs->MoveNext();
return $a;
Now:
1. What's the difference?
2. Which one is best pratices?
3. Which one is better? ans Why?
4. If is there anything wring with my code please fell free to correct it!!

i dont know why.. Adobe Forum is just banned my account !!! :O
and..to your answer... well, i never tried MS sql to connect to flex.
but you may check this:
http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_2.html
thank you.

Similar Messages

  • How to send event from flex extension to other flex extension in InDesign?

    I have two extensions created using flex for InDesign. I need to send an event from one of these extensions and capture that event in other extension. How can it be done? Please help me.

    Hi,
    What I believe that data cannt be send from flex to java as hash maps...... we can send data from flex to java, but this data can be in form of array, string or boolean value..... Then the data can be send using ExternalInterface...............
    and if it is web application you need to use java script in between to communicate and if it is desktop application you can send data using MERAPI...
    MERAPI will act as a bridge for sending data from java to flex and vice versa... and you can send any type of data using merapi.

  • How to send data one row at a time from xml to flex

    I want to setTimerEvent while sending data from xml to flex, one row at a time.
    I have attached the xml.
    Thanks in advance.

    Hi Greg,
    Thanks for the reply. You must have seen the xml which i have attached.Here is the .mxml code which i have written:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="accountData.send()">
    <mx:Script>
    <![CDATA[
    import mx.controls.*;
    import mx.rpc.events.FaultEvent;
    import mx.rpc.events.ResultEvent;
    import mx.collections.ArrayCollection;
    [Bindable]
    private var AccountInformation:ArrayCollection;
    private function AccountHandler(evt:ResultEvent):void
        AccountInformation = evt.result.xml.AccInfo;
    private function faultHandler(evt:FaultEvent):void
        var faultMessage:String = "Could not connect with XML file";
        Alert.show(faultMessage, "Error opening file");
    ]]>
    </mx:Script>
    <mx:HTTPService id="accountData" url="pgm1.xml" result="AccountHandler(event)" fault="faultHandler(event)"  />
    <mx:DataGrid x="20" y="24" width="950" dataProvider="{AccountInformation}" />
    </mx:Application>
    This reads and displays all the rows. But I want to display single row at a time with sometime time gap between the display of two consecutive rows.I am new to flex and this is my first code, so need your help on this.
    I hope i have made myself clear. If there is anything else please let me know.
    Looking forward to some solution.
    Thanks in advance.
    Regards,
    praj58

  • Sending attachments/binary data from flex to Restful APIs

    Hi,
    We have a requirement of sending the files (or binary data) from flex GUI to Restful services(backend APIs). We are using flex HTTPService component to invoke the rest apis. The Rest APIs are designed to accept the multipart/mixed data which can support the binary data as well.
    Can any one help us understand, how can we send the multipart/mixed OR multipart/form-data  from flex to backend using the HTTPService. Or is there a better way to send the mixed data from Flex GU to Restful APIs.
    Request you to please respond to this at the earliest as this is very urgent.
    Thanks and Regards,
    --Revanth

    Has anyone worked on this issue?? i wanted a quick response as we are in the middle of the development and this is a r
    equirement
    Thanks
    -Revanth

  • Passing Data to flex IFrame url

    I am using  Iframe for flex  developed by Christophe Coenraets for embedding html in my flex application.Is there a way i can pass request parameters to the iframe url.Initially i was using naviagateToURL to redirect to HTML page and was passing data to the html page using UrlRequest,But due to business requirement i need to embed the html page in my application.I need to know how i can pass data to iFrame on load.I need to send data via POST method since it may be a huge data.
    Regards
    Sidd

    For small data, use the <params ...> tag in the object declaration in HTML.
    For large data you need to use RemoteObject. If you use PHP you need AMFPHP to communicate with Flex for example.

  • Is it possible to pass data from Flex to BlazeDS/POJO as a stream?

    Is it possible to make a remote call to a remote Java object that uses BlazeDS so that the data is gotten as a stream (InputStream)? For example when uploading a file, it would require less memory.
    The BlazeDS examples about file upload that I've seen read the data from file to client memory first with FileReference#load() and after that pass it to the server as ByteArray. By doing so, both client and server need to load the whole file data into memory before it can be passed/processed.
    Thanks.

    Thanks for the tip Joe.
    It's not quite what I was looking for, but it gave me some ideas.
    The blog post describes how to create your own server to handle the file stream. With BlazeDS & Java EE app server there's no need to implement the low level stuff.
    One option would be to read the data on Flex side in chunks and make a request to send each chunk at a time, but I don't know whether this helps at all. Might just slow down the network.
    Another option is to write a custom adapter for BlazeDS endpoint, but I don't know enough details on this to say is it possible or not.
    Third option is to use regular servlet code and Apache Commons FileUpload module.
    Still interested hearing opinions from people working with BlazeDS.

  • Best way to send data to server?

    Hi,
    I'm sending the usual info (name, email, address, city &
    zip) from flex to a PHP script which then emails that data to me
    and I was wondering if I should send each separately (
    variables.name = name.text ) and format it in php to send to me or
    should I format all the data in flex and send it as one lump to php
    ( variables.client, where client has all the above data formated in
    the way I need )? Which would be the best or doesn't it matter?
    Thanks,
    Paul

    Send it all at once. Why not?
    Tracy

  • HTTPService of e4x sending data from an XMLListCollection?

    I'm converting an applicaton to use e4x httpservice calls to get and send variables to a PHP remote service and seems to have run into a few questions I can't find any forums posts or documentation about. Currently the application uses the object model to get data and sends and receives variables
    from the PHP scripts through a bunch of $_POST variables. When pulling stuff into the application it gets stored in an array collection so I can sort it and search it easily using cursors. Here are my questions:
    Getting stuff from an HTTPservice with a type of e4x is easy. works great. I toss it right into an XMLarraycollection and get my sorting. But sending data to the same service setup as a type of 'e4x' I can't figure out. Using the object model I could just send an object of keys and properties so sending a { key : value }, would go to the PHP file as a $_POST['key'] and I could read the value. Since httpservice of e4x enforces the need for a root XML tag, all I seem to get is a $_POST['root'], and none of the real key:value data I need. I'm clearing missing something. So how on the PHP side do I get my values if I have to send this root tag? Or in flex how to I send XMLlists instead of XML.? This has to be possible. I don't want to use a different service just to send.
    Second, and a minor thing. When I do send variables to  and httpservice of e4x from an XML arraycollection, do I just send it in key:value format, or do I need to toString() it? When it gets to the php script after the post would the variable name and value be $_POST['key']=value or $_POST[<key>']=<value>.
    Thanks in advance!  

    hi,
    have you looked at creating a new document with the root tag as parent then inserting the collection, haven't tried this with xmllistcollection but I would think the process is similar to the atraycollection conversion
    var qName:QName = new QName("root");
    var xmlDocument:XMLDocument = new XMLDocument();
    var simpleXMLEncoder:SimpleXMLEncoder = new SimpleXMLEncoder(xmlDocument);
    var xmlNode:XMLNode = simpleXMLEncoder.encodeValue(myArrayCollection.source, qName, xmlDocument);
    trace(xmlDocument.toString());
    David

  • Socket not sending data.

    I am new to Flex and I am trying to use the Socket class using v4 beta of flex to send data to a .NET server written in C#.
    I can make the connect to the server ok using the flex client built as an air application but I cannot send any data.
    I do not get any exceptions thrown.
    I have written a Java client and it can send data using sockets to the server without any problems which means the server is ok.
    The server is running on the same box as the client which is a Windows XP system.
    Has anyone any ideas?

    Something like Wireshark (www.wireshark.org) can be useful in troubleshooting these sorts of issues. It will let you see when the data is actually sent and you can examine the packet to tell whether the client or the server is at fault for the garbled string.

  • Sending data to EXCEL from Oracle Forms 6.0 URGENT!!!!!

    Dear all,
    I have a problem to which I hope to get a solution from anyone
    out there...
    The problem is as follows:
    I have a form that contains some data. Now this data I need to
    transfer to an excell sheet. I tried to do so through report
    builder (6.0) but every time I try to convert my report I get a
    general protection fault. So instead I'm sending the data to a
    text file through text_io built in then reopening the text file
    from excel. Isn't there a better way to do it? ie sending the
    data stright from forms to excel?
    Thanks in advance
    null

    TRY THIS OUT....OLE2.... IT WORKS GREAT...DIRECTLY TO EXCEL...
    Oracle Corporate Support
    Problem Repository
    1. Prob# 1030046.6 NEW: OLE AUTOMATION NO LONGER WORKS AFTER
    UPGRADE TO OF
    2. Soln# 2077481.6 NEW: MICROSOFT CHANGED OLE INTERFACE FOR
    OFFICE97
    1. Prob# 1030046.6 NEW: OLE AUTOMATION NO LONGER WORKS AFTER
    UPGRADE TO OF
    Problem ID : 1030046.6
    Affected Platforms : MS Windows 95
    MS Windows NT
    Affected Products : SQL*Forms
    Oracle Reports
    Oracle Graphics
    Oracle Developer/2000
    Affected Components : SF40 V04.05.XX
    SQLREP V02.05.XX
    ORAGRAPH V02.05.XX
    DEV2K Generic
    Affected Oracle Vsn : Generic
    Summary:
    NEW: OLE AUTOMATION NO LONGER WORKS AFTER UPGRADE TO OFFICE97
    +=+
    Problem Description:
    ====================
    You have upgraded to Microsoft Office97 and OLE calls in your
    Developer/2000
    applications no longer work.
    Problem Explanation:
    ====================
    Examples:
    You are using Forms to send data to a Microsoft Word document
    and print
    letters, using ole automation. This worked fine with Word 6.0,
    but when
    they
    upgraded to Word 8.0 (Office97), the letters do not get printed.
    When you try to get an object handle to the Excel97 Workbooks
    collection
    using
    the OLE2 Package, you get the following error:
    FRM-40735: WHEN-BUTTON-PRESSED trigger raised unhandled exception
    ORA-305500
    The Same code works fine against Excel 7.0.
    [ Search Words: Office 97 msoffice ms office object linking and
    embedding
    application get_obj_property workbook invoke_obj
    appshow
    upgrade upgrading bug483090 olex.rdf demo ]
    +==+
    Diagnostics and References:
    2. Soln# 2077481.6 NEW: MICROSOFT CHANGED OLE INTERFACE FOR
    OFFICE97
    Solution ID : 2077481.6
    For Problem : 1030046.6
    Affected Platforms : MS Windows 95
    MS Windows NT
    Affected Products : SQL*Forms
    Oracle Reports
    Oracle Graphics
    Oracle Developer/2000
    Affected Components : SF40 V04.05.XX
    SQLREP V02.05.XX
    ORAGRAPH V02.05.XX
    DEV2K Generic
    Affected Oracle Vsn : Generic
    Summary:
    NEW: MICROSOFT CHANGED OLE INTERFACE FOR OFFICE97
    +=+
    Solution Description:
    =====================
    WORD:
    Microsoft made some changes in the upgraded version of Word
    which cause it
    to
    come up as a hidden application. Customer had to add "AppShow"
    to his code,
    and ole automation works fine now.
    EXCEL:
    The issue here is that Microsoft changed the object "Workbooks",
    which is
    now
    a property of object "Excel.Application". So, replace the call:
    workbooks := ole2.invoke_obj(application, 'workbooks');
    with
    workbooks := ole2.get_obj_property(application, 'workbooks');
    For example:
    PACKAGE BODY olewrap IS
    -- Declare the OLE objects
    application OLE2.OBJ_TYPE;
    workbooks OLE2.OBJ_TYPE;
    workbook OLE2.OBJ_TYPE;
    worksheets OLE2.OBJ_TYPE;
    worksheet OLE2.OBJ_TYPE;
    cell OLE2.OBJ_TYPE;
    args OLE2.LIST_TYPE;
    procedure init is
    begin
    -- Start Excel and make it visible
    application := OLE2.CREATE_OBJ('Excel.Application');
    ole2.set_property(application,'Visible', 'True');
    workbooks := OLE2.GET_OBJ_PROPERTY(application, 'Workbooks');
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'c:\test\ms\excel\test.xls');
    workbook := OLE2.GET_OBJ_PROPERTY(workbooks, 'Open', args);
    OLE2.DESTROY_ARGLIST(args);
    worksheets := OLE2.GET_OBJ_PROPERTY(workbook, 'Worksheets');
    worksheet := OLE2.GET_OBJ_PROPERTY(worksheets,'Add');
    -- Return object handle to cell A1 on the new Worksheet
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 1);
    OLE2.ADD_ARG(args, 1);
    cell:=OLE2.GET_OBJ_PROPERTY(worksheet, 'Cells', args);
    OLE2.DESTROY_ARGLIST(args);
    -- Set the contents of the cell to 'Hello Excel!'
    OLE2.SET_PROPERTY(cell, 'Value', 'Hello Excel!');
    END;
    procedure addstuff is
    BEGIN
    -- Return object handle to cell A1 on the new Worksheet
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 2);
    OLE2.ADD_ARG(args, 2);
    cell:=OLE2.INVOKE_OBJ(worksheet, 'Cells', args);
    OLE2.DESTROY_ARGLIST(args);
    -- Set the contents of the cell to 'This is the added stuff'
    OLE2.SET_PROPERTY(cell, 'Value', 'This is the added stuff');
    END;
    procedure stop is
    begin
    -- Release the OLE objects
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'C:\OLETEST2.XLS');
    OLE2.INVOKE(worksheet, 'SaveAs', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.RELEASE_OBJ(cell);
    OLE2.RELEASE_OBJ(worksheet);
    OLE2.RELEASE_OBJ(worksheets);
    OLE2.RELEASE_OBJ(workbook);
    OLE2.RELEASE_OBJ(workbooks);
    OLE2.RELEASE_OBJ(application);
    END;
    Solution Explanation:
    =====================
    Microsoft changed some of the OLE calling interfaces for the
    Office97
    products. Thus, some of your existing OLE calls may need to be
    changed to
    comply with the Office97 interface.
    Consult with Microsoft and your Office97 documentation or more
    information
    on
    what the OLE interface is for the Office97 suite of products.
    Additional Information:
    =======================
    Related Bugs:
    483090 (Closed, Vendor OS Problem)
    FORM GIVES FRM-40735: UNHANDLED EXCEPTION ORA-305500 AGAINST
    EXCEL97.OFMPE0497
    +==+
    References:
    ref: {8192.4} BUG-483090
    Oracle Corporate Support
    Problem Repository
    1. Prob# 1030046.6 NEW: OLE AUTOMATION NO LONGER WORKS AFTER
    UPGRADE TO OF
    2. Soln# 2077481.6 NEW: MICROSOFT CHANGED OLE INTERFACE FOR
    OFFICE97
    1. Prob# 1030046.6 NEW: OLE AUTOMATION NO LONGER WORKS AFTER
    UPGRADE TO OF
    Problem ID : 1030046.6
    Affected Platforms : MS Windows 95
    MS Windows NT
    Affected Products : SQL*Forms
    Oracle Reports
    Oracle Graphics
    Oracle Developer/2000
    Affected Components : SF40 V04.05.XX
    SQLREP V02.05.XX
    ORAGRAPH V02.05.XX
    DEV2K Generic
    Affected Oracle Vsn : Generic
    Summary:
    NEW: OLE AUTOMATION NO LONGER WORKS AFTER UPGRADE TO OFFICE97
    +=+
    Problem Description:
    ====================
    You have upgraded to Microsoft Office97 and OLE calls in your
    Developer/2000
    applications no longer work.
    Problem Explanation:
    ====================
    Examples:
    You are using Forms to send data to a Microsoft Word document
    and print
    letters, using ole automation. This worked fine with Word 6.0,
    but when
    they
    upgraded to Word 8.0 (Office97), the letters do not get printed.
    When you try to get an object handle to the Excel97 Workbooks
    collection
    using
    the OLE2 Package, you get the following error:
    FRM-40735: WHEN-BUTTON-PRESSED trigger raised unhandled exception
    ORA-305500
    The Same code works fine against Excel 7.0.
    [ Search Words: Office 97 msoffice ms office object linking and
    embedding
    application get_obj_property workbook invoke_obj
    appshow
    upgrade upgrading bug483090 olex.rdf demo ]
    +==+
    Diagnostics and References:
    2. Soln# 2077481.6 NEW: MICROSOFT CHANGED OLE INTERFACE FOR
    OFFICE97
    Solution ID : 2077481.6
    For Problem : 1030046.6
    Affected Platforms : MS Windows 95
    MS Windows NT
    Affected Products : SQL*Forms
    Oracle Reports
    Oracle Graphics
    Oracle Developer/2000
    Affected Components : SF40 V04.05.XX
    SQLREP V02.05.XX
    ORAGRAPH V02.05.XX
    DEV2K Generic
    Affected Oracle Vsn : Generic
    Summary:
    NEW: MICROSOFT CHANGED OLE INTERFACE FOR OFFICE97
    +=+
    Solution Description:
    =====================
    WORD:
    Microsoft made some changes in the upgraded version of Word
    which cause it
    to
    come up as a hidden application. Customer had to add "AppShow"
    to his code,
    and ole automation works fine now.
    EXCEL:
    The issue here is that Microsoft changed the object "Workbooks",
    which is
    now
    a property of object "Excel.Application". So, replace the call:
    workbooks := ole2.invoke_obj(application, 'workbooks');
    with
    workbooks := ole2.get_obj_property(application, 'workbooks');
    For example:
    PACKAGE BODY olewrap IS
    -- Declare the OLE objects
    application OLE2.OBJ_TYPE;
    workbooks OLE2.OBJ_TYPE;
    workbook OLE2.OBJ_TYPE;
    worksheets OLE2.OBJ_TYPE;
    worksheet OLE2.OBJ_TYPE;
    cell OLE2.OBJ_TYPE;
    args OLE2.LIST_TYPE;
    procedure init is
    begin
    -- Start Excel and make it visible
    application := OLE2.CREATE_OBJ('Excel.Application');
    ole2.set_property(application,'Visible', 'True');
    workbooks := OLE2.GET_OBJ_PROPERTY(application, 'Workbooks');
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'c:\test\ms\excel\test.xls');
    workbook := OLE2.GET_OBJ_PROPERTY(workbooks, 'Open', args);
    OLE2.DESTROY_ARGLIST(args);
    worksheets := OLE2.GET_OBJ_PROPERTY(workbook, 'Worksheets');
    worksheet := OLE2.GET_OBJ_PROPERTY(worksheets,'Add');
    -- Return object handle to cell A1 on the new Worksheet
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 1);
    OLE2.ADD_ARG(args, 1);
    cell:=OLE2.GET_OBJ_PROPERTY(worksheet, 'Cells', args);
    OLE2.DESTROY_ARGLIST(args);
    -- Set the contents of the cell to 'Hello Excel!'
    OLE2.SET_PROPERTY(cell, 'Value', 'Hello Excel!');
    END;
    procedure addstuff is
    BEGIN
    -- Return object handle to cell A1 on the new Worksheet
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 2);
    OLE2.ADD_ARG(args, 2);
    cell:=OLE2.INVOKE_OBJ(worksheet, 'Cells', args);
    OLE2.DESTROY_ARGLIST(args);
    -- Set the contents of the cell to 'This is the added stuff'
    OLE2.SET_PROPERTY(cell, 'Value', 'This is the added stuff');
    END;
    procedure stop is
    begin
    -- Release the OLE objects
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'C:\OLETEST2.XLS');
    OLE2.INVOKE(worksheet, 'SaveAs', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.RELEASE_OBJ(cell);
    OLE2.RELEASE_OBJ(worksheet);
    OLE2.RELEASE_OBJ(worksheets);
    OLE2.RELEASE_OBJ(workbook);
    OLE2.RELEASE_OBJ(workbooks);
    OLE2.RELEASE_OBJ(application);
    END;
    Solution Explanation:
    =====================
    Microsoft changed some of the OLE calling interfaces for the
    Office97
    products. Thus, some of your existing OLE calls may need to be
    changed to
    comply with the Office97 interface.
    Consult with Microsoft and your Office97 documentation or more
    information
    on
    what the OLE interface is for the Office97 suite of products.
    Additional Information:
    =======================
    Related Bugs:
    483090 (Closed, Vendor OS Problem)
    FORM GIVES FRM-40735: UNHANDLED EXCEPTION ORA-305500 AGAINST
    EXCEL97.OFMPE0497
    +==+
    References:
    ref: {8192.4} BUG-483090
    null

  • Using RFC Function Module to send data to NON SAP Application

    Hi friends,
    Please guide me how can I send data from SAP -> Dotnet Applcation using Dotnet Connector through RFC function module from SAP side. In my scenerio, I Run Z transaction  to executte RFC function module which create some data to pass to dotnet connector.
    Regards,
    Rajesh Kumar

    Hi,
    You can make use of Dotnet connector to read the content of SAP RFC .. (eaiest of all)
    The RFC can be executed using connector , and can read the data simultaneously.. u need to code in dotnet for this..
    else create a webservice and read it from dot net ..
    Regards
    Renu Gusain
    Edited by: Renu Gusain on Jan 25, 2010 12:55 PM

  • How to send data from internal table to the shared folder in ABAP

    Hi experts,
             My requirement is to transfer data from a file to shared folder. i just did reading data from a file to a internal table. Now i want to send this internal table data into a shared folder which is  "
    xxx\y\z....".
    I do not have any idea on how to send data from internal table to the shared folder path.
    can anybody please help me out how to do this?
    Thanks & Regards
    Sireesha.

    Where that folder is located, its on presentation server i.e. desktop or application server.
    If its on presentation server, use FM GUI_UPLOAD.
    If its on application server, then use DATASET functions. Have a look at below link.
    [File Handling in ABAP|http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3ca6358411d1829f0000e829fbfe/frameset.htm]
    I hope it helps.
    Thanks,
    Vibha
    Please mark all the useful answers

  • Problem with Runtime Workbench and with sending data from XI to SLD

    Hello<br>
    <br>
    Could I have a little help, a hint in the two following topics:<br>
    <br>
    1. I run Runtime Workbench -> Component Monitoring -> Display All and I get this error:<br>
    <br>
    Error during communication with System Landscape Directory: User credentials are invalid or user is denied access<br>
    <br>
    In filesystem log I can find like this:<br>
    <br>
    XIRWB.com.sap.aii.mdt.frames.jsp_error [SAPEngine_Application_Thread[impl:3]_40] Fatal: Error during communication with System Landscape Directory: User credentials are invalid or user is denied access<br>
    Thrown:<br>
    MESSAGE ID: com.sap.aii.rwb.agent.server.rb_LCRAgent.landscapeCommunicationError<br>
    com.sap.aii.rwb.exceptions.BuildLandscapeException: Error during communication with System Landscape Directory: User <br>credentials are invalid or user is denied access
            at com.sap.aii.rwb.agent.server.SLDAgentBean.convertException(SLDAgentBean.java:1472)
            at com.sap.aii.rwb.agent.server.SLDAgentBean.buildSLD(SLDAgentBean.java:773)
            at com.sap.aii.rwb.agent.server.SLDAgentBean.provideSld(SLDAgentBean.java:269)
            at com.sap.aii.rwb.agent.server.SLDAgentBean.getXIDomain(SLDAgentBean.java:711)
            at com.sap.aii.rwb.agent.api.SLDAgentObjectImpl0_0.getXIDomain(SLDAgentObjectImpl0_0.java:375)
            at com.sap.aii.rwb.agent.api.SLDAgent_Stub.getXIDomain(SLDAgent_Stub.java:436)
            at com.sap.aii.rwb.agent.client.EJBAgent.getXIDomain(EJBAgent.java:255)
            at com.sap.aii.rwb.util.web.model.AppMainModel.getSelectedDomain(AppMainModel.java:138)
            at com.sap.aii.rwb.util.web.model.DomainRep.build(DomainRep.java:121)
            at com.sap.aii.rwb.web.componentmonitoring.model.ObjectIdentificationTree.getComponentTree(ObjectIdentificationTree.java:117)<br>
            at jsp_component_monitoring1321125174985._jspService(jsp_component_monitoring1321125174985.java:217)
            at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
            at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
            at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:321)
            at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:377)
            at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:68)
            at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:29)
            at com.sap.aii.rwb.web.componentmonitoring.viewcontroller.CmPageProcessor.doGet(CmPageProcessor.java:27)
            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.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:321)
            at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:377)
            at jsp_FC_Secure1321125169379._jspService(jsp_FC_Secure1321125169379.java:24)
            at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
            at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
            at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
            at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
            at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
            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(AccessController.java:219)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)<br>
    Root cause:<br>
    com.sap.lcr.api.cimclient.UnauthorizedUserException: User credentials are invalid or user is denied access<br>
            at com.sap.lcr.api.cimclient.HttpRequestSender.processResponse(HttpRequestSender.java:577)
            at com.sap.lcr.api.cimclient.HttpRequestSender.send(HttpRequestSender.java:341)
            at com.sap.lcr.api.cimclient.CIMOMClient.send(CIMOMClient.java:280)
            at com.sap.lcr.api.cimclient.CIMOMClient.performBatchOperation(CIMOMClient.java:1251)
            at com.sap.lcr.api.cimclient.CIMClient.performBatchOperation(CIMClient.java:2268)
            at com.sap.aii.utilxi.sld.MRSldProxy.stage1(MRSldProxy.java:989)
            at com.sap.aii.utilxi.sld.MRSldProxy.loadComponents(MRSldProxy.java:918)
            at com.sap.aii.utilxi.sld.MRSldProxy.loadSld(MRSldProxy.java:907)
            at com.sap.aii.utilxi.sld.SubSystemFactory.createSldFromSld(SubSystemFactory.java:373)
            at com.sap.aii.utilxi.sld.SubSystemFactory.createSldFromSld(SubSystemFactory.java:434)
            at com.sap.aii.rwb.agent.server.SLDAgentBean.buildSLD(SLDAgentBean.java:764)
            at com.sap.aii.rwb.agent.server.SLDAgentBean.provideSld(SLDAgentBean.java:269)
            at com.sap.aii.rwb.agent.server.SLDAgentBean.getXIDomain(SLDAgentBean.java:711)
            at com.sap.aii.rwb.agent.api.SLDAgentObjectImpl0_0.getXIDomain(SLDAgentObjectImpl0_0.java:375)
            at com.sap.aii.rwb.agent.api.SLDAgent_Stub.getXIDomain(SLDAgent_Stub.java:436)
            at com.sap.aii.rwb.agent.client.EJBAgent.getXIDomain(EJBAgent.java:255)
            at com.sap.aii.rwb.util.web.model.AppMainModel.getSelectedDomain(AppMainModel.java:138)
            at com.sap.aii.rwb.util.web.model.DomainRep.build(DomainRep.java:121)
            at <br>com.sap.aii.rwb.web.componentmonitoring.model.ObjectIdentificationTree.getComponentTree(ObjectIdentificationTree.java:117)
            at jsp_component_monitoring1321125174985._jspService(jsp_component_monitoring1321125174985.java:217)
            at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
            at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
            at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:321)
            at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:377)
            at com.sapportals.htmlb.page.PageProcessorServlet.handleRequest(PageProcessorServlet.java:68)
            at com.sapportals.htmlb.page.PageProcessorServlet.doGet(PageProcessorServlet.java:29)
            at com.sap.aii.rwb.web.componentmonitoring.viewcontroller.CmPageProcessor.doGet(CmPageProcessor.java:27)
            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.runtime.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:321)
            at com.sap.engine.services.servlets_jsp.server.runtime.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:377)
            at jsp_FC_Secure1321125169379._jspService(jsp_FC_Secure1321125169379.java:24)
            at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
            at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
            at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
            at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
            at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
            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(AccessController.java:219)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    <br>
    <br>
    <br>
    I don't know what is wrong.<br>
    I have configured:<br>
    - SLDCHECK work properly,<br>
    - none of the users PI* type not lock,<br>
    - password to the PI* users in exchangeProfile entered correctly,<br>
    - In VA in the JCo RFC Provider I have properly configure: AI_RUNTIME_JCOSERVER, LCRSAPRFC, SAPSLDAPI_SID - from the ABAP I can connect to this programs ID<br>
    - In VA in SLD Data Supplier I have properly configure bookmarks HTTP Settings and CIM Client Generation Settings. CIMClient Test is OK<br>
    <br>
    I do not know what else I can see, what else I have properly configured ... I looked at the notes:: 936093 jak i 721548...<br>
    <br>
    <br>
    2. I can't send data from XI to SLD, ie makes me a system definition in Web As Abap and Web as Java but nothing appear to me in Exchange Infrastructure. Exchange Infrastructure is empty - what is wrong??<br>
    I carried out the recommendation by 764176 and 1031321 notes<br>
    <br>
    I restart below applications (no effect)...<br>
    com.sap.xi.directory (Integration Builder/Configuration)<br>
    com.sap.aii.af.app (Adapter Engine)<br>
    com.sap.xi.rwb (Runtime Workbench)<br>
    com.sap.xi.repository (Integration Builder/Design)<br>
    <br>
    Can I ask for help and guidance in these topics?<br>
    <br>
    Regards<br>
    RP<br>

    I increased logging in the NWA (Configuration -> Log Configuration) - and increased the some things here to log ALL. So that from the NWA (Monitoring -> Logs and Traces) I see a little more information (but does not follow that with which the user is a problem).<br>
    <br>
    Here are some interesting logs ...<br>
    I was most rash or irritation of those that say about the lack of credentials u2013 I must use Viusal Administrator and set good service ...<br>
    <br>
    What do I have done:<br>
    In the Visual Administrator -> Cluster -> Server -> Services -> SLD Data Supplier<br>
    I have set in the HTTP Settings tab the host and port SLD, the user name and password is also entered as it is in the SLD. To be sure, already have set for the user entered here such roles as:<br>
    SAP_SLD_ADMINISTRATOR<br>
    SAP_SLD_CONFIGURATOR<br>
    SAP_SLD_DEVELOPER<br>
    SAP_SLD_GUEST<br>
    SAP_SLD_ORGANIZER<br>
    Maybe we are talking in this place about a different user?<br>
    <br>
    Similarly, when it comes to tab CIM Client Generation Settings - here's all the same thing done. CIMClient test shows that everything is OK.<br>
    When I click the button: This trigger the transfer of data to the SLD gets the message that everything was shipped correctly. Indeed, I received an instance of JAVA in SLD<br>
    Also clicked on this icon: Assign application roles to user group - got information that everything is attached properly.<br>
    <br>
    By ABAP side, the connections: INTEGRATION_DIRECTORY_HMI, SAPSLDAPI, LCRSAPRFC, AI_RUNTIME_JCOSERVER and AI_DIRECTORY_JCOSERVER work correctly, ie I can perform the test - which means that programs ID are properly positioned in JCO Provider in VA.<br>
    <br>
    Puzzling is this message:<br>
    The SLD data is inconsistent.<br>
    <br>
    Strange also that the message (from the ABAP everything is available in SMGW no errors):<br>
    Connect to SAP gateway failed<br>
    <br>
    And what is this error:<br>
    <br>
    could not sync ExchangeProfile: <br>
    Thrown:<br>
    com.sap.rprof.dbprofiles.DBException: Connect to SAP gateway failed<br>
    Connect_PM  TYPE=A ASHOST=saptest2 SYSNR=60 GWHOST=saptest2 GWSERV=sapgw60 PCS=1<br>
    <br>
    LOCATION    CPIC (TCP/IP) on local host with Unicode<br>
    ERROR       partner 'saptest2:sapgw60' not reached<br>
    TIME        Thu Feb 23 07:28:07 201<br>
    RELEASE     700<br>
    COMPONENT   NI (network interface)<br>
    VERSION     38<br>
    RC          -10<br>
    MODULE      nixxi.cpp<br>
    LINE        2513<br>
    DETAIL      NiPConnect<br>
    SYSTEM CALL connect<br>
    ERRNO       79<br>
    ERRNO TEXT  A remote host refused an attempted connect operation.<br>
    COUNTER     2<br>
    <br>
    <br>
    Below is a list of some interesting logs ...<br>
    <br>
    ###########<br>
    <br>
    Insufficient permissions for getting SLD access information. You can add permissions for your application via the SLD service in the 'Visual Administrator'.<br>
    <br>
    #############<br>
    <br>
    SLD is not accessible. Check SLD Data Supplier service settings.<br>
    <br>
    ###########<br>
    <br>
    "Warning","2012-02-22","07:53:50:986","Data get on com.sap.sldserv.data.GetSAPBCCentralServiceInstance class processing failed. htThe SLD data is inconsistent. This is an internal processing problem.","/System/Server/SLDService","com.sap.sldserv.DataCollector","n/a","saptest2","Server 0 60_36694",<br>
    <br>
    #########<br>
    <br>
    com.sap.lcr.api.cimclient.UnauthorizedUserException: User credentials are invalid or user is denied access<br>
    <br>
    ################<br>
    <br>
    Full Message Text
    CPA Cache not updated with directory data, due to: Couldn't open Directory URL (http://saptest2.unx.era.pl:56000/dir/hmi_cache_refresh_service/ext?method=CacheRefresh&mode=C&consumer=af.xit.saptest2), due to: HTTP 503: Service Unavailable
    <br>
    ##################<br>
    <br>
    Full Message Text <br>
    <br>
    could not sync ExchangeProfile: <br>
    Thrown:<br>
    com.sap.rprof.dbprofiles.DBException: Connect to SAP gateway failed<br>
    Connect_PM  TYPE=A ASHOST=saptest2 SYSNR=60 GWHOST=saptest2 GWSERV=sapgw60 PCS=1<br>
    <br>
    LOCATION    CPIC (TCP/IP) on local host with Unicode<br>
    ERROR       partner 'saptest2:sapgw60' not reached<br>
    TIME        Thu Feb 23 07:28:07 201<br>
    RELEASE     700<br>
    COMPONENT   NI (network interface)<br>
    VERSION     38<br>
    RC          -10<br>
    MODULE      nixxi.cpp<br>
    LINE        2513<br>
    DETAIL      NiPConnect<br>
    SYSTEM CALL connect<br>
    ERRNO       79<br>
    ERRNO TEXT  A remote host refused an attempted connect operation.<br>
    COUNTER     2<br>
    <br>
    Connect_PM  TYPE=A ASHOST=saptest2 SYSNR=60 GWHOST=saptest2 GWSERV=sapgw60 PCS=1<br>
    <br>
    LOCATION    CPIC (TCP/IP) on local host with Unicode<br>
    ERROR       partner 'saptest2:sapgw60' not reached<br>
    TIME        Thu Feb 23 07:28:07 201<br>
    RELEASE     700<br>
    COMPONENT   NI (network interface)<br>
    VERSION     38<br>
    RC          -10<br>
    MODULE      nixxi.cpp<br>
    LINE        2513<br>
    DETAIL      NiPConnect<br>
    SYSTEM CALL connect<br>
    ERRNO       79<br>
    ERRNO TEXT  A remote host refused an attempted connect operation.<br>
    COUNTER     2<br>
    <br>
    at com.sap.mw.jco.MiddlewareJRfc.generateJCoException(MiddlewareJRfc.java:457)<br>
    at com.sap.mw.jco.MiddlewareJRfc$Client.connect(MiddlewareJRfc.java:1015)<br>
    at com.sap.mw.jco.JCO$Client.connect(JCO.java:3238)<br>
    at com.sap.rprof.dbprofiles.DBProfiles.getProfile(DBProfiles.java:101)<br>
    at com.sap.rprof.dbprofiles.RemoteProfile.readRemoteProfileFromMedia(RemoteProfile.java:1288)<br>
    at com.sap.rprof.dbprofiles.RemoteProfile.getRemoteProfileFromFactory(RemoteProfile.java:195)<br>
    at com.sap.aii.utilxi.prop.rprof.ExchangeProfilePropertySource.readProfile(ExchangeProfilePropertySource.java:177)<br>
    at com.sap.aii.utilxi.prop.rprof.ExchangeProfilePropertySource.sync(ExchangeProfilePropertySource.java:165)<br>
    at com.sap.aii.utilxi.misc.api.AIIProperties.sync(AIIProperties.java:582)<br>
    at com.sap.aii.af.service.sld.SLDAccess.syncExchangeProfile(SLDAccess.java:43)<br>
    at com.sap.aii.adapter.xi.ms.SLDReader.fire(SLDReader.java:52)<br>
    at com.sap.aii.adapter.xi.ms.SLDReader.run(SLDReader.java:167)<br>
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)<br>
    at java.security.AccessController.doPrivileged(AccessController.java:219)<br>
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)<br>
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)<br>
    <br>
    ##############<br>
    <br>
    Full Message Text <br>
    <br>
    Import of software component version list from component repository  failed<br>
    Thrown:<br>
    com.sap.lcr.api.cimclient.LcrException: User credentials are invalid or user is denied access<br>
    at com.sap.lcr.api.cimclient.HttpRequestSender.processResponse(HttpRequestSender.java:577)<br>
    at com.sap.lcr.api.cimclient.HttpRequestSender.send(HttpRequestSender.java:341)<br>
    at com.sap.lcr.api.cimclient.CIMOMClient.sendImpl(CIMOMClient.java:198)<br>
    at com.sap.lcr.api.cimclient.CIMOMClient.send(CIMOMClient.java:146)<br>
    at com.sap.lcr.api.cimclient.CIMOMClient.enumerateInstancesImpl(CIMOMClient.java:443)<br>
    at com.sap.lcr.api.cimclient.CIMOMClient.enumerateInstances(CIMOMClient.java:747)<br>
    at com.sap.lcr.api.cimclient.CIMClient.enumerateInstances(CIMClient.java:980)<br>
    at com.sap.lcr.api.sapmodel.JavaCIMObjectAccessor.enumerateInstances(JavaCIMObjectAccessor.java:211)<br>
    at com.sap.lcr.api.sapmodel.SAP_SoftwareComponentAccessor.enumerateInstances(SAP_SoftwareComponentAccessor.java:204)<br>
    at com.sap.lcr.api.sapmodel.SAP_SoftwareComponentAccessor.enumerateSAP_SoftwareComponentInstances(SAP_SoftwareComponentAccessor.java:239)<br>
    at com.sap.aii.ibrep.server.sldaccess.interfaces.CRAccess.getSwcLinks(CRAccess.java:82)<br>
    at com.sap.aii.ibrep.server.extobjects.SwcAccessor.getEoLinks(SwcAccessor.java:59)<br>
    at com.sap.aii.ib.server.extobjects.EOAServiceImpl.getEoLinks(EOAServiceImpl.java:75)<br>
    at com.sap.aii.ib.sbeans.extobjects.EOAServiceBean.getEoLinks(EOAServiceBean.java:66)<br>
    at com.sap.aii.ib.sbeans.extobjects.EOAServiceRemoteObjectImpl1_0.getEoLinks(EOAServiceRemoteObjectImpl1_0.java:527)<br>
    at com.sap.aii.ib.sbeans.extobjects.EOAServiceRemoteObjectImpl1_0p4_Skel.dispatch(EOAServiceRemoteObjectImpl1_0p4_Skel.java:232)<br>
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)<br>
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)<br>
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)<br>
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)<br>
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)<br>
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)<br>
    at java.security.AccessController.doPrivileged(AccessController.java:219)<br>
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)<br>
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)<br>
    <br>
    ##############<br>
    <br>
    Full Message Text <br>
    <br>
    An exception was thrown in the UME/ABAP user management connector. Message: Connect to SAP gateway failed<br>
    Connect_PM  TYPE=A ASHOST=localhost SYSNR=60 GWHOST=localhost GWSERV=sapgw60 PCS=1<br>
    <br>
    LOCATION    CPIC (TCP/IP) on local host with Unicode<br>
    ERROR       partner '127.0.0.1:sapgw60' not reached<br>
    TIME        Thu Feb 23 07:28:06 201<br>
    RELEASE     700<br>
    COMPONENT   NI (network interface)<br>
    VERSION     38<br>
    RC          -10<br>
    MODULE      nixxi.cpp<br>
    LINE        2513<br>
    DETAIL      NiPConnect<br>
    SYSTEM CALL connect<br>
    ERRNO       79<br>
    ERRNO TEXT  A remote host refused an attempted connect operation.<br>
    COUNTER     16<br>
    <br>

  • Sending data to xport doesn't work correctly

    Dear programmers,
    For my thesis I have to send data from a computer to a microcontroller trough TCP/IP. So I've written a program in java dat sends the data, but it goes wrong. This is my code:
    import java.io.*;
    import java.net.*;
    public class Connection {
         private Socket socket = null;
        private PrintWriter output = null;
        private BufferedReader input = null;
        private BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));;
         public boolean createConnection(String ip, int port) {
            boolean connect = false;
            try {
                socket = new Socket(ip, port);                                                            // Maakt socket aan naar gegeven poort en ip
                output = new PrintWriter(socket.getOutputStream(), true);                         // Output naar de server
                input = new BufferedReader(new InputStreamReader(socket.getInputStream()));     // Ontvangen gegevens van server
                connect = true;
            } catch (UnknownHostException e) {
                connect = false;
                 System.err.println("Kan geen verbinding maken naar ip-adres: " + ip);
                System.exit(1);
            } catch (IOException e) {
                 connect = false;
                System.err.println("Kan geen input/output verkrijgen van ip-adres: " + ip);
                System.exit(1);
            return connect;
         public boolean sendMessage(String message) {          
              output.println(message);
              output.println("\r\n")
              return true;
         public String receiveMessage() {
              String message = null;
              try {
                   message = input.readLine();
              } catch (IOException e) {
                   e.printStackTrace();
              if(message.equalsIgnoreCase("HTTP/1.1 0 ERROR")) {
                   message = "#ERROR#";
              return message;
         public boolean getStatus() {
              if(socket.isConnected()) {
                   return true;
              else {
                   return false;
         public void closeConnection() {
              try {
                   output.close();
                   input.close();
                   stdIn.close();
                   socket.close();
              } catch (IOException e) {
                   e.printStackTrace();
    }The first time I send something it goes correctly, but when I try to send the second data it goes wrong.
    So as example I send 100 times the number 512 to the xport.
    1st time: 512
    2nd time: 5
    3th time: 52
    4th time: 5125
    So only the first time it sends the data correctly. It's my program and not the xport because trough hyperterminal the data is sended correctly. I hope you guys can help me.

    Okay, thanks for your reaction. Now I changed my Connection.java code into:
    import java.io.*;
    import java.net.*;
    public class Connection {
         private Socket socket = null; 
        private BufferedOutputStream ostream = null;
        private BufferedInputStream istream = null;
         public boolean createConnection(String ip, int port) {
            boolean connect = false;
            try {
                socket = new Socket(ip, port);
                ostream = new BufferedOutputStream(socket.getOutputStream());
                istream = new BufferedInputStream(socket.getInputStream());
                connect = true;
            } catch (UnknownHostException e) {
                connect = false;
                 System.err.println("Kan geen verbinding maken naar ip-adres: " + ip);
                System.exit(1);
            } catch (IOException e) {
                 connect = false;
                System.err.println("Kan geen input/output verkrijgen van ip-adres: " + ip);
                System.exit(1);
            return connect;
         public boolean sendMessage(String message) {
              byte[] buffer = new byte[10];
              try {
                   buffer = message.getBytes();
                   ostream.write(buffer, 0, message.length());
                   ostream.flush();
              catch(Exception e) {
                   e.printStackTrace();
              return true;
         public String receiveMessage() {
              String message = null;
              byte[] readBuffer = new byte[40];
              try {
                   int message_int = istream.read(readBuffer, 0, 40);
                 message = new String(readBuffer, 0, message_int);
              } catch (IOException e) {
                   e.printStackTrace();
              if(message.equalsIgnoreCase("HTTP/1.1 0 ERROR")) {
                   message = "#ERROR#";
              return message;
         public boolean getStatus() {
              if(socket.isConnected()) {
                   return true;
              else {
                   return false;
         public void closeConnection() {
              try {
                   ostream.close();
                   istream.close();
                   socket.close();
              } catch (IOException e) {
                   e.printStackTrace();
    }Do you think this was the problem? Maybe it was. Let's hope so. I will let you know something when I tested it tomorrow in school.

  • Background job finished but Error sending data

    Dear all,
    report is running in my prod server . once this report completed sapuser get mail . when i check the job status it shows
    Job started
    Step 001 started (program GP4CF9U420G825I4P7DU8XY49WH, variant CUSTOMEROUTSTD, user ID S2K_BASIS)
    Spool request (number 0000012259) created without immediate output
    Error sending data (4)
    Job finished
    one more clarity i required
    this report should goes to 4 SAP users . how can i configure this report to 4 sapusers
    kindly suggest me

    > Step 001 started (program GP4CF9U420G825I4P7DU8XY49WH, variant CUSTOMEROUTSTD, user ID S2K_BASIS)
    > Spool request (number 0000012259) created without immediate output
    > Error sending data (4)
    I'd check SCOT/SOST for any errors. Also check the syslog (SM21).
    > this report should goes to 4 SAP users . how can i configure this report to 4 sapusers
    Create a distribution list (SAPoffice-Inbox - environment - distribution list) and enter that as addresse for the output.
    Markus

Maybe you are looking for