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: 

Unicode remedeation..

Former Member
0 Kudos

In the SELECTs tatement below i am getting an error as :-

"SRTFDLOW" and "SRTFD" are not mutually convertible in a Unicode program.

The data type for the two is : SRTFD is a 40 charater type field from PCL4 table....and

DATA: BEGIN OF SRTFDLOW,

TCLAS LIKE PC400-TCLAS,

KEYDT(8), "LIKE PC400-PERNR,

RESTKEY(31) TYPE X,

END OF SRTFDLOW.

The select statement is as folows:-

SELECT client

relid

srtfd

srtf2

histo

aedtm

uname

pgmid

versn

clustr INTO

(pcl4-client,

pcl4-relid,

pcl4-srtfd,

pcl4-srtf2,

pcl4-histo,

pcl4-aedtm,

pcl4-uname,

pcl4-pgmid,

pcl4-versn,

pcl4-clustr)

FROM pcl4 WHERE relid EQ relid

===> AND srtfd Between srtfdlow and srtfdhigh <=======

AND srtf2 EQ '00'

AND aedtm IN datum

AND uname IN uname.

The code is giving error once the attributes for the program are changed to UNICODE CHECK ACTIVE.

Please suggest me any remedy.....

1 REPLY 1

Former Member
0 Kudos

Hi Ajay,

What does SRTFDHIGH contains?

Also since SRTFDLOW is a structure containing 3 fields. And in the query we are comparing a field SRTFDLOW and HIGH aggainst a field. This will not work in UNICODE programs.

What you can do is declare another variable of type SRTFD.

then move field by field from SRTFD to the variable

You can use FIELD-SYMBOLS to acheiive this.

Then you can use that variable against the field in the select statement.

<i><b>Reward if helpful.</b></i>

Best Regards,

Ram.