IDOC unicode issue (character #)

Hi
A user exit fills posting items in SAP HR payroll posting with a text in russian language. This value is stored correctly in table PPDIT.
We have different ALE target systems in the distirbution model for different company codes.
All the RFCs are configured like UNICODE with logon language. Two targets system has russian company codes.
The first one is a SAP ECC system and receive correctly the data.
The second one is a SAP PI system and checking IDOC segments text was converted with # . Table EDID4 contains value #.
If we customize IDOC for employee master data HRMD_A russian texts reach correctly into SAP PI.
We unknown if the payroll posting process converts posting items using a BAPI or there is other kind of problem.
Our  PI system is connected with other SAP HR systems and always the unicode problems was solved configuring RFC with UNICODE.

Look at the difference if you force collation for the predicate with ">" and/or ORDER BY:
create table test (c1 int, c2 nvarchar(50))
insert into test(c1, c2) values (1,N'पीपे का सबसे चौड़ा भाग')
insert into test(c1, c2) values (2,N'पी')
insert into test(c1, c2) values (3,N'पे')
select * from test order by c2;
3 पे
2 पी
1 पीपे का सबसे चौड़ा भाग
select * from test order by c2 COLLATE Indic_General_100_CI_AS;
c1 c2
2 पी
1 पीपे का सबसे चौड़ा भाग
3 पे
select * from test where c2 > N'पे' order by c2;
2 पी
1 पीपे का सबसे चौड़ा भाग
select * from test where c2 > N'पे' COLLATE Indic_General_100_CI_AS order by c2;
c1 c2
(empty)
Reference:
http://www.sqlusa.com/bestpractices2005/collatedatabasedefault/
Kalman Toth Database & OLAP Architect
SQL Server 2014 Design & Programming
New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

Similar Messages

  • Unicode issue jdbc receiver adapter

    Hi guys,
    I'm facing an unicode issue while trying to put some data into a MS database.
    The sender system is a SAP ERP 6.0 system.
    When we are trying to transfer some text in polish or korean or something else, this textes are not transferred correctly.
    I already checked the SAP Note 831162 FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC Adapter
    and used the url parameter sendStringParametersAsUnicode=true
    Furthermore I changed my mapping to get the sql statements, so that I add the attribute hasQuot="no"
    and a leading N in front of the data string as described in the Note and in some threads in SDN
    Unicode problem in JDBC receiver adapter
    JDBC adapter , problem in inserting Korean Charaters in MS SQL
    but nothing solved my problem.
    any ideas?
    Do all the languages have to be installed on the XI system?
    Kind regards
    Jochen

    Hi Sarvesh,
    thanks for helping.
    Unfortunately I´m not sure what I should exactly do.
    If I get you wright I have to test the mapping using the test functionality in message mapping (test tab).
    I did this already
    The result message looks like this
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:IDOC_CDB_IMPORT_insert xmlns:ns0="http://endress.com/xi/sbo/cdb">
       <ns0:StatementName1>
          <ns0:dbTableName action="insert">
             <ns0:table>CFG.DBO.IDOC_CDB_IMPORT</ns0:table>
             <ns0:access>
                <ns0:IDOC>CHRMAS</ns0:IDOC>
                <ns0:SEGMENT>E1CABTM</ns0:SEGMENT>
                <ns0:ATNAM></ns0:ATNAM>
                <ns0:SPRAS>PL</ns0:SPRAS>
                <ns0:ATBEZ hasQuot="no">N&apos;D?ugo?? ca?kowita Tl; L:&apos;</ns0:ATBEZ>
             </ns0:access>
          </ns0:dbTableName>
       </ns0:StatementName1>
    </ns0:IDOC_CDB_IMPORT_insert>
    How to proceed?
    copy this message to notepad or ultra edit and then doing what?
    please specify clearly.
    this message will be send to the jbdc adapter and this will insert it to database.
    <ns0:ATBEZ hasQuot="no">N&apos;D?ugo?? ca?kowita Tl; L:&apos;</ns0:ATBEZ>
    will end up in a table entry like D?ugo?? ca?kowita Tl; L:
    has anybody an idea how I will get the wright characters in database, when I test my UDF in eclipse, the variable during debugging has the correct text.
    When output this variable via system.ou.print(text); the same issue occurs, the special characters are shown as ?.
    I appreciate for your help, unfortunately my polish colleagues hustle a little bit.
    kind regards
    Jochen

  • 'Zero-width Non-Joiner' Unicode Control Character for Xperia International Keyboard in Persian

    I use Xperia International Keyboard in Persian (Farsi) on my Xperia Z3 Comapct. I really like its Gesture input for Persian. On the other hand I like Google Keyboard for Persian for its 'Zero-width Non-Joiner' Unicode Control Character key.This character is used in Persian as a non-breaking space or "نیم‌فاصله". But Google keyboard lacks gesture input for Persian. I would like it like very much If there is a ZWNJ (U+200C) key on next updates of Xperia International Keyboard for Persian. It would be perfect if it also have Arabic Decimal Separator (٫) (U+066B) and Arabic Thousand Separator (٬) (U+066C).

    This is a user led support forum however what I can do is message the team to take a look at your post and then they will be able to escalate this to the correct team - So if you don't receive a reply from a Sony staff member please be reassured that they will have read your post
    For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled.   Richard P. Feynman

  • HI can anybody   facing  IDOC'S ISSUE

    HI can anybody   facing  IDOC'S ISSUE   
    SEND IT TO ME 
    I WILL SOLVE   FOR YOU
    THANKS AND REGARDS
    RAJU

    hi there,
    I am trying to load finsta into SAP from the middle ware GXS and all the ports in them looks good when I go to we02 to view the status, it gives error 51. the message says "Error during insert in table FEBKO". There are no more details of this error.
    i Tried comparing FEBKO-AZIDT and FEBKO-WVTIM to make sure both are respectively unique
    I have deleted this entries from FEBKO by running RFEBKA96 and then we tried to resend/reprocess the IDOC
    but still persisting with the same error message 51,
    the status on the idoc shud be 0 inorder to process that right.
    even when we changed the time why is it giving us the error message 51.
    can you put some light on to it please...
    points will be assigned.
    thanks
    Jay

  • Inbound IDOC with UNICODE issues

    We are trying to send in an IDOC with Romanian characters that are outside of latin-1.  We have upgraded our 4.7 SAP system to be UNICODE, but when loading these characters via IDOC they are not being represented correctly in R/3.  We have tried setting our login language to RO when doing the input and it doesn't seem to matter.  Is there a setting somewhere that we are missing to designate an inbound IDOC as UTF-8?
    TIA...
    Darrin

    Hi Darrin,
    if the sender of the IDOC is an external RFC program, you should use the "Codepage" parameter in the logon string, to declare your character set. The SAP RFC lib will then translate between external and R/3 internal codepage.
    If you find my answer useful, please don't forget the reward.
    Regards,
    Juergen

  • Java JCo SAP XI RFC SAP R/3 6.C ... Unicode issue

    Hello,
    My scenario is very simple. I'd like to connect a Java program to a SAP R/3 (MDMP) for RFC calls (in both direction), using SAP XI (some of the RFC calls will redirected to some other systems). I use SAP JCo v2.1.8 and tried with Java 1.4.2_09 and Java 6.0.
    It works well when the Java program is calling a function module, but when SAP R/3 is doing it, the returned texts looks like: S#A#P# #J#C#o# #v#2#.#1#.#8# #(#2#0#0#6#-#1#2#-#1#1#)# (the text should be SAP JCo v2.1.8).
    It looks like an issue with Unicode. Although I didn't check the Unicode checkbox in the RFC sender adapter (the RFC receiver one doesn't offer the possibility to specify unicode or not).
    Do anyone have a solution ? Is it a code in the Java program or something to set in SAP XI / SAP R/3 ?
    Thanks in advance for your help.

    This is a workaround solution. In the case of this prototype it is ok, but the final plan is to migrate a web based application. It was directly connected to one SAP R/3, but now we would like to connect it to SAP XI because a few RFC calls will be re-directed to some other systems, but the majority of them will we'll still be sent to the SAP R/3. We don't want to make development on this part for cost reason (and time). Plus on some text there are the "#" character that is legitimate.

  • Conversion Error in IDOC  : Unicode to Non-Unicode System

    EBP system (Unicode) posting goods movement to 4.6C (non-Unicode) using message type MBGMCR ( Function module - IDOC_INPUT_MBGMCR).
    **In Non-Unicode System***
    Idoc INBOUND error : Status 51
    An error has occurred assigning data (E1BP2017_GM_ITEM_CREATE ).
    I found in debugging value assigned from EDIDD ( E1BP2017_GM_ITEM_CREATE = IDOC_DATA-SDATA ) for field AMOUNT_LC is "0000            0.00"
    system catch exception with CONVERSION_ERRORS
    **Unicode System**
    Value for Amount_lc is 0.00
    Can anybody help me how to solve above issue?
    regards,

    You can do something like this..
    TABLES E1BP2017_GM_ITEM_CREATE .
    E1BP2017_GM_ITEM_CREATE-AMOUNT_LC = <field value> .
    MOVE E1BP2017_GM_ITEM_CREATE TO IDOC_DATA-SDATA  .
    can u tell me what is the type and value of the variable whose value you are assigning to AMOUNT_LC .
    Reward points to all the helpful answers.
    Thanks.

  • JCo - Unicode issue

    Hi,
      Recently, we migrated SAP to unicode version. Due to this, we are getting the below error when we try to connect from SapJCo to SAP. The version of JCo used is 2.1.6. SAP is hosted on Unix and Java applications are hosted on Windows. We tried with jco.client.codepage= 4103; we are getting different error(RFC_ERROR_LOGON_FAILURE: >> unknown RFC error, no error log found <<) when we give the codepage property.
    Please let us know how to resolve the below issue:
    Exception in thread "main" com.sap.aii.proxy.framework.core.BaseProxyException: Conversion error between two character sets., error key: RFC_ERROR_SYSTEM_FAILURE
          at com.sap.aii.proxy.framework.core.AbstractProxy.send$(AbstractProxy.java:150)
    At the SAP side, we are getting the below errors
    Error analysis
    The error probably occurred when installing the
    R/3 system.
    The termination was triggered in function "RfcExtendedReceive"
    of the SAP kernel, in line 301 of the module
    "//bas/700_REL/src/krn/rfc/abrfcrcv.c#5".
    The internal operation just processed is "FUNC".
    Internal mode was started at 20101124144800.
      CLUDE INCL_INSTALLATION_ERROR
    Edited by: manohar mirle on Nov 26, 2010 2:03 PM

    This got resolved.
    We had to make changes to the XML which is embedded in the java code of R3Connector classes. Changed the encoding type and data types in the XML. It went through.

  • Flex Mobile Unicode issue

    I am building an application for android using flash builder 4.6. I am trying to display unicode character as in this xml "http://www.bbc.co.uk/hindi/index.xml"  Characters are displayed correctly when run on simulator in flash builder but when installed on android, it displays square boxes [][][][][][][][][]. How can i go about resolving this issue so that font embeds correctly *

    Sounds like you are missing mobilecomponents.swc

  • How to Convert a HEX value to CHAR value...Unicode Issue...

    Hi,
    How can I convert HEX value to CHAR value.
    The Code in <b>non Unicode</b> system is:
    DATA: t_text LIKE tline OCCURS 0 WITH HEADER LINE.
    constants:   c_hex_20a5(2) TYPE x            VALUE '20A5'.
    t_text-tdline = 'seller of the item so listed.  A legend of the Seller Code(s) is as'.
          TRANSLATE t_text-tdline USING c_hex_20a5.
    The same code give error in <b>Uni-Code</b> system:
    <b>error is "c_hex_20a5 must be an character type object (C, N, D, T or String type)."</b>
    If anyone know, what is the solution, please let me know.
    Thanks!
    Puneet.

    Hi,
    Try declaring the Hex chars using the ABAP char utilities. This is just a sample piece of code on how to declare and use:
    CLASS cl_abap_char_utilities DEFINITION LOAD.
    DATA:  ws_lf TYPE c VALUE cl_abap_char_utilities=>cr_lf.
    data:    c_newline           TYPE x VALUE '0D'.  [ it is zero D, for carriage return ]
    ws_lf = c_newline.
        CONCATENATE it_tab-maktx
                    ws_lf
                    ws_template
                    INTO it_notificatn-template.
    Hope this helps...
    Regards
    Subramanian

  • Windows 8.1 Pro Non-Unicode Issue: CS6 Standard

    I use WIndows 8.1 Pro English, I installed the CS6 Standard in Spanish, I changed the language for the non-unicode programs to spanish but still cannot use the Illustrator, I am having issue only with the Illustrator, noting that in the installation I was prompt for Spanish(Latin America) or Just Spanish, I clicked on Spanish(Latin America), but in the non-Unicode languages there is no Spanish(non-Unicode) they have Spanish per countries.

    I have the same problem did you manage to find the solution? is impossible to contact adobe helpers, they just hide all contact

  • Big File to IDOC - performance issue

    Hi All,
    I am trying to create scenario where I have a file with aproximately 10 000 rows. From each row I am creating one IDOC and want to send it to R/3. Interface looks fine - it is working, but it is killing XI box for some time and u cant access it.
    Full scenario look like this
    File -> BPM (for 1:n) -> IDOC
    I tried to find some solutions for doing the workload smaller by splitting file to less lines (500rows per file) but then file adapter picks up all file and processed them in parallel. So this is new scenario:
    BigFile -> XI -> File -> BPM(1:n) -> IDOC
    I tried to put second file sender communication channel as EOIO but looks like this does not work - or messages from queue are processed to fast. When one message starts BPM another file message start to be processed.
    Do You have any ideas on how to make it more responsive and less performance impact?
    thanks in advance.
    Dawid

    Hi ;
    Since mappings are processed by the J2EE Engine, the maximum available Java heap may be a limit-ing factor for the maximum document size the XI mapping service is able to process. Tests have shown that processing of XSLT mappings consumes up to 20 times the source document size (using identity mapping). The maximum available Java heap for 32bit JVMs is platform-dependent. Using 64bit JVM platforms is an option here.
    Current maximum heap sizes – 32bit
    OS
    Maximum heap (GB)
    Linux
    2
    Windows
    1.2 – 1.4
    The Java heap is limited by the heap limit of the process (may be limited by address space because operating system code or libraries may also be loaded within the same address space). Also, Java internal memory areas such as the permanent space for loading Java classes must fit into the same address space.
    Java VM tuning is one of the most crucial tuning steps, especially for more complex scenarios. For information about setting baseline JVM parameters, see SAP Note 723909. You must also take plat-form-specific parameters into account (for example, JIT compiler settings). The impact of Garbage Collection (GC) behavior especially may become a critical issue. Overall GC times for the J2EE appli-cation should be well below 5%. For more information about GC behavior and settings, see also SAP Note 552522.
    Specific to XI is the fact that you sometimes need to process large documents for mapping or when using signatures. This can lead to excessive memory usage on the Java side. Therefore, you must observe Garbage Collection and the available Java heap in order to evaluate performance and pre-vent OutOfMemory exceptions. Since XI mapping is processed by stateless session beans that are called using a JCo interface, this may lead to a reduction of parallel JCo server threads within the JCo RFC Provider service of a J2EE server node (you can compensate for this by adding J2EE server nodes).
    Mudit

  • IDOC Monitoring issue - job BPM_DATA_COLLECTION* not running.

    Hi all,
    We are facing an issue with BPM "IDOC Monitoring" (under application monitoring), which we have setup to monitor Inbound and Outbound Idocs in 2 separate R/3 systems.
    In one system it works fine, and measured values are returned each time the monitor is set to run according to the specified schedule.
    However, for another R/3 system, the monitor has never run, even though the settings are identical in the monitoring setup.
    From reading the Interfaces Monitoring Setup guide, I found that this monitor depends on a job called BPM_DATA_COLLECTION* which runs in the monitored system. In the system where monitoring is functioning correctly, I can see this job is completing successfully at the time the monitor is set to run. All I find is completed jobs - no scheduled or released jobs present.
    However, for the system where the monitoring is not functioning, I found that this job is not running, but that the job is sitting in scheduled status instead.
    When I tested manually running the job in this system, it ran successfully, and in Solution Manager the monitor brought back the measured value, so the monitor only ran successfully when I manually ran the job in the monitored system.
    I read notes 1321015 & 1339657 relating to IDOC monitoring. 1321015 appears to be more relevant, yet it does not exactly describe my issue - it mentions the job BPM_DATA_COLLECTION* failing rather than just remaining in scheduled status which is what I see.
    Anyone else see this issue before?
    On a more general point - the standard BPM Setup guide doesn't really go into much detail on IDOC Monitoring, and makes no mention of what is happening in the background, i.e. the job BPM_DATA_COLLECTION* being created and run as per schedule. This info is found in a separate document "Interface Monitoring Setup Guide".
    Is there any single document which describes fully what happens both in the Solution Manager and the Monitored systems when BPM is activated? For example, to describe which monitors require jobs to be run, which monitors require additional setup in monitored system, etc? A document such as this which describes exactly the process flow for each monitor would be very useful in troubleshooting issues going forward.
    Thanks,
    John

    Hello John,
    most probably the user assigned to the corresponding RFC READ connection that connects SolMan with the backend system doesn't have proper authorization to release a job. That's why it is only created/scheduled but not released. Verify if the RFC user on the backend has the latest CSMREG profile assigned according to SAP note 455356.
    You can also check if the latest ST-PI support package is installed  on your backend system as the ST-PI usualy contain the latest definition of CSMREG.
    Best Regards
    Volker

  • Idoc sender issue

    Hi,
    I have an issue in Idoc sender scenario.
    The flow is Idoc to BPM to Flat file.
    Idoc is triggered from R/3 system via RFC port. It enters XI which is visible in Moni. But data is not there.
    Which transaction to use to trace Idoc in XI?
    I can see the Idoc successfully sent in we02 from R/3 system. But no data in Moni in main message or attachment.
    Regards,
    Anirudh.

    Hi
    Go through following ALE step, check whether you missed any of these steps:
    Steps for ALE settings:-
    Steps for XI
    Step 1)
         Goto SM59.
         Create new RFC destination of type 3(Abap connection).
         Give a suitable name and description.
         Give the Ip address of the R3 system.
         Give the system number.
         Give the gateway host name and gateway service (3300 + system number).
         Go to the logon security tab.
         Give the lang, client, username and password.
         Test connection and remote logon.
    Step 2)
         Goto IDX1.
         Create a new port.
         Give the port name.
         Give the client number for the R3 system.
         Select the created Rfc Destination.
    Step 3)
         Goto IDX2
         Create a new Meta data.
         Give the Idoc type.
         Select the created port.
    Steps for R3.
    Step 1)
         Goto SM59.
         Create new RFC destination of type 3(Abap connection).
         Give a suitable name and description.
         Give the Ip address of the XI system.
         Give the system number.
         Give the gateway host name and gateway service (3300 + system number).
         Go to the logon security tab.
         Give the lang, client, username and password.
         Test connection and remote logon.
    Step 2)
         Goto WE21.
         Create a port under transactional RFC.(R3->XI)
         Designate the RFC destination created in prev step.
    Step 3)
         Goto SALE.
         Basic settings->Logical Systems->Define logical system.
         Create two logical systems(one for XI and the other for R3)
         Basic settings->Logical Systems->Assign logical system.
         Assign the R3 logical system to respective client.
    Step 4)
         Goto WE20.
         Partner type LS.
         Create two partner profile(one for XI the other for R3).
         Give the outbound or inbound message type based on the direction.
    Step 5)
         Goto WE19
         Give the basic type and execute.
         fill in the required fields.
         Goto IDOC->edit control records.
         Give the following values.(Receiver port,partner no.,part type and sender Partner no. and type)
         Click outbound processing.
    Step 6)
         Go to SM58
         if there are any messages then there is some error in execution.
         Goto WE02.
         Check the status of the IDOC.
         Goto WE47.
         TO decode the status code.
    Step 7)
         Not mandatory.
         Goto BD64.
         Click on Create model view.
         Add message type.
    Regards
    Sami

  • IDOC creation issue at XI side - File to IDOC

    Hi Everybody,
    I am working on a File to IDOC scenario (XI 3.0).
    We have to create Orders in the R/3 System using this Interface.
    Mapping used is Java.
    I am using 2 Classes : Group and SendIdoc one below the other in the Interface Mapping:
    Firstly by using Group Class I am Grouping the Records in the file and then creating the IDOCs by using the next class(SendIdoc).
    In the production environment if we drop like 20 files at a time in the source NFS folder the number of IDOCs created are wrong.
    Say for example, for the first file dropped expected IDOCs are 10 but only 8 are created in SXMB_MONI .However in the input payload (in SXMB_MONI) the entire text file is read.
    When we put the files sequentially say one after the other is processed, the number of IDOCs created are fine.
    This is very strange problem.
    I tried changing the polling interval of the channel but was of no help.
    Any parameters we need to set in the channel or XI system to overcome this issue?
    Can someone help me out on this?
    Helpful answers will be rewarded points.
    Thanks & Regards,
    RK

    Hi ,
        When you placing files sequentially its working fine menas there is no problem with Java Code,one morething use synchronize methods or thread programming in Java maps is not advisable.
    as per my knowledge File adapter picking up the recodrs when its giving inout to Java map some thing misisng....
    for one file you need to create multiple IDocs try use QOS EOIO or if its not working then try to use record set per message one like that,let me know.
    Regards,
    Raj

Maybe you are looking for