Jdbc adapter table's name in chinese

hi everyone:
I have configured the 'JDBC-XI-RFC' secnario, my trouble is that both the name of database table and table's fields are chinese, so the JDBC adapter can not get the datas from the DB table.
Any good idears? except changing the table' name in english.
B/R
amanda

hi,Bhaumik
  Thank you for your answer.
  Now the JDBC Adapter can select the data from DB table in chinese, but i think the mapping is impossible to be completed,because it's impossible to define the field name in chinese in data types.
  As what you said,develop adapter in java,i think it is difficult for me.
  thanks a lot.
  Amanda

Similar Messages

  • JDBC Adapter-XML Document Name

    I am working on XI 2.0 and need to change the XML document name I am receiving from an inbound JDBC adapter.  The document I am receiving is:
    <resultset>
      <row>
        <col1>ABC</col1>
        <col2>123</col2>
      </row>
    </resultset>
    I want to receive:
    <MyDocumentName>
      <row>
        <col1>ABC</col1>
        <col2>123</col2>
      </row>
    </MyDocumentName>
    Does anyone know how to override the default "resultset" name from the JDBC adapter???  The reason I need to do this is because my message mapping does not work properly unless I have the Message type of the message from my JDBC adapter as "resultset". 
    Thanks for your help!
    Dan Pettingill

    (Note: I work with Dan Pettingill, the starter of this thread)
    I decompiled the class Renato suggested, but I don't
    think that's going to be the solution.  The DB2XMBProcesser is dependent on XI properly setting the properties values for the jdbc adapter.  DB2XMBProcesser will use a property named "db.documentname" to set the name of the root node of the DB2 results. If no such property is defined, the default value of resultSet is used.
    [documentName = getParaWithDefault("db.documentName", "resultset");]
    Our problem seems to be that XI is not passing along the parameters we define in the adapter configuration.  We've tried numerous combinations and names, but they never take. 
    The only way we can get XI to recognize that we are sending in a documentName parm is to call it "docName".  Any other name is essentially ignored (including db.documentname, documentname, XMB.docName, and a lot of other permutations as well).
    But here is the log from that adapter when we do so.  Not that it sees the value we're setting, but it won't set the documentname parm going to the jdbc.
    2004-08-31 17:33:45 : jdbcListener
    Raw configuration data ***
    Transport protocol: JDBC, version
    Message protocol: JDBC, version
    pollInterval|301
    additionalParameters|true
    jdbcDriver|com.ibm.db2.jcc.DB2Driver
    retryInterval|null
    dbpassword|***
    queryStatement|SELECT * FROM RBPRDB.T1256;
    queueName|null
    autoCommit|false
    updateStatement|Delete from RBPRDB.T1256 Where GUID Is Not Null;
    dbdisconnect|false
    dbuser|r50445
    adapterStatus|active
    isolationLevel|2
    addParameterParams|*** TABLE , 2 ROWS DEFINED ***
    addParameterParams|addParameterParams$0$addParameterParamName$docNamespace
    addParameterParams|addParameterParams$0$addParameterParamValue$urn:freescale.com
    /xi/db2-ims/wms
    addParameterParams|addParameterParams$1$addParameterParamName$docName
    addParameterParams|addParameterParams$1$addParameterParamValue$SelectAckQueue
    pollIntervalMsecs|null
    execute|null
    connectionURL|jdbc:db2://WACCTSO.sps.mot.com:9003/WACCDB2T
    qualityOfService|EO
    Used configuration data ***
    'MessageProtocol': 'JDBC'
    'adapterStatus': 'active'
    'addParameterParams.dbEncoding': ''
    'addParameterParams.docName': 'SelectAckQueue'
    'addParameterParams.docNamespace': 'urn:freescale.com/xi/db2-ims/wms'
    'addParameterParams.docNamespaceScope': 'root'
    'additionalParameters': 'true'
    'autoCommit': 'false'
    'connectionURL': 'jdbc:db2://WACCTSO.sps.mot.com:9003/WACCDB2T'
    'dbdisconnect': 'false'
    'dbencoding': ''
    'dbpassword': '***'
    'dbuser': 'r50445'
    'documentname': 'resultset'
    'documentnamespace': ''
    'execute': ''
    'isolationLevel': '2'
    'jdbcDriver': 'com.ibm.db2.jcc.DB2Driver'
    'pollInterval': '301'
    'pollIntervalMsecs': '0'
    'qualityOfService': 'EO'
    'queryStatement': 'SELECT * FROM RBPRDB.T1256;'
    'retryInterval': '301'
    'updateStatement': 'Delete from RBPRDB.T1256 Where GUID Is Not Null;'
    OK - initialized

  • JDBC adapter table update Behaviour in PI

    Hello Experts ,
    I have Proxy to JDBC scenario ,please let know is there possible way to insert more than one line diff item for the same record ??
    Could you please explain the behavior of JDBC adapter.
    For Instance :
    Expected Behavior:
    Po number1 , item1 . ( first level of execution )
    Po number1 ,  item2. (second level of execution )
    Actual Behavior :
    Po number1 ,  item2. (second level of execution )
    In my scenario it is updating only the recent value , could you please suggest me .
    Regards
    Raja

    Hi ,
    Hope you are doing as below in mapping.
    Open insert statement twice and don't use PO Number as key field value .
    Ex:
    case1:
    Insert into tablename(ponumber,item)  values(123,'xyz') ;
    Insert into tablename(ponumber,item)  values(123,'rtz') ;
    O/P:two records gets inserted
    123  xyz
    123 rtz
    case2:
    Insert into tablename(ponumber,item)  values(123,'xyz') where ponumber =123 ;
    Insert into tablename(ponumber,item)  values(123,'rtz') where ponumber =123 ;
    O/P:2nd record overwrites the 1st record
    123 rtz
    Regards
    Venkat

  • Table name in Receiver JDBC Adapter

    Hi All,
    I am using receiver JDBC adapter.
    But table name consist of " like BPC."#II" .
    After mapping table name becomes BPC.&quot;#II&quot; .
    I am getting error while pulling data from DB.
    Is the table name creating a problem.
    Please remedy of this if you have come across such scenario.
    Regards
    Piyush

    Hi Piyush,
    All that i could get from the SAP Help regarding JDBC Adapters are these links where i never found anything much regarding the table name.anyways just go through these links and see if you find anything useful.
    http://help.sap.com/bp_bpmv130/Documentation/Planning/XIUnicodeGuide030411.pdf
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/b0/676b3c255b1475e10000000a114084/content.htm">Configuring the Receiver JDBC Adapter</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0/content.htm">Mapping Lookups</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/22/b4d13b633f7748b4d34f3191529946/content.htm">JDBC Adapter</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm">Configuring the Receiver JDBC Adapter - part 2</a>
    This is all i got from the help files, anyways you can also go through those links and see if you find anything else useful.
    - Escape Symbol for Apostrophe
    The apostrophe character (‘) is a reserved character in SQL syntax and is therefore replaced by an escape character if it occurs within value strings. This replacement character can be database-specific. Typical replacement characters are \’ or ’’(default value). If a character occurs that is invalid for the database being used, the adapter triggers an error message (an SQL exception) concerning the SQL syntax that is generated by the database.
    - Column Name Delimiter
    Depending on the database being used, column names can be enclosed by a special delimiter character, for example, if the names can contain special characters (such as ”). This character can be specified at this point. The default setting is no delimiter character. If a character occurs that i
    Also check if there are notes in the service market place related to the same.
    Regards,
    abhy
    Message was edited by: Abhy Thomas

  • How to handle BLOB field in receiver JDBC adapter into ABAP table

    Dear Experts,
    I am working in a synchronous scenario with Sender ABAP Proxy to Oracle Database as receiver via SAP PO 7.4.I will be calling a stored procedure view with fields ID, NAME,Age,*** and BLOB (Image binary).
    1. The response from Oracle Database field BLOB is to be stored in ABAP table.Would I have to write any JAVA program to read the BLOB or the receiver JDBC adapter will handle it and store in a table by using ABAP proxy once it reaches ECC.
    2. If yes, would the JAVA program have to deal with other 4 fields.
    3. Can I use a UDF mapping to this BLOB field.
    Regards
    Rebecca...

    Dear Praveen,
    Thanks for your response...
    Please correct me if I am wrong.
    1. For 1-1 response mapping for BLOB field, I will use just use the below UDF code.
    public static byte[] hexStringToByteArray(String s) { 
                int len = s.length(); 
                byte[] data = new byte[len / 2]; 
                for (int i = 0; i < len; i += 2) { 
                            data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) 
                                                                                         + Character.digit(s.charAt(i+1), 16)); 
                return data; 
    2. ===Using the byte data, create binary attachment in mapping for abap proxy response===
    Could you please share how to create the binary attachment.. I am not clear
    Regards...

  • In reciever jdbc adapter config sending data to multiple tables

    Hi Masters,
          Can u help me with examples step by step procedure of sending data to multiple tables in reciever jdbc adapter .. configuration....
    thanks in advance,
    jp.

    Hi,
    My understanding is you are  trying to use one scenario for ex a file to jdbc and want to post data into multiple tables.
    If you are using Message Prortocol XML SQL format then once you define the data type for one structure then juz right click on the statement name and select Duplicate. This will create another statement in the same data type change the table name and the parameters in the duplicates strucutre.
    <b>Document Formats for the Receiver JDBC Adapter</b>
    http://help.sap.com/saphelp_nw70/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    All the other configurations are same simple file to jdbc scenario.
    Cheers,
    *RAJ*

  • Invalid column name error in JDBC adapter

    Hi all,
    My scenario is Proxy->XI->JDBC.
    I get the following error in receiver JDBC  adapter.
    Unable to execute statement for table or stored procedure. 'Account_Master' (Structure 'STATEMENT') due to com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'A7'.
    There is no column by name A7 in the table nor there is a field by that name in the data type.
    Can anyone provide any help

    Hi Swatantra,
    compare your message-type with the database table!
    There must be difference!
    Regards Mario

  • JDBC adapter to SAP: select & join from multiple tables ???

    Hello,
    I have a task to get an aggregating information from two tables and send it into SAP.
    I use XI JDBC sender adapter to access to MSSQL DB.
    I know how to construct SQL quiery:
    (something like that)
    SELECT  table1.Date  SUM(table1.sum) from table1
    INNER JOIN table2
    ON table1.Number = table2.Number
    But I don't understand how to construct  Data Type for this complex select operator?
    How does it look like?
    Where to store and how to map the selected data?
    Please give me an example or an advice.
    Thank You.

    Hi,
    Use your structure like this.
    <StatementName4>
    <dbTableName action=”SELECT”>
    <table>realDbTableName</table>
    <access>
    <col1/>
    <col2/>
    <col3/>
    </access>
    <key1>
    <col2>val2old</col2>
    <col4>val4</col4>
    </key1>
    <key2>
    <col2>val2old2</col2>
    </key2>
    </dbTableName>
    </StatementName4>
    action=SELECT
    Statements with this action cause existing table values to be selected. Therefore, the statement corresponds to an SQL SELECT statement.
    The <access> block contains the column names to be selected, a <key> element contains the columns whose values must be identical with the specified value to get the new column values. The name of the <key> element is arbitrary. Column values within a <key> element are combined with a logical AND; different <key> elements are combined with a logical OR.
    A statement with the action SELECT must have exactly one <access> element. The number of <key> elements with arbitrary names is not restricted.
    The corresponding SQL statement for StatementName4 in the example above is as follows:
    SELECT col1,col2,col3 FROM dbTableName WHERE ((col2=’val2old’ AND col4=’val4’) OR (col2=’val2old2’))
    If there is no <key> element, or if there is a <key> element but it is empty, then no condition is specified and the entire table is to be selected. This may not be permitted by the configuration of the JDBC adapter for security reasons and will therefore result in an error during message processing and an appropriate error message.
    The response document contains the result of the action in XML format as follows:
    <row>
    <column1>value11</column1>
    <column2>value12</column2>
    </row>
    <row>
    <column1>valueN1</column1>
    <column2>valueN2</column2>
    </row>
    This will help you.
    regards
    Aashish Sinha
    PS : reward points if helpful

  • Updating multpile tables and multiple rows - JDBC adapter

    Hi,
    The scenario is like this. i receive an Idoc which has header information and various line items (multiple occurrance of a segment). the hearder details have to be sent to one table, TableA, and all line items has to go to another table, TableB, and for each line item, a new row has to be inserted in TableB.
    How can i acheive this using JDBC adapter? how should my data type look like? what are the settings i need to do in adapter config?
    Thanks and Regards,
    Rashmi

    Hi Rashmi,
    You can use the following link for the JDBC adapter call :
    http://help.sap.com/saphelp_nw04/helpdata/en/ae/d03341771b4c0de10000000a1550b0/frameset.htm
    You need to provide the JDBC Driver, Connection,User Name and the password.
    The data type structure you can take from the Bhavesh blog:
    JDBC Receiver Adapter -- Synchronous Select – Step by Step
    Since you just need to update the tables, take only the sender side of the blog, i.e. the request part and configure the scenario accordingly.
    Regards,
    Sanjeev.

  • Two queries on same table in sender JDBC adapter

    Hi all..
    My requirement is as follows....
    query a table and fetch rows where column Error="true"
    If there are no records in the table satisfying the above condition ,i want to send a mail stating  that there are not records with error flag set to "true"
    But the problem is i wont get a message to PI if there are no records.
    If i write a query to get the count of records where column Error="true",Obviously the count would be zero. Using this message from database i can send a mail.
    Now please let me know if i can write both the queries in query SQL statement? if so howshould be the source structure?
    Thanks
    Ram..

    Hello ram,
                     As far as i know it is not possible to use two different SQL statements in the sender adapter, though you can try with the join statement.
    For further information refer this discussion
    [Multiple Select Possible?|How to call multiple SQL using the JDBC adapter;
    Regards,
    Prasanna

  • Populating SAP Database table using JDBC adapter

    Hi Folks,
        I have a requirement to populate a SAP database table say ZTABLE using XI. The Model is the table has to be populated through a file which will be processed by SAP XI. Basically this is a File to JDBC scenario. The database used is ORACLE. Kindly provide me some idea to go ahead.

    I tried to place the MS access table in the shared folder of the Application server system but still it seems the table is not being populated.
    did you check the log in your receiver channel? (/people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn)
    The requirement is to update the tables directly as those are the custom tables.
    i would still say that do not update SAP tables directly from XI/ PI.....this is not a standard architecture/ solution....

  • Inserting Multiple Rows into Database Table using JDBC Adapter - Efficiency

    I need to insert multiple rows into a database table using the JDBC adapter (receiver).
    I understand the traditional way of repeating the statement multiple times, each having its <access> element. However, I am just wondering whether this might be performance-inefficient, as it might insert records one by one.
    Is there a way to ensure that the records are inserted into the table as a block, rather than record-by-record?

    Hi Bhavesh/Kanwaljit,
    If we have multiple ACCESS tags then what happens is that the connection to the database is made only once. But the data is inserted row by row.
    Why i am saying this?
    If we add the following in JDBC Adapter..logSQLStatement = true. Then incase of multiple inserts we can see that there are multiple
    <i>Insert into tablename(EMP_NAME,EMP_ID) VALUES('J','1000')
    Insert into tablename(EMP_NAME,EMP_ID) VALUES('J','2000')</i>
    Doesnt this mean that rows are inserted one by one?
    Correct me if i am wrong.
    This does not mean that the transaction is not guaranted. Either all the rows will be inserted or rolled back.
    Regards,
    Sumit

  • JDBC Adapter Queue Name

    I am trying to use EOIO in Sender JDBC Adapter. How are Queue Names Admnistered? Or how are the queues maintained?
    Any help appreciated.
    Regards
    Mike

    Hi,
    You can give any names for the Queues in the sender adapter for EOIO.
    This you can not see, in the SMQ2 until it is not stuck. Totally it will add the given name with XBQ*
    Related blog-
    /people/sap.india5/blog/2006/01/03/xi-asynchronous-message-processing-understanding-xi-queues-part-i
    For more~
    http://help.sap.com/saphelp_nw2004s/helpdata/en/7b/94553b4d53273de10000000a114084/content.htm
    Regards,
    Moorthy

  • JDBC Adapter Call a Table-Valued Function

    Hello to all,
    we're using the JDBC adapter to access a MS SQL-Server 2008.
    I have to call a "Table-Valued Function" via JDBC.
    Has anybody done this?
    I've tried to call it like a stored procedure with the following:
    <ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyz.de/pi/mav/kantine">
         <fLGBuchungenSAP>
              <Tablename action="execute">
                   <table>dbo.fLGBuchungenSAP</table>
              </Tablename>
         </fLGBuchungenSAP>
    </ns1:LGBuchungSAP_REQ>
    but I get following error:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser:
    Error when executing statement for table/stored proc. 'dbo.fLGBuchungenSAP' (structure 'fLGBuchungenSAP'): com.microsoft.sqlserver.jdbc.SQLServerException:
    Fehler bei der Anforderung für 'fLGBuchungenSAP' (Prozedur), weil 'fLGBuchungenSAP' ein Tabellenwertfunktion-Objekt ist.
    Calling with a select-statement also fails:
    <ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyz.de/pi/mav/kantine">
         <STATEMENT_NAME>
              <Tablename action="SELECT">
                   <table>dbo.fLGBuchungenSAP(&apos;20101101 00:00:00&apos;, &apos;20110101 00:00:00&apos;)</table>
              </Tablename>
         </STATEMENT_NAME>
    </ns1:LGBuchungSAP_REQ>
    with error:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!-- Eingangs-Message -->
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
         <SAP:Category>XIAdapterFramework</SAP:Category>
         <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
         <SAP:P1></SAP:P1>
         <SAP:P2></SAP:P2>
         <SAP:P3></SAP:P3>
         <SAP:P4></SAP:P4>
         <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'dbo.fLGBuchungenSAP('20101101 00:00:00', '20110101 00:00:00')' (structure 'STATEMENT_NAME'): java.lang.IndexOutOfBoundsException: Index: 4, Size: 4</SAP:AdditionalText>
         <SAP:Stack></SAP:Stack>
         <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    Please advice
    Regards
    Christian

    Hello to all,
    I solved the problem.
    You have to call it this way:
    <ns1:LGBuchungSAP_REQ xmlns:ns1="http://xyzde/pi/mav/kantine">
         <STATEMENT>
              <LGBuchungSAP action="SQL_DML">
                   <access>select * from dbo.fLGBuchungenSAP(&apos;$DatumVon$&apos;, &apos;$DatumBis$&apos;)</access>
                   <key>
                        <DatumVon>20101101 00:00:00</DatumVon>
                        <DatumBis>20110101 00:00:00</DatumBis>
                   </key>
              </LGBuchungSAP>
         </STATEMENT>
    </ns1:LGBuchungSAP_REQ>
    But I get the next error: "A result set was generated for the update task"
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
         <SAP:Category>XIAdapterFramework</SAP:Category>
         <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
         <SAP:P1></SAP:P1>
         <SAP:P2></SAP:P2>
         <SAP:P3></SAP:P3>
         <SAP:P4></SAP:P4>
         <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LGBuchungSAP' (structure 'STATEMENT'): com.microsoft.sqlserver.jdbc.SQLServerException: Es wurde ein Resultset für den Aktualisierungsvorgang generiert.</SAP:AdditionalText>
         <SAP:Stack></SAP:Stack>
         <SAP:Retry>M</SAP:Retry>
    </SAP:Error>

  • Multiple table insert using receiver jdbc adapter

    Hi,
    I am trying to insert data in to two tables in a single structure using receiver jdbc adapter. I am not using any stored procedure to insert data instead directly inserting the data using PI. Please see the structure I am using.
    SOURCE side:
    DT_ABC_SENDER
    --IT_HEADER_TEXT
      -- EBELN
      -- LINENO
      --TDTEXT
    --IT_ITEM_TEXT
      -- EBELN
      -- LINENO
      --TDLINE
    TARGET side:
    DT_ABC_RECEIVER
    --InsertStatement
         --HEADER_TEXT
                -- action                         (insert)
                -- Table                          (Table 1)
                --access
                     -- IDS_ENQ_NO
                     -- IDS_DESC
                     -- IDS_TEXT
       --ITEM_TEXT
                -- action                         (insert)
                -- Table                          (Table 2)
                --access
                     -- IIS_ENQ_NO
                     -- IIS_DESC
                     -- IIS_TEXT
    Using the above structure I am able to successfully insert the data in Table 1 but data is not getting inserted in Table 2.
    In sxmb_moni it is saying message successfully delivered but I but there is data insertion took place in Table 2.
    Please help me urgently.
    Thanks in advance.
    Neeeraj

    Hi Neeraj,
    Add --InsertStatement statement for the second table structure in the same level of first InsertStatement.
    Target structure like this:
    DT_ABC_RECEIVER
    --InsertStatement
         --HEADER_TEXT
                -- action                         (insert)
                -- Table                          (Table 1)
                --access
                     -- IDS_ENQ_NO
                     -- IDS_DESC
                     -- IDS_TEXT
    --InsertStatement
       --ITEM_TEXT
                -- action                         (insert)
                -- Table                          (Table 2)
                --access
                     -- IIS_ENQ_NO
                     -- IIS_DESC
                     -- IIS_TEXT

Maybe you are looking for

  • Ipod Classic 120GB won't sync properly

    My ipod was working perfectly normally. I connect the ipod to my computer normally, itunes recognises I have an ipod connected but a window appears saying "itunes has detected an ipod in recovery mode. You must restore this ipod before it can be used

  • Mplayer won't play video

    When I try to play a movie with mplayer I get this: $ /usr/bin/mplayer grudge_max.mov MPlayer 1.0pre6-3.4.3 (C) 2000-2004 MPlayer Team CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6, Stepping: 0) Detected cache-line size is 64 bytes

  • TS3772 need to download itunes 10.5.3 64bit OS Win7

    Current version of iTunes apperently will not allow music videos to play after upgrading to current version of itunes 10.6.x, looking to re-install earlier version to see if this is fix.  Quicktime verson is Pro 7.x-lic.  Any help as to where to re-d

  • Slow PDF printing after upgrading to Acrobat 6 - Help Needed

    When I used Acrobat 5, my 95ppm printer printed pdf files at that speed (I generally throw several thousand page PDF docs at it at a time).  Now since I upgraded to Acrobat 6, printing is MUCH slower.  Nothing has changed other than the version of Ac

  • Does CS5 have tools for creating websites for mobile devices?

    Does DW CS5 have any built in tools for creating web pages for mobile devices, iPads, iPhones, etc? Thanks.