Remove Invalid Char in BW Transformation
Hi Gurus,
I would like to seek for your keen knowledge about invalid characters that I do not know if it is just an accidental input in EKBE table. for CHARGE field. The invalid characters are ตัวเลขไทย. So my initial update would be at RSKC. But the activation of the DSO had error still regarding the invalid character. So second option is to modify the value in PSA then data mart to DSO. But I am wondering if this character should be on the reporting layer. Is there a way that this character be available in both PSA, DSO and Incube level without modifying? Is there a function module or a program I could include in the transformation to accept this kind of values?
Your answers are very much appreciated.
Hi,
first check the source level editing the records
then check the BW side in RSKC - ALL_CAPITAL_PLUS_HEX
check the table - RSALLOWEDCHAR - those special char to maintain or not.
Thanks,
Phani.
Similar Messages
-
Invalid char in XML from inbound IDoc
I am trying to send a CREMDM IDoc from a 4.6C R/3 system to an XI SP09 system. The IDoc gets sent from the backend system, shows up fine in WE05, but after it gets passed to XI, I encounter a fatal error (in SXMB_MONI) that reads:
com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Invalid char #0x15(:main:, row:1, col:986) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException(Transformer.java:41) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:66) ....
Upon checking the payload, I discover an "#" character in one of the fields (at position 986) has mysteriously been transformed to a " " character. XI does not recognize this character and the parser fails.
As I understand, the R/3 system is non-unicode, and XI being unicode could be causing the problem. However, I have no clue how to solve this issue. Deeply appreciate it if any ALE/XI experts can share any insights.
Regards,
DannyThanks for all the response. It looks like the "#" character is in fact a control character from the R/3 system, which is a "negative acknowledge" (#0x15) character. This character is not valid for XML and hence it even fails the test tool in Integration Repository. I figured this out from your responses as well as checking the XML payload in XMLSPY (gave me a illegal char code 21 as well, which corresponds to the above hex code for the negative acknowledgement char).
It looks like we have to tackle the problem on the outbound IDoc side, which I am in the midst of figuring out how.... -
Getting error in mapping execution Invalid CHAR
hi
i am having file to RFC scenario, and the input file is an xml file and i am getting erron in mapping as below but when i download the payload and load it in the integration repository mapping tool ,i am able to execute it succesfully. i think the problem is with the encoding , i tried with processing it in utf-8 and ansi. both the format it is giving the sam error.
<SAP:Stack>Runtime exception occurred during application mapping com/sap/xi/tf/_MMMMMMMMM_; com.sap.aii.utilxi.misc.api.BaseRuntimeException:Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Invalid char #0xb (:main:, row:1, col:4~</SAP:Stack>
regards
sandeep>> This is possible only with PI 7.1 ehp1.
Yes !Our verstion is SAP EHP 1 for SAP NetWeaver 7.1 so how can i do this.
__instead for fixing in PI i can use the belwo java mapping__
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import com.sap.aii.mapping.api.StreamTransformation;
import com.sap.aii.mapping.api.StreamTransformationConstants;
import com.sap.aii.mapping.api.StreamTransformationException;
public final class MyMapping implements StreamTransformation {
public void execute(InputStream in, OutputStream out)
throws StreamTransformationException {
// removing non valid characters
BufferedReader br = new BufferedReader(in);
out = stripNonValidXMLCharacters(br.readLine());
// implement mapping ...
public String stripNonValidXMLCharacters(String in) {
StringBuffer out = new StringBuffer(); // Used to hold the output.
char current; // Used to reference the current character.
if (in == null || ("".equals(in))) return ""; // vacancy test.
for (int i = 0; i < in.length(); i++) {
current = in.charAt(i); // NOTE: No IndexOutOfBoundsException caught here; it should not happen.
if ((current == 0x9) ||
(current == 0xA) ||
(current == 0xD) ||
((current >= 0x20) && (current <= 0xD7FF)) ||
((current >= 0xE000) && (current <= 0xFFFD)) ||
((current >= 0x10000) && (current <= 0x10FFFF)))
out.append(current);
return out.toString();
regards
sandeep
Edited by: pendyalas on Feb 4, 2011 2:07 PM -
When using proxy to download data from ECC to XI -- XML parser throws this error --
com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Invalid char #0x1a(:main:, row:1, col:50831067) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException
Is there are setting to handle such hexadecimal charaters?
Right now the option is to use java code to scan this XML document for such char's and replace with space before message mapping....I am eager to know a better solution .ThanksHi,
Did you ever get an answer to this question?
I'm seeing a similar issue where ECC is sending an invalid character 0x13 in an XML message. I would have expected the adapter to encode this properly in an XML document.
Isn't this basic, foundational stuff? It's preparing and sending an invalid XML document.
What am I missing and/or what is ECC missing? -
Need help to filter invalid chars very urgent
Hi,
In data load some records are invald chars,its not filtering,those chars are special symbol here are the hex values for that invalid char
0012
0016
0005
0013
so all these values are below 20,we can't copy and paste.
if any one knows abt sap constant values for these hex values please provide me ASAP,its very urgentGoto transaction code RSKC...Enter value <b>ALL_CAPITAL</b>
Take a look at these threads...
/message/2876063#2876063 [original link is broken]
Value '# ' (hex. '23 ') of characteristic 0CUST_GRP1 Contains invalid Char -
Receiving "Invalid char in text." error from file adapter
I'm testing a file adapter and am receiving the following error:
Invalid char in text.
The invalid character seems to be the ascii Record Separator character, Hex 1E, HTML 

Is it possible for me to modify the file adapter schema to handle this character?The HTML description should have been this (minus space characters)
& # x a ; -
Hi all,
I just recieved this nice error when loading a file:
Error: oracle.xml.parser.v2.XMLParseException: Invalid char in text.
Its was cause by a backspace character (^H or /b or 08). Shouldn't this be supported in utf-8???Hi all!
I seem to be sailing in a similar boat like Mr. James!
I get an error like this,
<Line 98278, Column -13440>: XML-0221: (Fatal Error) Invalid char in text.
oracle.xml.sql.OracleXMLSQLException: Invalid char in text.
It is caused by a carriage return character.
Help Anyone?
Regards,
Sunil. -
Hi,
Non Recoverable Business Fault :
<bpelFault><faultType>1</faultType><operationErroredFault xmlns="http://xmlns.oracle.com/bpel/workflow/taskService"><part name="payload"><operationErroredFault xmlns="http://xmlns.oracle.com/bpel/workflow/taskService"><faultInfo>oracle.xml.parser.v2.XMLParseException: Invalid char in text.</faultInfo></operationErroredFault></part></operationErroredFault></bpelFault>
I got the above error before calling to human task from my BPEL process. Any idea?Assuming this is SOA Suite 11g. Did you start the WLS with UTF8? Is your database using UTF8?
Nothing else is supported.
If you are on unix.
$ export LANG="en_US.utf8"
$ export LC_ALL="en_US.utf8"
Then locale should display something like this
$ locale
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_ALL=en_US.utf8
And then you should be able to start the SOA Suite correctly. -
Remove tags from XML using transformation
Can anybody tell me how to remove empty tags using xsl transformation.
<App_Data App="MOD" Name="Metadata_Id" Value="SP1282"/>
<App_Data App="MOD" Name="Metadata_Spec_Major_Version" Value=""/>
<App_Data App="MOD" Name="Metadata_Spec_Minor_Version" Value=""/>
My XML will have tags similar to above. My requirement is to remove all tags having attribute Value="". How can i achieve this using transformation.
Thanks
KrishYou need to add the xsi:nil="true" attribute to your xsl-construct to be able to ommit the xml-element which are empty.
To be able to do this you need to add a choose-when-otherwise xsl construct inside your mapping file to test for ""-values.
The xsi:nill='true' isn't supported in the transform-activity yet, you need to add this attribute manually inside your xsl-mapping file.
Kind regards,
Nathalie -
How to remove the Char.from one Operating Concern
Hi Guys,
How to remove the Char. from one Operating Concern.
I have created one Char. (WWDOC) and moved to Operating Concern (OOCC). Operating Concern is in red status.
Now, i want to remove that new assigned Char. (WWDOC)from the operating concern (OOCC). I did't find any option in the menu also.
Appreciate your help.....
T&R
VVRHi Sasi,
Iam not able to push back that char. from my operating concern. In help it is given you have to delete the data contents in the table before pushing back. Please let me know if any other option available.
Thanks for your reply.
VVR -
Invalid Char could not be found in PSA. Why?
I got an error message in the process chain at DSO activation level. The DSO activation level got failed and shows red.
But in the DTP monitor the QM status shows green. The display message shows
1. @5C@ Error when assigning SID: Action VAL_SID_CONVERT, InfoObject 0REVISION @35@
2. @5C@ Value '#' (hex. '0023') of characteristic 0REVISION contains invalid characters @35@
3. @5C@ Process 000347 returned with errors @35@
in PSA the data package has 332 with 20000 records for every package. I couldn't find the invalid chars for info object 0revision. I could see the 0revision in the PSA. But how to get the exact error row with these above information.
any idea?????
Thanks,
Draj S.Hi,
as you said there are 332 data packages with 20K records each, in which datapackage have you checked for the error record?
check the record no 347 which may be having the error record - try to edit it save the records in PSA and repeat the load and activate the data.
3rd column is the data request number -- check for the data record no 347 and check for the value for 0revision. if there are any special char like # in your case try to edit the record and reload.
Regards
KP -
Error with invalid chars found in characteristics
Hi,
I am loading information for this field EKPO-TXZ01 (PO text) into ODS and then into infocube. I have no issue loading this field content into ODS. However from ODS to infocube, I encountered error that says invalid chars found. (This field was defined as chars 40 in the infoobject). At BW customizing, the chars like #, " [] are being maintained. Please advise how to overcome this.Hi,
From my experience I can say that:
1. Not always assigning permitted characters helps. Especially if chars that you want to pass to the ODS are special chars. And there is too little space in the string with allowable chars.
2. Setting a characteristics as a lower case char helps for its master data. An ODS will not allow to accept data with lower case letters anyway.
3. There are several topics related to your question in this forum with solutions, even with ABAP codes.
Look, for example at this one:
https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/profile.jspa%3FuserID%3D136828
Best regards,
Eugene -
Remove Invalid Filing Statuses from Portal for Puerto Rico W-4 (IT210)
Hi Experts,
I need to remove Invalid Filing Statuses from Portal for Puerto Rico W-4 , can any one advise , checked in T5UTK can we do changes in this table?
Thanks
SriHi Obulu;
Yes you have to customize that table, please refer to note 1500596 "New Puerto Rico Marital Status". If you want additional info about the changes in PR I wrote a blog about it Withholding changes in Puerto Rico
Hope that helps!
Best regards,
Federico. -
Transfer rules - Removing invalid hex chars
Hi, tried using REGEX command replacing all '\W' with spaces to remove an invalid character (horizontal tab) from a Description field.
However the result didnt leave a space but condensed the characters that were either side of the offending character.
i.e Test#Description became TestDescription instead of Test Description
Does anyone know of anyother techniques/code that provide a solution ?
Thanks..SteveSam,
This is pretty much what I tried. I tried
i) REPLACING ALL OCCURRENCES OF REGEX '\W' WITH SPACE and
ii) REPLACING ALL OCCURENCES OF REGEX '\W' WITH ' '
Both resulted in the space being condensed in the resultant field. I suspect using a variable containing the space is effectively the same thing.
Regards...Steve
PS '\W' detects all non alphanumeric chars
'\w' would detect all alphanumeric chars -
Error in object level routine used in transformation to remove special char
Hi,
I have written a code to remove special characters (#,!) at the object level. However i am getting this error
"You cannot use the current statement between "CLASS ... DEFINITION" and "ENDCLASS" ".How do i remove this error? Please help.
Thanks.DATA:
ch1(32) TYPE x VALUE
'00200120022003200420052006200720082009200A200B200C200D200E200F20',
ch2(32) TYPE x VALUE
'10201120122013201420152016201720182019201A201B201C201D201E201F20',
ch3(60) TYPE c VALUE
'¿ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¡ ¯ ® ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ '.
DATA:
ch4(90) TYPE c VALUE
'ø ÷ æ ß ? ? ? ? ? ? ? ? ? ? ? ! ~ ` #'.
FIELD-SYMBOLS: TYPE c.
DATA: l_ZPWRKCTY TYPE /BIC/OIZPWRKCTY,
l_ZPSTNAMe TYPE /BIC/OIZPSTNAME.
l_ZPWRKCTY = SOURCE_FIELDS-FIPS_NAME.
translate l_ZPWRKCTY to upper case.
RESULT = l_ZPWRKCTY.
CONDENSE RESULT.
Exclamation mark is not permitted as a first symbol of the field
content
IF RESULT(1) = '!'.
RESULT(1) = ' '.
ENDIF.
CONDENSE RESULT.
The only # sign is not permitted
IF STRLEN( RESULT ) = 1.
IF RESULT(1) = '#'.
RESULT(1) = ' '.
ENDIF.
ENDIF.
Replace Invalid Characters by SPACE
ASSIGN ch1 TO .
TRANSLATE RESULT using ch3.
TRANSLATE RESULT using ch4.
CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS'
EXPORTING
INTEXT = RESULT
IMPORTING
OUTTEXT = RESULT.
Remove leading and trailing blanks if any
CONDENSE RESULT.
Maybe you are looking for
-
Fonts not displaying properly in Creative Cloud files
I just noticed that fonts are not displaying properly in my Creative Cloud files. The strange thing is, they continue to display correctly in files I uploaded prior to release - it's just in files I upload now that the fonts are reverting to some ge
-
Is it possible to extend my desktop to another screen wirelessly?
Hi Guys, Is it possible to extend my desktop from my macbook pro to a second display unit in my room which will be wall mounted? Obviously this is possible with a cable, but I wonder if it can be done wirelessly and with what kit. TIA. Ravi
-
Help Me guys
-
Will update from 10.4.8 to 10.4.10 affect FCP capture.
when I updated from 10.4.8 to 10.4.9 I had terrible capture problems. So I reinstalled 10.4.8 and the problems disappeared. If I jump to 10.4.8 to 10.4.10 will I encounter more FCP problems or has it been fixed?
-
Rounding off float to 2 decimal places and returning the float
I tried doing bigdecimal but it doesnt work. : BigDecimal bd = new BigDecimal(5 * 0.0394); retval = bd.floatValue(); System.out.printf(" th %f\n",retval); I see 0.197000. I know that there are 6 places since I didnt do %.2f. Howev