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: 

No language-specific unit defined in language EN for internal unit PC

ratana_pouy
Participant
0 Kudos

Hi Expertise,

it is report built alternative unit of measure:

When i access the Z-Tcode, system notifies that:

i am trying to find a rootcause, but cannot find any solution.

here is ABAP code:

Please kindly advice.

Thanks in advance,

RTN

9 REPLIES 9

Ryan-Crosby
Active Contributor
0 Kudos

Check the configuration in t-code CUNI for the associated unit of measure because the message indicates that a text is not maintained in the language English.

0 Kudos

Also be sure to check the value you are using for the internal UoM in the value that is passed to the INPUT parameter. For instance, when I check our system the internal UoM for PC is actually ST - so if I try the function with PC I get the same error but when I try with ST I get the expected output.

Sandra_Rossi
Active Contributor
0 Kudos

You forgot to say which value you have in IT_CONVERSION-MEINH, what is the corresponding name defined in table T006A-MSEH3 for the English language, and where you get this message from?

ratana_pouy
Participant
0 Kudos

thank to everyone!


i transport Z-tcode into QAS, i found that one of client of QAS is working well without notifying the message; wherease other clent of QAS shows "No language-specific unit defined in language EN for internal unit PC".

I checked tables and CUNI are the same. I am so sure the root cause.

Please kindly advice.

raymond_giuseppi
Active Contributor
0 Kudos

AFAIK there is no SAP provided unit with internal format code 'PC' (but 'ST' for stück in german is internal value for 'EA' (EN) or 'PCE' (FR) -> Check tables t006 and t006a on your system (or transaction CUNI) - or look within MM03 on how SAP displays UOM of those material)

Check in your program if you passed some external format value when internal value (or ISO code) was expected?

ratana_pouy
Participant
0 Kudos

i did enhancement for MB52 program:

ENHANCEMENT ZADDFIELDS. "active version

DATA:
meins1 TYPE mara-meins , "Unit1.
meins2 TYPE mara-meins , "Unit2.
clabs1 TYPE mchb-clabs, "Unrestrict Qty.
cumlm1 TYPE mchb-cumlm, "Transfer Qty.
cinsm1 TYPE mchb-cinsm, "Insp Qty.
ceinm1 TYPE mchb-ceinm, "Restrict Qty.
cspem1 TYPE mchb-cspem, "Block Qty.
cretm1 TYPE mchb-cretm, "Return Qty.


clabs2 TYPE mchb-clabs, "Unrestrict Qty.
cumlm2 TYPE mchb-cumlm, "Transfer Qty.
cinsm2 TYPE mchb-cinsm, "Insp Qty.
ceinm2 TYPE mchb-ceinm, "Restrick Qty.
cspem2 TYPE mchb-cspem, "Block Qty.
cretm2 TYPE mchb-cretm,

clabs3 TYPE mchb-clabs, "Unrestrict Qty.
cumlm3 TYPE mchb-cumlm, "Transfer Qty.
cinsm3 TYPE mchb-cinsm, "Insp Qty.
ceinm3 TYPE mchb-ceinm, "Restrict Qty.
cspem3 TYPE mchb-cspem, "Block Qty.
cretm3 TYPE mchb-cretm, "Return Qty.

vfdat TYPE vfdat,
dom TYPE vfdat,
ted TYPE vfdat.


ENDENHANCEMENT.

+++++Ouput++++++++++

ENHANCEMENT ZADDFIELDS. "active version


"--- Now get data in the bestand internal table.
DATA:
wa_fieldcat LIKE LINE OF fieldcat,
g_tabix LIKE sy-tabix.
DATA wa_bestand LIKE LINE OF bestand.

"-----Add column in structure-----

* CLABS1 TYPE MCHB-CLABS, "Unrestricted Qty.
*CUMLM1 TYPE MCHB-CUMLM, "Transfer Qty.
*CINSM1 TYPE MCHB-CINSM, "Insp Qty.
*CEINM1 TYPE MCHB-CEINM, "Restrict Qty.
*CSPEM1 TYPE MCHB-CSPEM, "Block Qty.
*CRETM1 TYPE MCHB-CRETM, "Return Qty.



wa_fieldcat-fieldname = 'MEINS1'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'AU1'.
wa_fieldcat-outputlen = 3.
wa_fieldcat-col_pos = 36.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.


wa_fieldcat-fieldname = 'CLABS1'.
wa_fieldcat-quantity = 'CLABS1'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Unrestricted AUn1'.
wa_fieldcat-col_pos = 37.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CUMLM1'.
wa_fieldcat-quantity = 'CUMLM1'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Transit/Trf. AUn1'.
wa_fieldcat-col_pos = 38.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CINSM1'.
wa_fieldcat-quantity = 'CINSM1'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Quality Insp. AUn1'.
wa_fieldcat-col_pos = 39.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CEINM1'.
wa_fieldcat-quantity = 'CEINM1'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Restricted-Use AUn1'.
wa_fieldcat-col_pos = 40.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CSPEM1'.
wa_fieldcat-quantity = 'CSPEM1'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Blocked Stock AUn1'.
wa_fieldcat-col_pos = 41.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CRETM1'.
wa_fieldcat-quantity = 'CRETM1'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Return AUn1'.
wa_fieldcat-col_pos = 42.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'MEINS2'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'AU2'.
wa_fieldcat-outputlen = 3.
wa_fieldcat-col_pos = 43.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.


wa_fieldcat-fieldname = 'CLABS2'.
wa_fieldcat-quantity = 'CLABS2'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Unrestricted AUn2'.
wa_fieldcat-col_pos = 44.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CUMLM2'.
wa_fieldcat-quantity = 'CUMLM2'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Transit/Trf. AUn2'.
wa_fieldcat-col_pos = 45.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CINSM2'.
wa_fieldcat-quantity = 'CINSM2'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Quality Ins. AUn2'.
wa_fieldcat-col_pos = 46.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CEINM2'.
wa_fieldcat-quantity = 'CEINM2'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Restricted-Use AUn2'.
wa_fieldcat-col_pos = 47.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CSPEM2'.
wa_fieldcat-quantity = 'CSPEM2'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Blocked AUn2'.
wa_fieldcat-col_pos = 48.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CRETM2'.
wa_fieldcat-quantity = 'CRETM2'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Return AUn2'.
wa_fieldcat-col_pos = 49.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.


wa_fieldcat-fieldname = 'VFDAT'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Expir.Date'.
wa_fieldcat-col_pos = 50.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'DOM'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'Manfac.Date'.
wa_fieldcat-col_pos = 51.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'TED'.
wa_fieldcat-just = 'R'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-tabname = 'BESTAND'.
wa_fieldcat-seltext_m = 'T.Expir.Date'.
wa_fieldcat-col_pos = 52.
APPEND wa_fieldcat TO fieldcat.
CLEAR wa_fieldcat.


DATA: it_conversion TYPE marm OCCURS 0 WITH HEADER LINE.


LOOP AT bestand INTO wa_bestand.
g_tabix = sy-tabix.

CLEAR: wa_bestand-vfdat , wa_bestand-ted , wa_bestand-dom.

CLEAR: it_conversion[].

SELECT * FROM marm AS u

INTO TABLE @it_conversion

WHERE u~matnr = @wa_bestand-matnr AND u~meinh <> @wa_bestand-meins.


DATA: co TYPE i.
co = 0.

IF sy-subrc = 0.
LOOP AT it_conversion.
co = co + 1.

DATA:
menge_input TYPE labst,
menge_outputqty1 TYPE labst,
menge_outputqty2 TYPE labst,
menge_outputqty3 TYPE labst,
menge_outputqty4 TYPE labst,
menge_outputqty5 TYPE labst,
menge_outputqty6 TYPE labst,
value TYPE string,
meins TYPE meins,
material TYPE matnr
.


CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
EXPORTING
i_matnr = wa_bestand-matnr " < material
i_in_me = wa_bestand-meins " < Base Uom
i_out_me = it_conversion-meinh " < Sales Uom
i_menge = wa_bestand-labst " < Qty in Base Uom
IMPORTING
e_menge = menge_outputqty1. " < Qty in Sales Uom



CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
EXPORTING
i_matnr = wa_bestand-matnr " < material
i_in_me = wa_bestand-meins " < Base Uom
i_out_me = it_conversion-meinh " < Sales Uom
i_menge = wa_bestand-umlme " < Qty in Base Uom
IMPORTING
e_menge = menge_outputqty2. " < Qty in Sales Uom
*
*
CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
EXPORTING
i_matnr = wa_bestand-matnr " < material
i_in_me = wa_bestand-meins " < Base Uom
i_out_me = it_conversion-meinh " < Sales Uom
i_menge = wa_bestand-insme " < Qty in Base Uom
IMPORTING
e_menge = menge_outputqty3. " < Qty in Sales Uom
*
*
CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
EXPORTING
i_matnr = wa_bestand-matnr " < material
i_in_me = wa_bestand-meins " < Base Uom
i_out_me = it_conversion-meinh " < Sales Uom
i_menge = wa_bestand-einme " < Qty in Base Uom
IMPORTING
e_menge = menge_outputqty4. " < Qty in Sales Uom

*
CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
EXPORTING
i_matnr = wa_bestand-matnr " < material
i_in_me = wa_bestand-meins " < Base Uom
i_out_me = it_conversion-meinh " < Sales Uom
i_menge = wa_bestand-speme " < Qty in Base Uom
IMPORTING
e_menge = menge_outputqty5. " < Qty in Sales Uom

*
CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
EXPORTING
i_matnr = wa_bestand-matnr " < material
i_in_me = wa_bestand-meins " < Base Uom
i_out_me = it_conversion-meinh " < Sales Uom
i_menge = wa_bestand-retme " < Qty in Base Uom
IMPORTING
e_menge = menge_outputqty6. " < Qty in Sales Uom

DATA: ALTUOM TYPE T006-MSEHI.

ALTUOM = it_conversion-meinh.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
EXPORTING
input = ALTUOM
language = sy-langu
IMPORTING
* LONG_TEXT =
output = ALTUOM
* SHORT_TEXT =
EXCEPTIONS
unit_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

"it_conversion-meinh = MSEHI.

IF co = 1.

wa_bestand-meins1 = ALTUOM. "it_conversion-meinh.
wa_bestand-clabs1 = menge_outputqty1.
wa_bestand-cumlm1 = menge_outputqty2.
wa_bestand-cinsm1 = menge_outputqty3.
wa_bestand-ceinm1 = menge_outputqty4.
wa_bestand-cspem1 = menge_outputqty5.
wa_bestand-cretm1 = menge_outputqty6.


ENDIF.

IF co = 2.

wa_bestand-meins2 = it_conversion-meinh.
wa_bestand-clabs2 = menge_outputqty1.
wa_bestand-cumlm2 = menge_outputqty2.
wa_bestand-cinsm2 = menge_outputqty3.
wa_bestand-ceinm2 = menge_outputqty4.
wa_bestand-cspem2 = menge_outputqty5.
wa_bestand-cretm2 = menge_outputqty6.


ENDIF.

ENDLOOP.
ENDIF.


SELECT SINGLE vfdat FROM mch1 INTO wa_bestand-vfdat WHERE
matnr EQ wa_bestand-matnr AND charg EQ wa_bestand-charg.

SELECT SINGLE hsdat FROM mch1 INTO wa_bestand-dom WHERE
matnr EQ wa_bestand-matnr AND charg EQ wa_bestand-charg.

SELECT SINGLE hsdat FROM mch1 INTO wa_bestand-dom WHERE
matnr EQ wa_bestand-matnr AND charg EQ wa_bestand-charg.

SELECT SINGLE qndat FROM mch1 INTO wa_bestand-ted WHERE
matnr EQ wa_bestand-matnr AND charg EQ wa_bestand-charg.

MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING vfdat.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING dom.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING ted.


MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING meins1.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING clabs1.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING cumlm1.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING cinsm1.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING ceinm1.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING cspem1.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING cretm1.

MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING meins2.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING clabs2.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING cumlm2.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING cinsm2.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING ceinm2.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING cspem2.
MODIFY bestand FROM wa_bestand INDEX g_tabix TRANSPORTING cretm2.

CLEAR: wa_bestand, g_tabix.
ENDLOOP.

ENDENHANCEMENT.

+++++++

Please kindly advice.

nurfathiah
Discoverer
0 Kudos

Hi,

have you figure out the solution for this issue?

I encounter the same issue as well.

0 Kudos

yes, i did by myself.

0 Kudos

Could you please share the solution? For my case. I encounter the same error for unit PAC.