Passing an XML file from WebDynpro app to ABAP function module

Hi all,
I'm stuck with a problem, and am hoping one of you could let me know how to proceed:
I need to pass an XML file (or at least the entire content of the XML) from my WebDynpro application to a backend ABAP function module. What I tried was this:
In my WebDynpro app, I read the XML and convert the content into one long string (using java.io.FileReader and java.io.BufferedReader). In my ABAP function module I created an import parameter of type String. I then imported the ABAP Function module into my WebDynpro app as a model. I then tried to pass the XML string to the ABAP module. What happens is this:
If the size of the string (XML) happens to be less than 255 characters, then it works. That is, the string is passed to the ABAP function module and I can see the contents. However, if the XML string happens to be greater than 255 characters, then it does not work. The string at the ABAP side is empty. Surprisingly, the ABAP module does not throw an error either. It just displays an empty string.
Could you please tell me what the problem is?
Thanks & Regards,
Biju

Hi Biju ,
Welcome to SDN.
If the import parameter is defined as type string it should work, however did you check whether your application pass it properly?
I have applications using strings as import parameters working fine. (webapplications (BSP) to RFC)
Regards
Raja

Similar Messages

  • Getting xml file from web for iPhone App

    Im having an app get an xml file from the web and process it. Ive got the processing part down, ive even got the downloading part done. Problem is so far ive only downloaded a generic xml file hardcoded into the app. I need the user to input a value of the file to get. As a matter of fact, ive been thinking that i may even use the UniqueIdentifier for the iphone to make the file unique enough without the hassle of having to search thru user/pass combinations. So i have the webform to have users enter the values and then their iphones unique ID. But i need to have the user get the unique ID from their phone. Unfortunately ive been able to find this:
    UIDevice *device = [UIDevice currentDevice];
    NSString *uniqueIdentifier = [device uniqueIdentifier];
    [device release];
    NSLog(@"Device GUID:%@", uniqueIdentifier);
    but this number does not show up on the iPhone UserInterface, so my user would have no way of knowing what his/her uniqueIdentifier is
    So my question is 2-fold:
    1. If UniqueIdentifier is the best way to go, how do i have my users visualize their UniqueIdentifier in order to give their xml file that name?
    2. If the user/pass is the best way to go, id have to store user, pass and file name in a database online and have the user create an account which would generate a unique idFilename for him/her and that way fetch the file.

    Hi Marcio -
    I suspect I don't understand your requirements, so if my reply is irrelevant, please tell us a little more about what you're trying to do.
    Marcio Valenzuela wrote:
    1. If UniqueIdentifier is the best way to go, how do i have my users visualize their UniqueIdentifier in order to give their xml file that name?
    I'm not sure what you mean by visualize. If you want the user to see the device id, why not populate a label or text field with it? Otherwise, why not just insert the id into the request yourself? E.g.:
    UIDevice *device = [UIDevice currentDevice];
    NSString *uniqueIdentifier = [device uniqueIdentifier];
    // [device release]; <-- do not release object you don't own
    NSLog(@"Device GUID:%@", uniqueIdentifier);
    textField1.text = uniqueIdentifier; // if we think the user wants to see this
    [self addIdToRequest:uniqueIdentifier]; // implementation is an exercise for the student
    2. If the user/pass is the best way to go, id have to store user, pass and file name in a database online and have the user create an account which would generate a unique idFilename for him/her and that way fetch the file.
    This is up to you. If the download isn't confidential info, it might be ok to rely on the device id. Otherwise you clearly put the owner's info at risk in case someone else operates the device.
    Im having an app get an xml file from the web and process it.
    I'm not sure why you included this info about the downloaded data format, and that's one reason I'm not sure I understand the problem. But I hope the above will help you see what needs to be clarified.
    - Ray

  • How to transfer a (XML) file from EJB to WebDynpro / User ??

    Hello!
    Actually I'm working on an EJB which is able to generate an XML file by the data I saved before in a JDBC database.
    Now I'd like to create a WebDynpro view, from where the user can download this file (after giving the order to generate it) to his local machine.
    For the UI element FileDownload I already have inserted the binary type element into the context.
    Now I'm looking for the best way to transfer the XML file from the EJB to the view, so that it can be downloaded.
    Is it better to transfer it by DOMSource and to create the file in the view or to create the file in the EJB and transfer the binary data to the view?
    Or is there another possibility?
    Greetings,
    Ramó

    In transaction SM69 external operating system commands can be set up and then these can be executed using function SXPG_CALL_SYSTEM from ABAP or using SM49 transaction.
    See documentation in the function module and application help in the SM69 / SM49 transactions.
    You could set up commands for copy, move, delete for the relevant directories.  Be careful to limit the directories and set security appropriately.
    Andrew

  • Parsing XML files from application server

    I need to read  an XML file from the application server. This can be done using OPEN DATASET in BINARY MODE and reading into internal table of type binary data.
    But inorder to parse the document using the iXML library, i need to pass the filesize of the XML file that is read into internal table.
    Please let me know how to calculate this filesize ?

    Hi ,
    Check the FM : /SAPDMC/LSM_F4_SERVER_FILE.
    Inside this FM , subroutine below exists.The main program for routine is /SAPDMC/LLSMW_AUX_020F02.
    Call this routine from your program. You will get the length in bytes from the field len of table pt_file.
    data:
      begin of gs_file,
        directory(75) type c,              " name of directory.
                                           " (possibly truncated.)
        name(75)    type c,                " name of entry.
                                           " (possibly truncated.)
        type(10)    type c,                " type of entry: directory, file
        *len(8)      type p,                " length in bytes*
        owner(8)    type c,                " owner of the entry
        mtime(6)    type p,                " last modification date,
                                           " seconds since 1970
        mode(9)     type c,                " like "rwx-r-x--x":
                                           " protection mode
        errno(3)    type c,
        errmsg(40)  type c,
        mod_date    type d,
        mod_time(8) type c,                " hh:mm:ss
        subrc like sy-subrc,
    end of gs_file.
    DATA : pt_file LIKE TABLE OF gs_file.
    DATa : p_ok.
      PERFORM /sapdmc/llsmw_aux_020f02(directory_contents_get)
      TABLES   pt_file
                                USING    '/TMP' ""!!! Here is your filepath
                                CHANGING p_ok

  • Error while retreiving xml file from database

    Hi-
    I am trying to configure Planning and getting the following error message at instance configuration step:
    "Error while retreiving xml file from database"
    We looked at PlanningSystemDB.properties, changes server name to its ip, reinstalled planning, made sure both auth methods are selected (sql server and windows), created new relational repository.. still the same error.
    Here is the contents of the configtool error file:
    (Dec 11, 2008, 04:36:44 PM), com.hyperion.planning.PIRegistrationPanelManager, ERROR, Exception :Error while retreiving xml file from database.
    (Dec 11, 2008, 04:37:09 PM), com.hyperion.planning.PIRegistrationPanelManager, ERROR, Exception :Error while retreiving xml file from database.
    (Dec 11, 2008, 04:38:41 PM), com.hyperion.planning.PIRegistrationPanelManager, ERROR, Exception :Error while retreiving xml file from database.
    (Dec 11, 2008, 04:39:07 PM), com.hyperion.planning.PIRegistrationPanelManager, ERROR, Exception :Error while retreiving xml file from database.
    (Dec 11, 2008, 04:39:12 PM), com.hyperion.planning.PIRegistrationPanelManager, ERROR, Exception :Error while retreiving xml file from database.
    (Dec 11, 2008, 04:39:22 PM), com.hyperion.planning.PIRegistrationPanelManager, ERROR, Exception :Error while retreiving xml file from database.
    (Dec 11, 2008, 04:40:46 PM), com.hyperion.cis.config.CmsRegistrationUtil, ERROR, Failed to authenticate user = admin
    (Dec 11, 2008, 04:41:05 PM), com.hyperion.cis.config.CmsRegistrationUtil, ERROR, Failed to authenticate user = admin
    (Dec 11, 2008, 04:48:28 PM), com.hyperion.cis.DBConfigurator, ERROR, Invalid SQL statement: begin transaction IF EXISTS (select * from sysobjects where id = object_id(N'[HSPSYS_PROPERTIES]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE HSPSYS_PROPERTIES IF EXISTS (select * from sysobjects where id = object_id(N'[HSPSYS_APP_CLUSTER_DTL]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE HSPSYS_APP_CLUSTER_DTL IF EXISTS (select * from sysobjects where id = object_id(N'[HSPSYS_APPLICATION]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE HSPSYS_APPLICATION IF EXISTS (select * from sysobjects where id = object_id(N'[HSPSYS_DATASOURCE]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE HSPSYS_DATASOURCE IF EXISTS (select * from sysobjects where id = object_id(N'[HSPSYS_CLUSTER]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE HSPSYS_CLUSTER IF EXISTS (select * from sysobjects where id = object_id(N'[HSP_ACTION]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE HSP_ACTION IF EXISTS (select * from sysobjects where id = object_id(N'[HSPSYS_PI_INFO]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE HSPSYS_PI_INFO commit begin transaction CREATE TABLE HSP_ACTION ( ID INTEGER NOT NULL IDENTITY, CONSTRAINT PK_HSP_ACTION PRIMARY KEY(ID) , FROM_ID INTEGER, TO_ID INTEGER, ACTION_ID INTEGER, OBJECT_TYPE INTEGER, PRIMARY_KEY VARCHAR(255), ACTION_TIME DATETIME ); CREATE TABLE HSPSYS_CLUSTER ( CLUSTER_ID INTEGER NOT NULL, NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), CONSTRAINT PK_HSPCLUSTER PRIMARY KEY(CLUSTER_ID) ); CREATE TABLE HSPSYS_DATASOURCE ( DATASOURCE_ID INTEGER NOT NULL, NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), APP_ID INTEGER, RDB_SERVER_URL VARCHAR(255), RDB_TYPE VARCHAR(255) NOT NULL, RDB_CATALOG_NAME VARCHAR(255) NOT NULL, RDB_USER VARCHAR(255) NOT NULL, RDB_PASSWORD VARCHAR(255), RDB_DRIVER VARCHAR(255) NOT NULL, ESS_SERVER VARCHAR(255) NOT NULL, ESS_USER VARCHAR(255) NOT NULL, ESS_PASSWORD VARCHAR(255), CONSTRAINT PK_HSPDTASRC PRIMARY KEY(DATASOURCE_ID) ); CREATE TABLE HSPSYS_APPLICATION ( APP_ID INTEGER NOT NULL, NAME VARCHAR(255) NOT NULL, DESCRIPTION VARCHAR(255), DATASOURCE_ID INTEGER NOT NULL, CONSTRAINT FK_HSPAPP_DSID FOREIGN KEY(DATASOURCE_ID) REFERENCES HSPSYS_DATASOURCE, VERSION VARCHAR(255) NOT NULL, CONSTRAINT PK_HSPAPP PRIMARY KEY(APP_ID) ); CREATE TABLE HSPSYS_APP_CLUSTER_DTL ( APP_ID INTEGER NOT NULL , CONSTRAINT FK_HSP_APP_ID FOREIGN KEY (APP_ID) REFERENCES HSPSYS_APPLICATION , CLUSTER_ID INTEGER NOT NULL, CONSTRAINT FK_HSPCS_CLID FOREIGN KEY(CLUSTER_ID) REFERENCES HSPSYS_CLUSTER, CONSTRAINT PK_APP_CLSTR_DTL PRIMARY KEY(CLUSTER_ID, APP_ID) ); CREATE TABLE HSPSYS_PROPERTIES ( PROPERTY_ID INTEGER NOT NULL, OBJECT_ID INTEGER NOT NULL, PROPERTY_NAME VARCHAR(255) NOT NULL, PROPERTY_VALUE VARCHAR(255), CONSTRAINT PK_HSPPROP PRIMARY KEY(PROPERTY_ID, OBJECT_ID, PROPERTY_NAME) ); CREATE TABLE HSPSYS_PI_INFO ( XML_FILE NTEXT NOT NULL ); commit
    (Dec 11, 2008, 04:50:32 PM), com.hyperion.planning.PIRegistrationPanelManager, ERROR, Exception :Error while retreiving xml file from database.
    Thanks for any help.

    After spending 2+ hrs with Hyperion Support nothing got resolved.. Just to give more background on this problem, we originally reconfigured all Hyperion components to use different SQL server, that is when the problem started happening as soon as we got to Planning Instance Configuration. Could this be the situations when old server name is still somewhere in the system?.. Could this be Shared Services problem.
    Here is another quote from SharedServices_Security.log
    2008-12-12 15:08:48,249 [http-58080-Processor1] WARN com.hyperion.css.spi.impl.nv.NativeProvider.getHierarchicalRoleTree(Unknown Source) - Exception getting Child Roles in hierarchy due to Illegal or invalid id.dflt passed in. Please check the argument.
    2008-12-12 15:31:18,121 [main] WARN com.hyperion.css.common.configuration.CSSConfigurationImplXML.<init>(Unknown Source) - Skipping the validation of the configuration because the required validating parser library not found or errors in validation. This does not guarantee the proper initialization of the component.
    2008-12-12 15:31:29,808 [Thread-8] WARN com.hyperion.css.spi.impl.msad.MSADCacheUpdater.resolveCircularDependency(Unknown Source) - INFO: Time to resolve circular dependency on the Cache for provider: DIPORTAL is : 0
    2008-12-12 15:31:29,808 [Thread-8] WARN com.hyperion.css.spi.impl.msad.MSADCacheUpdater.refreshProviderCache(Unknown Source) - INFO: Time to build Cache for provider: DIPORTAL in millis is : 1016
    2008-12-12 15:31:30,823 [main] WARN com.hyperion.css.CSSAPIImpl.initialize(Unknown Source) - The system has already been configured; skipping attempt to configure the system again with the new config file /F:/Hyperion/deployments/Tomcat5/SharedServices9/config/CSS.xml.
    2008-12-12 15:31:41,229 [http-58080-Processor4] ERROR com.hyperion.css.CSSAPIImpl.initialize(Unknown Source) - Unable to get CSS.xml file or the file may be read only
    2008-12-12 15:31:41,229 [http-58080-Processor4] WARN com.hyperion.css.CSSAPIImpl.initialize(Unknown Source) - The system has already been configured; skipping attempt to configure the system again with the new config file /null.
    2008-12-12 15:38:01,938 [main] WARN com.hyperion.css.common.configuration.CSSConfigurationImplXML.<init>(Unknown Source) - Skipping the validation of the configuration because the required validating parser library not found or errors in validation. This does not guarantee the proper initialization of the component.
    2008-12-12 15:38:13,454 [Thread-8] WARN com.hyperion.css.spi.impl.msad.MSADCacheUpdater.resolveCircularDependency(Unknown Source) - INFO: Time to resolve circular dependency on the Cache for provider: DIPORTAL is : 0
    2008-12-12 15:38:13,454 [Thread-8] WARN com.hyperion.css.spi.impl.msad.MSADCacheUpdater.refreshProviderCache(Unknown Source) - INFO: Time to build Cache for provider: DIPORTAL in millis is : 813
    2008-12-12 15:38:35,453 [main] WARN com.hyperion.css.CSSAPIImpl.initialize(Unknown Source) - The system has already been configured; skipping attempt to configure the system again with the new config file /F:/Hyperion/deployments/Tomcat5/SharedServices9/config/CSS.xml.
    2008-12-12 15:42:09,776 [http-58080-Processor3] ERROR com.hyperion.css.CSSAPIImpl.initialize(Unknown Source) - Unable to get CSS.xml file or the file may be read only
    2008-12-12 15:42:09,776 [http-58080-Processor3] WARN com.hyperion.css.CSSAPIImpl.initialize(Unknown Source) - The system has already been configured; skipping attempt to configure the system again with the new config file /null.
    2008-12-12 15:42:09,776 [http-58080-Processor2] ERROR com.hyperion.css.CSSAPIImpl.initialize(Unknown Source) - Unable to get CSS.xml file or the file may be read only
    2008-12-12 15:42:09,776 [http-58080-Processor2] WARN com.hyperion.css.CSSAPIImpl.initialize(Unknown Source) - The system has already been configured; skipping attempt to configure the system again with the new config file /null.

  • Load XML file from different location?

    Hi All,
    I've been going through an exercise by Karl Matthews to load XML data into an AIR App:
    http://www.adobe.com/devnet/air/flex/articles/xml_viewer_on_air.html
    but I would like to change where the XML file used in the project is retrieved from.
    Currently the XML file is loaded from here:
    <!-- Set up the HTTP service from where we get the source XML data -->
    <mx:HTTPService id="srcData" url="
    assets/UserGuide.xml" result="loadModelData(event)"
    />
    but I would like to load the XML file from one of these locations instead:
    File.userDirectory:
    File.documentsDirectory:
    Can someone please show me how I should change the above code to accomplish this, as my efforts to date have not been successful :-(
    I am using Flex Builder 3 and Air 1.5.
    Thanks heaps!
    Tim

    Hi Bhasker,
    Thank you for replying.
    I am not very good at all this coding, but I am assuming I should now be doing entering the following:
    =======================
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication 
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"width="
    800" height="660"xmlns:comp="
    *" xmlns:fmtComp="fmtComps.*"creationComplete="srcData.send()"
    paddingLeft="
    0" paddingRight="0" paddingTop="0" paddingBottom="0">
    <mx:Script>
    <![CDATA[
    import mx.utils.ObjectProxy; 
    import mx.rpc.events.ResultEvent; 
    Bindable] 
    private var userManualObj:ObjectProxy; 
    private function loadModelData(event:ResultEvent):void
    userManualObj=event.result.UserManual;
    private function readXMLContent(xmlFile:File,objContentView:Object):Array{
    var reportDir:File = File.userDirectory.resolvePath("assets"); 
    var xmlFile:File; 
    var fileStream:FileStream = new FileStream(); xmlFile = reportDir.resolvePath(
    "UserGuide.xml"); 
    if(xmlFile.exists && xmlFile.size > 0)// Checking if the impressions.xml file already exists and the file is not empty
    var stream:FileStream = new FileStream(); 
    var xml:XML = new XML();stream.open(xmlFile, FileMode.READ);
    xml = XML(stream.readUTFBytes(stream.bytesAvailable));
    stream.close();
    ]]>
    </mx:Script>
    <!-- Set up the HTTP service from where we get the source XML data<mx:HTTPService id="srcData"
    url="assets/UserGuide.xml"
    result="loadModelData(event)"/> -->
    <mx:VBox width="100%" horizontalAlign="left" height="100%" paddingBottom="
    0" paddingLeft="0" paddingRight="0" paddingTop="0">
    <mx:TabNavigator width="100%" height="100%"paddingBottom="
    0" paddingLeft="0" paddingRight="0" paddingTop="0">
    <mx:Repeater id="modelsRep" dataProvider="{userManualObj.Product.Model}">
    <mx:VBox label="{modelsRep.currentItem.Name}" width="100%" height="100%">
    <comp:ModelDesc model="{modelsRep.currentItem}"/>  
    </mx:VBox>
    </mx:Repeater>
    <mx:VBox label="Troubleshooting" width="100%" height="100%"paddingBottom="
    0" paddingLeft="0" paddingRight="0" paddingTop="0">
    <comp:Troubleshooting issues="{userManualObj.Product.Troubleshooting.Issue}" />
    </mx:VBox>
    </mx:TabNavigator>
    </mx:VBox></mx:WindowedApplication>
    =======================
    and create and "assets" folder in my user directory placing the XML file in there?
    However when I do all that, I get this error when I try to compile:
      Encountered errors or warnings while building project main.mxml.
        main.mxml: Function does not return a value.
    Any thoughts?
    Many thanks,
    Tim

  • Load XML file from addon domain without cross-domain Policy file

    Hello.
    Assuming that there are two addon domains on the same server: /public_html/domain1.com       and      /public_html/domain2.com
    I try to load XML file from domain2.com into domain1.com without using cross-domain policy file (since it doesn’t work on xml files in my case).
    So the idea is to use php file in order to load XML and read it back to flash.
    I’ve found an interesting scripts that seems to do the job but unfortunately I can't get it to work. In my opinion there is somewhere problem with AS3 part. Please take a look.
    Here are the AS3/PHP scripts:
    AS3 (.swf in www.domain1.com):
    // location of the xml that you would like to load, full http address
    var xmlLoc:String = "http://www.domain2.com/MyFile.xml";
    // location of the php xml grabber file, in relation to the .swf
    var phpLoc:String = "loadXML.php";
    var xml:XML;
    var loader:URLLoader = new URLLoader();
    var request:URLRequest = new URLRequest(phpLoc+"?location="+escape(xmlLoc) );
    loader.addEventListener(Event.COMPLETE, onXMLLoaded);
    loader.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorHandler);
    loader.load(request);
    function onIOErrorHandler(e:IOErrorEvent):void {
        trace("There was an error with the xml file "+e);
    function onXMLLoaded(e:Event):void {
        trace("the rss feed has been loaded");
        xml = new XML(loader.data);
        // set to string, since it is passed back from php as an object
        xml = XML(xml.toString());
        xml_txt.text = xml;
    PHP (loadXML.php in www.domain1.com):
    <?php
    header("Content-type: text/xml");
    $location = "";
    if(isset($_GET["location"])) {
        $location = $_GET["location"];
        $location = urldecode($location);
    $xml_string = getData($location);
    // pass the url encoded vars back to Flash
    echo $xml_string;
    //cURLs a URL and returns it
    function getData($query) {
        // create curl resource
        $ch = curl_init();
        // cURL url
        curl_setopt($ch, CURLOPT_URL, $query);
        //Set some necessary params for using CURL
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       //Execute the curl function, and decode the returned JSON data
        $result = curl_exec($ch);
        return $result;
        // close curl resource to free up system resources
        curl_close($ch);
    ?>

    I think you might be right about permissions/settings on the server for php. Unfortunately I'm not allowed to adjust them.
    So I wrote my own script - this time I used file path instead of http address of the XML file.  It works fine in my case.
    Here it is:
    XML file on domain2.com:
    <?xml version="1.0" encoding="UTF-8"?>
    <gallery>
        <image imagePath="galleries/gallery_1/images/1.jpg" thumbPath="galleries/gallery_1/thumbs/1.jpg" file_name= "1"> </image>
        <image imagePath="galleries/gallery_1/images/2.jpg" thumbPath="galleries/gallery_1/thumbs/2.jpg" file_name= "2"> </image>
        <image imagePath="galleries/gallery_1/images/3.jpg" thumbPath="galleries/gallery_1/thumbs/3.jpg" file_name= "3"> </image>
    </gallery>
    swf  on domain1.com:
    var imagesXML:XML;
    var variables:URLVariables = new URLVariables();
    var varURL:URLRequest = new URLRequest("MyPHPfile.php");
    varURL.method = URLRequestMethod.POST;
    varURL.data = variables;
    var MyLoader:URLLoader = new URLLoader;
    MyLoader.dataFormat =URLLoaderDataFormat.VARIABLES;
    MyLoader.addEventListener(Event.COMPLETE, XMLDone);
    MyLoader.load(varURL);
    function XMLDone(event:Event):void {
        var imported_XML:Object = event.target.data.imported_XML;
        imagesXML = new XML(imported_XML);
       MyTextfield_1.text = imagesXML;
       MyTextfield_2.text = imagesXML.image[0].attribute("thumbPath");  // sample reference to attribute "thumbPath" of the first element
    php file on domain1.com:
    <?php
    $xml_file = simplexml_load_file('../../domain2.com/galleries/gallery_1/MyXMLfile.xml');  // directory to XML file on the same server
    $imported_XML = $xml_file->asXML();
    print "imported_XML=" . $imported_XML;
    ?>
    Regards
    PS: for those who read the above discussion: the first and the second script work but you must test which one is better in your situation. The first script will also work between two domains on different servers. No cross domain policy file needed.

  • Reading XML File from application server

    Hi experts,
    My aim is to read a XML file from application server and extract the relevant data from it and process further.
    When I am trying to read a XML file from application server it is reading success fully but the problem is that its not reading the last root structure of XML file why is so happening can any body help me?
    I am using the following code:
    TYPES: BEGIN OF xml_line,
    text(256) type x,
    END OF xml_line.
    DATA: e_file LIKE rlgrap-filename VALUE  'applcatin server path'
    OPEN DATASET e_file FOR INPUT IN BINARY MODE.
    IF sy-subrc EQ 0.
      DO.
        READ DATASET e_file INTO wa_item1-text.
        IF sy-subrc EQ 0.
          APPEND wa_item1 TO gt_item1 .
          CLEAR wa_item1.
        ELSE.
          EXIT.
        ENDIF.
      ENDDO.
    ENDIF.
    CLOSE DATASET e_file.
    after this i am passing this internal table to "cl_ixml" class to extract the data
    but it returning the itab with required value except the last record.
    The stream reading the file it self is i thought in complete thats why it is not converting the all values.
    Please  help me...
    Thanks a ton in advance.

    Hi,
    1 Copy Report BCCIIXMLT1
    2 (you can change the way of filling internal table xml_table if necessary)
    3 you don't need the part between
    *-- render the DOM back into an output stream/internal table
    and
    *-- print the whole DOM tree as a list...
    Comment it out or simply delete it
    4 Rename form print_node to your liking e.g. process_node
    5 In your new form you need three extra variables:
    data: attribs type ref to IF_IXML_NAMED_NODE_MAP,
          attrib_node type ref to IF_IXML_NODE,
          attrib_value type string.
    6 After the lines:
    when if_ixml_node=>co_node_element.
      string = pNode->get_name( ).
    Insert:
    attribs = pNode->get_attributes( ).
    clear attrib_value.
    case string.
      when ''. "put your XML tag name here
        attrib_node = attribs->get_named_item(name = '' ). "put your XML attribute name here
        attrib_value = attrib_node->get_value( ).
    You can also refer link,
    /people/r.eijpe/blog/2005/11/21/xml-dom-processing-in-abap-part-ii--convert-an-xml-file-into-an-abap-table-using-sap-dom-approach
    thanks & regards
    shreemohan

  • Upload xml file from aplication server using read dataset, parser error.

    Hi,
    I would like to upload xml file from app. server but parser failed. If I upload this xml file from workstation (using ws_upload) it is correct. For uploading xml file from app. server I use open dataset... read dataset. In loop section I remove '#' char. How do You upload xml file from app server? What Could be incorrect.
    I try to open dataset in binary mode, text mode...
    TYPES: BEGIN OF xml_line,
            data(255) TYPE c,
          END OF xml_line.
    DATA: gt_xml_table TYPE TABLE OF xml_line,
          gs_xml_structure TYPE  xml_line,
          gv_xml_table_size TYPE i.
    OPEN DATASET s FOR INPUT IN BINARY MODE.
      IF sy-subrc <> 0.
        MESSAGE e001(zet) WITH '....'.
      ENDIF.
      DO.
        READ DATASET s INTO gs_xml_structure.
        IF sy-subrc <> 0.
          EXIT.
        ELSE.
         len = STRLEN( gs_xml_structure ).
         len = len - 1.
         check len > 0.
         WRITE gs_xml_structure(len) TO gs_xml_structure.
          APPEND gs_xml_structure TO gt_xml_table.
        ENDIF.
      ENDDO.

    You Can do this too
    parameters: p_file like rlgrap-filename.
    data: subrc like sy-subrc.
      create object me.
      REFRESH t_data.
    *  Open XML File
      CALL METHOD me->CREATE_WITH_FILE
        EXPORTING
          filename = p_file
        RECEIVING
          retcode  = subrc.
    * Saves Data in an itab from XML File.
      CALL METHOD me->get_data
        IMPORTING
          retcode    = subrc
        CHANGING
          dataobject = t_data[].
    Regards,
    Claudio.

  • Reading external xml files from a jar

    Hi,
    I am trying to read an xml file from a jar (which is not present inside the jar ) .
    I am passing the file name as a string (like C:/folder/filename) to the SAXBuilder but it throwing
    unknown protocol: c error.
    i tried using an url , tried using a relative path but to no use.
    Need help in this regard urgently.
    TIA,
    Regards,
    Harsha

    Hi,
    Actually, my application needs to read two xml files , parse it, perform some operation and write
    the result to an output file.
    The names of the two xml files i mentioned, are specified in a properties file as absolute paths. (I even tried converting them to URIs)
    The xml files are in the same directory as the jar ( i dont know if it should matter as i am giving the absolute path).
    The main class reads the names of the files and passes the names as strings to the SAXBuilder.
    This is where i am getting an exception.
    Going by what you said, is it not possible for a java class to read a fie outside of the jar ? Is there no way to do this ? And right now i am not sure of how to go about this or if there's any work around . Any help would be appreciated.
    Kindly reply at the earliest
    TIA,
    Harsha

  • How can I pass a xml file to the webservice?

    Hello friends,
    How can I pass the XML file to any webservice API ?
    I have all the inputs of API in to the XML file.
    Please note:- I don't intend to do any .NET or Java coding to populate the data in the objects .Instead I plan to input the data to the webservice direcly from the XML file required schema.
    If necessary I can use Oracle Bpel process manager for it.
    Thanks and regards
    Ram Krishna Tripathi
    [email protected]

    Well, I've used it (or rather: tried it); did not/could not find the many options to export at a nearly lossless conversion for HD footage (hence my disclaimer "don't know"). Here is a screenshot of the Handbrake options:
    And here are the choices and settings from MPEG Streamclip:
    Maybe not empirical, but enough for me to have an opinion.

  • Is there a way to download an XML file from internet to internal table.

    Hi,
    We have Two system that first is "R/3 4.6C"   and   second is  "WebAS 6.20" and prior is first.
    I tried so much ways, i searched Function modules, classes, transactions ...
    But i have not found a way to download and XML file from internet like "http://www.tcmb.gov.tr/kurlar/today.xml" to internal table.
    is it possible to do ?
    if not, i will do with Delphi and RFC but i dont want to do this outside from SAP.
    thanks
    ibrahim

    Hi Ibrahim Bhai,
    I am Facing same kind of issue of getting Data of url into internal table.
    I want to know what are the settings that need to be made in SM59 to achieve this.
    What are the parameters that need to be passed while call to FM 'http_get' .
    Full Points will be rewarded.
    In Advance Thanks.
    With Regards,
    Shahrukh.

  • Creation of XML file from RFC

    Hi Experts,
    Iam getting input parameters to my RFC from JAVA.
    With that data i have to create XML file from my RFC, and i have to send that file to third party.
    Could you please tell me the total procedure.
    I know how to create RFC, i need how to create XML and how to send to third party.
    Thanks and regards,
    Kumar.

    HI,
    Follow the procedure :
    1.Get the schema by using add generated items according to particular RFC.
    2.Then  create the target schema.
    3.Create the map file and mapp both the schemas.
    After deployement follow the below steps
    1.In BizTalk administration console  create the send port to send the resulted XML to particular location.
    2.Then configure the receive port with values(pipeline=xmlreceive;clientid,userid,pwd,sap gateway host;sap gateway service to connect the sap.
    Now  start the application !
    Let me know if u still have a problem ?

  • How to export a data as an XML file from oracle data base?

    could u pls tell me the step by step procedure for following questions...? how to export a data as an XML file from oracle data base? is it possible? plz tell me itz urgent requirement...
    Thankz in advance
    Bala

    SQL> SELECT * FROM v$version;
    BANNER
    Oracle DATABASE 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS FOR 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    5 rows selected.
    SQL> CREATE OR REPLACE directory utldata AS 'C:\temp';
    Directory created.
    SQL> declare                                                                                                               
      2    doc  DBMS_XMLDOM.DOMDocument;                                                                                       
      3    xdata  XMLTYPE;                                                                                                     
      4                                                                                                                        
      5    CURSOR xmlcur IS                                                                                                    
      6    SELECT xmlelement("Employee",XMLAttributes('http://www.w3.org/2001/XMLSchema' AS "xmlns:xsi",                       
      7                                  'http://www.oracle.com/Employee.xsd' AS "xsi:nonamespaceSchemaLocation")              
      8                              ,xmlelement("EmployeeNumber",e.empno)                                                     
      9                              ,xmlelement("EmployeeName",e.ename)                                                       
    10                              ,xmlelement("Department",xmlelement("DepartmentName",d.dname)                             
    11                                                      ,xmlelement("Location",d.loc)                                     
    12                                         )                                                                              
    13                   )                                                                                                    
    14     FROM   emp e                                                                                                       
    15     ,      dept d                                                                                                      
    16     WHERE  e.DEPTNO=d.DEPTNO;                                                                                          
    17                                                                                                                        
    18  begin                                                                                                                 
    19    OPEN xmlcur;                                                                                                        
    20    FETCH xmlcur INTO xdata;                                                                                            
    21    CLOSE xmlcur;                                                                                                       
    22    doc := DBMS_XMLDOM.NewDOMDocument(xdata);                                                                           
    23    DBMS_XMLDOM.WRITETOFILE(doc, 'UTLDATA/marco.xml');                                                                  
    24  end;                                                                                                                  
    25  /                                                                                                                      
    PL/SQL procedure successfully completed.
    .

  • Create XML file from table data

    Dear All,
    with dataservice 4.0, I want to create an XML file from a table data.
    Table have a single column but more record, for example:
    0001000488;100;EUR;
    0001000489;200;EUR;
    0001000450;300;EUR;
    My desired XML output:
    <Data>
      0001000488;100;GBP;
      0001000489;200;EUR;
      0001000450;300;EUR;
    </Data>
    I try with a sample query but the sistem write only the last record in XML file:
    <Data>
      0001000450;300;EUR;
    </Data>
    Can everyone help me?
    Thank in advance.
    Simone

    Hello
    That is a very simple (also odd) XML document structure, and as such doesn't require use of the XML target.  It can be easily acheived by writing a normal file with a header and footer, which is acheived using a row_generation and a query to generate the hard coded open and close tags.
    Michael

Maybe you are looking for