This is a feature of Oracle File and FTP Adapters that uses an invoke activity within a
while loop to process the target file. This feature enables you to process arbitrarily
large files.
To achieve this follow the steps below.
1)Create File/FTP Adapter and select the operation type as "SynchRead"
2)Select the sample directory name and file name for incoming files
3)Select the message schema as a native
4)Click on Finish.
5)Now edit the .jca file as below
6) Now create an invoke activity and create partner link to the created File Adapter.
Now your file Adapter will be ready to read in chunks.
Now we need to put this invoke in while loop and check for end of the file by using following properties.
By setting following properties in invoke activity
while loop to process the target file. This feature enables you to process arbitrarily
large files.
To achieve this follow the steps below.
1)Create File/FTP Adapter and select the operation type as "SynchRead"
2)Select the sample directory name and file name for incoming files
3)Select the message schema as a native
4)Click on Finish.
5)Now edit the .jca file as below
<interaction-spec className="oracle.tip.adapter.file.outbound.ChunkedInteractionSpec">
<property name="DeleteFile" value="true"/>
<property name="PhysicalDirectory" value="/temp"/>
<property name="FileName" value="dummy.txt"/>
<property name="ChunkSize" value="10"/>
</interaction-spec>
6) Now create an invoke activity and create partner link to the created File Adapter.
Now your file Adapter will be ready to read in chunks.
Now we need to put this invoke in while loop and check for end of the file by using following properties.
By setting following properties in invoke activity
From Side
<bpelx:fromProperties>
<bpelx:fromProperty name="jca.file.LineNumber" variable="<Variable>"/> (Returns Line Number)
<bpelx:fromProperty name="jca.file.ColumnNumber" variable="<Variable>"/>(returnColumnNumber)
<bpelx:fromProperty name="jca.file.IsEOF" variable="<Variable>"/>(returnIs End Of the File)
<bpelx:fromProperty name="jca.file.IsMessageRejected" variable="<Variable>"/>(returnIs Message Rejected)
<bpelx:fromProperty name="jca.file.RejectionReason" variable="<Variable>"/>(returnRejectionReason)
<bpelx:fromProperty name="jca.file.NoDataFound" variable="<variable>"/>(returnNoDataFound)
</bpelx:fromProperties>