Application Development and Automation 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: 
Read only

Replacement TRANSLATE var CODE FROM PAGE (unicode error)

Former Member
0 Likes
685

Hi, I have a program that gives ABAP next error unicode:

In the context Unicode, TRANSLATE ... CODEPAGE / NUMBER FORMAT is not Alowen.

Therefore, I need convert the following code to unicode:

DATA: h_line (72) TYPE c,

TRANSLATE h_line CODE FROM PAGE'1100 'CODE PAGE TO'0100'.

I understand that I must use the next class, but I do not understand how.

CL_ABAP_CONV_IN_CE

I am grateful if you could give me a concrete example for the case.

Thank you very much.

Luis

Edited by: Luis Martinez on Nov 17, 2008 7:49 PM

Edited by: Luis Martinez on Nov 19, 2008 5:57 PM

2 REPLIES 2
Read only

Former Member
0 Likes
446

Hi Luis,

Use class for Translate codepage to codepage.

Data : g_cp LIKE tcp0c-charco VALUE '1100'.

CONSTANTS: c_uni(4) VALUE '1105'.

PERFORM translate_codepage USING g_cp

c_uni

CHANGING T143T.

FORM translate_codepage USING g_cp

c_uni

CHANGING P_T143T.

DATA: converter TYPE REF TO cl_abap_conv_obj.

DATA: l_out TYPE string.

DATA: l_fromcode TYPE cpcodepage.

DATA: l_tocode TYPE cpcodepage.

l_fromcode = g_cp.

l_tocode = c_uni.

CREATE OBJECT converter

EXPORTING

incode = l_fromcode

miss = '.'

broken = '.'

use_f1 = 'X'

outcode = l_tocode

EXCEPTIONS

invalid_codepage = 1

internal_error = 2.

IF sy-subrc 0.

CASE sy-subrc.

WHEN 1.

MESSAGE ID 'FES' TYPE 'E' NUMBER '024' RAISING unknown_error.

WHEN 2.

MESSAGE ID 'FES' TYPE 'E' NUMBER '024' RAISING unknown_error.

ENDCASE.

ENDIF.

CALL METHOD converter->convert

EXPORTING

inbuff = P_T143T

inbufflg = 0

outbufflg = 0

IMPORTING

outbuff = l_out

EXCEPTIONS

internal_error = 1

OTHERS = 2.

IF sy-subrc 0.

CASE sy-subrc.

WHEN 1.

MESSAGE ID 'FES' TYPE 'E' NUMBER '024' RAISING unknown_error.

WHEN 2.

MESSAGE ID 'FES' TYPE 'E' NUMBER '024' RAISING unknown_error.

ENDCASE.

ENDIF.

P_T143T = l_out.

ENDFORM.

Thanks,

Sai

Read only

Former Member
0 Likes
446

Best Regarts !!!