You can easily achieve this using a database poller. Check for the records column=current date and write it to a file.
In case you do not want a poller, use a quartz scheduler, call your BPEL process from the quartz scheduler . This BPEL process can read the records from database and write to a file.
Thanks for the response. I do really appreciate it..
I dont have any options to just read a record based on the criteria COLUMN=CURRENTDate. I dont want to delete any records from the table after read. It is our permanent table where all the records are stored. I need to do the ReadOperation rather delete AFTER READ.
Then use the second option fire the SQL query on DEMAND. Also you have other options apart from deleting the records like :-
Yes you can use the DB poll in database adapter, there you have a option for logical delete so while getting the data it will not delete the record from the table.
I dont see the PORT TYPE and OPERATIONS for the interaction type "Partner Link" when readtbl service ( created using the following steps) is invoked in the BPEL process at the design view.
Steps followed to create the DB adapter service:
1. Poll for New or Changed Records in a table.
2. Selected a table.
3. No Relationship declared ( as it is not required ).
4. Selected the Primary Key
5. Update Field in the TABLE NAME table ( Logical Delete ) .. Reason is: I don't have Sequencing set up at the table level.. Please advice.
6. Logical Delete Field has been set to the parameter I am passing to the BPEL process.
7. Read and Unread value has been set to 1 and 0 respectively.
8. Polling Options - Default.
9. Parameter: Using Logical Delete Field as the parameter.
10. Advanced Option - Default.
The DB Adapter created has been placed at Exposed services ( usually I see at the External References when I select the different options in STEP 1). I wired the tblread exposed services to the BPEL process and the tried to invoke it. That time I dont see the options mentioned above.
Please advise. How can I read all the DB Adapter output records and pass it along the BPEL process for write?
Also Do I need to create a SEQUENCE for the tbl if I need to use the following options ?
- Section 18.104.22.168, "Update an External Sequencing Table on a Different Database"
- Section 22.214.171.124, "Update a Sequencing File"
I am kind of stuck. Please advise...
Use the logical delete option : Oracle JCA Adapter for Database - 11g Release 1 (126.96.36.199.3)
In the bpel process drop the receive activity and in the receive activity look for the partner link for the db adapter you have created.
Thanks for your inputs. I have been trying to get around this error message for the past 2 days, after I dropped the connection between the BPEL ReceiveInput activity to the BPELPROCESS_CLIENT service and added DBRead service instead.
- Error(64): variable "inputVariable" of type "client:BPELProcessRequestMessage" is not compatible with WSDL message "ns1:EmployeeCollection_msg".
As from the error, you have to change the message in wsdl file or again create a bpel process and this time select template "Define Service Later". After that wired the db service adapter with that bpel process and then in the bpel process drag the revceive activity and add the db read service.
Sorry to bug you a lot. I don't have good Oracle BPEL background, but I have to get this done as soon as possible.
I am getting the following error message now.
- Error(20): There is no start activity in process "BPELPolling"
In the receive activity select the check box "Create Instance".
Thanks Anshul. It works fine. I do really appreciate your help.