IDOC to JDBC in 7.1
Hi experts,
We are doing a IDOC to JDBC scenario in PI7.1 to insert records into AS/400 system from ECC6.0.
From ECC 6.0 iDOC is coming into PI perfectly but we are unable to insert records into AS/400 database.
Can anyone give the correct steps, links in PI7.1 for this purpose?
Rgds
Kishore
Hi,
First check for the JDBC Driver installation and check the JDBC structure you have mentioned.
Statement and Action should be given correct.
can you provide me the target structure, so that i can check and find the fault.
Thanks,
Srikanth
Similar Messages
-
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 -
IDoc to JDBC and JDBC to IDoc Scenario
Dear All,
I am working on IDoc to JDBC and JDBC to IDoc Scenario.
I have to send Idoc from SAP to Non SAP system(.NET application) i almost configured in XI but still i don't know when my INTEGRATION will INVOKE how my data will proceed from IDOC to Oracle database(Through JDBC) and in case of revese how and when Data flow will start.
Does anyone have completed STEP by STEP scenario document for this?
How my Idoc will sent to XI?
How XI will pick up data from IDoc?
How XI will Convert data to JDBC and UPDATE in Oracle Database?
And i reverse case(JDBC to IDoc) when my INTEGRATION will INVOKE?
Where and When i can watch my process and data?
How can i test the whole integration?
I AM GETTING ERROR WHILE TESTING CONFIGURATION IN Integration Directory "Error while refreshing the XI runtime cache" and when i check this in SXI_CACHE it gives me error
"Unable to refresh cache "NO_BUSINESS_SYSTEM"
"Error during last refresh to cache"LCR_GET_OWN_BUSINESS_SYSTEM - NO_BUSINESS_SYSTEM"
Please solve all the above problems i will reward u points
thanks,
RPHi,
While we working on IDOC to JDBC interface..
We have to deploy JDBC 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
/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
Configuring the Sender JDBC Adapter
http://help.sap.com/saphelp_nw04/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/content.htm
Configuring the Receiver JDBC Adapter
http://help.sap.com/saphelp_nw2004s/helpdata/en/b0/676b3c255b1475e10000000a114084/content.htm
Idoc Reveiver adapter..
http://help.sap.com/saphelp_erp2004/helpdata/en/b9/c5b13bbeb0cb37e10000000a11402f/content.htm
Thanks,
Satya Kumar
/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
Edited by: SATYA KUMAR AKKARABOYANA on May 8, 2008 5:51 PM -
IDOC to JDBC scenario in case of Cost Element Group IDOC.
This is an IDOC to JDBC scenario.
The Cost Element Group IDOC is having different segments. The main segment E1COGH (1...unbound) is consisting of different subsegment like E1OGS (0...unbound) & E1COGV (0...unbound). The main segment (E1COGH) along with subsegments E1OGS & E1COGV) is occuring more that 1 times. I have to insert data into the table, which we can do in single rows (no hierarchy is possible in tables). I have used "use one as many" in message mapping. Now if E1OGS or E1COGV is repeating in a single E1COGH segment then we dont get any error. But if I duplicate the main segment then I am getting runtime exception.
Please suggest about how to map in this case.In my scenario:
E1COGH
|
-> E1COGS
E1COGV
where E1CGH -> Main segment
E1COGS & E1COGV -> sub segment
E1COGH -> 1..unbound
E1COGS -> 1..unbound
E1COGV -> 1..unbound
At the target side I have created two Statement Structure (ie.Statement & Statement_1) . One for E1COGS (ie. Statement) & the other for E1COGV (ie. Statement_1).
Case 1 -> If E1COGS is present in the main segment E1COGH then it is mapped AS IS.
Case 2 -> If E1COGS is not present in the main segment E1COGH then it is mapped as blank.
This will be mapped with Statement & in the absence of E1COGS this Statement structure is SUPPRESSED.
Similarly,
Case 1 -> If E1COGV is present in the main segment E1COGH then it is mapped AS IS.
Case 2 -> If E1COGV is not present in the main segment E1COGH then it is mapped as blank.
This will be mapped with Statement_1 & in the absence of E1COGV this Statement_1 structure is SUPPRESSED.
All the elements of the segment E1COGH, E1COGHT & E1COGHR are replicated in all the rows for X (no. of occurance of E1COGS) + Y (no. of occurance of E1COGV).
While testing in Message Mapping, I am able to get the output as for multiple occurence of E1COGS & E1COGV in a single E1COGH.
But if I increse the occurence of E1COGH the it is giving the following error :
Runtime exception during processing target field mapping /ns0:MT_Cost_Element_Group_Response/Statement/DBtablename/access/GROUPNAME. The message is: Exception:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in first queue in function useOneAsMany. It must have the same number of contexts as second queue.] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[com.sap.aii.mappingtool.flib3.CollapseContexts@51197231, , ]
Please suggest how to map the occurence of E1COGH simultaneously with the occurence of E1COGS & E1COGV. -
Mapping issue in idoc to JDBC scenario
mapping issue in idoc to JDBC scenario
source structure
E1KNB1M
BUKRS = 1000
E1KNB1M
BUKRS= 9000
E1KNB1M
BUKRS= 2000
THE NODE E1KNB1M is repeated many times and the field BUKRS is also repeated with E1KNB1M as above
TARGET field : ISFRANCHISE
if any where value of BUKRS =9000 we have to pass Y to the target filed, else N
if BUKRS = 9000 THEN ISFRANCHISE= Y
ELSE
ISFRANCHISE=N
I've done the mapping as below
BUKRS = 9000--> IF THEN Y ELSE N--
> ISFRANCHISE
BUT everry time the target value is N only
pl suggest
rgds
mojibmapped like this
BUKRS--->SORT---->
EQUALS --------IF---THEN Y
9000------------------------> ----------------->ISFRANCHISE
ELSE N
context of BUKRS set to parent node
its worked
thanks to all for valuable suggestions
rgds
mojib -
IDOC-XI-JDBC scenario, jdbc sent too slow
i have a IDOC-XI-JDBC scenario,
the problem is that near 5 Lac IDOC is sent to XI, each IDOC is processes by an instance of the scenario, and the sent to the Database is too clow...means 4000 records per hour,
can i configure the JDBC receiver adapter in a way, so that it becomes faster/more concurrent,Hey,
First raise the issue to the DBA he might help resolve the ISSUE more efficently.
Secondly check in the JDBC adapter -> Adavance mode -> Disconnect from the data base after processing each message shouldn't be set.
Even check with Database Transaction Isolation Level -> default is value of the connected database.
<b>The isolation level determines how transactions running in parallel can influence each other</b>
http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
Why not the other way around > Collect multiple idocs in a file restrict maxium number of idocs to required value then send the file ?
Stefan Grube Example:
/people/stefan.grube/blog/2006/09/18/collecting-idocs-without-using-bpm
if it is with bpm then collect multiple idoc with occurance change and send them.
<b>Cheers,
*RAJ*
**REWARD POINTS IF FOUND USEFULL <b> -
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 -
Message mapping issue in idoc to jdbc scenario
We have a scenario of idoc->XI-JDBC
the below given segment may get repeated , as shown below ,
E1EDP19[2]--idoc segment
QUALF---003
IDTNR---01000123(Bar Code No)
E1EDP19[3]--idoc segment
QUALF---003
IDTNR---20500000000034(EAN No)
Reqd mapping
if QUALF=003
THEN IDTNR----->Bar_code_Number_EAN
Now IDTNR has to be mapped with Bar_code_Number_EAN for the segment which comes last
Pl suggest how to map using graphical mapping for the above scenario.Hi Raj ,
The current mapping works fine if the parent segment E1EDP01 is only one but if that gets repeated then the last value of IDTNR is getting populated in the target side, very clearly i m giving the source and target structure and the mapping done using the UDF
Source structure
E1EDP01
E1EDP19[1]--idoc segment
QUALF---002
IDTNR---01000123(Bar Code No)
E1EDP19[2]--idoc segment
QUALF---003
IDTNR---01000123(Bar Code No)
E1EDP19[3]--idoc segment
QUALF---003
IDTNR---20500000000030(EAN No)
E1EDP01
E1EDP19[1]--idoc segment
QUALF---002
IDTNR---01000123(Bar Code No)
E1EDP19[2]--idoc segment
QUALF---003
IDTNR---01000123(Bar Code No)
E1EDP19[3]--idoc segment
QUALF---003
IDTNR---20500000000031(EAN No)
E1EDP01
E1EDP19[1]--idoc segment
QUALF---002
IDTNR---01000123(Bar Code No)
E1EDP19[2]--idoc segment
QUALF---003
IDTNR---01000123(Bar Code No)
E1EDP19[3]--idoc segment
QUALF---003
IDTNR---20500000000032(EAN No)
Target mapping
if QUALF=002
THEN IDTNR--->Article_No this is the direct mapping so , no issues
if QUALF=003
THEN IDTNR----->Bar_code_Number_EAN, now this IDTNR should get repeated every time the segment E1EDP01 gets repeated , currently only the last value form all the IDTNR is coming to the target side.
The current mapping works fine if the parent segment E1EDP01 is only one
Target structure
Access1
IDTNR--> Bar_code_Number_EAN( value is 20500000000030)
Access2
IDTNR--> Bar_code_Number_EAN( value is 20500000000031)
Access3
IDTNR--> Bar_code_Number_EAN( value is 20500000000032)
Current mapping
If QUALF = 003
Then QUALF ---->
mapBarCodeEAN---->Bar_code_Num_EAN
If QUALF = 003
Then IDTNR ---->
Context of QUALF is set to E1EDP01
Context of IDTNR is set to E1EDP01
thanks for your personalised help
rgds
mojib
Edited by: mohammad mojib ur rahman on Apr 9, 2010 1:30 PM -
Problem in Idoc to JDBC scenario(uses BPM)
Hi
I have a IDoc to JDBC scenario which also uses BPM.
The JDBC adapter has to execute a Stored procedure on Sybase database.
I work on XI3.0 SP14.
When I am sending IDoc to XI it is failing in CALL adapter step.
The error message is "Unable to convert sender service TruckLiftAccountUpdate to an ALE logical system".
However this scenario is working in Production with same settings.But it is not working in Quality and it is giving the above error.
Can any one help me in this.
Thanks in advance.
KPThanks for your quick reply..
All the settings are in place.
Here the Idoc is coming to BPM and BPM cant able to execute the stored procedure.and we are getting the error from BPM to target system.
Here error is unable to convert the sender service(from BPM service) to ALE
logical system.
same settings are there in Production but it is not working in QA.
Thanks in adavnce,
KP -
Hi,
I have scenario from IDOC to JDBC. My question is, can JDBC call be synchronous in this scenario, so I colud i 2. step update some Oracle table with new Vendor number. Second question is, is there on Internet some example of calling Oracle Customer function, or is it possible?
thx
marioHi check this blog for synchronous JDBC call
/people/siva.maranani/blog/2005/09/16/xi-how-to-on-jdbc-receiver-response
BR
Sameer -
IDoc to JDBC scenario strange bahaviour
Hi Experts,
My Scenario is IDoc to JDBC,
I am creating some vendor masters in ECC, CREMAS IDoc sent to PI, mapping everything executed perfectly but data not posted in to data base, it is taking min 20 mnts to post data.
When I monitor communication channel it is initiated and status (Dlvg) but after 20 mnts only it is showing message data posted successfully in Data base.
What I observed was in MONI, IDoc initial status shows still awaiting for acknowledgement, after 20 mnts status changed to Acknowledgement not possible, at this time data posted to ODS.
Why this is happening, it is really strange behaviour.
When I reprocess IDoc using WE19 without delay data posted to data base and IDoc status in moni " ack not possible.
How to solve this issue.
Toa a Thanks advance,
JamHi,
Please see the link, it might be useful to you.[Handle_Acknowledgements|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f6d2d790-0201-0010-9382-b50b499b3fbe]
Regards,
P.Rajesh
Edited by: Rajesh_1113 on Apr 29, 2011 3:24 PM -
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 -
IDOC to JDBC scenario: Does INSERT command expect a result value?
Hello,
we have an IDoc-to-JDBC-scenario configured on our XI 3.0, which uses the INSERT command to put a dataset coming from R/3 into a SQL database. This works fine.
Now a trigger has been activated on the database, which sets a flag to each dataset after inserting.
Because of this a system error occurs in the Adapter Engine and I found in the AuditLog (logSQLStatement=true), that the INSERT command is processed correcty, but in the next step an error is shown up: 'SQLServerException. A result set was generated for update.'
Could it be, that the trigger returns a result value, which can't be handled on the XI ?
If yes, how can I solve this issue? I have read something about the different methods execute(), executeUpdate() and executeQuery(), but I don't know how and where this has to be configured...
Thanks in advance,
JuergenHi Upendra,
I got some more information from the database adminstrator:
He used the following command 'exec xp_cmdshell @ExportCmd , no_output'
whereas @ExportCmd contains the command.
With the no_output option, the xp_cmdshell does not return a recordset.
I hope this will be helpful to you.
Grtz,
Juergen -
IDOC -to-JDBC Scenario for Purchasing Info Record - Urgent !!!
Hi All,
I am working on IDOC-to-JDBC Scenario and i have no concepts about IDOCs. I know how to configure an IDOC in XI , but i have no idea how to start for it in SAP.
Can anybody help me on how to find the INFREC IDOC in SAP, how to configure it , how to insert data into that IDOC and then finally how do we test that if its working or not .
Thanks & Regards,
RuchiHi All,
I am working on IDOC-to-JDBC Scenario and i have no concepts about IDOCs. I know how to configure an IDOC in XI , but i have no idea how to start for it in SAP.
Can anybody help me on how to find the INFREC IDOC in SAP, how to configure it , how to insert data into that IDOC and then finally how do we test that if its working or not .
Thanks & Regards,
Ruchi -
IDOC to JDBC scenario-IDOC settings
Hi all i m doing an idoc to JDBC scerio and i have configured the settings and trying to trigger an ido and see whether i am able to post the data into the Db or not but i cant see idocs in XI:these are the steps i follwed posted in earlier forums:
Create an RFC destination to XI in the sender SAP system using SM59
Create a transactional port to XI using the RFC destination created in the above step
Create a Partner agreement using transaction we20 in the sender SAP system
Create a logical system using transaction bd54 for the partner agreement created in the above step
Select an IDOC using transaction we19 and change the EDIDC header recipient port & LS name
Create an RFC destination to the Sender SAP system using SM59
Create port to sender system using idx1 in the XI system for the RFC destination created in the above step
Create Metadata in idx2 transaction..
I have done the above and trying to trigger an idoc in we19 by changing the control records...but my idoc is not getting triggered.
Did i miss any other configuration?Please guide me.
also my guess is that i might have missed something in my partner profile config,
i specified ordrsp msg type in o/b parameters,specfied the port,selected trasfer idoc immediatley option,specified process code..i guess thats about it
Am i rite?Am I missing something.
ThanksHI Aarthi,
In WE19 while triggering Idoc, what are you getting ? ANy error..Is it created any Idoc number . If so go to WE02 and check the status ...
If Idoc is triggered and it is not reached into XI, then you can check in SM58 for the status.
TO cross check the configuration-
/people/ravikumar.allampallam/blog/2005/02/23/configuration-steps-required-for-posting-idocsxi
Also check how to guide for Idoc scenario.
https://websmp106.sap-ag.de/~form/sapnet?_SHORTKEY=01200252310000071155&
Regards,
Moorthy
Maybe you are looking for
-
I purchased an explicit version of a song by mistake. I then went back on line and purchased the clean version. I've deleted it from my itunes library but when I sync it with my phone, it reappears. How do I remove it permanently? It almost seems
-
Go_item problem on stacked canvas
Hello. I use stacked canvas in my form. On that canvas i have a button. User use this button to close stacked canvas. I use: hide_view('canvas_name'); go_item('block.item_name'); It seems as go_item is not working. Cursor only moves to the block and
-
Retrieving corrupted pic. files from ipod
Hi, I recently formatted my hardrive and stored all my photos on my 30g video ipod. The photo were then accidently deleted off my ipod. I then downloaded a software that retrieved the files off my ipod. The software is called "Data Doctor Recovery".
-
hello everyone few drops of water just hit on to mi laptop keyboard and now mi laptop is no longer getting ON.i just need our help of where might be the problem and how do i fix it
-
Bought my teenage daughter a Zen V for Christmas 2006. Seemed like a good deal for the money?since this was her first experience with an mp3 player, but now I seriously?question if?perhaps?I should have spent a little bit more?money for a better qual