JDBC Reciever Encoding
Hi
my scenario is FILE -> XI -> JDBC
Im using content conversion to convert the file from flat to xml
the encoding is UTF-8 , I want to change it to ISO-8859-8
because the hebrew letters is changed to question marks
any ideas?
thx,Shai
Hey
have a look at the following.
Urgent : Change Encoding type?
Re: Change encoding from utf-8 to iso-8859-1 in JMS receiver!
u have to use XSLT mapping to change the encoding
Or if u just want to read the Hebrew characters then i guess the better idea would be use Text as File Type and ISO-8859-1 as encoding in sender communication channel
thanx
ahmad
Message was edited by:
Ahmad
Similar Messages
-
hi,
My scenario is rfc to jdbc.Reciever shows the follwing error.
Error while parsing or executing XML-SQL document: Error processing request in sax parser: Error when executing statement for table/stored proc. 'TBLTSEMPLOYEES_INTRA' (structure 'StatementName'): java.sql.SQLException: FATAL ERROR document format in structure 'StatementName': expected 'access' tag(s) not found.
Pls help me.Hi,
This is your structure.
<?xml version="1.0" encoding="UTF-8"?>
<ns1:mes_emp_info xmlns:ns1="http://saphrandhrmas.com">
<StatementName>
<TBLTSEMPLOYEES_INTRA action="INSERT">
<access>
<EMPID>
</EMPID>
<REASON>
</REASON>
<CATEGORY>
</CATEGORY>
</EMP</access>
</TBLTSEMPLOYEES_INTRA>
</StatementName>
</ns1:mes_emp_info>
<?xml version="1.0" encoding="UTF-8"?>
<ns1:mes_emp_info xmlns:ns1="http://saphrandhrmas.com">
<StatementName>
<TBLTSEMPLOYEES_INTRA action="INSERT">
<access>
<EMPID></EMPID>
<REASON></REASON>
<CATEGORY></CATEGORY>
<EMP></EMP>
</access>
</TBLTSEMPLOYEES_INTRA>
</StatementName>
</ns1:mes_emp_info>
you are missing the tag <EMP> .
Also put some values in the parameters,
like,
<?xml version="1.0" encoding="UTF-8"?>
<ns1:mes_emp_info xmlns:ns1="http://saphrandhrmas.com">
<StatementName>
<TBLTSEMPLOYEES_INTRA action="INSERT">
<access>
<EMPID>001</EMPID>
<REASON>xyz</REASON>
<CATEGORY>abc</CATEGORY>
<EMP>abcdef</EMP>
</access>
</TBLTSEMPLOYEES_INTRA>
</StatementName>
</ns1:mes_emp_info>
The resultant query will be,
insert into TBLTSEMPLOYEES_INTRA values('001','xyz','abc','abcdef')
Assuming all the fields are String type.
Urs,
Soorya. -
ERROR IN ORACLE STORED PROCEDURE in JDBC RECIEVER
Hi all
i have an FILE2JDBC2FILE sync scenario.have configured this w/o BPM.i need to call an stored procedure which will return me the output in the outpur parameters.input out put parametrs of the stored procedure are.
p_api_version IN NUMBER
,p_init_msg_list IN NUMBER DEFAULT EBS_ECOM_UTILS_PUB.G_TRUE
,p_ebs_place_in_t IN p_ebs_place_in_t(sql TABLE TYPE )
,p_ebs_std_call_o IN ebs_std_call_oty(sql TABLE TYPE )
,x_return_status OUT VARCHAR2
,x_msg_count OUT NUMBER
,x_msg_data OUT ebs_message_tty
,x_row_count OUT NUMBER
,x_ebs_place_out_t OUT ebs_place_out_toty(sql TABLE TYPE );
where
p_ebs_place_in_t is of type p_ebs_place_in_t which has 2 fields MDM_SYSTEM_REF,EMAIL_ADDR and START_DATE
p_ebs_std_call_o is of table type ebs_std_call_oty which has 2 fields WORK_GRP_ID and DEBUG_MODE
In XI i am passing the arguments in the following fashion to ORACLE (JDBC reciever adapter)
<p_api_version isInput="true" type="integer">1</p_api_version>
<p_init_msg_list isInput="true" type="integer">1</p_init_msg_list>
<p_ebs_place_in_t isInput="true" type="CHAR">
<MDM_SYSTEM_REF isInput="true" type="CHAR">MDM-237</MDM_SYSTEM_REF>( this is a field in p_ebs_place_in_t )
<EMAIL_ADDR isInput="true" type="CHAR"></EMAIL_ADDR>>(this is a field in p_ebs_place_in_t )
<START_DATE isInput="true" type="date"/>06-OCT-2009 00:00:00</START_DATE>>(this is a field in p_ebs_place_in_t )
</p_ebs_place_in_t>
<p_ebs_std_call_o isInput="true" type="CHAR">
<WORK_GRP_ID isInput="true" type="integer">95714</WORK_GRP_ID>
<DEBUG_MODE isInput="true" type="integer">5</DEBUG_MODE>
</p_ebs_std_call_o>
<x_return_status isOutput="true" type="CHAR"></x_return_status>
<x_msg_count isOutput="true" type="integer"></x_msg_count>
<x_msg_data isOutput="true" type="CHAR"></x_msg_data>
<x_row_count isOutput="true" type="integer"></x_row_count>
<x_ebs_place_out_t isOutput="true" type="CHAR">
</x_ebs_place_out_t>
i am gettng the below error when i am trying to post th message from RWB
Error when executing statement for table/stored proc. 'APPS.EBS_CUSTOMER_SERVICE_PUB.MAINTAIN_PLACE' (structure 'StatementName1'): java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'MAINTAIN_PLACE' ORA-06550: line 1, column 7: PL/SQL: Statement ignored .
please suggest..
Edited by: Rohan Patil on Jun 13, 2010 12:55 AMHI Praveen,
thanks for your reply.
my stored procedure has input and output parameters both.
and in XI i have created the data type for both isInput(passedwith all the required values) and isOutput(passed the null values)
is this correct..?or should i take only isInput parameters in the data type?
do i need to take the isOutput also in the datatype?my stored procedure will return the output in the output parametrs.
can i take only 1 or 2 output paraetrs as there are 4 to 5 output parameters for my sotred procedure.?
and how will my response data type to send the output of the stored procedure to the FILE sustem.should it be also in the statement form?
and also would like to know..some of my isInput parameters to the stored procedure has the table type structure as the input parameters.now my question is i should i declare them in my data type?
can you please elaborate. -
Insert query in JDBC Reciever adapter!!!
Hi All,
We have an interface in which we are inserting data in Oracle server using JDBC Reciever Adapter.
The interface ends up in error on adapter engine level whenever the we are sending long data in one of the field of target structure. The error which we get in communication channel monitoring is that "String too long", on googling i found that in oracle they solve such problem by making the field data type as CLOB.
Thus can we define target structure field of CLOB type so that while inserting the data in Oracle server we never face the issue of this long string.
Thanks>
Arpit Seth wrote:
> Hi All,
>
> We have an interface in which we are inserting data in Oracle server using JDBC Reciever Adapter.
> The interface ends up in error on adapter engine level whenever the we are sending long data in one of the field of target structure. The error which we get in communication channel monitoring is that "String too long", on googling i found that in oracle they solve such problem by making the field data type as CLOB.
>
> Thus can we define target structure field of CLOB type so that while inserting the data in Oracle server we never face the issue of this long string.
>
> Thanks
if the field contains very large data then yes, defining the target field in Oracle as a CLOB will solve your issue.
http://www.herongyang.com/jdbc/MySQL-CLOB-Overview.html -
JDBC RECIEVER ADAPTER Configuration
Hi,
i'm doing one scenario.I'm sending sap data to Oracle 9i database.Pls give reciever jdbc structure.which structure i follws for oracle 9i.Pls this is urgent.Pls help me.
Thanks
RaviHi Ravi ,
Please show us the input file format which you are trying to store in the Oracle DB.
The format should look like any of these statement formats,
<root>
<StatementName1>
<dbTableName action=u201DUPDATEu201D | u201CUPDATE_INSERTu201D>
<table>realDbTableName</table>
<access>
<col1>val1</col1>
<col2>val2new</col2>
</access>
<key1>
<col2>val2old</col2>
<col4>val4</col4>
</key1>
<key2>
<col2>val2old2</col2>
</key2>
</dbTableName>
</StatementName1>
<StatementName2>
<dbTableName action=u201DINSERTu201D>
<table>realDbTableName</table>
<access>
<col1>val1</col1>
<col2>val2</col2>
</access>
<access>
<col1>val11</col1>
</access>
</dbTableName>
</StatementName2>
<StatementName3>
<dbTableName action=u201DDELETEu201D>
<key1>
<col2>val2old</col2>
<col4>val4</col4>
</key1>
<key2>
<col2>val2old2</col2>
</key2>
</dbTableName>
</StatementName3>
<StatementName4>
<dbTableName action=u201DSELECTu201D>
<table>realDbTableName</table>
<access>
<col1/>
<col2/>
<col3/>
</access>
<key1>
<col2>val2old</col2>
<col4>val4</col4>
</key1>
<key2>
<col2>val2old2</col2>
</key2>
</dbTableName>
</StatementName4>
<StatementName5>
<storedProcedureName action=u201D EXECUTEu201D>
<table>realStoredProcedureeName</table>
<param1 [isInput=u201Dtrueu201D] [isOutput=true] type=SQLDatatype>val1</param1>
</storedProcedureName >
</StatementName5>
<StatementName6>
<anyName action=u201D SQL_QUERYu201D | u201CSQL_DMLu201D>
<access>SQL-String with optional placeholder(s)</access>
<key>
<placeholder1>value1</placeholder1>
<placeholder2>value2<placeholder2>
</key>
</anyName >
</StatementName6>
</root>
Check this once and correct yourself.
Or please give us the sample format which you are configuring.
Urs,
Soorya -
Integration Gateway - JDBC - Character Encoding Issue
Hello,
I'm using SMP 3.0 SP06 and I'm getting data from MS SQL using JDBC interface and I can get all data successfully.
The problem is:
there is a column in database contain "Arabic" data "right-to-left" language.
and when executing the OData service, for example, if the data in arabic is "هذه للتجربة" it is getting to me "هذه للتجربة"
I think this is the same data but in a different encoding/decoding.
Do you have any idea ?
Thanks
HossamBy the way, I have checked it again it is working fine when requesting data in XML format "default"
The problem occurs only when requesting the service with format parameter "?$format=json"
and it is even working fine when calling it from "Advanced REST client"
so I think it is just a problem in the browser while displaying the data, specially chrome as it is working fine with IE, as chrome is displaying json files as plain text without any formatting or decoding, but IE is saving the file on PC and if I tried to open it by notepad++ I find data correctly decoded.
It seems it is not an SMP nor Integration gateway issue, sorry for confusing -
JDBC reciever for SQL??
Hi everyone,
I have configured a scenario RFC-> XI -> JDBC to update the SQL database.
Everything is fine, channels r working good. But am not able to update SQL database.
When i thorougly checked the communication channel, the status for JDBC adapter is green but there is no LOG.. (No data).
Can anyone help me in this???
regards,
Vijay VikramDear Vijay,
please share the xml after technical routing .
Are you using correct key combination for update records.......?
Is it update or update/insert...?
thanks and regards,
Anup Banerjee -
Persistence under Exactly-Once Handling in JDBC Reciever Adapter
Hi,
Can any one explain me significance of persistance (Local or Database) in JDBC Receiver Adapter.
Please provide me document if anyone has?
Thanks,
ABDURhi,
both types are described here with many details:
http://help.sap.com/saphelp_nwpi71/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
under : Defining Exactly-Once Handling
do you need anything more ?
Regards,
michal Krawczyk -
JDBC Reciever issue with Place Holders
Hi,
I am working with Idoc to JDBC scenario.
Where the table field names contains $ value in it.
Example: T$value1, T$value2,T$valuse3 and ... so on.
The special characters would not be accepted in datatype elements in XI.
I found some details working on this, Which require the SQL statements. Can any of you let me know the SQL statements for the below contest given in help.sap.com for JDBC receiver.
block can be omitted or left empty. In both cases, you must not select the Key Tags Mandatory field in the configuration, as this will cause runtime errors.Hey Manoj,
I was working with a scenario where a single quot was converted to &apos during mapping as this was a special character in xml string. But when i completed the scenario with jdbc receiver it worked successfully.
So in your case, can you please try and finish of the scenario and see if there is an error or not??
Also i saw this in the SAP docuumentation. This mite of of help 2 u...
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 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. -
Insert + Delete in JDBC Reciever/ SOAP Reciever..
Hi,
I have a requirement where I need to send date from SAP to multiple recivers ( DB+ Webservice).
Now based on a field, it will be decided whether it is going to be FULL or Delta update.
In case of
1. Full: All the Db entries should be deleted and then the new records will be inserted.
2. Delta: Only new records will be updated.
Now I want to ask :
1. How can I do this using Db ?
I am aware I can use BPM or multiple MT in the mapping but I want to get detailed explaination about this plan.
2. How can I do this with SOAP adapter.Hi. Why do you wanna use soap? you can do it with jdbc adapter.
1)
check:
http://help.sap.com/saphelp_nw70/helpdata/en/4d/8c103e05df2e4b95cbcc68fed61705/content.htm
you will have to create two statementName nodes, when for insert and one for delete actions.
2)
In case you have to send to multiple receivers based on source message you will have to use enhanced receiver determination. There you can create only one receiver determination, that will decide where to send message. Then you have to create several interface determinations, one for each receiver System.
check:
http://help.sap.com/saphelp_nw70/helpdata/en/43/a5f2066340332de10000000a11466f/frameset.htm
There is much more info in sdn regarding this kind of requirement!
Hope it helps
Regards,
Federico -
Jdbc: character encoding.. what is the string ?
I have been looking for an hour now, and have had no luck..What is the syntax of building a
jdbc url, where the charset is set to utf-8
regards
BenUse the substring (http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#substring(int)) and indexOf method:
String name = "Brandon Bell";
String suffix = name.substring(name.indexOf('o'));now the String suffix has the value "on Bell". -
i have oracle database server with NLS_CHARACTERSET=AR8ISO8859P6 (ISO-8859-6)
and my jdbc connection is
public sqlj.runtime.ref.DefaultContext getConnectionContext() throws SQLException
Properties props = new Properties();
props.put("charSet","ISO-8859-6");
props.put("user","oasis");
props.put("password","*****");
return Oracle.getConnection("jdbc:oracle:thin:@128.55.0.11:1521:dvlp320t",props);
when i retrieve String attribute it appear as ???
what is the problem?Try asking on the JDBC forum
-
Hi All,
I have to update the fields with Dummy value where the field is not null.
I.e Update field1 with Dummy from table <u>where field2 is not null</u>.
Number of eligible records are zero for this, but in actual case there are some values.
Please let me know how should i handle this in my sql xml format.
Thanking you in advance.
Regards
PiyushHi Piyush,
you find the documentation for the sql/xml here:
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
for example:
<root>
<StatementName1>
<dbTableName action=UPDATE
<table>myTable</table>
<access>
<col1>val1</col1>
</access>
<key1>
<col2 compareOperation=NEQ></col2>
</key1>
</dbTableName>
</StatementName1>
</root>
what means
UPDATE myTable
SET col1='val1'
WHERE col2 <> null
Regards,
Udo -
I read that the <key> element of the Defined XML documents allows me to perform verious actions as part of the constructed SQL query.
Does the <key> element can be used for non key values?
For example to perform the isNull= TRUE on a specific "non key field"
Appriciate your advise.
Nimrod.GHi Nimrod,
>>isNull=TRUE can be used with WHERE clauses
Yes they can be used only with WHERE clause
>>A statement with the action INSERT must have at least one <access> element. It cannot have a <key> element.
As per help.sap.com. http://help.sap.com/saphelp_nw04/Helpdata/EN/2e/96fd3f2d14e869e10000000a155106/content.htm
So you cannot use isNull with INSERT
Regards
Suraj -
Hi All,
When I connected to MSAcess db with Arabic characters on windows english the returned data seems "?????" ? but it works good on windows arabic
is there any help?Hi Ahmed,
You should have installed arabic locale in your machine.
Please refer the following URLS
http://216.239.33.100/search?q=cache:-DUa86aLej8C:technology.pitt.edu/documentation/win2k_lang.pdf+installing+arabic+locale%2Bwindows&hl=en&ie=UTF-8
http://www.microsoft.com/globaldev/win2k/setup/unattended.asp
Regards,
Dwaraka
Maybe you are looking for
-
To whom this question may be directed to: Please gidet me in resolving my problem with TRYING to open a file in Adobe bridge CC only to be presented a message telling me that it can NOT be opened because CS 5 is no longer on my computer of which I al
-
-
To find the Calling Program of an sap script
Hi All, Can any body please let me know how to find the calling program ( main program ) of an SAP Script Form. Thanks and Regards, Rupesh
-
Can i buy apps in my iphone 4s by using debot card? Becoz i have no credit card
Can i buy apps in my iphone 4s by using debot card? Becoz i have no credit card
-
Problems in SQL Connection from Java program to Oracle 8.1.7
Hi, I am java program that connects to Oracle 8.1.7 . Client: java code on Windows 2000 Server: oracle 8.1.7 on Solaris Java code uses two types of Connection Pools. One Pool uses "thin" connections and other pool uses "OracleConnectionPoolDataSource