UNICODE Error in ECC 6.0
Hi Guys,
I am working on upgrade project 4.5B to ECC 6.0, in 4.5B internal table refers the Ztable, but in ECC 6.0 it giving error.
4.5B statement: GT_PLAN_SIO TYPE STANDARD TABLE OF ZSTR_PLAN_SIO WITH HEADER LINE.
The above statement error in the ECC 6.0, Could you please correct the statement.
Thanks
Gourisankar.
Hello Gourisankar
First of all I would get rid of the "... WITH HEADER LINE". However, this is probably not the reason for the Unicode-error.
Since you did not mention the most important detail to answer your question, namely the exact Unicode error, I can only give some tips and hits:
- try to change the type of the table
- try to add key options
Examples:
DATA: GT_PLAN_SIO TYPE STANDARD TABLE OF ZSTR_PLAN_SIO. " WITH HEADER LINE.
DATA: GT_PLAN_SIO TYPE TABLE OF ZSTR_PLAN_SIO.
DATA: GT_PLAN_SIO TYPE TABLE OF ZSTR_PLAN_SIO
WITH DEFAULT KEY.
Regards
Uwe
Similar Messages
-
Hi,
During the upgrade from 4.6B to ECC 5.0, we are facing the following problem:
In 4.6B, when we move the contents of one internal table to another ( itabA[] = itabB[] ), its happening properly, even though the structure of both the internal tables are not the same i:e itabB has more fields than itabA.
But, this doesn't happen in the case of ECC 5.0. Its throwing some UNICODE error, saying that the structure isn't the same.
If anyone has come across this problem, please revert with the solution.
Thanks,
Raj.hi,
We are getting error because of unicode issues. We get this problem bcos of Alignment gaps.
Hope the below explanation helps you..
To check whether two structures can be converted at all, the Unicode fragment view of the structures is set up initially by combining character type groups, byte type groups, alignment gaps, and other components. If the type and length of the fragments of the source structure are identical in the length of the shorter structure, the structures can be converted. Assignment is allowed under the following conditions:
The fragments of both structures up to the second-last fragment of the shorter structure are identical
The last fragment of the shorter structure is a character or byte type group
The corresponding fragment of the longer structure is a character or byte type group with a greater length
If the target structure is longer than the source structure, the character type components of the remaining length are filled with blank characters. All other components of the remaining length are filled with the type-adequate initial value, and alignment gaps are filled with zero bytes. Since longer structures were previously filled with blanks by default, using initial values for non-character type component types is incompatible. This incompatible change is, however, rather an error correction. Character-type components are not filled with initial values, for the sake of compatibility.
Example
BEGIN OF struc1, BEGIN OF struc2,
a(1) TYPE C, a(1) TYPE C,
x(1) TYPE X, b(1) TYPE C,
END OF struc1. END OF struc2.
You cannot use the struc1 = struc2 assignment in Unicode, because struc1-x only occupies one byte, in contrast to struc2-b.
BEGIN OF struc3, BEGIN OF struc4,
a(2) TYPE C, a(8) TYPE C,
n(6) TYPE N, i TYPE I,
i TYPE I, f TYPE F,
END OF struc3. END OF struc4.
The struc3 = struc4 assignment is valie because the fragment views of the character-type fields and the integer numbers match.
BEGIN OF struc5, BEGIN OF struc6,
a(1) TYPE X, a(1) TYPE X,
b(1) TYPE X, BEGIN OF STRUC3,
c(1) TYPE C, b(1) TYPE X,
END OF struc5. c(1) TYPE C,
END OF struc3
END OF struc6.
However, struc5 = struc6 is not permitted - the fragment views of the two structure are different, because of the alignment gaps before struc3 and struc3-c.
BEGIN OF struc7, BEGIN OF struc8,
p(8) TYPE P, p(8) TYPE P,
c(1) TYPE C, c(5) TYPE C,
END OF struc7. o(8) TYPE P,
END OF struc8.
The struc7 = struc8 works because the fragment views in the length of the structure struc1 match.
For deep structures, the operand types must be compatible as usual. We enhanced the concept by generalizing to some extent the convertibility of object references and table components.
Regards,
Sailaja. -
How to avoid Unicode errors in SAP custom code queries.
Currently we are going for a non Unicode technical upgrade from 4.6C to ECC 6.0.
We have many query infosets with custom ABAP code. Unable to execute these queries (infosets) as ECC 6.0 system is throwing short dump and query infoset editor throwing Unicode syntax errors . Anyway to avoid these Unicode errors by changing query or infoset system setting.
We will proceed with infosets ABAP code Unicode remediation if the above is not feasible.
Thanks in advance.If the infosets are with custome abap code let the UCCHECK be happen on these programs in ecc6 ..
In tcode UCCHECK the code which needs to be replaced for the custom programs will be provided for the abap developers . All programs in ecc6 should be ucc compliant . I hope this will happen with the abap upgrade by enabling ecc6 .
they will enable ecc check and do the code modification for moving out the obselete statements in ecc6 which were ok for 4.6c then .
Dont worry about the dumps as this will not take much time on a single program once the UCC is over ..
Br,
vijay. -
Unicode error free MODIFY statement
HI All,
I have midify statement in a loop like this.
loop at itab into wa_itab.
modify itab from wa_itab index tabx.
endloop.
I am working in ECC 6.0. It is showing unicode error at modify statement. Please suggest me the correct statemnt.ANy extension for modify statemnt..?
Thanks,
kishoreLOOP AT IT_VBRK.
<b> CTAB = SY-TABIX.</b>
LOOP AT IT_T001 WHERE BUKRS = IT_VBRK-BUKRS.
IF SY-SUBRC = 0.
IT_VBRK-BUTXT = IT_T001-BUTXT.
<b> MODIFY IT_VBRK INDEX CTAB.</b>
CLEAR CTAB.
ENDIF.
ENDLOOP.
ENDLOOP.
The problem may be with SY-TABIX, check the above code -
How to assign a character field to a strucure in ECC6.0 ( Unicode error)
Hi all,
This is regarding a Unicode error we are facing in upgrading a program from 4.6c to ECC6.0.
The following pice of code gives error now in ECC6.0, stating Unicode incompatible structures.
DATA: WA_MSEG TYPE MSEG,
WA_MKPF TYPE MKPF.
DATA: LE_DATA(8192) TYPE C.
CALL FUNCTION 'ARCHIVE_GET_NEXT_RECORD'
EXPORTING
ARCHIVE_HANDLE = LE_HANDLE
GET_REAL_STRUCTURE_NAME = 'X'
AUTOMATIC_CONVERSION = 'X'
IMPORTING
RECORD = LE_DATA
RECORD_CURSOR =
RECORD_FLAGS =
RECORD_STRUCTURE = LE_STRUCTURE
RECORD_LENGTH =
EXCEPTIONS
END_OF_OBJECT = 1
INTERNAL_ERROR = 2
WRONG_ACCESS_TO_ARCHIVE = 3
OTHERS = 4
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
move records
CASE LE_STRUCTURE.
WHEN 'MSEG'.
<b> WA_MSEG = LE_DATA.</b>
move-corresponding WA_MSEG to TBL_ARC_MSEG.
APPEND TBL_ARC_MSEG.
CLEAR: WA_MSEG, LE_DATA, TBL_ARC_MSEG.
WHEN 'MKPF'.
<b> WA_MKPF = LE_DATA.</b>
move-corresponding WA_MKPF to TBL_ARC_MKPF.
APPEND TBL_ARC_MKPF.
CLEAR: WA_MKPF, LE_DATA, TBL_ARC_MKPF.
ENDCASE.
Can you please suggest a way to overcome this error.
Thanks in advance,
Sreenivasa Reddy V.IV_OFFSET is the position from the C field will be started to be read (should be 0) and EV_OFFSET is the length to which the data is going to be fetched. The Following code could be useful ---
w_len = STRLEN( p_data ).
CALL FUNCTION 'OIF_CONVERT_CHAR_TO_STRUCTURE'
EXPORTING
iv_string = p_data
iv_structure_name = 'VBAK'
* iv_offset = w_len
IMPORTING
ev_structure = wa_vbak
ev_offset = w_len
EXCEPTIONS
ddif_nametab_get = 1
OTHERS = 2.
Hope That Helps
Anirban M. -
Dear Experts,
I am very critical situation due to this timeout error in ECC, please help me as much as you can. Go-live date is very near, but I am not getting any clue why this error is occurring. our ECC system is EHP 4, and PI is dual stack 7.4
My scenario is synchronous ABAP proxy to HTTP_AAE. request is triggering from ECC via proxy and reaching to third party (bank) through PI, I am reviving the response back in PI from bank. But from PI to ECC the response is not reaching. So in ECC after the defined Timeout limit its getting timed out.
I have tried everything by increasing the timeout in ECC more than 15 minutes in HTTP_TIMEOUT under SXMB_adm in ECC, but nothing worked, even if I am increasing for half an hour then also its getting timeout after half an hour.
response from bank to PI is coming within 30 to 40 seconds, but PI is not sending the response back to ECC.
This is classical scenario, and I have checked the trace via SXMB_Moni in PI as well as in ECC, in ECC its showing the timeout error, but in PI i did not see any trace for this error.
I have read many thread on SCN for the same error, and everywhere it has been suggested to increase the timeout, and I have tired that, it didn't help me.
All ABAP proxy configuration has been done as follows.
RFC destinations in ECC
LCRSAPRFC(TCP/IP)
SAPSLDAPI ((TCP/IP))
G type destination to path "/sap/xi/engine?type=entry"
G type destination SAP_PROXY_ESR to path "/rep"
All the destination connection test is working fine.
but i have a doubt on G type destination(AAE_XDJ) to path "/sap/xi/engine?type=entry" which is returns the status code 500 with message "Empty HTTP request received", is it ok with 500 ?
Configuration in ECC Integration Engine configuration is as follows
Questions
How the message gets pushed to ECC from PI, once the message received in PI, I believe by G type RFC destination on path "/sap/xi/engine?type=entry" , please clarify.
How to trace this, if message is not getting pushed to ECC, I mean I have checked the trace in PI XSMB_MONI, but didn't get anything for this error. In ECC SXMB_moni only I am able to the timeout error.
Please expert help me as soon as you can, this error really effecting me badly in front of management
Thanks,
FarhanHi Hareesh,
I configured the scenario based on ICO, and again I received the same timeout error in ECC.
I am really sick with this error, and I have raised the OSS message to SAP. Meanwhile I just want to double check my entire configuration with you. Please see the below configuration (for classical) for ABAP proxy to HTTP_AAE, and let me know if anything is wrong.
Request structure (ECC->PI->Bank)
<?xml version='1.0' ?>
<PaymentInfoMessage>
<PaymentInfoRequest>
<CompanyCode>Partner01</CompanyCode>
<BankCode>BSFRSARI</BankCode>
<StartDate>2006-07-09T00:00:00</StartDate>
<EndDate>2006-07-09T00:00:00</EndDate>
<TransactionType>940</TransactionType>
</PaymentInfoRequest>
</PaymentInfoMessage>
Response Structure (Bank->PI->ECC)
<?xml version="1.0"?>
<PaymentInfoMessageResponse>
<PaymentInfoResponse>
<TransactionType>940</TransactionType>
<SequenceNum>1</SequenceNum>
<ReceiptTime>2002-01-02T18:01:00</ReceiptTime>
<ProcessStatus>1</ProcessStatus>
<Comment>No Comment</Comment>
<TransactionData>:20:MT940-1007200601
:25:3210000079901
:28C:190/0001
</TransactionData>
<CompanyCode>PARTNER01</CompanyCode>
</PaymentInfoResponse>
<StatusCode>OK</StatusCode>
<StatusDetail>OK</StatusDetail>
<ResponseItemCount>2</ResponseItemCount>
</PaymentInfoMessageResponse>
ESR Configuration
Please see the below screenshot for ESR config. I have created 4 data types, 4 message types, 2 Service interface (synchronous), 2 mapping and one operation mapping.
I just want to clarify about selecting the Request and response message type in inbound and outbound service interface.
<?xml version='1.0' ?>
<PaymentInfoMessage>
<PaymentInfoRequest>
<CompanyCode>Partner01</CompanyCode>
<BankCode>BSFRSARI</BankCode>
<StartDate>2006-07-09T00:00:00</StartDate>
<EndDate>2006-07-09T00:00:00</EndDate>
<TransactionType>940</TransactionType>
</PaymentInfoRequest>
</PaymentInfoMessage>
Response Structure (Bank->PI->ECC)
<?xml version="1.0"?>
<PaymentInfoMessageResponse>
<PaymentInfoResponse>
<TransactionType>940</TransactionType>
<SequenceNum>1</SequenceNum>
<ReceiptTime>2002-01-02T18:01:00</ReceiptTime>
<ProcessStatus>1</ProcessStatus>
<Comment>No Comment</Comment>
<TransactionData>:20:MT940-1007200601
:25:3210000079901
:28C:190/0001
</TransactionData>
<CompanyCode>PARTNER01</CompanyCode>
</PaymentInfoResponse>
<StatusCode>OK</StatusCode>
<StatusDetail>OK</StatusDetail>
<ResponseItemCount>2</ResponseItemCount>
</PaymentInfoMessageResponse>
ESR Configuration
I have simply created 2 data types for requests(ECC->PI->Bank) and did one to one mapping. Similarly for response(Bank->PI->ECC) 2 data types, one to one mapping for this as well.
But I just want to clarify about selecting the Request and response message type in inbound and outbound service interface. please explain me this for synchronous interface.
Please see the below structure from ESR and inbound and Outbound service and let me know if the selection of Request and response message types is correct or not.
OutBound service interface
Inbound service interface
Thanks,
Farhan -
Unicode Error in DOWNLOAD function module
Hi ABAPpers,
I am getting the unicode error in using
CALL FUNCTION 'DOWNLOAD'
EXPORTING
bin_filesize = v_bytecount
filename = v_download_filename
filetype = 'WK1'
IMPORTING
act_filename = v_download_filename
TABLES
data_tab = i_download.
If i try to use GUI_DOWNLOAD, it doesn't have importing parameter act_filename.
What alternate function module should i use to rectify this unicode error?
Regards,
RahulHi,
The answer is similar to the one for your previous post. You need to use both CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG and GUI_DOWNLOAD
DATA: PRC_WINDOW_TITLE TYPE STRING,
PRC_DEFAULT_FILE_NAME TYPE STRING,
PRC_INITIAL_DIRECTORY TYPE STRING,
PRC_FILE_NAME TYPE STRING,
PRC_PATH TYPE STRING,
PRC_FULL_PATH TYPE STRING,
PRC_USER_ACTION TYPE I.
PRC_INITIAL_DIRECTORY = FILENAME.
PRC_DEFAULT_FILE_NAME = FILENAME.
PRC_WINDOW_TITLE = 'Debitoren-Saldenliste'.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
WINDOW_TITLE = PRC_WINDOW_TITLE
DEFAULT_FILE_NAME = PRC_DEFAULT_FILE_NAME
INITIAL_DIRECTORY = PRC_INITIAL_DIRECTORY
CHANGING
FILENAME = PRC_FILE_NAME
PATH = PRC_PATH
FULLPATH = PRC_FULL_PATH
USER_ACTION = PRC_USER_ACTION
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4
IF SY-SUBRC = 0 AND PRC_USER_ACTION NE
CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = PRC_FILE_NAME
FILETYPE = 'ASC'
WRITE_FIELD_SEPARATOR = '#'
TABLES
DATA_TAB = TAB_EXCEL
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
ENDIF. -
Hi All,
Can any one give a briefing on the kind of unicode errors in SAP and how can we track the unicode errors <i>without</i> using the transaction UCCHECK .Chaitanya,
Without UCCHECK that is going to be difficult tracking the Unicode errors. When the system is upgraded, we should run all the custom program through UCCHECK so that we know which programs have errors.
And more over its easy to do and you can do this in one shot for all the programs using the selection criterial of the transaction.
Other work around is to manually look at the code and see if there are any commands specified in the UNICODE COOKBOOK for ABAP used in the program.
Regards,
Ravi
Note : Please mark all the helpful answers -
Need solution for unicode error
Hi ,
I am facing unicode error "ESCAPE_TRICK cannot be converted to a character-type field" for
the following syntax -
ESCAPE_TRICK-X1 = '1C'.
Where ESCAPE_TRICK is defined as -
DATA: BEGIN OF ESCAPE_TRICK,
X1(1) TYPE X,
END OF ESCAPE_TRICK.
Please suggest me the solution.
Thanks,
NarayanHi,
As type X is obsolete.
you need to convert it to type c. But you should convert the hexadecimal value '1C' to its equivalent Char value. Replace your code with:
DATA: BEGIN OF ESCAPE_TRICK,
X1 TYPE STRING,
END OF ESCAPE_TRICK.
To convert Hex '1C' to type string
CALL FUNCTION 'CACS_CONVERT_HEX_TO_STRING'
EXPORTING
XSTRING = '1C'
IMPORTING
CSTRING = ESCAPE_TRICK-X1.
It should solve your purpose.
Alternatively, '1C' is "FILE SEPERATOR'. you can find its value in char and can use it.
howver, the first ,method should work..
revert back in case of further issue.
Thanks and Regards
Rishika
Edited by: Rishika Bawa on May 14, 2009 2:06 PM -
Unicode error:a line of internal table and a data object are not mutually c
Hi Friends,
This is the issue in upgradation from 4.6c to ECC6.0
I have an internal table itab which has include structure say 'xyz' . In xyz there is a field of type int4 as third field. I have a field as l_line which is a string.
data : begin of itab occurs 0.
include structure zxyz.
data: end of itab.
data: l_line type string.
In the program I am getting the unicode error as:
" A line of "itab" and "l_line" are not mutually convertible in unicode program." at he following line.
loop at itab into l_line.
endloop.
Thanks,
Ali.Hi Narendran,
I did the same earlier, but the field l_line is again used in the another line as follows
IF l_line CS w_group.----
(1)
where w_group LIKE zstr-cctr_group.
here zstr-cctr_group is same as one of the fields of structure xyz.
in line 1 it is giving warning as
l_line is incompatible and it must be C,N,D,T or string.
Thanks,
Ali -
/SMB40/RVADOR01 in runtime giving unicode error
hi all
i am using /SMB40/RVADOR01 program for printing the smartform but in runtime it is giving not unicode compatible
when i performed syntax check in /SMB40/RVADOR01 program there it also giving unicode error
and in the program attributes unicode check is not selected
so i want to know can we change the standard /SMB40/RVADOR01 program to unicode compatible
if yes than how to do for a standard program
or i will copy this program and make a custom program which is unicode compatible
thanks in advancehi,
I think you might have done UCCHECK transaction on this or other program by now. If you have not, please see if it helps.
UCCHECK is for making programs Unicode comaptible.
Pls post your findings.
Regards,
Vivek. -
Unicode error in statement Describe Field
Hi,
There is a statement in my program which is giving Unicode error.
DESCRIBE FIELD t_mara-mfrpn LENGTH len.
Here t_mara is internal table with header line. Unicode error which I am getting is 'In Unicode, Describe Length can only be used in Byte mode or IN....'.
Kindly let me know how to remove this unicode error without affecting the functionality.
Regards,
Rajneeshsyntax check always finds the error when the addition BYTE or CHARACTER MODE is missing in the statement DESCRIBE.
And it will not cause any impact in functionality of your program -
Unicode error when implementing a BADI
Hi All,
I get a Unicode error when trying to implement either one of these two BADIs: ME_GUI_PO_CUST, ME_PROCESS_PO_CUST:
In Unicode programs, the "-" character cannot appear in names, as it does here in the name "MMCNT_EKKO-BEDAT".
There are two more similar errors. They all refer to the type group MMCNT, which is an SAP delievered object and is active. Has anyone ever encountered these errors?
Thanks!
Roman D.Hi,
You did not mention which version of SAP you're using, but I just thought that the OSS Note 829031 might be relevant for you.
Regards,
Anand Mandalika. -
Solution for Unicode error MESSAGEG:Z
Hi all ,
I have a code
PERFORM write_report TABLES i_guideline
using 'Merit'
'Guideline Amount' .
FORM write_report TABLES p_i_mrth STRUCTURE i_mrth
using p_title
p_title2.
After its unicode error check it is showing .
Error Code : *MESSAGEG:Z*
Error Msg : I_GUIDELINE" and the line type of "P_I_MRTH" are incompatible. With regard to alignment gaps, the line type of "P_I_MRTH" is not a real initial part of "I_GUIDELINE". .
Can anyone please give me any solution .
Thanks ,
Regards ,
SwashrayeeHi,
In Unicode system type Incompatible error will appear when transferring the data from one structure to another strucrture which is not same alinged.
Might Be your one of the structure where filed's of i_guideline are like
a(4) type C ,
b(2) type C,
c type I,
d type N.
but another structure are I_MRTH
a (4) type c,
b Type I,
c Type C,
d type N. -
Hi all,
I got an assingment to find the solution of unicode error message
MESSAGEG:Z
MESSAGEG?U
MESSAGEG!A
MESSAGEG59
MESSAGEG8C
MESSAGEGI0
MESSAGEGTY
MESSAGEGXD
PARAERS120
READ 023
SERR
ABB
OK
VIEW
I also find in google but i didnt find any suitable sol.
can any one help me to find a solution.
thanks
Swashrayee
Moderator Message: This is the third time you have posted the same assignment and getting it locked. Please the Rules of Engagement of these forums before further posting. This is your LAST warning. One more violation and your ID will be deleted.
Edited by: kishan P on Jan 16, 2012 12:26 PMHi
Could you please share exaclty error message received ?
Best regards
Maybe you are looking for
-
Spotlight is indexing but what? And why does it want access to the web?
I can see Spotlight is indexing, it spends several hours a day doing this, every day. Where can i find more details like previous OS X versions? Which drive, how much time left etc. Console was no help, any suggestions welcome. Also, with "Spotlight
-
Gateway message response back to smp
so we have an app that calls the oModel.create method. Which is sent to SMP 2.3 which sends it to Gateway to update a record. The BAPI comes back with a message of "record already created". In SMP log, it comes back with response code 400 which is
-
Hi, I have been trying to solve this EM simulation problem in the attached project (from a customer) but with no luck. I have tried changing the interpolation/passivity options, switching to APLAC simulations, different AXIEM settings with/without AF
-
Have you tried the Cap1 pre-qual site? https://findmycard.capitalone.com/en/PageVersions/LandingPages/LP_UNS_QUICK_RWD_V01.aspx
-
Can anyone point me in the right direction I wonder? I am trying to have multiple RSS nodes display in the same line of a List Component. So the title node, insert a return, and then the Description node from each item. OR... is there a way to insert