Skip to Content
avatar image
Former Member

Unicode remedeation..

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.....

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Aug 17, 2007 at 11:41 AM

    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.

    Add comment
    10|10000 characters needed characters exceeded