Error when using receiver JDBC adapter
i am using JDBC adapter as receiver(for oracle 10g) now, however i got ORA-00984 error. So i enable logSQLStatement.
then got the following SQL statement from communication channel monitoring:
INSERT INTO BASEINFO(APPNO, BUSSINAME, APPPERSON) VALUES (3, Steven, Lee)
I realize the statement is incorrect, which should be:
INSERT INTO BASEINFO(APPNO, BUSSINAME, APPPERSON) VALUES ('3', 'Steven', 'Lee')
So how can i correct the SQL statement? is there any setting i miss out in configuration?
Thanks
You may try this. For each field in datatype, add an attribute hasQuot. Map it to "no" in mapping. Then add single quotes to all the values by simply concatinating it on both sides of value.
Regards,
Prateek
Similar Messages
-
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.
NeeerajHi 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 -
Error While Configuring Receiver JDBC ADAPTER
HI Experts,
while configuring the JDBC Receiver(Stored Procedure),I got the the follwing error's .PLease find the used data types and the exceptions (got) as follows.
1.Exception
<SAP:AdditionalText>
com.sap.aii.af.ra.ms.api.DeliveryException:
Error processing request in sax parser: Error when executing statement for table/stored proc.
'PRC_SET_MAIN' (structure 'InsertData'): java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00201: identifier 'PRC_SET_MAIN' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored</SAP:AdditionalText>
1. Data Type eused.
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:MT_Request_In xmlns:ns0="http://XXXXXXX">
- <InsertData>
- <PRC_MAIN action="EXECUTE">
<table>PRC_SET_MAIN</table>
<P_ID isInput="true" type="NUMERIC">245</P_ID>
<P_QID isInput="true" type="NUMERIC">245</P_QID>
</PRC_MAIN>
</InsertData>
</ns0:MT_Request_In>
2. Exception .
com.sap.aii.af.ra.ms.api.DeliveryException:
Error processing request in sax parser:
No 'action' attribute found in XML document (attribute "action" missing or wrong XML structure)
</SAP:AdditionalText>
2. Datatype used .
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:MT_Request_In xmlns:ns0="http://XXXXXXX">
- <PRC_MAIN action="EXECUTE">
<table>PRC_SET_MAIN</table>
<P_ID isInput="true" type="NUMERIC">245</P_ID>
<P_QID isInput="true" type="NUMERIC">245</P_QID>
</PRC_MAIN>
</ns0:MT_Request_In>
PLease suggest meany ideas (which will be rewarded) to solve the problem.
Thanks and Regards,
Kiran.Hi,
I am using File to Jdbc (stored procedure) Scenario. Name of the Stored procedure is demoProcedure which inserts four fields (name,id,age,***) in a table.
Stored Procedure code as follows.
CREATE OR REPLACE PROCEDURE demoProcedure(
name VARCHAR,
id VARCHAR,
age INTEGER,
*** VARCHAR)
AS
BEGIN
INSERT INTO EMPLOYEE (NAME, ID, AGE,***)
VALUES (name, id, age, ***);
END demoProcedure;
Inbound (Generated XML file During Mapping Test):
<?xml version="1.0" encoding="UTF-8"?>
<ns3:MT_file2JavaProc_Sender xmlns:ns3="http://file2JavaProc">
<name>A</name>
<id>1</id>
<age>25</age>
<***>Male</***>
</ns3:MT_file2JavaProc_Sender>
Outbound (Generated XML file During Mapping Test):
<?xml version="1.0" encoding="UTF-8"?>
<ns2:MT_file2JavaProc_Receiver xmlns:ns2="http://file2JavaProc">
<Statement>
<demoProcedure action="EXECUTE">
<name type="VARCHAR">A</name>
<id type="VARCHAR">1</id>
<age type="INTEGER">25</age>
<*** type="VARCHAR">Male</***>
</demoProcedure>
</Statement>
</ns2:MT_file2JavaProc_Receiver>
I think this will solve your problem.
Thanks
Dipankar
Message was edited by:
Dipankar Sinha Sarkar -
How to solve power error when using USB camera adapter in your camera
Hello Everyone,
First of all I wanna say reducing the output of the USB camera adapter from 100mA to 20mA just to save battery life is by far the most incredible adjustment in the history of @)#*$#%*($#!
I know most of us bought the USB Camera adapter so we can use it as a USB adapter for the Camera (saves us from taking the memory card on and off the camera) but sadly the "Ginues Apple" reduced it to 20mA which decreases the range of cameras and flash drives that will work with it. I use Gopro Hero 3+ black and everytime I plug it with the adapter to my ipad I keep on seeing this @#@$#@ power error. I didn't want to waste the expensive adapter so I tried to look for a micro sd card reader but I don't think 20mA readers still exist.
Now to solve this problem is very simple add a power source to help that 20mA up, most of the my friends bought a powered port hub but it's not my type because it's bulky, needs an outlet and not portable.
So I found a better solution on how you can add a power source and still be portable, the answer is power bank or portable charger.
Things you need:
Camera
USB camera adapter (Ginues Apple product)
Power bank (I'm using 8,400 mAh)
Dual USB Male to 5 Pin Mini USB Y Cable
Ipad
Procedure:
Camera --- 5 Pin Mini USB ------------------ USB camera adapter ---------- Ipad
'---------- Power Bank
Attach you camera to the 5 pin mini usb then the USB1 male to the female apple's USB camera adapter then to the Ipad. = this will show the power error.
Then attach the USB2 to the power bank/portable charger to power it up.
your welcomeyocto yotta wrote: How to charge iPad Air when using the camera connection kit?
No can do, Skippy! -
Acknowledgement from third party data base using receiver jdbc adapter
Hi ,
I've a scenario where I'm sending material master data to third party database using an automated scheduled prgram in R/3 , i've used asynchronous abap proxy to receiver JDBC scenario. But now they are asking to design in such a way that there should be an acknowledgement to the sender if data has not been updated in database.
pl help me how to design the above .
pointe will be rewarded
thanks
mojibHi mohammad,
In the design (IR) when u r specifying the messages interface define it has synchronous message there u will get the reponse message tag below the actual message interface. Here you can define the reponse message frm the thrid party if the message got failed.
Try do this with help of integration senario in which u can define the reponse(which is failed) also..............
Regards
Sai
READ RULES OF ENGAGEMENT
DON'T ASK FOR POINTS
Edited by: Prateek Raj Srivastava on Mar 26, 2010 2:17 PM -
Error in the Receiver JDBC Adapter
Hi Guys,
Iam getting the below given error when trying to insert the data into the Legacy DB...
2006-06-20 01:16:25 Error Unable to execute statement for table or stored procedure. 'Table_Name' (Structure 'STATEMENT') due to java.sql.SQLException: ORA-01861: literal does not match format string
2006-06-20 01:16:25 Error Exception caught by adapter framework: Error processing request in sax parser: Error when executing statement for table/stored proc. 'Table_Name' (structure 'STATEMENT'): java.sql.SQLException: ORA-01861: literal does not match format string
Can anybody tell me what the error is ?
Regards,
Kittu.Kittu,
this is how your Target Datatype should be,
<nr1:MT_tablename xmlns:nr1="urn:XXXXXX.XX.yyyyy">
<StatementName>
<dbTableName action=INSERT>
<table>TABLENAMETO WHICH INASERTING DATA</table>
<access>
<ts_matl>2006-06-14</ts_matl>
<no_matl>M181127</no_matl>
<qt_do>1</qt_do>
</access>
</dbTableName>
</StatementName>
</nr1:MT_tablename >
Regards,
Bhavesh
Message was edited by: Bhavesh Kantilal -
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."#II" .
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
PiyushHi 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 -
Dear all,
By putting action=Insert in the Receiver Structure ,I could able to insert the data.
When I am Trying Delete or Update in the Same way I could not see the data modified in the table.
Please Let me know how to achieve the same.
Thanks,
SrinivasHi,
go thru these links:
http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
/people/alessandro.berta/blog/2005/10/04/save-time-with-generalized-jdbc-datatypes
http://help.sap.com/saphelp_nw2004s/helpdata/en/4d/8c103e05df2e4b95cbcc68fed61705/frameset.htm
Also have alook at this
Receiver JDBC
/people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
/people/ajay.kumar/blog/2005/03/24/writing-bsp-for-sap-r3-version-46
/people/sugree.phatanapherom/blog/2005/08/14/configuring-sld-in-sneak-preview-sap-netweaver-04-sneak
/people/sanyam.kapur/blog/2005/04/30/custom-fields-and-bw-extractors-making-a-mixed-marriage-work-part-ii
Regards,
Akshay Jamgaonkar.
Reward points if find useful.
Message was edited by:
Akshay Jamgaonkar -
Receiver jdbc adapter:how to implement the insert or update action in a sql
Hi,gurus:
I'm using receiver jdbc adapter now.
You know, we have to gave the action the value 'update' or 'insert',but in our case,the action is variant--update or insert.It decides whether the record exists in the outer database.
Can stored procedure do this?If I use stored procedure,then must I create a stored procedure in the outer database?
Or some other ways to solute my issue?
THanks in advance.Hi
Use Action UPDATE_INSERT .
This action check if a record exist with same key value then update that record. In case no record with key value found in database then record inserted to database.
look receiver structure
http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm -
When would you write a stored procedure in sender/receiver jdbc adapter
Hi Everybody
Can you tell any situation where you would need to write a stored procedure in the query sql statement of sender/ receiver jdbc adapter instead of writing SELECT statement there
why do we need to write stored procedures
thanks and regards,
AnithaHi Anitha,
why do we need to write stored procedures
Some times a single SQL statement will not suffice for ur transactions....
Say u want to access from 2 tables and update based on some condition..
or nested select statement...
or u want to update a 2 nd table based on the values from 1st table... etc..
In those places it's preferable for going for a Stored Procedure.
The Stored Procedure can be used in both Sender and Receiver JDBC Adapter.
Still nt clarified do post..
Babu -
Using Stored procedure in sender or receiver jdbc adapter
Hi All,
Please let me know simple blogs for Stored procedure used in sender or receiver jdbc adapter to get data from 2-3 tables
ThanksHi
To work with Store proceudres (SP) you have to create the SP's in database like Oracle, Mssql or Msaccess.
Ususally the SP creations are done by database experts. For more info about "SP" try Googling!
The below blog is about SP but not the one you expect!
/people/itisha.alok/blog/2009/03/23/jdbc-stored-procedure-returning-multiple-resultsets
Executing an Oracle Stored Procedure from Sender JDBC adapter
Sender Adapter - -
SP will contain the select Query alone or with it will contain insert, delete statement too.
Receiver:
SP will have insert or delete satement.
Adapter
http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/frameset.htm
The below details are required to configure the adapters
Driver details
database name
Procedure name
user name
password,
Regards
Ramg -
Capturing error messages from Oracle EBS APIs when using Oracle Apps Adapter
We are using Oracle applications adapter to call Oracle EBS (both R11.5 and R12) APIs. I want to understand the best practice around error handling when using Oracle Apps Adapter to call Oracle EBS.
Here are some observations:
1. Most of the APIs return X_RETURN_STATUS and X_MSG_DATA containing the status and messages if any.
2. If the MSG COUNT is 1 then X_MSG_DATA contains the message, if MSG COUNT is > 1. X_MSG_DATA is empty.
We know that when calling the API directly from PL/SQL, we need to loop through FND_MSG_PUB to fetch all messages when there are more than 1. How do we achieve the same using Apps Adapter as Apps Adapter generates the PL/SQL block to call the API dynamically at runtime.
In some APIs, which have table/rec types as input or output parameters, Apps Adapter generates a wrapper package to do conversion from SQL--> PL/SQL and viceversa. In this case the adapter calls the custom package generated which internally calls the API. For these APIs we were able to put the logic to loop through FND_MSG_PUB and return a concatenated string as value of X_MSG_DATA.
But what should we do for the APIs which do NOT have a rec/table type as input or output, in which case the Apps Adapter directly calls the API and there is no intermediate custom package?
How are others handling this?Please see the section "Handling Functional Errors" in the below link
Oracle Fusion Middleware Adapter for Oracle Applications User's Guide -
Messages are in hold state due to one message at receiver JDBC adapter
Hello,
I am using a receiver JDBC adapter and trying to send an XML file which has an insert query to insert some data into the database i.e., Oracle 9i.
Here at the receiver side due to one message ( which is in to be delivered state) all other messages are got hold and waiting for long time.
I am getting the exceptions as this,
JDBC Adapter processing failed with Error processing request in sax parser: Error when executing statement for table/stored proc. 'FSASMGR.XTBL_KL06_IINQUIRY' (structure 'REC01'): java.sql.SQLException: ORA-12899: value too large for column "FSASMGR"."XTBL_KL06_IINQUIRY"."CASE_TITLE" (actual: 81, maximum: 80)
Exception caught when executing statement for table/stored proc. 'FSASMGR.XTBL_KL01_ISTAFF_MST' (structure 'REC1'):
java.sql.SQLException: ORA-00001: unique constraint (FSASMGR.XTBL_KL01_ISTAFF_MST) violated
Can anyone help me out in solving this issue.
THanks,
Sooryahi surya,
jdbc channel tries a request for n number of times(no of rettries),if that request fails it will take up the following requests,its not like it will process a request forever.
to be delivered will be resulting if reciever is down or network between XI and database server is bad.
try to ping databse server from XI host system.
if everything is fine then look at the channel configuration->advanced->no of retries of database transaction on sql server.
just redue the count to 1 and recheck.
Regards,
rama Krishna -
How to send the payload to a jsp using receiver Http adapter?
Hi experts,
I have this scenario from Legacy to XI to external app server.I have a test jsp to execute that functionality .Its a jsp which has 1 textarea named "test" and when I click on the submit buton I get a response back.This way I am able to test this independently.Now from XI when I am executing my scenario I am getting status code '1250' and message as ' http request(test) is null'.Now in the scenario in http adapter I just provide the target host : ip of server ,
service number : port no ,
path: the container or the request handler. But this scenario fails and gives me the above erroneous response.Now Basically I am not able to get how to send the value to the textarea "test"? please provide help as soon as possible.Do we have to put the name of the jsp in the "path" in http adapter and use prolog as test=.I tried this but it doesnt work.
Is there any way to check the URL that it forms after appending the querystring in the url ...?
So please provide help on this or suggest a solution to [email protected] as soon as possible.....
Thanx in advance.
Akshatahey Shekhar,
thanx for that prompt reply but I have configured the communication channel in the same manner as suggested by u.
actually I have this jsp page http://xx.xx.xx.xx:8080/abcdef/try/efg.jsp where there is a textarea "test" which has to be filled and there is a submit button.When I test this http client i.e the above jsp page independently then it goes to handler
http://xx.xx.xx.xx:8080/abcdef/trial/ And it gives a proper response message after clicking on the submit button.
now I want to carry out the same using receiver http adapter. I need to pass the value for this inputfield names "test" on that jsp . so right now I have configyured the adapter as
addressing type: url
target host : xx.xx.xx.xx
service no:8080
path : here I have given the path of handler i.e /abcdef/trial I tried giving the jsp page also but logically I guess it should be the handler.
content type: text/xml; charset=iso-8859-1
xml code: UTF-8
Mask special characters (URL escaping) checked.
now since the name of the inputfield is "test" in the prolog I gave test=
But it doesnt work I get this error "http request parameter [test] is null" in the response message which I guess suggests that it is not able to send the value for the field"test" to that handler.Please suggest how to send this and tell me if there are any other configurations that I have to do in the receiver communication channel.
Thanx ,
Akshata -
Hi All,
I was trying to make a synchronous call to a receiver jdbc adapter with the help of
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3928. [original link is broken] [original link is broken] [original link is broken] [original link is broken]
I am getting the following error in jdbc adapter.
<i>com.sap.aii.af.ra.ms.api.DeliveryException: ERROR:Processing request: Error when executing statement for table/stored proc. 'MISDetails': java.sql.SQLException: FATAL ERROR document format: structure 'STATEMENT', key element 'FiscalYear' contains no values</i>
My Source message is
<i><?xml version="1.0" encoding="UTF-8"?>
<ns:MT_FILE_OUT xmlns:ns="urn:ters">
<REQUEST>
<FISCALYEAR>2007</FISCALYEAR>
<YEARMONTH>1</YEARMONTH>
<OPERATION>EQ</OPERATION>
</REQUEST>
</ns:MT_FILE_OUT></i>
And JDBC request message is ..
<i><?xml version="1.0" encoding="UTF-8"?>
<ns:MT_JDBC_REQ xmlns:ns="urn:ters">
<STATEMENT>
<TABLENAMEACTION="SELECT">
<TABLE>MISDetails</TABLE>
</TABLENAME>
<ACCESS>
<FiscalYear> </FiscalYear>
<YearMonth> </YearMonth><ProductCode> </ProductCode><TargetVolume> </TargetVolume>
</ACCESS>
<KEY>
<FiscalYear compareOperation="EQ">2007</FiscalYear>
</KEY>
</STATEMENT>
</ns:MT_JDBC_REQ></i>
Regards,
SumitSumit, the problem is that </TABLENAME> is closed ealier than necessary.
This is how the JDBC datatype should be,
<?xml version="1.0" encoding="UTF-8"?>
<ns:MT_JDBC_REQ xmlns:ns="urn:ters">
<STATEMENT>
<TABLENAME ACTION="SELECT">
<TABLE>MISDetails</TABLE>
<ACCESS>
<FiscalYear> </FiscalYear>
<YearMonth> </YearMonth>
<ProductCode> </ProductCode>
<TargetVolume> </TargetVolume>
</ACCESS>
<KEY>
<FiscalYear compareOperation="EQ">2007</FiscalYear>
</KEY>
<b></TABLENAME></b>
</STATEMENT>
</ns:MT_JDBC_REQ>
The TABLE, ACCESS and KEY come under the TABLENAME tag.
Regards,
Bhavesh
Maybe you are looking for
-
What can i do about my pixel error?
Hi, Some days ago (I think a week ago) my ipod touch 4G fell on the groud, or probably it was something i did, similar to that, and on the top bar of the screen, where the clock and the baterry are, appeared some gray dots (i think they are pixels th
-
Hey everyone. Having trouble with liquify for the past couple weeks. It is not showing my changes in real time. I use whichever tool and the change appears after the spinning wheel of frustration shows for a few seconds. Have tried installing updates
-
Purchased a new PowerBook G4 thrree months ago. When connected to mey older Apple Cinema Display (in perspex) the graphics were terrible. Thinking this was a problem with the screen, I purchased a new Apple HD Display 23", but it's still the same. Th
-
System Landscape Directory, WHY and HOW
Hello Forum, I have few Doubts with reference to SLD. 1. I am not sure why it is required. 2. I have installed Netweaver Sneek Preview - JAVA version, I have R/3 4.6 system , and I have another Installation which has BW3.5, EP 6, J2EE . How configure
-
Compressor 2.3 just released!
Compressor 2.3 addresses performance issues and improves stability. This update is recommended for all Compressor 2.1 users. Seems like the performance is improved quite a bit (especially the UI). No more lagging here at least Does anybody know more