cancel
Showing results for 
Search instead for 
Did you mean: 

Data type creation

Former Member
0 Kudos

Dear Experts,

I have a scenario where XI has to pick the file from web portal  and update the data into ECC system, we are receiving XML messages using SOAP- Axis adapter. they have provided the XML like below. kindly let me know how to create the data type for this.

XML :

<?xml version="1.0" encoding="ISO-8859-2" ?>

- <tabela_kursow typ="A" uid="14a048">

  <numer>2014</numer>

  <data>2014-03-11</data>

- <address>

  <nazwa>bat</nazwa>

  <przelicznik>1</przelicznik>

  <kod>THB</kod>

  <kurs>1234</kurs>

  </pozycja>

- <address>

  <nazwa>dolar</nazwa>

  <przelicznik>1</przelicznik>

  <kod>USD</kod>

  <kurs>1234</kurs>

  </address>

  </tabela_kursow>

Regards

kiran

Accepted Solutions (1)

Accepted Solutions (1)

former_member192343
Active Contributor
0 Kudos

Hi, here is XSD for you:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://sandbox" targetNamespace="http://sandbox">

   <xsd:complexType name="tabela_kursow">

      <xsd:sequence>

         <xsd:element name="numer" type="xsd:string" />

         <xsd:element name="data" type="xsd:string" />

         <xsd:element name="address" minOccurs="0" maxOccurs="unbounded">

            <xsd:complexType>

               <xsd:sequence>

                  <xsd:element name="nazwa" type="xsd:string" />

                  <xsd:element name="przelicznik" type="xsd:string" />

                  <xsd:element name="kod" type="xsd:string" />

                  <xsd:element name="kurs" type="xsd:string" />

               </xsd:sequence>

            </xsd:complexType>

         </xsd:element>

      </xsd:sequence>

      <xsd:attribute name="typ" type="xsd:string" />

      <xsd:attribute name="uid" type="xsd:string" />

   </xsd:complexType>

</xsd:schema>

BTW,  what is </pozycja> ?

Former Member
0 Kudos

Hi Mikhail,

Thanks for your replay, kindly check and provide the right solution for the below XML.

  <?xml version="1.0" encoding="ISO-8859-2" ?>

- <tabela_kursow typ="A" uid="14a048">

  <numer_tabeli>048/A/NBP/2014</numer_tabeli>

  <data_publikacji>2014-03-11</data_publikacji>

- <pozycja>

  <nazwa_waluty>bat (Tajlandia)</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>THB</kod_waluty>

  <kurs_sredni>0,0943</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>dolar amerykański</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>USD</kod_waluty>

  <kurs_sredni>3,0449</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>dolar australijski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>AUD</kod_waluty>

  <kurs_sredni>2,7495</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>dolar Hongkongu</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>HKD</kod_waluty>

  <kurs_sredni>0,3923</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>dolar kanadyjski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>CAD</kod_waluty>

  <kurs_sredni>2,7372</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>dolar nowozelandzki</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>NZD</kod_waluty>

  <kurs_sredni>2,5831</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>dolar singapurski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>SGD</kod_waluty>

  <kurs_sredni>2,4039</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>euro</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>EUR</kod_waluty>

  <kurs_sredni>4,2171</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>forint (Węgry)</nazwa_waluty>

  <przelicznik>100</przelicznik>

  <kod_waluty>HUF</kod_waluty>

  <kurs_sredni>1,3470</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>frank szwajcarski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>CHF</kod_waluty>

  <kurs_sredni>3,4626</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>funt szterling</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>GBP</kod_waluty>

  <kurs_sredni>5,0641</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>hrywna (Ukraina)</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>UAH</kod_waluty>

  <kurs_sredni>0,3308</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>jen (Japonia)</nazwa_waluty>

  <przelicznik>100</przelicznik>

  <kod_waluty>JPY</kod_waluty>

  <kurs_sredni>2,9473</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>korona czeska</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>CZK</kod_waluty>

  <kurs_sredni>0,1541</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>korona duńska</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>DKK</kod_waluty>

  <kurs_sredni>0,5651</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>korona islandzka</nazwa_waluty>

  <przelicznik>100</przelicznik>

  <kod_waluty>ISK</kod_waluty>

  <kurs_sredni>2,7067</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>korona norweska</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>NOK</kod_waluty>

  <kurs_sredni>0,5110</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>korona szwedzka</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>SEK</kod_waluty>

  <kurs_sredni>0,4767</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>kuna chorwacka</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>HRK</kod_waluty>

  <kurs_sredni>0,5506</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>lej rumuński</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>RON</kod_waluty>

  <kurs_sredni>0,9372</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>lew bułgarski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>BGN</kod_waluty>

  <kurs_sredni>2,1562</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>lira turecka</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>TRY</kod_waluty>

  <kurs_sredni>1,3702</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>lit litewski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>LTL</kod_waluty>

  <kurs_sredni>1,2214</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>nowy izraelski szekel</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>ILS</kod_waluty>

  <kurs_sredni>0,8756</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>peso chilijskie</nazwa_waluty>

  <przelicznik>100</przelicznik>

  <kod_waluty>CLP</kod_waluty>

  <kurs_sredni>0,5348</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>peso filipińskie</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>PHP</kod_waluty>

  <kurs_sredni>0,0684</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>peso meksykańskie</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>MXN</kod_waluty>

  <kurs_sredni>0,2300</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>rand (Republika Południowej Afryki)</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>ZAR</kod_waluty>

  <kurs_sredni>0,2820</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>real brazylijski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>BRL</kod_waluty>

  <kurs_sredni>1,2959</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>ringgit malezyjski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>MYR</kod_waluty>

  <kurs_sredni>0,9279</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>rubel rosyjski</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>RUB</kod_waluty>

  <kurs_sredni>0,0837</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>rupia indonezyjska</nazwa_waluty>

  <przelicznik>10000</przelicznik>

  <kod_waluty>IDR</kod_waluty>

  <kurs_sredni>2,6707</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>rupia indyjska</nazwa_waluty>

  <przelicznik>100</przelicznik>

  <kod_waluty>INR</kod_waluty>

  <kurs_sredni>5,0043</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>won (Korea Południowa)</nazwa_waluty>

  <przelicznik>100</przelicznik>

  <kod_waluty>KRW</kod_waluty>

  <kurs_sredni>0,2859</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>yuan renminbi (Chiny)</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>CNY</kod_waluty>

  <kurs_sredni>0,4959</kurs_sredni>

  </pozycja>

- <pozycja>

  <nazwa_waluty>SDR (MFW)</nazwa_waluty>

  <przelicznik>1</przelicznik>

  <kod_waluty>XDR</kod_waluty>

  <kurs_sredni>4,7045</kurs_sredni>

  </pozycja>

  </tabela_kursow>

Thanks

kiran

former_member192343
Active Contributor
0 Kudos

Hi, the same way

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tnk-bp.com/sandbox" targetNamespace="http://tnk-bp.com/sandbox">

   <xsd:complexType name="tabela_kursow">

      <xsd:sequence>

         <xsd:element name="numer_tabeli" type="xsd:string" />

         <xsd:element name="data_publikacji" type="xsd:string" />

         <xsd:element name="pozycja" minOccurs="0" maxOccurs="unbounded">

            <xsd:complexType>

               <xsd:sequence>

                  <xsd:element name="nazwa_waluty" type="xsd:string" />

                  <xsd:element name="przelicznik" type="xsd:string" />

                  <xsd:element name="kod_waluty" type="xsd:string" />

                  <xsd:element name="kurs_sredni" type="xsd:string" />

               </xsd:sequence>

            </xsd:complexType>

         </xsd:element>

      </xsd:sequence>

      <xsd:attribute name="typ" type="xsd:string" />

      <xsd:attribute name="uid" type="xsd:string" />

   </xsd:complexType>

</xsd:schema>

Answers (2)

Answers (2)

former_member192343
Active Contributor
0 Kudos

Kiran, please check the help about data type creating Developing Data Types - Managing Services in the Enterprise Services Repository - SAP Library

Your question is very simple and you will need to create a lot of more complex data types in the future. Hope it will be helpful

Regards, Michael

Former Member
0 Kudos

Hi Michael,

I have created the datatype, bue we are getting mapping error.

com.sap.aii.utilxi.misc.api.BaseRuntimeException:The processing instruction target matching &quot;[xX][mM][lL]&quot; is not allowed.</SAP

same xml i am using in the mapping test tab, it is showing XML not correct

Thanks

kiran

Former Member
0 Kudos

Hi,

It seems there is some space before the XML header

please check.

Regards,

Mastan vali

Former Member
0 Kudos

Hi Kiran,

Refer below blog, it might help you

https://scn.sap.com/thread/1918169

Regards,

Mastan

former_member192343
Active Contributor
0 Kudos

remove all spaces in XML before <? xml ?> tag

What kind of mapping do you use?

please, show you source XML also

abranjan
Active Participant
0 Kudos

Hi Kiran,

This might be a very trivial point but hope you are copying the source of xml (right click in browser and view source) in your test tab and not the direct xml itself. Raising this point because the xml you've provided above are a direct copy from the xml page. If not, try testing with source xml.

Structure/suggestions provided by Mikhail/Mastan looks quite legitimate to me.

Regards,

Abhishek

Former Member
0 Kudos

HI Kiran,

It is pretty simple

You can create free - form data type in ESR:

Data type:

Tabela_Kursow  occurence 1 Complex type

     numer String

     Data    Date

Address           occurence 0 to unbounded complex type

   nazwa

    ...

Create Messate type with name "Tabela_Kursow".

That is it.

Divyesh

Former Member
0 Kudos

Hi Divyesh,

The first Tag it's comming like below, pls advise.

- <tabela_kursow typ="A" uid="14a048">

Thanks

kiran