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: 

Getting Runtime Error : UC_OBJECTS_NOT_CHARLIKE

arun_k7
Explorer
0 Kudos

Hello Everyone,

I'm getting a Runtime Error while trying to print a custom SAP SCRIPT form.

The error is :

Runtime Errors UC_OBJECTS_NOT_CHARLIKE


The current statement is only defined for character-type data objects.


What happened?

    Error in the ABAP Application Program

    The current ABAP program "SAPLSTXV" had to be terminated because it has

    come across a statement that unfortunately cannot be executed.

Error analysis

    For the statement

       "IF ... op1 CO op2 ..."

    only character-type data objects are supported at the argument position

    "op1".

    In this case. the operand "op1" has the non-character-type "I". The

    current program is a Unicode program. In the Unicode context, the type

    'X' or structures containing not only character-type components are

    regarded as non-character-type.

Trigger Location of Runtime Error

Program SAPLSTXV

Include LSTXVFXX

Row 599

Module type (FORM)

Module Name FORMAT_SYMBOLVALUE

Source Code Extract

Line SourceCde

569 *---------------------------------------------------------------------*

570 * Bereitet Symbol entsprechend den Angaben auf

571 *---------------------------------------------------------------------*

572 form format_symbolvalue using fs_line

573 fs_value

574 fs_valuelength.

575

576 field-symbols:

577 <work>.

578 data:

579 fs_vallen like integer,

580 fs_techlen type i,

581 fs_vis_len type i.

582

583 valpos = 0.

584 valoffset = 0.

585 clear: fs_value,fs_valuelength.

586

587 *... Pruefen Initialwert und Initialwertunterdrueckung .................

588 if value_initial = true and value_noinit = true.

589 exit.

590 endif.

591

592 *... Wert komprimieren .................................................

593 if value_condense = true.

594 condense val. if val(1) = space. shift val. endif.

595 endif.

596

597 *... Local date format .................................................

598 if value_ldate = true. "JPN

>>>>> if <value_raw> co '0123456789 '. "JPN

600 write <value_raw> to val using edit mask '==JPDAT'. "JPN

601 endif. "JPN

602 endif. "JPN

603

604 *... Offset bearbeiten .................................................



The system was upgraded from 3.1h to ECC 6.0. There is no error while executing in the old system.But it is not working in the new system.

Kindly assist.


Regards,

Arun

1 ACCEPTED SOLUTION

david_liu1
Advisor
Advisor
0 Kudos

Hello,

The reason for these dumps is that you use the output option (L) with a symbol somewhere in the Sapscript form that is used for this application.

The output option (L) converts a date to the Japanese(!) local date format. So it creates Japanese characters. It is only useful to use it if you use a Japanese Sapscript form, and it can only be used, if your system supports Japanese characters.

So please check where is used the output option (L) within your Sapscript form. So please remove the output option (L) from any symbols which use it and ensure that you activate the form, after you removed the (L).

Regards,

David

7 REPLIES 7

Former Member
0 Kudos

Hii Arun

Are you comparing non char data in your if statement?

Regards

Gaurav

shah_viraj
Active Participant
0 Kudos

Arun,

Please change the data type of OP1 in If statement from "I" to some character type.

jayanthi_jayaraman
Active Contributor
0 Kudos

Hi,

Check the declaration of <value_raw>.

we can only use CO with character. Check the sample code below.

DATA: LV_NUM TYPE c LENGTH 3 VALUE '123'.
field-symbols <fs> .
assign lv_num to <fs>.
IF <fs> CO '0123456789'.
   WRITE: / 'CONTAINS'.
ELSE.
   WRITE: / 'NOT CONTAINS'.
ENDIF.

arun_k7
Explorer
0 Kudos

Hi All,

I agree to your comments.But my scenario is that I'm getting this error when i use the function 'WRITE_FORM' to call an element inside my Main Window and the error is happening in INCLUDE LSTXVFXX inside the program SAPLSTXV.Since its a standard program,i just dont want to make any alterations to it.For reference,the field symbol mentioned in my error is defined as below

field-symbols:

  <val>,                                "...Pointer auf Ausgabewert

  <value_raw>,                          "...Pointer auf Originalwert

  <pointer>.                            "...Pointer auf Originalwert


Kindly assist.


Regards,

Arun

0 Kudos

Hi Arun,

Implement  Note:

1917383 - Dump by printing of SAP script form SD_EXPORT_FEAG.

Regards.

Suneel.Uggina

david_liu1
Advisor
Advisor
0 Kudos

Hello,

The reason for these dumps is that you use the output option (L) with a symbol somewhere in the Sapscript form that is used for this application.

The output option (L) converts a date to the Japanese(!) local date format. So it creates Japanese characters. It is only useful to use it if you use a Japanese Sapscript form, and it can only be used, if your system supports Japanese characters.

So please check where is used the output option (L) within your Sapscript form. So please remove the output option (L) from any symbols which use it and ensure that you activate the form, after you removed the (L).

Regards,

David

matt
Active Contributor
0 Kudos

Check the value of <value_raw> (you'll find it in the dump). This might give you some idea of which element has the output option (L).