Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ODI 12c - I am trying to create a complex XML file from Oracle DB view and I have not been successfu

user11963983Sep 19 2018

This is my XSD schema:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="XXONTDEMAND">

\<xs:complexType>

  \<xs:sequence>

    \<xs:element type="xs:string" name="P\_ORGANIZATION"/>

    \<xs:element type="xs:string" name="P\_INSTANCE"/>

    \<xs:element type="xs:integer" name="P\_PARENT\_REQUEST"/>

    \<xs:element name="LIST\_MESSAGEHEADER">

      \<xs:complexType>

        \<xs:sequence>

          \<xs:element name="MESSAGEHEADER">

            \<xs:complexType>

              \<xs:sequence>

                \<xs:element type="xs:integer" name="MESSAGEID"/>

                \<xs:element type="xs:integer" name="MESSAGETYPE"/>

                \<xs:element type="xs:string" name="ENVIRONMENT"/>

              \</xs:sequence>

            \</xs:complexType>

          \</xs:element>

        \</xs:sequence>

      \</xs:complexType>

    \</xs:element>

    \<xs:element name="DEMAND\_HEADER">

      \<xs:complexType>

        \<xs:sequence>

          \<xs:element type="xs:string" name="WH\_ID"/>

          \<xs:element type="xs:string" name="BRAND\_CODE"/>

          \<xs:element type="xs:string" name="SALES\_CHANNEL"/>

          \<xs:element type="xs:string" name="FROM\_DATE"/>

          \<xs:element type="xs:string" name="TO\_DATE"/>

        \</xs:sequence>

      \</xs:complexType>

    \</xs:element>

    \<xs:element name="DEMAND\_DETAIL">

      \<xs:complexType>

        \<xs:sequence>

          \<xs:element name="ITEM" maxOccurs="unbounded" minOccurs="0">

            \<xs:complexType>

              \<xs:sequence>

                \<xs:element type="xs:string" name="ITEM\_NUMBER"/>                   

                      \<xs:element type="xs:string" name="YEAR"/>

                      \<xs:element type="xs:string" name="WEEK\_NUMBER"/>

                      \<xs:element type="xs:integer" name="QUANTITY"/>                      

              \</xs:sequence>

            \</xs:complexType>

          \</xs:element>

        \</xs:sequence>

      \</xs:complexType>

    \</xs:element>

  \</xs:sequence>

\</xs:complexType>

</xs:element>

</xs:schema>

This is my XML schema:

<?xml version="1.0" encoding="utf-8"?>

<XXONTDEMAND>

<P_ORGANIZATION>str1234</P_ORGANIZATION>

<P_INSTANCE>str1234</P_INSTANCE>

<P_PARENT_REQUEST>1234</P_PARENT_REQUEST>

<LIST_MESSAGEHEADER>

\<MESSAGEHEADER>

  \<MESSAGEID>1234\</MESSAGEID>

  \<MESSAGETYPE>1234\</MESSAGETYPE>

  \<ENVIRONMENT>str1234\</ENVIRONMENT>

\</MESSAGEHEADER>

</LIST_MESSAGEHEADER>

<DEMAND_HEADER>

\<WH\_ID>str1234\</WH\_ID>

\<BRAND\_CODE>str1234\</BRAND\_CODE>

\<SALES\_CHANNEL>str1234\</SALES\_CHANNEL>

\<FROM\_DATE>str1234\</FROM\_DATE>

\<TO\_DATE>str1234\</TO\_DATE>

</DEMAND_HEADER>

<DEMAND_DETAIL>

\<ITEM>

  \<ITEM\_NUMBER>str1234\</ITEM\_NUMBER>

  \<YEAR>str1234\</YEAR>

  \<WEEK\_NUMBER>str1234\</WEEK\_NUMBER>

  \<QUANTITY>1234\</QUANTITY>

\</ITEM>

</DEMAND_DETAIL>

</XXONTDEMAND>

This is how I have set up the Topology for the XML data server and it tests successfully: (all other settings are default)

pastedImage_0.png

I have successfully reverse engineered the Oracle view into my Oracle model folder and all of the XML schema tables into my Model folder. I am using a single view in the Oracle DB.

pastedImage_2.png

I have created a Project for the table mappings:

pastedImage_4.png

I have attached a sample of the data in the Oracle view that I am using. It is called Sample_data.txt.

Here is an example of what I expect the Complex XML file results to look like:

<XXONTDEMAND>

<P_ORGANIZATION>US1</P_ORGANIZATION>

<P_INSTANCE>EBSPROD</P_INSTANCE>

<P_PARENT_REQUEST>72036585</P_PARENT_REQUEST>

<LIST_MESSAGEHEADER>

\<MESSAGEHEADER>

  \<MESSAGEID>72036585\</MESSAGEID>

  \<MESSAGETYPE>852\</MESSAGETYPE>

  \<ENVIRONMENT>EBSPROD\</ENVIRONMENT>

\</MESSAGEHEADER>

</LIST_MESSAGEHEADER>

<DEMAND_HEADER>

   \<WH\_ID>US1\</WH\_ID>

   \<BRAND\_CODE>UGG\</BRAND\_CODE>

   \<SALES\_CHANNEL>WHOLESALE\</SALES\_CHANNEL>

   \<FROM\_DATE>2018-05-30\</FROM\_DATE>

   \<TO\_DATE>2018-06-15\</TO\_DATE>

</DEMAND_HEADER>

\<DEMAND\_DETAIL>

<ITEM>

      \<ITEM\_NUMBER>1100183T-BLK-07\</ITEM\_NUMBER>

<YEAR>2017</YEAR>

      \<WEEK\_NUMBER>31\</WEEK\_NUMBER>

      \<QUANTITY>120\</QUANTITY>

     \</ITEM>

\</DEMAND\_DETAIL>

\<DEMAND\_DETAIL>

<ITEM>

      \<ITEM\_NUMBER>1100183T-BLK-10\</ITEM\_NUMBER>

      \<YEAR>2017\</YEAR>

      \<WEEK\_NUMBER>32\</WEEK\_NUMBER>

      \<QUANTITY>90\</QUANTITY>

     \</ITEM>

\</DEMAND\_DETAIL>

\<DEMAND\_DETAIL>

    \<ITEM>

      \<ITEM\_NUMBER>1003628T-CHO-08\</ITEM\_NUMBER>

      \<YEAR>2017\</YEAR>

      \<WEEK\_NUMBER>32\</WEEK\_NUMBER>

      \<QUANTITY>50\</QUANTITY>

    \</ITEM>

\</DEMAND\_DETAIL>

</XXONTDEMAND>

I have mapped the root element and this is what it looks like:

pastedImage_5.png

When I execute the mapping, I get the XXONTDEMAND root table repeated 132 times which is the number of rows in the source Oracle view:

<?xml version="1.0" encoding="UTF-8"?>

<XXONTDEMAND></XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

<P_ORGANIZATION>107</P_ORGANIZATION>

<P_INSTANCE>EBSDEV1</P_INSTANCE>

<P_PARENT_REQUEST>12345</P_PARENT_REQUEST>

</XXONTDEMAND>

<XXONTDEMAND>

When I create the package to link all of the mappings together, it creates an xml file that is 660,000 KB and the file could not be opened.

Would you please take a look at the information I have provided, let me know if I can provide more, and please let me know how I can correct this problem.

Regards,

Susan

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 17 2018
Added on Sep 19 2018
0 comments
236 views