‎2009 Aug 31 3:10 AM
Hi. Experts.
After Upgrading ECC.6.0, I had Unicode_types_Not_Convertible Error below login.
MOVE <wa_table> TO buffer.
I also use write word instead of move.
but result is same.
Please How can i change that Move clause?
Thanks.
-
DATA: buffer(30000) OCCURS 10 WITH HEADER LINE.
DATA : st_table TYPE REF TO data,
tb_table TYPE REF TO data,
FIELD-SYMBOLS : <wa_table> TYPE ANY,
<it_table> TYPE STANDARD TABLE.
CREATE DATA : tb_table TYPE TABLE OF (query_table), "Object Create.
st_table TYPE (query_table).
ASSIGN : tb_table->* TO <it_table>, "INTERNAL TABLE.
st_table->* TO <wa_table>. "WORK AREA.
SELECT * FROM (query_table)
INTO CORRESPONDING FIELDS OF TABLE <it_table> WHERE (options).
LOOP AT <it_table> INTO <wa_table>.
CLEAR buffer.
MOVE <wa_table> TO buffer.
APPEND buffer.
-
‎2009 Aug 31 3:53 AM
Error analysis
The statement
"MOVE src TO dst"
requires that the operands "dst" and "src" are convertible.
Since this statement is in a Unicode program, the special conversion
rules for Unicode programs apply.
In this case, these rules were violated.
Here in your code the type of "buffer" is a long string "C(30000)" while <wa_table> is a structure, and they are not convertible in unicode program.
maybe you should use "CONCATENATE".
‎2009 Aug 31 5:59 AM
Hi,
In unicode system type 'U' to type 'H' conversion is not possible.
You can do it by this way.
data: buffer(2000) occurs 0 with header line.
loop at <itab_f> assigning <wa>.
do.
assign component sy-index of structure <wa> to <comp>.
if sy-subrc = 0.
move <comp> to buffer.
append buffer.
endif.
enddo.
endloop.
Suppose <itab_f> has entry like
MANDT MATNR
100 TEST Material
Then table buffer will have the entry
100
TEST Material.
Hope this will help you.