Regarding jdbc scenario
hi friends plz find my error "Error while parsing or executing XML-SQL document: Error processing request in sax parser: No 'action' attribute found in XML document (attribute "action" missing or wrong XML structure)".
HI this is my xslt mapping file please check if any errors r there.
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file was generated by Altova MapForce 2008sp1
YOU SHOULD NOT MODIFY THIS FILE, BECAUSE IT WILL BE
OVERWRITTEN WHEN YOU RE-RUN CODE GENERATION.
Refer to the Altova MapForce Documentation for further details.
http://www.altova.com/mapforce
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:n="http:file2jdbc_xslt" exclude-result-prefixes="xs xsi xsl" xmlns="http:file2jdbc_xslt">
<xsl:namespace-alias stylesheet-prefix="n" result-prefix="#default"/>
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="/n:send_msg_typ">
<n:receive_msg_typ>
<xsl:attribute name="xsi:schemaLocation">
<xsl:value-of select="'http:file2jdbc_xslt C:/DOCUME~1/miracle/Desktop/receive_msg_typ.xsd'"/>
</xsl:attribute>
<xsl:variable name="Vvar0_firstSource" select="."/>
<rowvalue xmlns="">
<statement>
<xsl:attribute name="action">
<xsl:value-of select="'insert'"/>
</xsl:attribute>
<table>
<xsl:value-of select="'emp'"/>
</table>
<access>
<xsl:for-each select="empname">
<xsl:variable name="Vmarkerloopempname" select="."/>
<xsl:for-each select="$Vvar0_firstSource/empnum">
<xsl:variable name="Vmarkerloopempnum" select="."/>
<xsl:for-each select="$Vvar0_firstSource/empsal">
<xsl:variable name="Vmarkerloopempsal" select="."/>
<xsl:for-each select="$Vvar0_firstSource/dept">
<xsl:variable name="Vvar4_result" select="concat($Vmarkerloopempname, $Vmarkerloopempnum)"/>
<xsl:variable name="Vvar5_result" select="concat($Vvar4_result, $Vmarkerloopempsal)"/>
<xsl:variable name="Vvar6_result" select="concat($Vvar5_result, .)"/>
<empdetails>
<xsl:value-of select="$Vvar6_result"/>
</empdetails>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</access>
</statement>
</rowvalue>
</n:receive_msg_typ>
</xsl:template>
</xsl:stylesheet>
and my error is "Error while parsing or executing XML-SQL document: ERROR occured parsing request:com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Name expected: 0x23(:main:, row:2, col:2)(:main:, row=2, col=2) -> com.sap.engine.lib.xml.parser.ParserException: Name expected: 0x23(:main:, row:2, col:2)"
please rectify my error.
Similar Messages
-
Need information regarding IDOC to JDBC Scenarios.
Hi,
Kindly help me with the pre-requisites inorder to start with a scenario of IDOC to JDBC and also the scenario of JDBC to IDOC.
Regards,
Sreedhar, AvHello Sreedhar,
While we working in JDBC or JMS Adapters we should deploy the Drivers..
Go through this links,
/people/varadharajan.krishnasamy/blog/2007/02/27/configuring-jdbc-connector-service-to-perform-database-lookups
http://searchsap.techtarget.com/tip/0,289483,sid21_gci1246926,00.html
To install JDBC driver follow the how to guide.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how%20to%20install%20and%20configure%20external%20drivers%20for%20jdbc%20and%20jms%20adapters.pdf
Configuration of JDBC Adapter for SQL Server
JDBC Driver = com.microsoft.jdbc.sqlserver.SQLServerDriver
Connection = jdbc:microsoft:sqlserver://hostname:<port>;DatabaseName=<DBName>
UserID and Password.
If the connection is not working find the correct port number.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40b92770-db81-2a10-8e91-f747188d8033
JDBC- X I - R/3 Scenario
/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
Please check the driver path as mentioned below.
JDBC Driver : sun.jdbc.odbc.JdbcOdbcDriver
Connection:jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=//location of DB table.mdb;
No JDBC driver required.
Receiver JDBC scenario MS access - /people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
follow this thread
Re: Problem when connecting to MS Access through JDBC Adapter.
SAP Note 850116 has details
2) While we working in IDOC Adapters we should do ALE Config of IDOC Settings .
Do these configurations in R/3 and in XI...
SAP XI
1) RFC Destination (SM59)
a) Choose create.
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#.
e) Enter the Gateway host as same details above SID/URL.
f) Gateway service is 3300+system number#.
g) In the Logon /Security tab, enter the client user & Password details of Destination system.
h) Test the connection and remote logon.
2) Create Port (IDX1)
a) Select create new button
b) Enter the port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client.
d) Enter the RFC Destination created in SAP R/3 towards other system.
e) Save
3) Load Meta Data for IDOC (IDX2)
a) Create new
b) IDOC Message Type
c) Enter port created in IDX1.
SAP R/3
1) RFC Destination (SM59)
a) Choose create.
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#.
e) Enter the Gateway host as same details above SID/URL.
f) Gateway service is 3300+system number#.
g) In the Logon /Security tab, enter the client user & Password details of Destination system.
h) Test the connection and remote logon.
2) Create Port (We21)
a) First Select Transactional RFC and then click create button
b) Enter the destination port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client.
d) Enter the RFC Destination created in SAP R/3 towards other system.
e) Save
3) Create Partner Profile (WE20)
a) Create New
b) Create the Partner no. name as same the logical system name of the destination system.
c) Select Partner type LS
d) Enter details for Type: US/USER, Agent, and Lang.
e) Click on the + button to select the message type.
f) Select Partner no. and LS which ever create above.
g) Select Message type
h) Select Process code related to the Message type.
I) save.
Here in IDOC to JDBC interface we need not to config sender Adapter..
1) The main usage of a sender adapter is to convert the input format into the XI supported XML format.
Once the conversion is completed the sender agreement appends the header with the sender details.
In case of these adapters we wont require sender agreement and sender communicationchannel for the
following reasons.
Sender agreement is associated with a namespace when we shoot an idoc frm r/3 if already contains its standard sap namespace. so those is need of sender agreement
The sender communication channel use is to identify the sending system and adapter, as the idoc header contains the details there is no need to sender.
These adapters resides on ABAP stack here the integration server takes care of IDOC/HTTP to XML conversion without requirement of adapter.
The business system that is sending the adapter has already been assigned to a techinical system which normally acts as an integration server...
IDOC to xi links
/people/swaroopa.vishwanath/blog/2007/01/22/ale-configuration-for-pushing-idocs-from-sap-to-xi
/people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
/people/venugopalarao.immadisetty/blog/2007/01/24/troubleshooting-file-to-idoc-scenario-in-xi
Hope this explanation is useful to u..
Thanks,
Satya Kumar
Edited by: SATYA KUMAR AKKARABOYANA on Jun 3, 2008 9:57 AM -
Regarding File 2 JDBC Scenario
Hi Friends,
can anybody help me on file 2 jdbc scenario. here my input file is not picked but in moni it is showing black flag. and in message monitoring in adapter engine sender side interface status is successful but receiver side interface status is waiting and i am not getting the output in my database table.please help me one this issueHi Uday
Kindly check your server and port whether they are up
go to transaction SM49 and click on PING then in the next string give your server and port address and press F8
you will get the actual status of your server
also
You have to deploy the required JDBC drivers for the database before making connection. Ask the database provider or your vendor for the divers. That should be deployed using SDM tool
Start visual admin of XI and select service "Deploy" and then select option "Deploy and start" to select file and deploy it
now here is the steps to deploy this module.
How to deploy adapter module in production
Three option available:
1. Using SDM
2. Using Visual Admin
3. Using NW development studio (Not available for Production)
We will use Visual Admin Deploy deploy service to deploy EAR file of adapter module.
Steps:
1. Goto VM->Deploy service
2. Select option Deploy and start
3. Select EAR file provided for deployment
4. Restart the service.
5. Done
follow this guide
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/70ffd890-0201-0010-708f-d5dad2dfcf3a
good luck
regards
Sandeep
If helpful kindly reward points
Edited by: sandeep sharma on Apr 19, 2008 7:46 AM -
Pass system ack of JDBC adapter to ERP in IDoc - XI - JDBC scenario
Dear all,
i have an IDoc -> XI -> JDBC scenario (without using ccBPM). In the standard way the ERP system, sending the IDoc waits for an application acknowledgement. However the JDBC adapter is only capeable to send system acknowledgements.
Is there a way to pass these acknowledgements to the IDoc status record?
In help.sap.com (http://help.sap.com/saphelp_nwpi71/helpdata/en/ab/bdb13b00ae793be10000000a11402f/frameset.htm) under "IDoc Processing with the IDoc Adapter " there is a table that maps XI system/applic acknowledgement to IDoc status. So in my opinion the status record of my IDoc should at least chenge to the corresponding status for the system ack.
Can anyone tell, if this is really working? What if I deactivate the acknowledgement request in the NOALE programm?
In any case, can I achieve to transfer the system ack to the IDoc status without using a ccBPM?
Many thanks and best regards
FlorianIs there a way to pass these acknowledgements to the IDoc status record?
Without BPM, No.
So in my opinion the status record of my IDoc should at least chenge to the corresponding status for the system ack.
The ack referred here is related to idoc status whether it is properly reached till XI or not and not related to the JDBC ack.
What if I deactivate the acknowledgement request in the NOALE programm?
Then u won't have any ALEAUD message at sender R3.
In any case, can I achieve to transfer the system ack to the IDoc status without using a ccBPM?
No
Regards,
Prateek -
Problem in JDBC to JDBC scenario
Hello all,
I am working on a JDBC 2 JDBC Scenario.
Everything gone fine, data is picked from source, but it is not updated in the destination.
I could not see any message related to this in SXMB_MONI it shows only messages related to IDOC, on search I fould, we need to add trace level,etc in SXMB_ADM but still couldnot found any message (I restarted the system, cleared cache also).
In RWB(communication channel monitoring) I could find that sender is sucessful, but no message for receiver.
In RWB (message monitoring) I checked my business system, i could see sender entries but no receiver entries, there is only one error message as :
<b> transmitting the message to endpoint http://xisystem:50100/sap/xi/engine?type=entry using connectio</b>
For which I found we need to change XI businesssystem's pipeline port no from some 54+++ to 4+++ (but I could see only 50100 in the pipeline so i did'nt)
we are using R/3, was7.0 sp11,XI3.0,
Can any body help me in this regard
Thanks,
Sai.k.kHi,
Error in SXMB_MONI :
com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_JDBC2JDBC_MM_: RuntimeException in Message-Mapping transformatio~
Error in Integration repository when I test with the payload :
<pre>
13:01:52 Start of test
Document start
Start tag [ns0:Receiver_JDBC_MT]
Add raw attribute [ xmlns:ns0="http://xyz.com/JDBC2JDBC_NMSP"]
Start tag [Statement]
Start tag [dbTable]
Add attribute: [action]=[INSERT]
Start tag [table]
Put value [Example]
Close tag [table]
Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8)com.sap.aii.utilxi.misc.api.
BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException:XML Declaration not allowed here.(:main:, row:1, col:8)
at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:157)
at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73)
at java.lang.Thread.run(Thread.java:534) Root Cause: com.sap.engine.lib.xml.parser.NestedSAXParserException:Fatal
Error: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8)(:main:, row=1, col=8) ->
com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8)
at com.sap.engine.lib.xml.parser.XMLParser.scanPI(XMLParser.java:2126)
at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2774)
at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2830)
at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261)
at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280)
at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342)
at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155)
at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73)
at java.lang.Thread.run(Thread.java:534) -
at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155)
at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73)
at java.lang.Thread.run(Thread.java:534) Caused by: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8)
at com.sap.engine.lib.xml.parser.XMLParser.scanPI(XMLParser.java:2126)
at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2774)
at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2830)
at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261)
at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280)
at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342)
at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) ... 4 more Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XML Declaration not allowed here.(:main:, row:1, col:8)
13:01:52 End of test
</pre>
Query : Select * from Employee fetches all the fields
Payload :
<pre> <?xml version="1.0" encoding="utf-8" ?>
- <resultset>
- <row>
<PerNer>t</PerNer>
<Initials>t</Initials>
<Name>t</Name>
<DOB>t</DOB>
<State>t</State>
<Country>t</Country>
</row>
</resultset>
</pre>
Regards,
Sai.k.k -
Error"SYSTEM Failure" while testing the RFC in SE37 : RFC to JDBC Scenario
Hi All,
I am doing RFC to JDBC scenario. When I am testing the RFC in SE37 using the RFC destination created in SM59, I get an error "SYSTEM FAILURE".
Please suggest.
Thanks,
Shyam
Edited by: Shyam Sreepada on Dec 18, 2007 5:46 PMHi,
You must run RFC with RFC destination in background mode, I suggest to read following post in order to understand it better.
Syntax would be:
CALL FUNCTION func IN BACKGROUND TASK
[DESTINATION <your RFC destination>]
parameter list
http://help.sap.com/saphelp_nw04/helpdata/en/8f/53b67ad30be445b0ccc968d69bc6ff/frameset.htm
If you read it you will find that you can't test it directly from SE37, for this either you need to create dummy ABAP program or another RFC where you will call this RFC with background syntax.
Regards,
Gourav
Reward points if it helps you
Edited by: Gourav Khare on Dec 18, 2007 6:07 PM -
Sender side Synchoronous jdbc scenario
Hii experts,
Can we do Sender side synchronous jdbc scenario?? if yes give me an example how the scenario will look like??
and what are the steps has to be done?
Regards,
BalajiHi,
Can you pls clear your requirement?
In your case, do sender JDBC will fetch the data and give it to the target, and again target will give some resonse and that
response you have to insert into the database at sender side?
If this is the case for you, then it can be achieved.
Pls exactly tell what you are looking for.
-Tanaya. -
Test cases for File to JDBC scenario?
Hi Experts,
I would like to know what are the things needs to be tested to ensure that the File to JDBC scenario holds good in the PI box. Your valuable inputs are required to verify /check my scenario configuration is free of errors.
Thanks & Regards,
Pcv.Hi,
You can try the following:
1) If the end systems require authentication and the same is not provided in PI then it should throw an error.
2) Check what happens when you dont give a mandatory field.
3) check what result you will get when you give a wrong input.
4) Check whether all your restrictions (in mapping and/or in receiver determination) are working properly.
5) Check what you need to do when the target system is down.
6) If using any FCC then check whether the conversion is done properly.....
7) See to it that you have defined a proper DB structure when you are communication with JDBC
8) Check with the end system whether your statement (Insert/Update/Delete etc) is performed properly
Regards,
Abhishek.
Edited by: abhishek salvi on Dec 4, 2008 9:58 AM -
Dear Friends,
I am performing Simple File to JDBC scenario. For this I am using MySql. I have designed and configured all the required steps and activated. Now I went to Runtime Work Bench monitoring.. Here in Message monitoring status is "waiting". Here it has thrown one exception like this, Exception caught : Jdbc Receiver Channel:Configuration not initialized due to loading Jdbc receiver
"com.microsoft.sqlserver.SQLServerDriver" Failed :java.lang.ClassNotFound - Exception : com.microsoft.jdbc.sqlserver.SQLServerdriver.
Please help me,Now what i have to perform.
thanks in advance.check this
http://help.sap.com/saphelp_nwce10/helpdata/en/45/08546ff5200486e10000000a155369/content.htm
and
https://wiki.sdn.sap.com/wiki/x/sAA7AQ
Regards,
Ravi -
SOAP TO JDBC scenario: calling stored procedure which will return the value
Hi
I have Soap To Jdbc scenario in which I am going to call the Stored Procedure at target side which will be executed and it is going to return the result set .
Result contains following values.
return code as ( 0 Or 1) and also specific exception message if its return code as 1.
Could you suggest me the way by which I can handled this return code and send it back to the Sap PI system then the same thing is directed the to SMTP server for sending mail to consern person.
Regards
KumarThe OUT parameters of stored procedure will be returned as response. Where exactly are you facing the proble? Here is a complete walkthourgh
/people/luis.melgar/blog/2008/05/13/synchronous-soap-to-jdbc--end-to-end-walkthrough
In your case, you don't want response at sender. Instead you want to mail it. For this you may use BPM to design your scenario with following steps
Receive (to receive data from sender)
Send Sync (to stored procedure and get response)
Send Async (to mail receiver)
Regards,
Prateek -
Error in File-XI-JDBC Scenario
Dear All,
I am working on File-XI-JDBC scenario which is using stored procedure (SP_UPDATE). When I am processing the file it is giving me the following error in the message monitoring:
Unable to execute statement for table or stored procedure. 'SP_UPDATE' (Structure 'Statement') due to java.sql.SQLException: ERROR: Invalid XML document format for stored procedure: 'type="<SQL-type>"' attribute is missing for element 'access' (Setting a SQL-type (e.g. INTEGER, CHAR, DATE etc.) is mandatory !)
Please guide me what is this error all about and how this can be resolved.
Warm Regards,
N.JainDear All,
Now, I am able to update the SQL Server database but only one record is coming at the target. Can anyone please guide me what is he error in my Data types o in my mappings. Following is the source Data Type:
MT_TEST_FILE_T179T 1..1 DT_TEST_FILE_T179T
ROOT 1..unbounded
PRODH 1..unbounded xsd:string
VTEXT 1..unbounded xsd:string
DATUM 1..unbounded xsd:string
Following is the target Data Type:
MT_TEST_JDBC_T179T 1..1 DT_TEST_JDBC_T179T
STATEMENT 1..1
SP_UPDATE 1..1
action required xsd:string
TABLE 1..1 xsd:string
PRODH 1..unbounded xsd:string
type optional xsd:string
VTEXT 1..unbounded xsd:string
type optional xsd:string
DATUM 1..unbounded xsd:string
type optional xsd:string
Following are the mappings done:
EXECUTE-->@action
storedprocedurename-->TABLE
PRODH-->PRODH
VTEXT-->VTEXT
DATUM-->DATUM
CHAR-->@type.
With this stucture and mapping i am able to insert only one recored in the database even though there are multiple entries in the file.
Please guide me in solving this error so that multiple records can be inserted.
Warm Regards,
N.Jain -
Strange error in File-XI-JDBC scenario
Dear All,
I am working currently on File-XI-JDBC scenario and is facing with a stange problem.
I have writtern one simple query which is downloading the data from R/3 and is sending to XI Server local folder. From that folder File is getting picked by XI and is posted into SQL database.
Now, when I am generating the required file from R/3-DEV server then my scenario is getting executed successfully but if file is generated thru R/3-QAS Server then the scenario is giving the following error "Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'MARA_UPDATE' (structure 'Statement'): java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Error converting data type nvarchar to smalldatetime."
Also, if I am copying the complete data from the error file and paste it into a new file and executing again then the scenario is executing correctly.
I have checked the payload and didn't find anything there.
Kindly help me in solving this error.
Regards,
N.JHi Farooq,
Thanx for your reply. But this scenario is running when we are sending the file from R/3-DEV Server and also if I am copying all the contents of the error file and pasting it into a new file and then processing the file then the scenario is getting executed and I am getting no error with the same data which I have processed earlier and has thrown error.
Reg, -
Error in IDoc to JDBC scenario
Hi friends,
I am configuring an IDoc to JDBC scenario in XI.When I am testing the scenario in Test Configuration then it is getting processed successfully but when I am tseting the entire configuration then in sxmb_moni the following error is showing:
"Error occurred during back-routing Error in communication channel". Please help as I am unable to understand the error.
regards
DebansuHi Debansu,
Please go through the link it may help to solve your problem.
JDBC Adapter / Acknowledgements
Error in back routing Error in communication channel
Regards,
Sridhar Goli
Edited by: sridhar goli on Aug 11, 2008 11:35 AM -
Hi,
Hope you all are doing well. I have an IDoc to JDBC scenario. The IDoc structure is as follows:
<IDOC BEGIN="1">
<Structure 1>
<DEFINITION>xxxx</DEFINITION>
<CREATE_DATE>20070706</CREATE_DATE>
</Structure 1 SEGMENT="1">
<Structure 2>
<ELEMENT>xxx1</ELEMENT>
<CREATE_DATE>20070719</CREATE_DATE>
</Structure 2>
<Structure 2>
<ELEMENT>xxx2</ELEMENT>
<CREATE_DATE>20070719</CREATE_DATE>
</Structure 2>
<Structure 3>
<ELEMENT>xxx1</ELEMENT>
<PROJECT>yyyy1</DEFINITION>
</Structure 3>
<Structure 3>
<ELEMENT>xxx1</ELEMENT>
<PROJECT>yyyy2</PROJECT>
</Structure 3>
<Structure 3>
<ELEMENT>xxx2</ELEMENT>
<PROJECT>yyyy3</DEFINITION>
</Structure 3>
<Structure 3>
<ELEMENT>xxx2</ELEMENT>
<PROJECT>yyyy4</PROJECT>
</Structure 3>
</IDOC>
Structures 1, 2 and 3 are at the same level/hierarchy in the IDoc. Structure 3 contains the project name of records in structure 2. The requirement is that if the records in structure 2 have the create date as the current date then the corresponding project in structure 3 has to be passed on to the database by creating a statement. To do this, we need to check the date of the record in structure 2 and if the date is equal to the current date then we have to use the element in structure 2 to select the corresponding rows in structure 3 to be passed on to the database. The INSERT statements have to be created for each of the rows of Structure 3 to be passed on to the database.
How do I achieve this?
I tried using node and text standard functions functions but was unable to achive the objective. Can I use UDF to read the IDoc structures and determine the statements?
regards
DebansuHi Debansu,
Use this Queue type UDF
public void UDF(String[] curDate, String[] Element_Str2, String[] date, String[] Element_Str3, String[] project, ResultList result, Container container) throws StreamTransformationException{
for(int i=0; i<date.length; i++)
if (curDate[0].equals(date<i>))
for(int j=0; j<project.length; j++)
if (Element_Str2<i>.equals(Element_Str2[j]))
result.addValue(project[j]);
Here first parameter is current date function, second parameter is 2nd structure element field, third parameter is date field from 2nd structure, fourth parameter is 3rd structure element field and fifth parameter is project field from 3rd structure.
Regards,
VR -
Hi All,
I am doing a IDOC to JDBC Scenario.I am done with IR and ID.
The Table in the DB is TABLE1 with Field1 and Field2.
Now when I run thescenario it throws an error ,
2009-03-19 12:41:06 Success INSERT INTO TABLE1 (Field1, Field2) VALUES (KM247850, FINJTIA)
2009-03-19 12:41:06 Error Unable to execute statement for table or stored procedure. 'TABLE1' (Structure 'Statement') due to java.sql.SQLException: [EUDNT038]The name "KM247850" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.
But it has successfully generated the SQL Query which I think is perfect.
But whats the error which follows that?
How do I resolve it?
Thanks,
VenuHi,
It could be due to wrong structure of JDBC, compare your target structure with this blog..
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
Regards,
Sarvesh
Maybe you are looking for
-
How do I stop iPhoto from updating
How do I stop iPhoto from updating itself every time I put a backed up iPhoto disc in to play? Now I quit or force quit iPhoto to stop it happening. Happens every time I install a CD or DVD disc. It cant possibly be necessary every time.
-
Error in creating web application through power shell
hi, i have taken the ps script from the below url : credits to Roger : http://blogs.msdn.com/b/rcormier/archive/2012/09/01/how-to-create-sharepoint-web-applications-with-powershell.aspx http://gallery.technet.microsoft.com/Create-SharePoint-Web-7
-
External sound Mac OS X 10.6
Im looking for an external sound card USB that works with Mac OS X 10.6 anybody no of a good sound. thanks
-
Hello All, I want to know the importance of following field in OVA8 (Maintenance of Automatic Credit Control) 1) Checks in Financial Accounting/ old A/R summary Payer Permitted Days -- Permitted Hours --- I want to give some g
-
What is the use of inverted date format
In table TCURR - Exchange rates, the field GDATU - Date As of Which the Exchange Rate Is Effective is stored as an inverted date. So 01/01/2008 is actually stored as 79919898. What is the use of inverted dates. Why does SAP use them. Why not just use