cancel
Showing results for 
Search instead for 
Did you mean: 

ABAP Data type to XI data type mapping

Former Member
0 Kudos

Hi,

I am creating a message type in XI corresponding to a ABAP structure. There are couple of data types on the ABAP side (for example: RAW, QUAN, CURR CUKY, UNIT, NUMC etc) which i have no idea on what it should be mapped to on the XI side(xsd:string, xsd:token, xsd:int etc).

Is there is any document on mapping from ABAP data type to XML data type ? if yes please send it across.(kiran.banavara@yahoo.com)

if no doc available, if some body could let me know what these ABAP data type would map on the XI side it would great.

Best Regards,

Kiran

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

This link might be of help to you.

<a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/de/705c3c3806af06e10000000a11402f/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/de/705c3c3806af06e10000000a11402f/frameset.htm</a>

Regards,

Smitha.

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Smitha and Claus,

Thanks a lot for your response.

Regards,

Kiran

Former Member
0 Kudos

Hi Kiran,

maybe http://ifr.sap.com/home/Documents/ABAP_Serialization.htm#31 is also important for you.

Greetings

Stephan

claus_wallacher
Active Participant
0 Kudos

Hi Kiran,

just some more background information to the data types CURR, CUKY, QUAN, UNIT:

1) Each field of data type CURR must be assigned to a field of data type CUKY (the financial amount must be assigned to a currency) and each field of data type QUAN must be assigned to a field of data type UNIT (each quantity must have a dimension). If you want to know this assignment for your specific ABAP structure, you can find it using transaction SE11 with your ABAP structure and go to the tab <i>Currency/Quantity fields</i>. Here you find the information under <i>Reference table</i> and <i>Ref. field</i>.

2) The default number of decimals for a field of data type CURR is 2, but this can be overwritten by the assigned CUKY field. You can check the actual number of decimals for a specific currency with transaction OY04. Here are all currency list that do <b>not</b> have 2 decimals.

3) The default number of decimals for a field of data type QUAN is 3, but this can be overwritten by the assigned UNIT field. You can check the actual number of decimals for a specific unit with transaction CUNI. Click on <i>Units of measurement</i> (pick the correct dimension first), double click on your unit and you find the info in the field <i>Decimal places</i>.

4) Depending on the data you receive your conversions can get quite tricky. Lets take as an example a field of type CURR. If you find the value 1000 in there, this would convert to 10.00 USD if the assigned CUKY field contains the value USD (US dollar). But the same value ca represent 1000 JPY (Japanese Yen) if the assigned CUKY field contains the value JPY. What i try to say is that the value in the field of type CURR alone does not give you the actual amount, you have to know the value of the CUKY field as well. Similar for QUAN and UNIT.

Regards,

Claus

claus_wallacher
Active Participant
0 Kudos

Hi Kiran,

the link provided by Smitha gives you the conversion of the some data types used in ABAP. Unfortunately there are many more data types in ABAP, that are not mentioned there.

For example:

<b>QUAN</b> Quantity field, points to a unit field with format UNIT

<b>UNIT</b> Unit key for QUAN fields

<b>CURR</b> Currency field stored as DEC

<b>CUKY</b> Currency key, referenced by CURR fields

These fields you should treat as follows:

<b>QUAN</b> decimal

<b>UNIT</b> string of length 3

<b>CURR</b> decimal

<b>CUKY</b> string of length 5

The number of fraction digits for QUAN and for CURR are a little tricky. Default are 3 for QUAN and 2 for CURR, but that can change based on the assigned key (each field of type QUAN must be assigned to a field of type UNIT and each field of type CURR must be assigned to a field of type CUKY).

CURR can have up to 5 decimals,

QUAN can have up to 14 decimals.

Regards,

Claus