cancel
Showing results for 
Search instead for 
Did you mean: 

The input field contains prohibited characters (already deleted) Message no. 00195

Former Member
0 Kudos

Hi,

I am looking into an issue with seemingly corrupted data in text fields in SAP. The issue comes up when loading the data into a Teradata database. Whne trying to reproduce the issue I tried to enter incorrect data by copy-pasting from Ultraedit which allows me to type in any byte value. For some byte value (e.g. U+0002) I get the error message from the title.

I was wondering how the SAP-GUi or SAp system determines which characters are illegal. From the error message it would seem the GUI or PC might have something to do with it. For some reason it is decided that "These are generally characters that your frontend can process, but which are not permitted in the R/3 database." So what characers does SAP allow... ?

The system is:

Unicode SAP ECC 6.0, kernel release 7.20

ORACLE version 11.2.0.2.0

Linux GNU SLES-9 x86_64 cc4.1.2 use-pr121115

Anyone any ideas?

Marcel Hesen

Accepted Solutions (0)

Answers (1)

Answers (1)

jude_bradley
Advisor
Advisor
0 Kudos

Hello Marcel,

What characters are you inserting?

Some characters - # will not be accepted if the codepage does not match.

Since you are using UNICODE, this should not happen.

Please provide the exact character you are trying to insert.

Also ensure your SAPGUI versions and patches are uptodate.

Jude

Former Member
0 Kudos

Hi Jude,

First of all thanks for your quick reply. Some more background information:

  • My GUI version is: 730 final relase, 7300.2.5.3278, build 1429747 patch level 5, as deployments in our company are usually lagging, I would assume it is not the latest but fairly recent.
  • My Windows version: Windows 7 Enterprise 6.1 (7601), SP1, again probably not the latest but failry recent.

What I do is create certain by sequences in Ultraedit (but you could do it in any hex editor) and try to copy/paste them into an SAP field (I have tried SE16 text field, but also ABAP debugger). In fact I tried to debug the insert process to find where the error message is triggered, but my debugger fails to stop there. Als a where used on the message gives no result.

As our SAP Oracle DB supports UTF-16 LE, I am loading these characters focusing on characters which are problomeatic for loading into Teradata:

  • Control characteres (CR, LF, tab, etc): U+0000 to U+001F, U+007F
  • Illegal characters (according Teradata definition) , some examples would be U+0380, U+0381, U+0382, U+0383
  • Characters which Teradata does not accept, as they do not support UTF-16 surrogate characters, consisting of 4-byte sequences where each double byte component is in the range U+D800 to U+DF00, so e.g. U+D800E0FF would be "Teradata illegal".

Already the first category will not work somehow when I insert them via the SAP GUI via Copy/Paste into a screen field.

So the big question for me is: Where is the logic that replaces these characters? Is it in the SAP-GUi itself, or inside SAP (either kernel or ABAP), or maybe in a conversion_exit. What code sequences does it allow, so what does it check against? Is the reference depending on: Windows settings, SAP GUI settings, SAP internal code page settings.

If you need more information, just let me know. I have been spending quite some time on trying to figure out the loading issue we are facing when data is moved from SAP into Teradata.

Thanks for any help!

Marcel Hesen