2015 Jan 05 7:13 AM
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
2015 Jan 06 5:54 AM
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
2015 Jan 05 7:16 AM
Hii Arun
Are you comparing non char data in your if statement?
Regards
Gaurav
2015 Jan 05 7:30 AM
Arun,
Please change the data type of OP1 in If statement from "I" to some character type.
2015 Jan 05 7:46 AM
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.
2015 Jan 06 2:13 AM
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
2015 Jan 06 4:54 AM
Hi Arun,
Implement Note:
1917383 - Dump by printing of SAP script form SD_EXPORT_FEAG.
Regards.
Suneel.Uggina
2015 Jan 06 5:54 AM
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
2015 Jan 06 6:05 AM
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).