Encoding XML Data

I am trying to create an XML object that looks something like this.
      <LoginInfo xsi:type="type:Creds" xmlns:type="http://login.me.com/types">
         <User xsi:type="xsd:string">bill</User>
         <Password xsi:type="xsd:string">pass</Password>
      </LoginInfo>
A crucial piece of info is that I need to make sure that the xsi:types appear in the final xml.
Any suggestions?

Hi Aslam Riaz,
Did you find any solution..?
Kindly help me on this issue.
Thanks and Regards,
Shailaja Chityala

Similar Messages

  • Gzip encoded XML data in HTTP adapter

    Hi,
    I'm involved in building an synchronous interface to an external credit agency. According to their documentation their XML response is encoded as a
    gzip XML-data stream. As I understand this it implies that the XML data stream is compressed. Does the XI HTTP adapter (Web-As ICM/ICF framework) support this encoding? 
    Johan Göthberg

    From Adobe Support...
    "When you use an XML-based data provider with a tree you must
    specify the label field, even if it is "label". The XML object
    includes the root, so you must set showRoot="false". Remember that
    the Tree will not, by default, reflect dynamic changes to the XML
    object."
    So all I had to do was change the component tag from this:
    <mx:Tree id="checkTree"
    itemRenderer="util.CheckTreeRenderer" labelField="label"
    width="100%" height="100%" />
    to this:
    <mx:Tree id="checkTree"
    itemRenderer="util.CheckTreeRenderer" showRoot="false"
    labelField="@label" width="100%" height="100%" />
    Just as an FYI... The Adobe support is worth the cost if you
    are fairly new to Flex. I have been flexing for about 9 months now
    and find their service invaluable!!!
    Have an Ordinary Day...
    KomputerMan ~|:-)

  • XML data encoding iso-8859-1 . Currently utf-16 is default encoding

    Hello ABAP Gurus ,
    Need a help from you .
    Scenario : We have SAP4.7 enterprise version which we have now converted to Unicode system . There is a BSP application which talks to an external web application (Non Unicode) thru HTTP protocol and sends data thru XML.
    Problem : Problem is at the time when BSP application prepares the XML While preparing XML data , before converting to Unicode environment the encoding was "iso-8859-1" . But now after Unicode conversion , the encoding is "UTF-16".
    The XML data looks like
    <?xml version="1.0" encoding="utf-16"?><DATA><ACTION>CREATE_TICKET</ACTION><CRI
    I have tried replacing "utf-16" by "iso-8859-1 " . The interface works . But at the recieving end , ie external web application , the German umlauts appear as some garbage values .
    I know we need to enforce encoding . I have tried with the following code but could not suceed . The encoding appears as "utf-16".
    Following is the section of code which I have written in BSP application.
      Daten in DOM-Baum wandeln
        CALL FUNCTION 'SDIXML_DATA_TO_DOM'
          EXPORTING
            name        = 'DATA'
            dataobject  = ls_cr_xml
          IMPORTING
            data_as_dom = if_dom
          CHANGING
            document    = if_document
          EXCEPTIONS
            OTHERS      = 1.
        IF sy-subrc NE 0.
          error_out text-f47 text-f48 space space.
        ENDIF.
      DOM-Baum in Character-Stream wandeln
        if_pixml = cl_ixml=>create( ).
        IF if_pixml IS INITIAL.
          error_out text-f50 text-f53 space space.
        ENDIF.
        if_pstreamfact = if_pixml->create_stream_factory( ).
        IF if_pstreamfact IS INITIAL.
          error_out text-f51 text-f53 space space.
        ENDIF.
        if_postream = if_pstreamfact->create_ostream_cstring( string = xml_doc ).
        IF if_pstreamfact IS INITIAL.
          error_out text-f52 text-f53 space space.
        ENDIF.
    --Encoding--
    data: gv_str type string.
    data: gv_l_xml_encoding type ref to if_ixml_encoding.
    data gv_l_resultb type boolean.
    gv_str = 'ISO-8859-1' .
    clear gv_l_xml_encoding.
          call method if_pixml->create_encoding
            EXPORTING
              byte_order    = 0
              character_set = gv_str
            RECEIVING
              rval          = gv_l_xml_encoding.
          clear gv_l_resultb.
          call method gv_l_xml_encoding->set_character_set
            EXPORTING
              charset = gv_str
            RECEIVING
              rval    = gv_l_resultb.
            call method if_document->set_encoding
            EXPORTING
              encoding = gv_l_xml_encoding.
    ----Append child -
    CALL METHOD if_document->append_child
          EXPORTING
            new_child = if_dom
          RECEIVING
            rval      = lv_return.
        IF lv_return NE 0.
          error_out text-f47 text-f49 space space.
        ENDIF.
    --Render the XML data to output stream--
        CALL METHOD if_document->render
          EXPORTING
            ostream = if_postream.
    After this section of code is executed , the variable xml_doc  gets filled up with XML data .
    <?xml version="1.0" encoding="utf-16"?><DATA><ACTION>CREATE_TICKET</ACTION><CRI
    Can anybody help how to enforce encoding ?
    Regards,
    Laxman Nayak.

    Hi Aslam Riaz,
    Did you find any solution..?
    Kindly help me on this issue.
    Thanks and Regards,
    Shailaja Chityala

  • Set character encoding for data template xml output

    Hello everyone, in my data template, I have defined the header as
    <?xml version="1.0" encoding="WINDOWS-1256"?>
    but when output is generated, it is returned as:
    <?xml version="1.0" encoding="UTF-8"?>
    Is there a way for me to force the WINDOWS-1256 encoding in my data template?
    Many Thanks

    This data is read as
    bytes then I am using the InputStreamReader to convert
    to UTF-8 encoding.Don't you mean "from UTF-8 encoding"? Strings don't have an encoding, bytes can. And do you know that SQL Server produces those bytes encoded in UTF-8, or are you just assuming that?
    The stream is then written to a file with the
    extension ".xml". When I go and open the file, I get
    errors stating that the characters were not
    recognized.When you open the file with what? And what errors do you get?
    However, when I open the file with
    Notepad, I can see my xml data.

  • Importing XML data into sys.XMLType  - encoding problem

    Hi,
    I'm using "modplsql Gateway" to upload XML file with encoding "windows-1250" with some regional characters in database table.
    The table definition:
    CREATE TABLE NAHRAJ_DATA (
    NAME VARCHAR(128) UNIQUE NOT NULL,
    MIME_TYPE VARCHAR(128),
    DOC_SIZE NUMBER,
    DAD_CHARSET VARCHAR(128),
    LAST_UPDATED DATE,
    CONTENT_TYPE VARCHAR(128),
    CONTENT LONG RAW,
    BLOB_CONTENT BLOB
    The file was uploaded correct.
    My database have
    NLS_CHARACTERSET EE8MSWIN1250
    NLS_NCHAR_CHARACTERSET AL16UTF16
    After upload, I convert data from hex(blob) to dec and with function chr() to char. BLOB -> CLOB.
    Next I create sys.XMLType from CLOB. With this progression works all in order.
    In other system where are
    NLS_CHARACTERSET AL32UTF8
    NLS_NCHAR_CHARACTERSET AL16UTF16
    BLOB_CONTENT column(table NAHRAJ_DATA) starts with "FF FE FF FE" in HEX before my XML data. Exactly convert is OK, bud if I can create sys.XMLType I get this
    ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing
    LPX-00200: could not convert from encoding UTF-8 to UCS2 Error at line 1
    ORA-06512: at "SYS.XMLTYPE", line 0
    ORA-06512: at line 1
    I haven't any idea what's wrong.
    Whats mean the HEX code in BLOB_CONTENT column after upload?
    Thangs
    Lukas

    Please post your question in XMLDB forum

  • Convert XML data to byte array...

    Hello All,
    In my application, i have an XML file and the corresponding XSD file. This XML file is having some date, which i want to convert into an byte[] and then save it in a file. 
    How i can convert the XML data in the byte[]? Here as an example of the xml file and the byte[] data which i want to save in a file.
    <?xml version="1.0" encoding="utf-8"?>
    <HeadersInfo>
    <header>
    <id>0</id>
    <Name>H1</Name>
    </header>
    <header>
    <id>1</id>
    <Name>H2</Name>
    </header>
    </HeasersInfo>
    In the above example 'id' field is of type 'uint' and 'name' field is of type 'string' with max length of '5'. So in this case my byte array should be as shown below:
    00 00 00 01 48 31 00 00 00
    00 00 00 02 48 32 00 00 00
    Here underlines values are for the 'id' parameter where as values in bold are for 'Name' parameter for all the header values in sequence. Name parameter is null (0x00) padded.
    Thanks in advance,
    IamHuM

    Hi,
    the following example extract the id, name values using LINQ To Xml and writes it to a memory stream using a binary writer and returns the result as a byte array:
    internal static byte[] GetXmlAsByteArray()
    var document = XDocument.Parse("<HeadersInfo>"
    + " <header><id>1</id><Name>H1</Name></header>"
    + " <header><id>2</id><Name>H2</Name></header>"
    // additional testing
    + " <header><id>32767</id><Name>H1234</Name></header>"
    + " <header><id>305419896</id><Name>H56789</Name></header>"
    + "</HeadersInfo>");
    const int NameLength = 5; // Max length for a name
    byte[] zeroBytes = new byte[NameLength]; // Helper to fill name
    using (var ms = new MemoryStream())
    using (var writer = new BinaryWriter(ms))
    // write each header
    foreach (var header in document.Root.Elements("header"))
    int id = (int)header.Element("id");
    string name = (string)header.Element("Name");
    byte[] nameBytes = System.Text.Encoding.UTF8.GetBytes(name);
    Console.WriteLine("id: {0}, Name: {1}", id, name);
    // Write id
    writer.Write(GetUIntBytes((uint)id));
    // Write name NameLength (5) max, otherwise padded
    if (nameBytes.Length > NameLength)
    writer.Write(nameBytes, 0, NameLength);
    else
    writer.Write(nameBytes, 0, nameBytes.Length);
    if (nameBytes.Length < NameLength)
    writer.Write(zeroBytes, 0, NameLength - nameBytes.Length);
    byte[] result = ms.ToArray();
    // dump array
    foreach (var value in result)
    Console.Write("{0:X2} ", value);
    Console.WriteLine();
    return result;
    public static byte[] GetUIntBytes(uint value)
    if (BitConverter.IsLittleEndian)
    // swap bytes
    value = ((value & 0x00ff) << 24)
    | ((value & 0xff00) << 8)
    | ((value & 0x00ff0000) >> 8)
    | ((value & 0xff000000) >> 24);
    return BitConverter.GetBytes(value);
    For a general purpose solution you should create a class and split the example into separate methods to extract the data and write the values (integers, strings).
    Regards, Elmar

  • How to create a report using XML data source from Crystal Report Designer

    Hi,
    Iu2019m having Crystal Report Designer XI R2 SP4. Iu2019m trying to create a report using XML data source stored on disk. This is a customer order report and the xml is structured in such a way that it has an order details header part (master) and then it has several order lines (detail). One order line can have several order line characteristics (detail-detail). So what I need to know is now I can design this layout from the designer. If this was done using views I can do it with sub-reports but using xml data this seems to be different. Can you help me to design this layout? I have included the xml and xsd as well.
    Thank you in advance.
    Regards,
    Chanaka
    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <CUSTOMER_ORDER_CONF_REP_REQUEST xmlns:xsi="http://www.w3.org/2001/XMLSchema" xmlns="urn:ifsworld-com:customer_order_conf_rep">
        <CUSTOMER_ORDER_CONF_REP>
            <ORDER_NO>D555809</ORDER_NO>
            <PRINTED_DATE>2009-03-26T08:52:54</PRINTED_DATE>
            <AUTHORIZE_NAME>Chanaka</AUTHORIZE_NAME>
            <CUSTOMER_NO>CU-1473-INV</CUSTOMER_NO>
            <CUST_NAME>Mr.Johan Matts</CUST_NAME>
            <SHIP_ADDR_1>93,Main Street</SHIP_ADDR_1>
            <SHIP_ADDR_2>Negambo Road</SHIP_ADDR_2>
            <SHIP_ADDR_3>Watthala</SHIP_ADDR_3>
            <SHIP_ADDR_4>SRI LANKA</SHIP_ADDR_4>
            <BILL_ADDR_1>93,Main Street</BILL_ADDR_1>
            <BILL_ADDR_2>Negambo Road</BILL_ADDR_2>
            <BILL_ADDR_3>Watthala</BILL_ADDR_3>
            <BILL_ADDR_4>SRI LANKA</BILL_ADDR_4>
            <CUSTOMER_PO_NO>112984638</CUSTOMER_PO_NO>
            <CUSTOMER_FAX>112984639</CUSTOMER_FAX>
            <CUSTOMER_EMAIL>abcbababab</CUSTOMER_EMAIL>
            <ORDER_LINES>
                <ORDER_LINE>
                    <LINE_NO>1</LINE_NO>
                    <CUSTOMER_PART_NO>NW-IP11</CUSTOMER_PART_NO>
                    <CUSTOMER_PART_DESC>iPod</CUSTOMER_PART_DESC>
                    <SALE_UNIT_PRICE>1200</SALE_UNIT_PRICE>
                    <PRICE_TOTAL>1200</PRICE_TOTAL>
                    <DISCOUNT>0</DISCOUNT>
                    <PRICE_QTY>1</PRICE_QTY>
                    <ORDER_LINE_CHARACTERSTICS>
                        <CHARACTERISTIC_ITEM>
                            <CHARACTERISTIC_ID xsi:nil="1"/>
                            <CHARACTERISTIC_VALUE xsi:nil="1"/>
                        </CHARACTERISTIC_ITEM>
                    </ORDER_LINE_CHARACTERSTICS>
                </ORDER_LINE>
                <ORDER_LINE>
                    <LINE_NO>2</LINE_NO>
                    <CUSTOMER_PART_NO>NW-IP24</CUSTOMER_PART_NO>
                    <CUSTOMER_PART_DESC>XGA Projector</CUSTOMER_PART_DESC>
                    <SALE_UNIT_PRICE>500</SALE_UNIT_PRICE>
                    <PRICE_TOTAL>1500</PRICE_TOTAL>
                    <DISCOUNT>0</DISCOUNT>
                    <PRICE_QTY>3</PRICE_QTY>
                    <ORDER_LINE_CHARACTERSTICS>
                        <CHARACTERISTIC_ITEM>
                            <CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
                            <CHARACTERISTIC_VALUE>Free Instalation</CHARACTERISTIC_VALUE>
                        </CHARACTERISTIC_ITEM>
                    </ORDER_LINE_CHARACTERSTICS>
                </ORDER_LINE>
                <ORDER_LINE>
                    <LINE_NO>3</LINE_NO>
                    <CUSTOMER_PART_NO>NW-IP02</CUSTOMER_PART_NO>
                    <CUSTOMER_PART_DESC>Sony DVD Player</CUSTOMER_PART_DESC>
                    <SALE_UNIT_PRICE>1000</SALE_UNIT_PRICE>
                    <PRICE_TOTAL>1000</PRICE_TOTAL>
                    <DISCOUNT>0</DISCOUNT>
                    <PRICE_QTY>1</PRICE_QTY>
                    <ORDER_LINE_CHARACTERSTICS>
                        <CHARACTERISTIC_ITEM>
                            <CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
                            <CHARACTERISTIC_VALUE>Free 5 DVDs</CHARACTERISTIC_VALUE>
                        </CHARACTERISTIC_ITEM>
                    </ORDER_LINE_CHARACTERSTICS>
                </ORDER_LINE>
                <ORDER_LINE>
                    <LINE_NO>4</LINE_NO>
                    <CUSTOMER_PART_NO>NW-IP99</CUSTOMER_PART_NO>
                    <CUSTOMER_PART_DESC>Flatscreen TV</CUSTOMER_PART_DESC>
                    <SALE_UNIT_PRICE>1500</SALE_UNIT_PRICE>
                    <PRICE_TOTAL>1350</PRICE_TOTAL>
                    <DISCOUNT>10</DISCOUNT>
                    <PRICE_QTY>1</PRICE_QTY>
                    <ORDER_LINE_CHARACTERSTICS>
                        <CHARACTERISTIC_ITEM>
                            <CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
                            <CHARACTERISTIC_VALUE>Free Delivery</CHARACTERISTIC_VALUE>
                        </CHARACTERISTIC_ITEM>
                        <CHARACTERISTIC_ITEM>
                            <CHARACTERISTIC_ID>2</CHARACTERISTIC_ID>
                            <CHARACTERISTIC_VALUE>1 year additional warranty</CHARACTERISTIC_VALUE>
                        </CHARACTERISTIC_ITEM>
                    </ORDER_LINE_CHARACTERSTICS>
                </ORDER_LINE>
                <ORDER_LINE>
                    <LINE_NO>5</LINE_NO>
                    <CUSTOMER_PART_NO>NW-IP56</CUSTOMER_PART_NO>
                    <CUSTOMER_PART_DESC>Sony MP3 Player</CUSTOMER_PART_DESC>
                    <SALE_UNIT_PRICE>200</SALE_UNIT_PRICE>
                    <PRICE_TOTAL>400</PRICE_TOTAL>
                    <DISCOUNT>0</DISCOUNT>
                    <PRICE_QTY>2</PRICE_QTY>
                    <ORDER_LINE_CHARACTERSTICS>
                        <CHARACTERISTIC_ITEM>
                            <CHARACTERISTIC_ID>1</CHARACTERISTIC_ID>
                            <CHARACTERISTIC_VALUE>Free carry belt</CHARACTERISTIC_VALUE>
                        </CHARACTERISTIC_ITEM>
                        <CHARACTERISTIC_ITEM>
                            <CHARACTERISTIC_ID>2</CHARACTERISTIC_ID>
                            <CHARACTERISTIC_VALUE>Free promotional 4GB memory bar</CHARACTERISTIC_VALUE>
                        </CHARACTERISTIC_ITEM>
                        <CHARACTERISTIC_ITEM>
                            <CHARACTERISTIC_ID>3</CHARACTERISTIC_ID>
                            <CHARACTERISTIC_VALUE>No warranty on memory bar</CHARACTERISTIC_VALUE>
                        </CHARACTERISTIC_ITEM>
                    </ORDER_LINE_CHARACTERSTICS>
                </ORDER_LINE>
            </ORDER_LINES>
        </CUSTOMER_ORDER_CONF_REP>
    </CUSTOMER_ORDER_CONF_REP_REQUEST>
    XSD
    <?xml version="1.0" encoding="UTF-8"?>
    <?report  module="ORDER" package="CUSTOMER_ORDER_CONF_REP" ?>
    <xs:schema targetNamespace="urn:ifsworld-com:customer_order_conf_rep" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:ifsworld-com:customer_order_conf_rep" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="CUSTOMER_ORDER_CONF_REP_REQUEST">
    <xs:complexType>
    <xs:all minOccurs="1" maxOccurs="1">
    <xs:element name="CUSTOMER_ORDER_CONF_REP">
    <xs:complexType>
    <xs:choice minOccurs="0" maxOccurs="50">
    <xs:element name="ORDER_NO" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="PRINTED_DATE" type="xs:dateTime" nillable="true" minOccurs="0"/>
    <xs:element name="AUTHORIZE_NAME" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="CUSTOMER_NO" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="CUSTOMER_PO_NO" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="CUST_NAME" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="SHIP_ADDR_1" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="SHIP_ADDR_2" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="SHIP_ADDR_3" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="SHIP_ADDR_4" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="BILL_ADDR_1" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="BILL_ADDR_2" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="BILL_ADDR_3" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="BILL_ADDR_4" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="CUSTOMER_FAX" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="CUSTOMER_EMAIL" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="ORDER_LINES" nillable="true" minOccurs="0">
    <xs:complexType>
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
    <xs:element name="ORDER_LINE">
    <xs:complexType>
    <xs:choice minOccurs="0" maxOccurs="39">
    <xs:element name="LINE_NO" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="SALE_UNIT_PRICE" type="xs:float" nillable="true" minOccurs="0"/>
    <xs:element name="PRICE_TOTAL" type="xs:float" nillable="true" minOccurs="0"/>
    <xs:element name="DISCOUNT" type="xs:float" nillable="true" minOccurs="0"/>
    <xs:element name="PRICE_QTY" type="xs:float" nillable="true" minOccurs="0"/>
    <xs:element name="CUSTOMER_PART_NO" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="4000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="CUSTOMER_PART_DESC" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="4000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="ORDER_LINE_CHARACTERSTICS" nillable="true" minOccurs="0">
    <xs:complexType>
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
    <xs:element name="CHARACTERISTIC_ITEM">
    <xs:complexType>
    <xs:choice minOccurs="0" maxOccurs="6">
    <xs:element name="CHARACTERISTIC_ID" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    <xs:element name="CHARACTERISTIC_VALUE" nillable="true" minOccurs="0">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="2000"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:all>
    </xs:complexType>
    </xs:element>
    </xs:schema>

    Hi Sourashree,
    Thank you for the response and ideas you have given me so far. I can get the fetch the data from the data source without any problem. That is I do the following,
    1.     New Report
    2.     From Create New Connection-> XML
    3.     Provide the u201CLocal XML Fileu201D and have u201CSpecify Schema Fileu201D checked -> Next
    4.     Provide the u201CLocal Schema Fileu201D  -> Finish
    Then I can see the following under XML
    + CUSTOMER_ORDER_CONF_REP_REQUEST
            CUSTOMER_ORDER_CONF_REP_REQUEST
         CUSTOMER_ORDER_CONF_REP_REQUEST/CUSTOMER_ORDER_CONF_REP
         CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES
         CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE
         CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS
         CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS/CHARACTERSTIC_ITEM
    And from here if I add the following three I can get all the fields I need to the report
         CUSTOMER_ORDER_CONF_REP_REQUEST/CUSTOMER_ORDER_CONF_REP
         CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE
         CUSTOMER_ORDER_CONF_REP_REQUEST/ CUSTOMER_ORDER_CONF_REP/ORDER_LINES/ORDER_LINE/ORDER_LINE_CHARACTERSTICS/CHARACTERSTIC_ITEM
    Then I come to the Linking section. Here I canu2019t link anything. There is a common field called u201CInternal_IDu201D but I canu2019t link using it. So I get a message when I click Next. From here I add all the fields.
    For this point onwards only I need help. How do I group, add fields and design the layout so I can get an report output as follows.
    Date
    Order number                                   Authorized code
    Customer No
    Name
    Phone
    Fax email
    Shipping address 1                              Billing Address 1
    Shipping address 2                              Billing Address 2
    Shipping address 3                              Billing Address 3
    Shipping address 4                              Billing Address 4
    Order Line 1 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026                      LINE_NO     CUSTOMER_PART_NO          CUSTOMER_PART_DESC     SALE_UNIT_PRICE     PRICE_QTY     DISCOUNT     PRICE_TOTAL
    Characteristic details belonging to Order line 1       CHARACTERISTIC_ID 1  CHARACTERISTIC_VALUE1
                                           CHARACTERISTIC_ID 2  CHARACTERISTIC_VALUE2
                                           CHARACTERISTIC_ID 3  CHARACTERISTIC_VALUE3
    Order Line 2 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
    Characteristic details belonging to Order line 2
    Order Line 3 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
    Characteristic details belonging to Order line 3
    Order Line 4 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
    Characteristic details belonging to Order line 4
    Order Line 5 detailsu2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
    Characteristic details belonging to Order line 5
    How can I achieve this kind of a layout using the give xml and xsd? Should I use grouping if so how should I do the grouping?
    I have included the full xml and xsd in the first mail I posted but I canu2019t see it now. I can include that again if you want.
    Regards,
    Chanaka

  • Not able to view XML data

    Hello All,
    I want to generate xml data file from sql query.So i created a new report and new data model whose type is SQL query and following is the query
    select p.name as name,s.size_desc as sizes,sum(f.quantity) as quantity
    from s_article_poc14073 p,s_size_poc14073 s,s_factsize_poc14073 f
    where p.id = f.prod_id and s.size_id = f.size_id and p.id > 4
    group by p.name,s.size_desc
    order by 1
    I have not given any Layout and when i view the data ,i get only the folowing
    <?xml version="1.0" encoding="UTF-8" ?>
    <ROWSET />
    Therez no error with the sql query ,any help on this please
    Thanks in advance
    Sulakshana

    Hi,
    Yes my query returns rows when i run directly from the backend.
    I have not defined any layout,because i just want the data to be generated as a xml file.
    Thanks
    Sulakshana

  • Master Detail XML data in reports

    Hello,
    Can some one show a simple way of creating a XML data like below? I am trying to generate a PO report in PDF. the PDF document can print multiple POs with lines.
    <?xml version="1.0" encoding="UTF-8"?>
    <ROWSET>
    <ROW>
    <PO_HEADER>
    <PONUMBER>123</PONUMBER>
    <POLINES>
    <ITEM> BOLT </ITEM>
    <QTY>1 </QTY>
    <PRICE> 123</PRICE>
    </POLINES>
    <PO_HEADER>
    <PO_HEADER>
    <PONUMBER>222</PONUMBER>
    <POLINES>
    <ITEM> BOLT </ITEM>
    <QTY>2 </QTY>
    <PRICE> 2</PRICE>
    </POLINES>
    <PO_HEADER>
    </ROW>
    </ROWSET>
    looks like I need to add multiple queries to the reports
    Apex-->Application-->Shared Componets --> Report Queries -- Create New
    and I can get result in <ROWSET1> <ROWSET2> etc.. I actually need the xml data in above format. Is it possible?
    <?xml version="1.0" encoding="UTF-8"?>
    <ROWSET>
    <ROW>
    <UNAME></UNAME>
    <USER_INFO></USER_INFO>
    </ROW>
    </ROWSET>

    help anyone ?

  • XML Data from PL/SQL procedure -- special character issue (eBS)

    Hi All,
    I am developing a report, where the XML data is created by a PL/SQL procedure. I chose this approach over a data template, since there is a lot of processing involved in producing the actual data, and it cannot be done by select-statements alone. The report is run as a regular concurrent request.
    So far so good. There is a problem though. Every time the data contains special characters (ä, ö, umlauts), the concurrent request is completed with a warning, the log confirms that "One or more post-processing actions failed.", also there is no output file. The XML structure is valid as such. The report runs smoothly and produces the output when the XML data does not contain special characters.
    I am producing the XML lines by using the standard FND_FILE.PUT_LINE procedure: Fnd_File.put_line(Fnd_File.output, '<?xml version="1.0" encoding="UTF-8"?>'); This seems like a character encoding issue, but declaring the UTF-8 encoding in this way does not solve the problem.
    Any ideas what can be done to fix this? I have been searching Metalink but cannot find an answer. Many thanks for your kind help.
    Best Regards, Matilda

    Hi Rajesh,
    One idea I have, is that it might be possible to modify the PL/SQL code into a "before report" type trigger, attached to a data template. The code would process the data and write the lines into a temporary table, from which the data template could retrieve them in a simple select-query. However, it would be neat to be able to solve this without adding an extra layer of processing, since BI Publisher supposedly supports PL/SQL procedures as the data source.
    The data in this case is all correct, special characters are an intrinsic feature of the Finnish language. :)
    Best Regards, Matilda

  • JDev generated webservices encodes XML output from PL/SQL procedure

    I have a PL/SQL packaged procedure which takes some input parameters and produces one output parameter. The output parameter is of type CLOB and after the procedure has run, it contains a big piece of XML data.
    Using JDeveloper 10.1.3.1, I've published this packaged procedure as a webservice. The generated webservice is fine and works, except for one tiny little issue: the XML that is taken from the output parameter is encoded.
    Here is an example of the SOAP message that the webservice returns:
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns0="http://gbv0300u/GBV0300U.wsdl/types/"><env:Body><ns0:gbv0300uResponse
    Element><ns0:result><ns0:obvglijstOut> & gt;type>GBV0001& gt ;/type& lt;
    & gt;diensten& lt;
    & gt;dienst>some value& gt;/dienst& lt;
    & gt;/diensten& lt;
    </ns0:obvglijstOut></ns0:result></ns0:gbv0300uResponseElement></env:Body></env:Envelope>
    (I've manually added an extra space between the & and lt; or gt; to make sure a browser will not translate it into a < or >!)
    The contents of the <ns0:obvglijstOut> element are filled with the output parameter from the PL/SQL package.
    How can I change the generated webservice, so the output from the PL/SQL package is used as is instead of being encoded?

    Update: I've tested a bit more by adding some output statements to the java code that JDeveloper generated. I'm now 100% sure the PL/SQL code gives the XML data correctly to the webservice.
    At this moment my guess is that somewhere in the WSDL definition there is something that enables the encoding of the data. But I'm not sure.
    Any help is greatly appreciated.

  • How to search XML data from a HTTPMultiService and display the result on the Spark List

    Hello all,
    I am totally new to Flash Builder and Actionscript and hope someone might be able to help me out. I basically create a mobile app with a single view. The view has a TextInput as a search box and a search button. I conntected a Data/Service using a local XML file and bind the Data to a Spark List. Innitally the List will show nothing until the user enter the search term and hit the button. The List suppose to show the XML data that match the search term.
    Now is my problem. I cannot make the List to show the data that match the search text. The List just shows ALL the data.
    Here are my MXML code:
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
            xmlns:s="library://ns.adobe.com/flex/spark"
            xmlns:shopping="services.shopping.*"
            title="Search">
        <fx:Script>
            <![CDATA[
                import mx.events.FlexEvent;
                protected function button1_clickHandler(event:MouseEvent):void
                    navigator.popView();
                protected function list_creationCompleteHandler(event:FlexEvent):void
                    getDataResult.token = shopping.getData();
                protected function seach_clickHandler(event:MouseEvent):void
                    getDataResult.token = shopping.getSearchData(searchTxt.text);
            ]]>
        </fx:Script>
        <fx:Declarations>
            <s:CallResponder id="getDataResult"/>
            <shopping:Shopping id="shopping"/>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
        <s:actionContent>
            <s:Button height="79" label="Back" click="button1_clickHandler(event)"/>
        </s:actionContent>
        <s:List id="list" left="0" right="0" top="111" bottom="0"
                creationComplete="list_creationCompleteHandler(event)" labelField="english">
            <s:AsyncListView list="{getDataResult.lastResult}"/>
        </s:List>
        <s:TextInput id="searchTxt" x="80" y="34" width="250" height="49" enabled="true"
                     prompt="search..."/>
        <s:Button id="search" x="338" y="35" width="72" height="49" label="s"
                  click="seach_clickHandler(event)"/>
    </s:View>
    Here is the _Super_Shopping.as file:
    * This is a generated class and is not intended for modification.  To customize behavior
    * of this service wrapper you may modify the generated sub-class of this class - Shopping.as.
    package services.shopping
    import com.adobe.fiber.core.model_internal;
    import com.adobe.fiber.services.wrapper.HTTPServiceWrapper;
    import com.adobe.serializers.xml.XMLSerializationFilter;
    import mx.rpc.AbstractOperation;
    import mx.rpc.AsyncToken;
    import mx.rpc.http.HTTPMultiService;
    import mx.rpc.http.Operation;
    import valueObjects.Shop;
    [ExcludeClass]
    internal class _Super_Shopping extends com.adobe.fiber.services.wrapper.HTTPServiceWrapper
        private static var serializer0:XMLSerializationFilter = new XMLSerializationFilter();
        // Constructor
        public function _Super_Shopping()
            // initialize service control
            _serviceControl = new mx.rpc.http.HTTPMultiService();
             var operations:Array = new Array();
             var operation:mx.rpc.http.Operation;
             var argsArray:Array;
             operation = new mx.rpc.http.Operation(null, "getData");
             operation.url = "assets/data/shopping.xml";
             operation.method = "GET";
             operation.serializationFilter = serializer0;
             operation.properties = new Object();
             operation.properties["xPath"] = "/::shop";
             operation.resultElementType = valueObjects.Shop;
             operations.push(operation);
             operation = new mx.rpc.http.Operation(null, "getSearchData");
             operation.url = "assets/data/shopping.xml";
             operation.method = "GET";
             operation.resultFormat = "text";
             argsArray = new Array("item");
             operation.argumentNames = argsArray;
             operation.properties = new Object();
             operation.properties["xPath"] = "/::shop";
             operation.resultElementType = valueObjects.Shop;
             operations.push(operation);
             _serviceControl.operationList = operations;
             preInitializeService();
             model_internal::initialize();
        //init initialization routine here, child class to override
        protected function preInitializeService():void
          * This method is a generated wrapper used to call the 'getData' operation. It returns an mx.rpc.AsyncToken whose
          * result property will be populated with the result of the operation when the server response is received.
          * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value.
          * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
          * @see mx.rpc.AsyncToken
          * @see mx.rpc.CallResponder
          * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
        public function getData() : mx.rpc.AsyncToken
            var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getData");
            var _internal_token:mx.rpc.AsyncToken = _internal_operation.send() ;
            return _internal_token;
        public function getSearchData(item:String) : mx.rpc.AsyncToken
            var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("getSearchData");
            var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(item);
            return _internal_token;
    The getSearchData() supposed to return XML data that match the search text, but it doesn't. Can anyoen help?
    Thank you!

    Hi,
    are you able to change dynamically the  operation.url = "assets/data/shopping.xml";?
    i need to do that based on the users input.
    Thanks in advance,

  • How to send large amount of XML data in one CLOB variable

    Hi,
    I am sending large amount of XML data to TCP/IP port in one CLOB variable.
    My requirement is to send the whole data in one go in one CLOB variable.
    But that CLOB variable is not sufficient to hold all the data.
    Please suggest some solution.
    Thanks in advance

    Hi Here is my code:
    CREATE OR REPLACE PACKAGE BODY APPS.XXMB_WIP_PROD_TAG_DOOR_PKG
    AS
    PROCEDURE xxmb_get_xml_data_1270 (
    -- errbuf OUT VARCHAR2,
    -- retcode OUT NUMBER,
    p_org IN VARCHAR2,
    p_limit_to_global IN VARCHAR2,
    p_label IN VARCHAR2,
    p_printer IN VARCHAR2,
    p_quantity IN VARCHAR2,
    p_print_method IN VARCHAR2,
    p_enable_release IN VARCHAR2,
    p_enable_serial_no IN VARCHAR2,
    p_release IN VARCHAR2,
    p_rep_group IN VARCHAR2,
    p_cart_type IN VARCHAR2,
    p_cart_no_from IN VARCHAR2,
    p_cart_no_to IN VARCHAR2,
    p_serial_no IN VARCHAR2
    AS
    CURSOR c_xml_data_door (
    p_org IN VARCHAR2,
    p_label IN VARCHAR2,
    p_printer IN VARCHAR2,
    p_quantity IN VARCHAR2,
    p_print_method IN VARCHAR2,
    p_rep_group IN VARCHAR2,
    p_release IN VARCHAR2,
    p_cart_type IN VARCHAR2,
    p_cart_no_from IN VARCHAR2,
    p_cart_no_to IN VARCHAR2,
    p_serial_no IN VARCHAR2
    IS
    SELECT xxasa.item_id AS item_id, xcs.serial_number AS serial_number,xxcpf.cart_type,xcs.destination_cart_num cart,xcs.destination_slot_num slot
    CURSOR c_product_detail (
    l_product IN NUMBER,
    l_serial_num IN VARCHAR2,
    p_limit_to_global IN VARCHAR2
    IS
    SELECT xcra_specie.reference_id AS reference_id,
    xcra_ege.attribute_value AS ege, xcs.item_id AS item_id,
    AND msib.inventory_item_id = l_product
    and xcs.organization_id = nvl(p_org, xcs.organization_id)
    AND xcs.serial_number = NVL (l_serial_num, xcs.serial_number);
    /*-------------------------------------------------------+
    | Cursor to fetch the data for special Message Label |
    +-------------------------------------------------------*/
    CURSOR c_count (p_item_id IN NUMBER)
    IS
    SELECT xcrav.attribute_value, xcs.serial_number, xcs.cabinet_number
    FROM xxmb_czmfg_ref_attributes xcrav,
    cz_config_attributes cca,
    AND msib.organization_id = xcs.organization_id
    AND msib.inventory_item_id = xcs.item_id;
    /*--------------------------+
    | Common variables |
    +--------------------------*/
    v_limit_to_global VARCHAR2 (100);
    l_label_count NUMBER := 1;
    total_rec NUMBER;
    l_rewrite VARCHAR2 (1) := 'N';
    l_file_count NUMBER := 1;
    l_separate_line VARCHAR2 (10);
    BEGIN
    fnd_profile.get ('WMS_LABEL_OUTPUT_DIRECTORY', l_output_dir);
    fnd_profile.get ('WMS_LABEL_FILE_PREFIX', l_output_file_prefix);
    l_request_id := apps.fnd_global.conc_request_id;
    l_output_file_name :=
    l_output_file_prefix || l_request_id || l_file_end;
    l_dir_seperator := '/';
    IF (INSTR (l_output_dir, l_dir_seperator) = 0)
    THEN
    l_dir_seperator := '\';
    END IF;
    v_label := p_label;
    v_printer := p_printer;
    v_quantity := p_quantity;
    V_LIMIT_TO_GLOBAL := P_LIMIT_TO_GLOBAL;
    L_XML_CONTENT := '<?xml version="1.0" encoding="UTF-8" ?>';
    L_XML_CONTENT := L_XML_CONTENT || '<!DOCTYPE labels SYSTEM "label.dtd">';
    L_XML_CONTENT := L_XML_CONTENT || '<labels>';
    FOR r_xml_data_door IN c_xml_data_door (p_org,
    p_label,
    p_printer,
    p_quantity,
    p_print_method,
    p_rep_group,
    p_release,
    p_cart_type,
    p_cart_no_from,
    p_cart_no_to,
    p_serial_no
    LOOP
    -- dbms_output.put_line ( 1 );
    FOR r_product_detail IN
    c_product_detail (r_xml_data_door.item_id,
    r_xml_data_door.serial_number,
    v_limit_to_global
    LOOP
    -- dbms_output.put_line ( 2 );
    -- l_xml_content := '<?xml version="1.0" encoding="UTF-8" ?>';
    -- l_xml_content := l_xml_content || '<!DOCTYPE labels SYSTEM "label.dtd">';
    -- l_xml_content := l_xml_content || '<labels>';
    fnd_file.put_line (fnd_file.LOG, 'label cnt: ' || l_label_count);
    dbms_output.put_line (l_label_count);
    L_XML_CONTENT := L_XML_CONTENT || '<label _FORMAT='
    || '"'
    || 'lib://FRD/'
    || v_label
    || '"'
    || ' _PRINTERNAME='
    || '"'
    || v_printer
    || '"'
    || ' _QUANTITY='
    || '"'
    || v_quantity
    || '"'
    || '>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Color">'
    || R_PRODUCT_DETAIL.COLOR
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT ||'<variable name= "Model">'
    || R_PRODUCT_DETAIL.model
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Build_Date">'
    || R_PRODUCT_DETAIL.BUILD_DATE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Assy_Cart">'
    || R_PRODUCT_DETAIL.ASSY_CART
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Assy_Slot">'
    || R_PRODUCT_DETAIL.ASSY_SLOT
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Assy_Line">'
    || R_PRODUCT_DETAIL.ASSY_LINE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Finish_Cart">'
    || R_PRODUCT_DETAIL.FINISH_CART
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Finish_Slot">'
    || R_PRODUCT_DETAIL.FINISH_SLOT
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Serial_Number">'
    || R_PRODUCT_DETAIL.SERIAL_NO
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Serial_Number_Barcode">'
    || R_PRODUCT_DETAIL.SERIAL_NO
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Specie">'
    || R_PRODUCT_DETAIL.SPECIE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT ||'<variable name= "Truck_Group">'
    || R_PRODUCT_DETAIL.TRUCK_GROUP
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Label_Sequence_No">'
    || L_LABEL_COUNT
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT ||'<variable name= "WIP_Cart">'
    || R_PRODUCT_DETAIL.WIP_CART
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "WIP_Slot">'
    || R_PRODUCT_DETAIL.WIP_SLOT
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Cabinet_Sequence_No">'
    || R_PRODUCT_DETAIL.CAB_SEQ_NO
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "RAW_PART_NO">'
    || R_PRODUCT_DETAIL.RAW_PART_NO
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "JC">'
    || R_PRODUCT_DETAIL.JC
    || '</variable>' ;
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "QC">'
    || R_PRODUCT_DETAIL.QC
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Thickness">'
    || R_PRODUCT_DETAIL.THICKNESS
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Width">'
    || R_PRODUCT_DETAIL.width
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Length">'
    || R_PRODUCT_DETAIL.length
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Overlay">'
    || R_PRODUCT_DETAIL.OVERLAY
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Options">'
    || R_PRODUCT_DETAIL.OPTIONS
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Stop">'
    || R_PRODUCT_DETAIL.stop
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Profile_No">'
    || R_PRODUCT_DETAIL.PROFILE_NO
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Door_Style">'
    || R_PRODUCT_DETAIL.DOOR_STYLE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Glaze">'
    || R_PRODUCT_DETAIL.GLAZE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Shape">'
    || R_PRODUCT_DETAIL.SHAPE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Glass">'
    || R_PRODUCT_DETAIL.GLASS
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Hinge_Side">'
    || R_PRODUCT_DETAIL.HINGE_SIDE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Hinge_Type">'
    || R_PRODUCT_DETAIL.HINGE_TYPE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "EGE">'
    || R_PRODUCT_DETAIL.EGE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Door_Style_Code">'
    || R_PRODUCT_DETAIL.DOOR_STYLE_CODE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Finish_Technique">'
    || R_PRODUCT_DETAIL.FINISH_TECHNIQUE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Hinge_Location">'
    || R_PRODUCT_DETAIL.HINGE_LOCATION
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Construction_Type">'
    || R_PRODUCT_DETAIL.CONSTRUCTION_TYPE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Panel_Type">'
    || R_PRODUCT_DETAIL.PANEL_TYPE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Panel_Profile_No">'
    || R_PRODUCT_DETAIL.PANEL_PROFILE_NO
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Rail_Profile_No">'
    || R_PRODUCT_DETAIL.RAIL_PROFILE_NO
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Rail_1_Length">'
    || R_PRODUCT_DETAIL.RAIL_1_LENGTH
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Stile_Profile_No">'
    || R_PRODUCT_DETAIL.STILE_PROFILE_NO
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Rail_2_Length">'
    || R_PRODUCT_DETAIL.RAIL_2_LENGTH
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Stile_1_Length">'
    || R_PRODUCT_DETAIL.STILE_1_LENGTH
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Stile_2_Length">'
    || R_PRODUCT_DETAIL.STILE_2_LENGTH
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Panel_1_Width">'
    || R_PRODUCT_DETAIL.PANEL_1_WIDTH
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Panel_1_Length">'
    || R_PRODUCT_DETAIL.PANEL_1_LENGTH
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Panel_2_Width">'
    || R_PRODUCT_DETAIL.PANEL_2_WIDTH
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Panel_2_Length">'
    || R_PRODUCT_DETAIL.PANEL_2_LENGTH
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT ||'</label>';
    /*-----------------------------------------+
    | Handling XML data for special message |
    +-----------------------------------------*/
    FOR rec_count IN c_count (r_product_detail.item_id)
    LOOP
    L_XML_CONTENT := L_XML_CONTENT || '<label _FORMAT='
    || '"'
    || 'lib://FRD/SpecMessage_Door.btw'
    || '"'
    || ' _PRINTERNAME='
    || '"'
    || v_printer
    || '"'
    || ' _QUANTITY='
    || '"'
    || v_quantity
    || '"'
    || '>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Serial_Number">'
    || REC_COUNT.SERIAL_NUMBER
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Special_Message">'
    || REC_COUNT.ATTRIBUTE_VALUE
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT || '<variable name= "Cabinet_Sequence_No">'
    || REC_COUNT.CABINET_NUMBER
    || '</variable>';
    L_XML_CONTENT := L_XML_CONTENT ||'</label>';
    EXIT WHEN c_count%NOTFOUND;
    end LOOP;
    -- L_XML_CONTENT := L_XML_CONTENT || '</labels>';
    fnd_file.put_line (fnd_file.LOG, l_xml_content);
    dbms_output.put_line ( l_xml_content );
    L_LABEL_COUNT := L_LABEL_COUNT + 1;
    -- apps.inv_print_request.sync_print_tcpip (l_xml_content,
    -- l_job_status,
    -- l_printer_status,
    -- l_status_type,
    -- l_return_status,
    -- l_return_msg
    END LOOP;
    END LOOP;
    l_xml_content := l_xml_content || '</labels>';
    fnd_file.put_line (fnd_file.LOG, l_xml_content);
    apps.inv_print_request.sync_print_tcpip (l_xml_content,
    l_job_status,
    l_printer_status,
    l_status_type,
    l_return_status,
    l_return_msg
    L_XML_CONTENT := null;
    /*--------------------------------------------------------------------------------------+
    | APPS.INV_PRINT_REQUEST.SYNC_PRINT_TCPIP will send the XML data to TCP/IP Port |
    +--------------------------------------------------------------------------------------*/
    fnd_file.put_line (fnd_file.LOG,
    'Printer Status:' || ' ' || l_printer_status
    fnd_file.put_line (fnd_file.LOG,
    'Return Status:' || ' ' || l_return_status
    fnd_file.put_line (fnd_file.LOG,
    'Return Message:' || ' ' || L_RETURN_MSG
    COMMIT;
    EXCEPTION
    WHEN OTHERS
    THEN
    fnd_file.put_line
    (fnd_file.LOG,
    'Unexpected error in the xxmb_get_xml_data_1270 procedure, error is : '
    || SQLERRM
    || ', '
    || SQLCODE
    END xxmb_get_xml_data_1270;
    END xxmb_wip_prod_tag_door_pkg;
    /

  • Reading XML Data from ABAP Program?

    Hi,
    How do I read XML Data from an ABAP Program? For example if I have the below basic XML Code-
    <xml>
    <Name> Thiru </Name>
    <Age> 24 </Age>
    <City> chennai </Chennai>
    </xml>
    How do i read the data within the Name,Age, and City tags into variables in the ABAP Program?
    Regards,
    Thiru

    if you decide to do in XSLT, I have a sample list here:
    XML file like this:
    <?xml version="1.0" encoding="UTF-16"?>
    <F>
    <P1>
    <t_1>value1</t_1>
    <t_2>testvalue</t_2>
    </P1>
    <P2>
    </P2>
    </F>
    XSLT file like this:
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sapxsl="http://www.sap.com/sapxsl" version="1.0">
    <xsl:strip-space elements="*"/>
    <xsl:template match="F">
    <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
    <asx:values>
    <<b>DOCUMENT</b>>
    <xsl:apply-templates/>
    </<b>DOCUMENT</b>>
    </asx:values>
    </asx:abap>
    </xsl:template>
    <xsl:template match="P1">
    <ENTRY>
    <<b>T_1</b>><xsl:value-of select="t_1"/></T_1>
    <<b>T_2</b>><xsl:value-of select="t_2"/></T_2>
    </ENTRY>
    </xsl:template>
    </xsl:transform>
    ABAP program like this:
    DATA: BEGIN OF wa_upload,
    text(255) TYPE c,
    END OF wa_upload,
    itab_upload LIKE TABLE OF wa_upload,
    BEGIN OF wa_document,
    t_1 TYPE string,
    t_2 TYPE string,
    END OF wa_document,
    itab_document LIKE TABLE OF wa_document.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = 'XXXXX'
    filetype = 'ASC'
    TABLES
    data_tab = itab_upload.
    CALL TRANSFORMATION zrappel_xml_test
    SOURCE XML itab_upload
    RESULT <b>document</b> = itab_document.
    You should pay attention to the bold words.
    hope it will be helpful
    thanks

  • Problem in filling jasper report with XML Data source

    Hello!
    I am trying to build a report uxing xml data source..Please verify following code:
    String outFileName = "c:/Report1.pdf";
    File xmlFileName = new File("C:/Program Files/JasperSoft/iReport-1.2.5/report.jrxml");
    String recordPath = "/SiteDetails/Site";
    JasperDesign jasperDesign = JRXmlLoader.load(xmlFileName);
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    JRXmlDataSource jrxmlds = new JRXmlDataSource(new File("c:/NewSite.xml"),recordPath);
    HashMap hm = new HashMap();
    try
    JasperPrint print = JasperFillManager.fillReport(jasperReport,hm,jrxmlds);
    JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
    exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,outFileName);
    exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);
    exporter.exportReport();
    catch (JRException jre)
    jre.printStackTrace();
    catch (Exception e)
    e.printStackTrace();
    My Xml file is:
    <?xml version="1.0" encoding="UTF-8"?>
    <SiteDetails>
    <Site>
    <Name>Site1</Name>
    <Addr>Bangalore</Addr>
    <supersiteid>null</supersiteid>
    </Site>
    <Site>
    <Name> Site2</Name>
    <Addr> Madras</Addr>
    <supersiteid>Site1</supersiteid>
    </Site>
    </SiteDetails>
    I want to display details of Siteand Address..My program works fine but displays only 1 (first) record...What should i do to display the full file..do i need to navigate thru the file and give that as an input to fillReport ()method...

    Hi,
    Have a look at below URL.
    http://ireport.sourceforge.net/cap7.html#7.4
    Regards
    VInK

Maybe you are looking for