Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Standardisation of Unit of Measure (UoM)

sumith_rajagopalan
Participant
0 Kudos

In table <b>T006</b>(Units of Measurement), the fields MSEH6 and MSEHT has the UoM entered as per International standards (like kWh) and internaly in SAP as all capitals (like KWH in field MSEHI). The description of MSEH6 shows that the internal values are converted to the value entered in MSEH6 for screen output. However when I generate output in report programs or create an output file, the UoM are displayed as in SAP and not as what is stored in MSEH6.

Doesn't the conversion happens by itself during output or is there an explicit command to convert them?

Regards,

1 ACCEPTED SOLUTION

Jelena
Active Contributor
0 Kudos

MSEHI is the key field in T006 table and it has the <a href="http://help.sap.com/saphelp_nw04/helpdata/en/35/26b217afab52b9e10000009b38f974/content.htm">conversion routine</a> CUNIT assigned to it via the MEINS domain. You can see it in SE11 (Dictionary) by double-clicking on MSEHI data element and then on MEINS domain. The conversion routine basically provides a link to two function modules (CONVERSION_EXIT_CUNIT_INPUT and CONVERSION_EXIT_CUNIT_OUTPUT in this case), which you can also see in SE37.

The fields MSEH6 and MSEHT actually do not belong to the table T006 but to its text table T006A. You can find more about the text table concept here: http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ea9e446011d189700000e8322d00/content.htm

Table T006A has two keys: MSEHI (same as in T006) and SPRAS (language), which allows the texts, e.g. descriptions in different languages to be stored and effectively referenced from the master table (T006 in this case).

It is difficult to answer your question accurately without knowing what means do you use exactly to "generate output in report programs" but, plain put, conversions for T006-MSEHI are performed by the two FMs mentioned above (naturally, the INPUT one is performed at input and the OUTPUT one at output). From what I see, there is no conversion assigned to T006A-MSEH6 and T006A-MSEHT, but those fields are language dependent.

Keep in mind that data displayed in SE16 can be very misleading. First of all, the fields from T006A are displayed together with the fields from T006. Second, what you see on the screen does not necessarily look the same way as it is stored in the database. For example, VBAK-VBELN field is displayed without leading zeroes but if you try to do SELECT statement and omit leading zeroes it won't find anything.

Hope this information helps.

3 REPLIES 3

Jelena
Active Contributor
0 Kudos

MSEHI is the key field in T006 table and it has the <a href="http://help.sap.com/saphelp_nw04/helpdata/en/35/26b217afab52b9e10000009b38f974/content.htm">conversion routine</a> CUNIT assigned to it via the MEINS domain. You can see it in SE11 (Dictionary) by double-clicking on MSEHI data element and then on MEINS domain. The conversion routine basically provides a link to two function modules (CONVERSION_EXIT_CUNIT_INPUT and CONVERSION_EXIT_CUNIT_OUTPUT in this case), which you can also see in SE37.

The fields MSEH6 and MSEHT actually do not belong to the table T006 but to its text table T006A. You can find more about the text table concept here: http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ea9e446011d189700000e8322d00/content.htm

Table T006A has two keys: MSEHI (same as in T006) and SPRAS (language), which allows the texts, e.g. descriptions in different languages to be stored and effectively referenced from the master table (T006 in this case).

It is difficult to answer your question accurately without knowing what means do you use exactly to "generate output in report programs" but, plain put, conversions for T006-MSEHI are performed by the two FMs mentioned above (naturally, the INPUT one is performed at input and the OUTPUT one at output). From what I see, there is no conversion assigned to T006A-MSEH6 and T006A-MSEHT, but those fields are language dependent.

Keep in mind that data displayed in SE16 can be very misleading. First of all, the fields from T006A are displayed together with the fields from T006. Second, what you see on the screen does not necessarily look the same way as it is stored in the database. For example, VBAK-VBELN field is displayed without leading zeroes but if you try to do SELECT statement and omit leading zeroes it won't find anything.

Hope this information helps.

0 Kudos

The 2 display fields MSEH3 and MSEH6 both have the documentation - <i>The internal measurement units are automatically converted to this format for screen output.</i>

MSEH3 does <b>NOT</b> allow lowercase letters in it and MSEH6 does. The conversion routines outputs the entry in MSEH3 and not MSEH6. Since the International standards of UoM has lower case as well as upper case letters, the field that should be output is MSEH6!

My question would be since both MSEH3 and MSEH6 say they are both used for screen output and the conversion routines output MSEH3, is there a config in SAP which determines which of the 2 fields should be used for screen output?

I really appreciate the efforts you guys are putting.

Message was edited by:

Sumith Rajagopalan

Former Member
0 Kudos

Hi Sumith,

The conversion happens during output only as this field(MSEHI) has conversion exits.

These conversion exits will do the conversions.

CONVERSION_EXIT_CUNIT_INPUT

CONVERSION_EXIT_CUNIT_OUTPUT

Thanks,

Vinay