Reg: JDBC Adapter without Update Query
hi friends
i have designed a scenario where JDBC as a sender. i need to configure the adapter without using update query
Hi,
I believe the date field will store along with the time filed in the same column. At least oracle does that.
So in your select query you can write as below(from oracle, as i dont have a ms sql now)
assume
your table name = yourtable
date column = dtcolumn
select * from yourtable where dtcolumn = sysdate - interval '1' minute;
This query assumes that the dtcolumn will be always having the value of the date time stamp when data is inserted.
To be frank you should not do this. I dont understand why you cannot add a column "processed" and add update that. Any specific business requirement?
For best performance, typically in my implementation I suggest using a shadow table from which XI deletes the records. The actual table has the column saying if this got inserted to the shadow table.
Regards
Unni
Similar Messages
-
Sender jdbc adapter - no update query
hi ,
i am using pi 731 single stack.
the scenario is - PI has to pick data from view of a hana database. i am using jdbc sender for it.
pi will not have access to update the table,only pi can read the view of database.So,PI can't use UPDATE query.
If in jdbc sender channel ,I use SELECT query only and no UPDATE query - will it work ? what will happen if there are 100 records in the view and PI failed after fetching 43 records..will it pick from 44th record next time OR it will start from 0 again ?
rgdsHi SAP PI,
It has no sense to use the sender JDBC without update query because then always will be taken the same records.
If you cant update the source DB you only have the choice to talk with the DB administrators that they develop for you a stored procedure that it has to do the work to get different records in every PI access.
If the PI record process fail with impossible source database update update, the only way (afaik) is to do a PI alert and to communicate it to db sender administrators. There are another option like to store the data in a intermediate table, and so on but all possibilities that i can think now are not to enough good.
Regards. -
Reg: How to Stop Polling of JDBC Adapter without Scheduling the adapter
Dear Gurus,
Here I am having one requirement. My clients wants to send data from JDBC adapter (ORcale System table) to R3 system via RFC.
His Requirement::
1. He is not telling the time of data flow from Oracle server so that based on that we can schedule the adapter in the Communication Channel monitoring (Availablitiy Time Planning) or Else we can Schedule by deciding the setting of the polling interval time.
2. He is telling that When ever he waants to send the data he will place one dummy file in the File Adapter FTP location so that it will became an Indication for u to poll the jdbc adapter and to transfer the data to R3.
3. Untill he keeps the file or gives indication he doesn;t want to communicate with Oracle server due to some security and it s a most important data base he doesn't want to disturb that Oracle Server as so many business are running on that.....
We Proposed::
1. Atleast you need to tell the scheduling time or poll interval time so that we can schedule our adapter.
but he s not accepting for this
2. Atleast U need to give access for Data base to enter one more extra field like STATUS CODE so that we will add one number and we keep on Update in the Update table and based on that Update table statement it will poll.
but he s not even accepting for this
3. Finally we prposed that to create another table in the Oracle SYstem as Dulplicate Table which is similar to Standard Orginal table when ever he wants to pick the data please keep that data in this Duplicate TABle so that JDBC adapter will pick the data from thsi TABLE instead of picking the data from that standard table so that it will not effect any standard table data in the table.
but he s not even accepting for this
We have done some R & D:::
1. WE approached even through BPM and via switch conditions is one scenario
FILE RECEIVE >SWITCH CONDITION> RECEIVE AND SEND or else EXIT
2. Using correlation in anotehr scenario means correlating File adapter and JDBC and based on one dynamica value it will goes to SEND STEP ( RECE IVE --> RECEIVE --> SEND STEPS )
Even though we know this...concept that...we jsut tried::
In BPM we can control the flow in XI 3.0 but we cannot Stop the Polling of JDBC adapter at backend because one the data comes from FILE adapter it will keep on HOLD untill it receives the JDBC from Oracle then based on the condition or Correlation it will goes futher SEND step means after that file adapter is picking file or not ...what ever it may be JDBC will polls at backend and brings that data to BPM"
Hence sugest me How to Stop Polling of JDBC Adapter without Scheduling the adapter or else using STATUS CODE Update statements in JDBC Tables
Regards:
Amar Srinivas EliHi! All,
Finally I decided to do the scenario in two steps:
1: FILE REQ --> JDBC REQ -->JDBC RES --> FILE RECV
2: FILE RECV --> RFC
But I am getting issue while doing first scenario
Desgn :
I have created 2 Synchronous interfaces :
1) FILE 2 JDBC REQ
In this a) out put message is FILE Req
b) Input msage:; FILE RES
2} JDBC2FILE RECV
a) Output mesage;; JDBC REQ
b) Input Msge :: JDBC Response
Mappings:
1) File REQ-->JDBC REQ
2) JDBC RES-->FILE RES
Interface mappings:
1: FILE 2 JDBC REQ--> JDBC 2 FLE RECV
CONFIGURATION ::
1: One Seder File CC
2: Two reciever CC's one is for JDBC RECEIVER and other s FILE RECEIVER
3; One Sender Agreement
4: 2 Recver agreements
5: One Interface Determination and
6: One RECCV Determination
My Question;;
1. First let confirm whether my development steps are right or not ?
2: Another thing s I am not sure reg Configuration Steps means
whetehr one interface determination and one Receiver Determinations are required or not as these are synchronous Interfaces
3: main Issue is::::
If my scenario s FILE2RFC2FILE then I will get RFC response automatically but here issue is this is JDBC
My reqquirement is By sending one Field from fILE to JDBC REQ it needs to send entire TAbLE records as a Response to file as XML
without having Sender JDBC how can I send the JDBC Res to FILE and If that is the case then again JDBC adapter is polling which is contradict to the client requuirement which i explained above.
pleas suggest me the Detailed steps mainly Colloboration agreements and logical routings and
also explain in detail if i can go for BPM
Also give cleear blogs but before giving make sure that it contains detailed screen shots because aIready gone thorugh
Scenario File-JDBC-RFC
File<-->JDBC Sync coomunication.
https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/file-rfc-file(Without+BPM)
/people/luis.melgar/blog/2008/05/13/synchronous-soap-to-jdbc--end-to-end-walkthrough
Regards::
Amar Srinivas Eli -
Sender JDBC Adapter Select/Update Issue
Dear All,
We have configured a Sender JDBC Adapter to Poll data from the DB2 tables. It is working fine and both the select and the update queries written are also getting properly executed and are changing the status of the flag from Y to N once read from database.
In the communication channel ->
select * from <table> where flag = 'N'.
update <table> set flag = 'Y' where flag = 'N'.
But I have one doubt after executing the select query some new data comes into the table of status flag 'N"., then will this unselected data will also be updated to 'Y' .
The question is while we do a select and update from XI on the DB table and at the same time there is an insert happening into the table from the other end how will the adpater behave in this case.Will it result in missing of some records during next select/update transaction from XI..
Your inputs will be appreciated.
Regards
AmitAmit
Did you ever get a solution to your question ?
Sender JDBC Adapter Select/Update Issue
Posted: Apr 24, 2008 2:29 PM Reply
Dear All,
We have configured a Sender JDBC Adapter to Poll data from the DB2 tables. It is working fine and both the select and the update queries written are also getting properly executed and are changing the status of the flag from Y to N once read from database.
In the communication channel ->
select * from <table> where flag = 'N'.
update <table> set flag = 'Y' where flag = 'N'.
But I have one doubt after executing the select query some new data comes into the table of status flag 'N"., then will this unselected data will also be updated to 'Y' .
The question is while we do a select and update from XI on the DB table and at the same time there is an insert happening into the table from the other end how will the adpater behave in this case.Will it result in missing of some records during next select/update transaction from XI..
Your inputs will be appreciated.
Regards
Amit -
JDBC adapter - no UPDATE to database
Hi,
I have the scenario ABAP Proxy to XI to JDBC to read some data from a database and return some info back to BW. Is it mandatory to UPDATE the selected records in some way or can the UPDATE part of the adapter be disabled by putting something in the UPDATE parameter on the comm channel ?
Cheers
Colin.Hi Colin,
if you are talking about a sender JDBC adapter: you can put <TEST> in the update statement.
See this snippet from the help:
<i>Update SQL Statement
You have the following options:
Enter a valid SQL statement that is to be applied to the database once the data (determined from the Query SQL Statement) has been successfully sent to the Integration Server/PCK.
It must be an INSERT, UPDATE, or DELETE statement.
In place of the SQL statement, you can also enter <TEST>. Once the data determined from Query SQL Statement has been successfully sent, the data in the database remains unaltered.
This is recommended if the data has not only been read, but also changed by a stored procedure entered under Query SQL Statement.</i>
http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
If you want to synchronously call a receiver JDBC adapter, i think you can use action=SELECT without an update.
Regards
Christine -
Sender JDBC adapter SELECT / UPDATE issue - updates more rows than selected
Hi,
We have configured a Sender JDBC Adapter to poll records from an Oracle table based on a flag field and then update the flag for the selected records. When tested in DEV and QA environments (where test data comes in intermittently and not in huge volumes), itu2019s working fine.
Both SELECT and UPDATE queries written in the Sender JDBC adapter are getting properly executed and are changing the status of the flag for the selected records from Y to N once read from the database.
select * from <table> where flag = 'N'.
update <table> set flag = 'Y' where flag = 'N'.
But in the PROD environment (with records getting updated in the database every second), after XI executes the SELECT query and just before the UPDATE query is executed, new records come into the Oracle table with status flag 'N". So when the UPDATE query runs just after the SELECT query, then these unselected records also get updated to 'Y'. Thus these records never get into the resultset and hence XI and thus remain unprocessed.
So when XI does a SELECT and UPDATE on the Oracle DB table and concurrently there is an INSERT happening into the table from the other end, the JDBC sender adapter is picking up a certain number of records but updating the status of more records than it picked up.
So how does XI deal with such a common scenario without dropping records?
Thanks,
VishakThe condition being checked is the same for both SELECT and UPDATE statements.
Initially I tried setting transaction isolation levels on the database to repeatable_read and serializable but it was throwing me a java.sql.SQLException error saying that these transaction levels were not valid.
I asked for these transaction level permissions for the XI user from my DBA but the DB I am accessing provides only a view into other databases and so it's not possible. -
JDBC adapter table update Behaviour in PI
Hello Experts ,
I have Proxy to JDBC scenario ,please let know is there possible way to insert more than one line diff item for the same record ??
Could you please explain the behavior of JDBC adapter.
For Instance :
Expected Behavior:
Po number1 , item1 . ( first level of execution )
Po number1 , item2. (second level of execution )
Actual Behavior :
Po number1 , item2. (second level of execution )
In my scenario it is updating only the recent value , could you please suggest me .
Regards
RajaHi ,
Hope you are doing as below in mapping.
Open insert statement twice and don't use PO Number as key field value .
Ex:
case1:
Insert into tablename(ponumber,item) values(123,'xyz') ;
Insert into tablename(ponumber,item) values(123,'rtz') ;
O/P:two records gets inserted
123 xyz
123 rtz
case2:
Insert into tablename(ponumber,item) values(123,'xyz') where ponumber =123 ;
Insert into tablename(ponumber,item) values(123,'rtz') where ponumber =123 ;
O/P:2nd record overwrites the 1st record
123 rtz
Regards
Venkat -
Is it possible to fetch the data from 5 different database tables using a sngle CC where JDBC is configured on sender side.if yes how?
points will be rewarded for correct answers immediately....
regards
chandrakanthHello ,
You either use a select query with join or a stored procedure which will contain the logic to extract the data from multiple tables. But, the limitation in case of stored procedure is u can hv only one selct query in it.
JDBC adapter will be able to holdany select query irrespective of how long it is.
Sample code
SELECT <Table_2>.EID, <Table_2>.FName, <Table_2>.LName, <Table_1>.REC_DAT, <Table_1>.DESCRP
FROM <Table_1> INNER JOIN <Table_2> on
<Table_1>.CARDNO = <Table_2>.CARD
where REC_DAT = <condition>
union
SELECT <Table_2>.EID, <Table_2>.FName, <Table_2>.LName, <Table_1>.REC_DAT, <Table_1>.DESCRP
FROM <Table_1> INNER JOIN <Table_2> on
<Table_1>.CARDNO = <Table_2>.CARD
where REC_DAT = <condition>
Check these two threads...
configuring jdbc adapter with multiple tables
Two selects in one communication channel?
***********Reward points,if found useful -
JDBC Adapter Stored Procedure Query
Hi All,
I hav a scenario where i hav to call a Stored procedure. The stored procedure returns 3 result set objects (in other words, has 3 select statements). I had configured a JDBC Sender adapter which contains the Execute statement of the Stored Procedure. When i run this scenario, i'm not getting anything displayed on the SXMB_MONI. the adapter is in green color in the Adapter monitor.Can any one help me out in this regard?
Thnx in Adv
AnilAnil,
Did you check your Data Type is created correctly ?
And check the link, I have provided.
And first try to retrieve the 1 resultset. And check is it coming to XI.
Also check in the RWB->Message Monitoring->Select the Criteria->Audit Log.... You can check is there any error..
Just look into this also-DataType definition for when using JDBC sender adapter
configuring jdbc adapter with multiple tables
Hope this helps,
Regards,
Moorthy -
JDBC Sender - Select Query without Update Query
In this case, how many times data will be polled within some minutes, if my polling interval is 1 day.
How many messages in sxmb_moni?
Thanks,
Greg>>In this case, how many times data will be polled within some minutes, if my polling interval is 1 day.
The communication channel executes once as soon as you activate your sender communication channel. Now a single msg is sent to XI(with many as many rows as the select query fetches from the db).
After that, it waits for the polling interval(in your case 24 hrs) and then executes again.
This cycle continues. If you resart the communication channel, the cycle is disrupted and a new cycle starts.
Hope I dont add to your confusion
Regards,
Jai Shankar -
Sender JDBC adapter : Update SQL Statement : stored procedure
Hi,
Can we use a stored procedure in the sender jdbc adapter in 'Update SQL Statement'.
The problem i am facing is like, we are selecting data from two tables in 'SQL statement for query' and then in 'Update SQL Statement' , we need to delete that data from these two tables.
Please let me know if it is possible.
Thanks,
Rohityou can use a Stored procedure in the
Query SQL Statement
You have the following options:
· Specify a valid SQL SELECT statement to select the data to be sent from the specified database.
· Specify an SQL EXECUTE statement to execute a stored procedure, which contains exactly one SELECT statement.
The expression must correspond to the SQL variant supported by the relevant JDBC driver. It can also contain table JOINs.
so have your whole select and update as part of this single Stored procedure -
Sender JDBC adapter donot want to update database..
Hi,
We have JDBC to RFC scenario. In This we need to read only database table , we should not update it. As in sender JDBC adapter configuration Update SQL Statement is mandatory, so what needs to be done in this case?Hi,
In place of the SQL statement, you can also enter <TEST>. Once the data determined from Query SQL Statement has been successfully sent, the data in the database remains unaltered.
This is recommended if the data has not only been read, but also changed by a stored procedure entered under Query SQL Statement.
http://help.sap.com/saphelp_nw04/helpdata/EN/7e/5df96381ec72468a00815dd80f8b63/frameset.htm
Regards,
Manjusha -
Info reg reciever JDBC adapter's driver and connection
Hello,
I have following questions related to JDBC receiver adapter.
1. can I supply jdbc driver and jdbc connection dynamically to supply the DB parameters dynamically?
2. if I cant supply dynamically, how do i achieve this purpose?
3. What are the receiver adapter parameters of JDBC receiver adapter that i can change dynamically?
thanks and regards,
Nikhil.Hi,
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
Thanks,
Satya Kumar
Reward Points If it is Useful.. -
Populating SAP Database table using JDBC adapter
Hi Folks,
I have a requirement to populate a SAP database table say ZTABLE using XI. The Model is the table has to be populated through a file which will be processed by SAP XI. Basically this is a File to JDBC scenario. The database used is ORACLE. Kindly provide me some idea to go ahead.I tried to place the MS access table in the shared folder of the Application server system but still it seems the table is not being populated.
did you check the log in your receiver channel? (/people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn)
The requirement is to update the tables directly as those are the custom tables.
i would still say that do not update SAP tables directly from XI/ PI.....this is not a standard architecture/ solution.... -
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
Maybe you are looking for
-
Problem with Adobe DNG in Aperture 2.1.4
I've never had a problem with DNGs until now. I have Pentax DSLRs and can import their RAW format (PEFs), but my workflow involves converting PEFs to DNGs using Adobe RAW Converter, then importing the DNGs to my managed Library. Just got a Panasonic
-
Sending af object with a sequence
This is vrey simple. Here is the IDL.. module LagerIDL struct VareIDL long VareID; string navn; double pris; long minLager; long Status; long antal; typedef sequence<VareIDL> Vareliste; struct BestillingI
-
Location services are on. Weather app is installed. I can get weather info if I go to the app. That info is completely nonexistent in the pull down Notification Center. Any ideas?
-
Hi all, I've got a very easy question, but didn't found a solution. How can I change sort order in finder in Snow Leopard to bring the folders to the top? Kind Regards, Chrischmi
-
Why do vector objects copied from illustrator cc don't stay the same dimensions when pasted into pho
I think the problem started with the last updates. The normal work flow of copy and paste no longer functions correctly. Photshop is changing the dimensions of vector artwork copied from illustrator, and pasted to photoshop. If I start with a 6in x 6