cancel
Showing results for 
Search instead for 
Did you mean: 

SQL Output in BLS is not handling Foreign Language Chars in MII 14.0

Former Member
0 Kudos

I am attempting to generate an output out of a SQLQuery in a BLS and it is not not able to generate foreign characters in the output.  These are the steps that I took.  I created a SQLQuery and was able to succefully output the results but when i tried to get the same output when accessing the SQL form a bls, i did not get the correct data.  To perform another test, i set the the words with foreign chracters as a transaction property and creatd my own XML and there was no issue.  This issue only started occuring in 14.0.  Why would i be getting a different SQLQuery output in 14.0 vs 12.2?

Below are some examples.

Thanks,

George

THis is the results i got when running the SQL Query stand alone.

   

This is the results i got when running the SQL Query from the bls.

This is the results i got when I set the word as a transaction property and created my own XML.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi George,

This seems to be a bug. It does not only happen in SQL Query, it happens for any query used inside a BLS Transaction.

This is how I came to know.

1. Created a tag in Simulator with text "États-Unis"

2. Created a tag query current and pointed to this tag.

3. Run the query template stand alone , it works fine.

4. put the same query in a BLS and print the output, the text changes as "États-Unis"

Note, if I create a local variable with value as "États-Unis" and print the BLS output with this variable , it returns me correct text. So I believe that it is a bug in MII 14.0 Query Action Block. Something to do with character encoding.

You may consider upgrading to the newest SP/Patch or raising a OSS ticket.

Update:

I tested the same scenario in MII 14.0 SP04 server. The BLS returns the texts properly.


[INFO] [Tracer_1]<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<Rowsets CachedTime="" DateCreated="2014-01-08T02:01:11" EndDate="2014-01-08T02:01:11" StartDate="2014-01-08T01:01:11" Version="14.0 SP4 Patch 0 (Nov 22, 2013)">

    <Rowset>

        <Columns>

            <Column Description="DateTime" MaxRange="1" MinRange="0" Name="DateTime" SQLDataType="93" SourceColumn="DateTime"/>

            <Column Description="Tag_French" MaxRange="0" MinRange="0" Name="Tag_French" SQLDataType="1" SourceColumn="Tag_French"/>

        </Columns>

        <Row>

            <DateTime>2014-01-08T02:01:11</DateTime>

            <Tag_French>États-Unis</Tag_French>

        </Row>

    </Rowset>

</Rowsets>

So , you could consider upgrading to SP04.

Regards

Tufale Ashai.

Message was edited by: Tufale Ashai

Former Member
0 Kudos

Indeed I'm using sp04 of 14.0.

Regards.  Arnaud

Answers (4)

Answers (4)

jcgood25
Active Contributor
0 Kudos

Hi George,

Unfortunately no elegant workarounds comes to mind, especially if the issue is truly nested inside the TRX engine when processing any query results in the logic.  One remote possibility would be to use an XMLLoader action in place of the SQLQuery action that calls /XMII/Illuminator?QueryTemplate=xxx/yyy&Param.1=xxx&Content-Type-text/xml but I have no idea how pervasive this issue would be in your apps (or how many specific parameters you need in the request).

If the issue can be determined as a correction in a release newer than your current build, then it might also be a needful step to consider SP04 or perhaps a patch closer to your current install (I don't think I saw your specific build level mentioned).

Best Regards,

Jeremy Good

SAP Rapid Innovation Group - RIG

Former Member
0 Kudos

Thanks for the quick reponces.

We are not using the MII delivered localization, we have built our own custom table that we query.  I'm still trying to understand why a SQL query ran standalone returns the correct results, while the same SQL in a BLS does not handle the special characters?  (I forgot to mention we are using Oracle)

Below is another example:

Here is the SQL running standalone.  Its is just a simple Fixed Query.

Here is the same SQL ran within a BLS that i repeated on:

Thanks,

George Matos

Former Member
0 Kudos

Hi George, with no guaranties that it will work, but for SAP ME we have to use a specific JDBC driver to connect SAP ME:

From installation guide:

"If you use Oracle for your SAP ME databases, you have downloaded ojdbc6.jar from http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html."

Are you using this one?

Also, what type of Data Server are you using? are you using a Netweaver Data Source or IDBC?

Hope it helps,

Arnaud

Former Member
0 Kudos

Hi George,

Since you are querying the Localization table, I would think most probably that the error is coming from there. There used to be some code page errors while inserting the records in the table.

In order to check that, you can use the following query in a SQL Fixed Query:

SELECT N'Description évènement'

this should return you the rights result, which shows that SQL Output is handling Foreign languages.

Above is the result from MII 14.0 SP04

To fix it, you can try to export an re-import the localization parameters either from the project or from the configuration import/export of MII.

Hope it helps,

Arnaud

former_member204240
Active Participant
0 Kudos

May be you need to set the language in System Administration of MII page.

Check below link , Hope it helps.