File adapter should pick a single file at a time

Hi,
    I have File to RFC scenario.. in my source directory  I'm getting bunch of files with  the same name.  at a time.. but  i want to pick the one by one only. that means.. my file adapater poll interval is 30 seconds.. every 30 seconds it will pick the one file.. even though there are multiple files.. but my file adapter should pick a single file ata time..
but at present my file adapater was picking all the files ata time..  but i want to make my file adapter should pick single file ata time..
for this.. any special  configuration we need to do..  or  any  ideas or suggestion  .. will be.. appriciated..
regards
Babu

>>any special configuration we need to do..
there is no default configuration to achieve this functionality.
I speculate that any of this should work.
1. Post the files to a intermediate directory and use a SCRIPT/Batch program to move only one file at a time frame to the source directory.
2. Uncheck the option Process Read only files in the sender CC to prevent the file adapter to pick the read only files. Use a script that changes the permission of one file at a time so that the file adapter will pick that file alone.
In both the cases the script needs to be scheduled at the OS level to run every 30 seconds.
Thanks
SaNv....

Similar Messages

  • File adapter to pick a single file

    The scenario is PI File adapter would pick files from a 3rd party FTP location. The 3rd party is placing files with file names using date time stamp.
    The requirement is to process one file at a a time - I have mentioned the Processing Sequence as 'By Date' which means the adpater would pick the files sequentially. But I want the adapter to pick only one file at a time rather than picking all the available files in the system.
    Is that possible to do?
    Thanks.
    Anuradha.

    Hi Anuradha,
      Could you please kindly provide answers to the queries below so that forum members can have a clear picture of your requirement
    1. What is the operating system of your PI server?
    2. What is the version of PI you are working on?
    3. What exactly do you mean by statement " I want the adapter to pick only one file at a time rather than picking all the available files in the system."  since adapter will actually pick up files one by one only in each polling interval. This goes in PI pipeline
    one after another in quick succession.
    4. Do you mean that you want to insert delays between successive file pick up then Baskar has already answered your question.
    5. Do you want the channel to pick up only one file in a day out of all possible file?
    6. Could you please kindly provide any sample file name you are receiving in PI ?
    regards
    Anupam

  • Production issue - Sender File adapter not picking up the files from folder

    Hi Guys,
    Ever since the upgrade from XI 3.0 to PI 7.1, we have come acrossinstances of weird error.
    Thsi time again - now the 3rd time - tandom basis, in our production PI server, we have teh file slying in the source directory folder in the server.
    I can see the files lying there in AL11.
    However, it looks like that the file polling has just stopped and the channel is going blank in channel monitoring.
    I have checked in SXMB_MONI and there are no messages since the morning.
    I have tried craeting a replica of the current channel but it is not working.
    This is teh production server and thsi has alraedy created production issues.
    I ahve checked in the SDN forum but am not able to find the details.
    Plaese help me.
    I am anyway going to raise the issue with SAP now.
    Regards,
    Archana
    <REMOVED BY MODERATOR>
    Edited by: Prateek Raj Srivastava on Jun 8, 2010 4:50 PM

    Hi Prateek,
    I have trying all sorts since the morning and then just checked teh file permissions.
    The file permissions were incorrect as compared ot the other files that were processed successfully today.
    Somehow the permissions were changed on the server and the interface channel was not able to poll the files.
    I got teh permissions changed back to 666 and all the files were pikced up in a minute.
    I got the folder checked and it seems like that the permissions were changed somewhere very early in the morning and we are trying to find out how it happened and who did that.
    However, another question i had - this sender file adapter was polling the source directory and deleting the files from there.
    I would have expected that if the channel had issues with the file permission because of which it was not able to access the file, it would have thrown an error something like the file permissions error.
    But there was not a single error in the channel monitoring.
    How can we configure it in a beter way so that we at least soem kind of error indication?
    Please advice.
    Regards,
    Archana

  • Sender File Adapter not picking up the file

    Hello Experts,
    I have configured a sender file (FTP) adapter. All the configurations are right. The name of the file is given exactly as it is. The processing mode is Delete.
    The scenario was running fine till today. I only made changes to the path from which it has to pick the file. I have checked the path numerously and it is correct.
    But the file is not being picked up.
    Monitoring the communication channel shows no errors. It has the green indicator. No idea what is happening.
    Please Help,
    Regards,
    Merrilly

    Hi
    try to make some changes anf then again save and cativte the adapter. may be the adapter is not being activated.
    also check whether the cache is refreshed or not.
    or u can also check in the communication channel monitoring the channel is start or stop. if stop then start the channel and then try again.
    if u still face the problem please reply me back.
    Thanks
    Rinku

  • I want to Pick the Single file from The source Directory

    Hi,
       My Scenario is File to RFC .. I'm getting the files in the source Directory.. File names  are  SENDER_(TIMESTAP).XML .. but the problem is... When ever  Files  are available in the Source Directory  Immediately  XI was picking  all the files at a time.. But I want to   to Pick a single file at a time..
    for Making  this what we have to do..   After Processing the first file then only my Sender adapter should pick the next file...  (even though Multiple files are available in my Source Directory)
    Regards
    Jain

    Hi,
    the other option was use Adapter specific attributes in the Sender Communication channel..
    or
    while droping the files ask them to drop using time stamp in another directory  and an external validation is required .. and after validation push single file to Source directory using batch file..
    i.e use a batch file using run time operating system or make that batch file to run at OS level ..
    where the batch files needs to validate the time interval of the file and needs to push a single file to the source directory.. where from there we can directly pick a single file and process..
    regards,
    Kishore

  • Sender File adapter not picking the file ABCD.PRN extension file

    Hi
    Am doing File to Abap Proxy scenario. My source will be in text format of fixed length of fileds 7.
    My souce file will be generated by a third party machine with the extension EEE150809.PRN. In my scenario my file adapter should pick the file and update the same in ECC via a Proxy.
    I have configured the Sender File adapter with Message Protocol -  Content Conversion but file adapter is not picking the file. I have checked the Communication channel and status is fine. But the same Communication Channel works for .XML file.
    What are the parameters that I have to consider with the file extension .PRN using File adapter?
    Thanks.
    S.

    Hi Swarna,
    You dont need to worry about the extension when picking the file. You can try using EEE* so that is picks all the files starting with EEE. If you have the fixed name then you can try giving EEE150809.*. Also EEE150809.PRN should not have any issue. Try to see in sender commu ication cahnnel for anyerrors. Probably there might be some network issues or authorisation issues. If you are reading with NFS then ask them to give necessary permissions. If you are reading through FTP check the user id and pwd you are using.
    Regards,
    ---Satish

  • File Adapter Not picking the files

    Hi All,
    We have a process wherein the file adapter picks up the file from a particular location and it processed thereafter. We get the files once every month. We noticed that if the files that are being dazzled are of the same, i.e if the same nomenclature is there for the file that was dazzled the previous month, the adapter does not pick up the file. Only after renaming the file, it picks the file and processed them.
    Any idea why the files that are dazzled with the same name are not being picked up.
    Thanks in Advance...!!

    Hi,
    While configuring file adapter to pick up the files cross verify with file name putting in the directory location against the
    "Includes files with name pattern" "Excludes file with name pattern" file name..
    let say if u kept .*txt if picks the files txt with any name and one more think once after picking up the file from particular location are u enabling (delete file once read) option in configuration(It all depends on ur req)..
    cross check the schema element of the file pattern.

  • Want To Pick a single file from the Source Directory

    Hi,
       My Scenario is File to Proxy. Legacy team is generating Bunch of files in a same directory.But i  want to pick single file for each poll interval. after process teh firts file only Sender Adapter should pick and process the next file .
    At prsent  , My scenario is picking all the files  in a single shot and all the files are processing parellelly. . But all the files are related to one Process Order So, out of bunch of files some few of files are processing successfullu. remaining all teh files are getting  " Proces Order is locked by another User" Error message . This was happeing only for the parellel processing.  And from technical point of view , In sender Communication Channel i have used  Quality of Service  is Exactly Once in Order  and i have mentioned the Queue name also. .
    Evel legacy team is generating Bulk of files i want to pick a single file only, suppose if theer is no chnace then at least i want to process single file at a time  after finishing the one file processing , then only i want to go for the next file
    For this, is teher any paremeters need to be set , please suggest me,.
    Regards
    Jain

    At prsent , My scenario is picking all the files in a single shot and all the files are processing parellelly.
    Are you using the Additional Source Files options?
    What you can do :
    1) Select Processing Tab > Processing Sequence> By Date
    2) You can introduce a delay between two processing by using a Thread.sleep(msec) statement in some UDF in your mapping...this will ensure some delay between two processing: Re: Delay in MM possible ?
    3) You can select the Connect Mode option as Per File Transfer.....keep it as the last option....
    Regards,
    Abhishek.

  • Restricting the File adapter to pick up only a part of the payload

    Hi ,
    I have a csv file like below,
    $H$,Header1, xyz, xyz
    $H$,Header2, xyz, xyz
    $H$,Header3, xyz, xyz
    $D$,Detail1,xyz,xyz
    $D$,Detail2,xyz,xyz
    $D$,Detail3,xyz,xyz
    Header and Details links have no link to each other!!! I just wanted to check if at all it is possible for the file adapter to skip the header llines and take only the detail lines.
    Does this require any tweaking in the nxsd that is generated??
    Any light on this would help... :)

    Hi Anuradha,
      Could you please kindly provide answers to the queries below so that forum members can have a clear picture of your requirement
    1. What is the operating system of your PI server?
    2. What is the version of PI you are working on?
    3. What exactly do you mean by statement " I want the adapter to pick only one file at a time rather than picking all the available files in the system."  since adapter will actually pick up files one by one only in each polling interval. This goes in PI pipeline
    one after another in quick succession.
    4. Do you mean that you want to insert delays between successive file pick up then Baskar has already answered your question.
    5. Do you want the channel to pick up only one file in a day out of all possible file?
    6. Could you please kindly provide any sample file name you are receiving in PI ?
    regards
    Anupam

  • File Adapter: Advanced selection for source file

    Hi Experts,
    I am doing file(Idoc format) to IDoc scenario. In my scenario I am getting files in three different formats (ex: abc.dat, xyz.dat, 123.edi). My communication channel (sender file adapter) should poll for every 30 mins, picks up the files and map them to Idoc without any mapping.
    Need following clarifications:
         1. Should I create 3 communication channels to pick up 3 different type files? Or should I use the Advanced selection for source file to pick up them with only one CC?
         2. If there is no mapping how should I proceed in this case?
    Regards,
    Rams

    >>1. Should I create 3 communication channels to pick up 3 different type files? Or should I use the Advanced selection for source file to pick up them with only one CC?
    Not required.. if all the files are from the same directory then u can specify .  in the file name parameter.. but make sure that only these 3 file types are places in the directory... if this is not the case you can use Advannced Selection... check my Wiki [Single Sender File CC For Multiple Directories|https://wiki.sdn.sap.com/wiki/display/XI/SingleSenderFileCCForMultipleDirectories]
    >>2. If there is no mapping how should I proceed in this case?
    Mappiing is required only if the source and the target structure are different.. if u send the file with the IDocc XML format mapping is not required...
    ~SaNv....

  • Need Help-SOA 11g File Adapter unable to delete input file and its crashing

    Hi All
    Please find the details below:
    1. We have created a simple SOA composite to Read file from an input directory, archive the file in an archive directory using Inbound File Adapter Read
    and then use Outbound File Adapter Write to move the file to a output directory.
    2. File Adapter needs to delete the file after successful read/retrieval.
    3. We are using the "Use Trigger File" for invoking the file adapter. This is a new feature in SOA 11g
    4. Also we are using the option of reading the file as an attachment as we are not doing any transformation in the composite
    Issue Details_
    1. When the trigger file is put in the input directory for the first time, the File Adapter reads the file, archives it and moves it to the output directory
    2. However it does not delete the input file from the input directory and raises Fatal Exception mentioned below:
    [*2011-01-12T16:55:48.639+05:30] [soa_server1] [WARNING] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@19c243d]*
    [userId: <anonymous>] [ecid: 0000IptyLrL9_aY5TrL6ic1DBOS_000009,0] [APP: soa-infra] File Adapter FileAdapterTriggerFilePOC PostProcessor::
    Delete failed, the operation will be retried for max of [0] times
    [2011-01-12T16:55:48.639+05:30] [soa_server1] [WARNING] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@19c243d]
    [userId: <anonymous>] [ecid: 0000IptyLrL9_aY5TrL6ic1DBOS_000009,0] [APP: soa-infra] File Adapter FileAdapterTriggerFilePOC [[
    BINDING.JCA-11042
    File deletion failed.
    File deletion failed.
    File : C:\Dibya\AttachmentTest\InputDir\TestFile3.txt could not be deleted.
    Delete the file and restart server. Contact oracle support if error is not fixable.
    If any one has faced similar issues, kindly provide pointers on how to resolve it.
    Regards,
    Dibya

    Hi,
    Using the file adapter, you can poll from multilple locations...
    Keep the following property in your .jca file
    <property name="DirectorySeparator" value="," />
    While giving the path in File Adapter configuration, keep comma and give the next location....then the file will be picked up from the locations you gave....
    Hope this helps...
    Thanks,
    N

  • Problem in reading no. of files and writing into a single file

    Hi,
    Iam with Problem in reading no. of files and writing into a single file....
    Iam reading no. of files stored in local directory.......
    Iam able to read and print the data in files successfully....but while writing..only first file is being written...and the next files are not written in my output file...
    plz tell me my mistake....I hope Iam doing some mistake while writing into file...PLz help.....
    Basically my code structure is like this....
    import java.io.*;
    import java.util.regex.*;
    import java.util.*;
    import java.text.*;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFCell;
    class Writing {
    public static void main(String args[]) throws Exception {
              FileOutputStream fileOut = new FileOutputStream("ServerResult.xls"); //my output file
              int counter = 1;
              File dir = new File("C:/Perform/ServerLogs");
              String[] children = dir.list();
              if( children == null)
                   System.out.println("The Directory mentioned does not exist");
              else {
                   for (int fileNo = 0; fileNo < children.length; fileNo++ ) {        //Files iteration starts
                        String filename = children[fileNo];
              File logFile = new File(filename);
    FileReader logFileReader = new FileReader(logFile);
    BufferedReader logReader = new BufferedReader(logFileReader);
    StringBuffer sBuf = new StringBuffer(5000);
              HSSFWorkbook wb = new HSSFWorkbook();          
              HSSFSheet sheet = wb.createSheet();
              HSSFRow rowTitle;
              HSSFRow rowReq;
              HSSFRow rowRes;
    String aLine = null;
    boolean skip = false;
    boolean readed = false;
    boolean initReq = false;
              boolean flag = false;
    long requestTime = 0;
    long responseTime = 0;
    long recdTime = 0;
    long sentTime = 0;
              long hasTime = 0;
              long presentTime = 0;
              int hasCalls = 0;
    Pattern startMessage = Pattern.compile("^<MESSAGE.*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
    Pattern requestMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"RequestMsg.\".*ID=\".*_"+args[0]+"\".*<ActName>(.*)</ActName>.*", Pattern.DOTALL);
    Pattern requestMessage1 = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"RequestMsg.\".*ID=\".*_"+args[0]+"\".*<Svc id=\"(.*)\">.*", Pattern.DOTALL);
    Pattern responseMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"ResponseMsg\".*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
    Pattern initMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"HostConnInit\".*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
    Pattern initResMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"ResponseMsg\".*ID=\"null\".*", Pattern.DOTALL);
    Pattern initResIDMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"ResponseMsg\".*ID=\"null\".*<IATA>"+args[0]+"</IATA>.*", Pattern.DOTALL);
              Pattern sentMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"DCMsgSentInfo\".*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
              Pattern rcvdMessage = Pattern.compile("^<MESSAGE.*TS=\"(.*)\" CATEGORY=\"DCMsgRcvdInfo\".*ID=\".*_"+args[0]+"\".*", Pattern.DOTALL);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
    DecimalFormat dcf = new DecimalFormat("########.##");
    String actName = "";
              if (fileNo ==0)
              rowTitle = sheet.createRow((short)0);
              rowTitle.createCell((short)0).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)0).setCellValue("Req/Res");
              rowTitle.createCell((short)1).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)1).setCellValue("Action");
              rowTitle.createCell((short)2).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)2).setCellValue("Server Time(in ms)");
              rowTitle.createCell((short)3).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)3).setCellValue("Request Vs Response Time in Server(in ms)");
              rowTitle.createCell((short)4).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)4).setCellValue("Time Taken By HAS/HOST(in ms)");
              rowTitle.createCell((short)5).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)5).setCellValue("No. of HAS calls");
              rowTitle.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_STRING);
              rowTitle.createCell((short)6).setCellValue("Data Size");
              //wb.write(fileOut);
    while((aLine=logReader.readLine()) != null) {
    if(aLine.startsWith("<MESSAGE TYPE=\"EVENT\"")) {
    Matcher m = startMessage.matcher(aLine);
    if(m.find()) {
    sBuf.setLength(0);
    sBuf.append(aLine);
    skip = false;
    initReq = false;
    m = initMessage.matcher(aLine);
    if(m.find()) {
    initReq = true;
    } else {
    if(initReq) {
    m = initResMessage.matcher(aLine);
    if(m.find()) {
    sBuf.setLength(0);
    sBuf.append(aLine);
    skip = false;
    } else if(aLine.startsWith("</MESSAGE>")) {
    if(!skip) {
    sBuf.append(aLine);
    readed = true;
    } else if(!skip){
    sBuf.append(aLine);
    if(!skip && readed) {
    String tempStr = sBuf.toString();
    if(tempStr.length() > 0) {
    boolean reqMatched = false;
    Matcher m = null;
    if(initReq) {
    m = initMessage.matcher(tempStr);
    actName = "Intialization";
    } else {
    m = requestMessage.matcher(tempStr);
    String time = "";
    if(m.find()) {
    reqMatched = true;
    for (int i=1; i<=m.groupCount(); i++) {
    String groupStr = m.group(i);
    if(i == 1) {
    time = groupStr;
    } else if(i == 2) {
    actName = groupStr;
    } else if(!initReq){
    m = requestMessage1.matcher(tempStr);
    if(m.find()) {
    reqMatched = true;
    for (int i=1; i<=m.groupCount(); i++) {
    String groupStr = m.group(i);
    if(i == 1) {
    time = groupStr;
    } else if(i == 2) {
    actName = groupStr;
    if(time.length() > 0 ) {
    try{
    requestTime = sdf.parse(time).getTime();
    }catch(Exception ex){}
    System.out.println("Request,"+actName+","+time+",,,,"+dcf.format(((double)time.length()/1024.0))+"K");
                                  //bw.write("Request,"+actName+","+time+",,,,"+dcf.format(((double)time.length()/1024.0))+"K");
                                  String reqDataSize = dcf.format(((double)time.length()/1024.0))+"K" ;
                                  rowReq = sheet.createRow((short)counter);
                                       rowReq.createCell((short)0).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)0).setCellValue("Request");
                                       rowReq.createCell((short)1).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)1).setCellValue(actName);
                                       rowReq.createCell((short)2).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)2).setCellValue(time);
                                       rowReq.createCell((short)3).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)3).setCellValue("");
                                       rowReq.createCell((short)4).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)4).setCellValue("");
                                       rowReq.createCell((short)5).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)5).setCellValue("");
                                       rowReq.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_STRING);
                                       rowReq.createCell((short)6).setCellValue(reqDataSize);
                                       counter = counter +1;
                                       System.out.println("counter is "+counter);
                             Matcher l = sentMessage.matcher(tempStr);
                             Matcher k = rcvdMessage.matcher(tempStr);
                   if(l.find()) {
                                            for (int i=1; i<=l.groupCount(); i++) {
         String groupStr2 = l.group(i);
    try{
    sentTime = sdf.parse(groupStr2).getTime();
    }catch(Exception ex){}
                        if(k.find())
                                                 for(int j=1;j<=k.groupCount(); j++) {
                                                 String groupStr1 = k.group(j);
                                                 try{
    recdTime = sdf.parse(groupStr1).getTime();
    }catch(Exception ex){}
                                                 presentTime = (recdTime - sentTime);
                                                 hasTime = hasTime + presentTime;
                                                 hasCalls = hasCalls +1;
    if(!reqMatched) {
    if(initReq) {
    m=initResIDMessage.matcher(tempStr);
    } else {
    m=responseMessage.matcher(tempStr);
    if(m.find()) {
    for (int i=1; i<=m.groupCount(); i++) {
    String groupStr = m.group(i);
    try{
    responseTime = sdf.parse(groupStr).getTime();
    }catch(Exception ex){}
                                                 String resDataSize = dcf.format(((double)tempStr.length()/1024.0))+"K" ;
                                                 rowRes = sheet.createRow((short)(counter));
                                                 rowRes.createCell((short)0).setCellType(HSSFCell.CELL_TYPE_STRING);
                                                 rowRes.createCell((short)0).setCellValue("Response");
                                                 rowRes.createCell((short)1).setCellType(HSSFCell.CELL_TYPE_STRING);
                                                 rowRes.createCell((short)1).setCellValue(actName);
                                                 rowRes.createCell((short)2).setCellType(HSSFCell.CELL_TYPE_STRING);
                                                 rowRes.createCell((short)2).setCellValue(groupStr);
                                                 rowRes.createCell((short)3).setCellType(HSSFCell.CELL_TYPE_NUMERIC);
                                                 rowRes.createCell((short)3).setCellValue((responseTime - requestTime));
                                                 rowRes.createCell((short)4).setCellType(HSSFCell.CELL_TYPE_NUMERIC);
                                                 rowRes.createCell((short)4).setCellValue(hasTime);
                                                 rowRes.createCell((short)5).setCellType(HSSFCell.CELL_TYPE_NUMERIC);
                                                 rowRes.createCell((short)5).setCellValue(hasCalls);
                                                 rowRes.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_STRING);
                                                 rowRes.createCell((short)6).setCellValue(resDataSize);
                                                 hasTime = 0;
                                                 hasCalls = 0;
                                                 counter = counter + 1 ;
    sBuf.setLength(0);
    readed = false;
              wb.write(fileOut);
              } // End of for (int fileNo = 0; fileNo < children.length; fileNo++ )
    }     //End of else
              fileOut.close();
    } //End of public static void main
    } // End of Class

    First of all, use [code]-tags to make your code readable, please.
    I didn't do a complete inspection of your code (because it's too much and unreadable as it is) and I don't know POI, but creating a new HSSFWorkbook for each input file sounds fishy to me ... try re-using the workbook and just creating a new sheet in each iteration.

  • Error in reciever file adapter , where i am getting file name dynamically

    hi all,
    error in reciever file adapter , where i am getting file name dynamically, please help me in this isssue , i am trying for a long time
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:MT_eINVOICE_RECV' found in document', probably configuration error in file adapter (XML parser error)': java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'Conversion configuration error: Unknown structure 'ns0:MT_eINVOICE_RECV' found in document', probably configuration error in file adapter (XML parser error)'

    i am getting new error
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Channel has not been correctly initialized and cannot process messages
    this is my strcuture
    and i have changed my structure
    <HEADER>
    <ADDRESS1/>
    <ADDRESS2/>
    <ADDRESS3/>
    <ADDRESS4/>
    </HEADER>
    <HEADER_GST>
    <TAX1/>
    <TAX2/>
    <TAX3/>
    </HEADER_GST>
    <LINE>
    <QTY/>
    <UOM/>
    <UNIT_AMT/>
    <CHARGE_TO_DT/>
    </LINE>
    <FILENAME>
         <FILENAME/>
    </FILENAME>
    i have given the recordset structure as
    HEADER,HEADER_GST,LINE,FILE

  • File Adapter and reading all XML files from direcotry

    Problem occurs on PI 7.1
    I defined sender file adapter. File name mask is: "*.xml" to read all XML messages from directory.
    Quality of service is: Exactly One.
    Poll Interval: 30
    Retry interval: 30
    Processing mode: Archive with option "Add Timestamp".
    Processing sequence: by name.
    I though that with above configuration my File Adapter will be reading folder for all coming XML files. But  somehow it is reading XMLs only when I'm activating it in Integration Builder.
    Any idea what can cause such strange problem?

    Hi Tomasz,
    As per my understanding, you need to activate the file adapter for reading the XML files on your directory. Right?
    If that is the case, then the issue might be with the Cache.
    1. Clear the cache from the Integration Builder.
    2. Check in SXI_CACHE whether there are any issues. Click on Delta Cache refresh to find out if there are any cache related issues.
    Thanks,

  • Sender file adapter is not polling the file.

    Dear all,
       Sender file adapter is not polling the file.(But Receiver file adapter is getting the file)
    we have installed SP15.
    It was worked fine for previous SP14.
    I have cheked in Adapter monioring also.
    Can you help me out of this problem
    Regards
    Dhanabal

    Hi Dhanabal,
    Is the XI system running on a unix machine ?
    If yes, from the OS level for the folder you are using in the file comm. channel, execute the command
    <b>chmod 777 <folder_name></b>
    The reason for the file to show up in receiver side and not get deleted might be that the xi user mighht be having only read access to the folder...
    Thanks,
    Renjith.

Maybe you are looking for

  • Mavericks doesn't work with eSATA Express Card

    This is an Apiotek II 300 Express Adapter. I went out to Apiotek.com and it appears the domain is for sale. Is there any way to get a software update or do I have to buy a new Express Card that allows eSATA drives to work with Mavericks. I did a back

  • Safari times out when trying to log in to a secure connection

    I am using 6.0.5. My work requires me to make a secure connection for various data that I access, which all uses Shibboleth. I have no problem logging in to get information except with one particular site. I have already: checked to see if it is a kn

  • MS Office bug - with OS 10.6

    I have a repeatable bug. Just upgraded to SL. Everything seems to work fine except updating office documents on a Windows XP computer. I'm running the latest version of everthing (i.e. office, etc.). I have a Windows XP computer on my network. There

  • Catalogs in Lightroom 5

    Good morning, I've bought Light room 5 10 days ago. Last week, I've created several catalogs. Today, when I try to open recent catalogs, I don't fin them anymore. Can you help me please ? Thank you

  • Java parser for regular expression to java program

    Hi All, I am very new to parser technologies .I am looking for a (java)parser which can read the "regular expression" and can convert it into "java program".Please let me know is there any thing related to this. Thanks in advance. Your will be appric