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

Unicode types not convertible

Former Member
0 Likes
2,097

Hi,

I can't find out why the following error is being generated: unicode_types_not_convertible. The types of the operands "dbtab" and "itab" are not mutually convertible.

This is the code on which it blocks:

select * from (it_table-table)

appending table <fs_table>

where pernr in so_pernr.

The strange thing is that the statement is being executed succesfully twice (in loop-statement) before the short dump is being returned.

Thanks a lot for your help,

Nathalie

Hi,

I can't find out why the following error is being generated: unicode_types_not_convertible. The types of the operands "dbtab" and "itab" are not mutually convertible.

This is the code on which it blocks:

select * from (it_table-table)

appending table <fs_table>

where pernr in so_pernr.

The strange thing is that the statement is being executed succesfully twice (in loop-statement) before the short dump is being returned.

Thanks a lot for your help,

Nathalie

11 REPLIES 11
Read only

Former Member
0 Likes
1,561

Did you try executing the Select in a separte program for the values that it dumps. Also can you post the values for which it dumps that will help understand why its dumping.

hith

Sunil Achyut

Read only

0 Likes
1,561

the value of it_table-table when it dumps is pa0002 (for pa0001 and pa0000) it works

<fs_table> has 1 entry after going through infotype 0000 and has 9 entries after going through infotype 0001. It blocks at infotype 0002.

Thanks,

Nathalie

Read only

0 Likes
1,561

Hi Nathalie,

What is your data declaration for <fs_table> ?

Read only

0 Likes
1,561

I think <fs_table> is assigned to an itab of all character fields, and the select dumping because of a decimal field in PA0002.

Regards

Sridhar

Read only

0 Likes
1,561

Did you try the following :

In your program go to attributes and uncheck the unicode option and re-run you program. GoTo->Attributes->Uncheck the Unicode check Active and re-run.

hith

Sunil Achyut

Read only

0 Likes
1,561

Hi,

this is the declaration of <fs_table>

field-symbols: <fs_table> type standard table.

If I understand what you are saying correctly I will need to handle each infotype separately. Has anyone got any idea if there is another more dynamically method? Because in the end I still will need to put all tables into one big internal table.

Thanks in advance,

Nathalie

Read only

0 Likes
1,561

select * from (it_table-table)

appending table <fs_table>

where pernr in so_pernr.

you cannot do this as in different loop pass you will get a different table and <fs_table> is already assinged the structure of previous table.

what you could do is afters every select move the content of <fs_table> to another table (may be a fieldsymbol) and initialize <fs_table>

Raja

Read only

0 Likes
1,561

Hi Natalie,

it is not so important how the field-symbols is declared but what it is assigned to.

data:
  lr_data type ref to data.
create data lr_data type table of (it_table-table).
assign lr_data->* to <fs_table>.

select * from (it_table-table)
appending table <fs_table>
where pernr in so_pernr.

This will work for all tables that have a field pernr.

Regards,

Clemens

Read only

Former Member
0 Likes
1,561

Hi

In Unicode enabled systems, both the structures should

be identical to move data from one another or we can

move data from a structure or work area to a text

varible if the structure or work area have only fields

of character or numeric data type.

For handling of the case we have to explicitly move

field by field data and manipulate as per our

requirement.

Code that you have given might work well without any

problem in non-unicode system.

Kind Regards

Eswar

Read only

0 Likes
1,561

The structures do NOT have to be the same for a CORRESPONDING FIELDS. This works in a test program I have:

==================

DATA: itab TYPE STANDARD TABLE OF istruct.

SELECT *

FROM ztab

INTO CORRESPONDING FIELDS OF TABLE itab

WHERE vkorg = 'XYZ'

AND zyear = '2007'

AND werks = '00A'.

===================

where "istruct" is the same as the DB table definition plus two additional columns and minus MANDT.

However, in another program I get the "not Unicode compatible" error when I try to activate it.

Why does it work in one case and not the other? Is it some program setting?

Read only

Former Member
0 Likes
1,561

hello experts,

i'm having a short dump error Unicode_types_not convetrible.

actually where upgrading from 4.6 to ecc6.

this is the syntax.

 
data: i_data type standard table of tab512,
         w_data(192) type c.

parameters: s_tab(60) type c,
              s_ctab(60) type c.

select * from (s_tab) into table i_data.

loop at i_data into w_data.
insert into (s_ctab) value w_data.
endloop.

please help.

Thank You.