Skip to Content
avatar image
Former Member

Network failure - processig file

Hi All,

Do we have any mechanism to identify network failure while reading the file from FTP.

My doubt is suppose I'm reading file and processing record by record..

1) In between reading if network failure happend, what happend to other records which are not processed.

2)If my scenario is should process complete file or reject complete file .. wht i should do?

3) If my scenario is only the records which are not processed should process.

Regards,

venu.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

7 Answers

  • Best Answer
    Apr 12, 2006 at 03:57 PM

    Hi Venu,

    The file will be picked up by XI in one shot and not record by record.

    So, if the file is picked up by XI, then network failure will not matter. But, before picking up the file if the network fails, like say you shut down the FTP server, then I think the adapter will reflect an error or will not pick up the file.

    Regards,

    Bhavesh

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi ,

      Sorry to rain on the party , i remember following up with sap regarding the recordsets per message option and got a reply someting like this.

      <b>If FTP is used, the entire file content will be read into memory. In case of NFS only maximum record sets defined in file adapter will be read from file. Up SP14 FTP will work as NFS.</b>

      so a network failure may affect your processing, its better you dbl chk using a proper channel(OSS)

      Regards

      Saravana

  • avatar image
    Former Member
    Apr 12, 2006 at 03:50 PM

    Hi Venu,

    I think the file adapter picks up the entire file before it processes it and produce(s) XML nessage(s). It is like all XML messages or generated or none. So the problem of processing a few and missing a few will not arise.

    praveen

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 12, 2006 at 04:30 PM

    Hi,

    <i>1) In between reading if network failure happend, what happend to other records which are not processed.</i>

    A file adapter keeps polling for a file from when it is activated. When it finds the required file, the entire file is taken into memory, and it is processed record by record.

    So, the above statement cannot happen.

    <i>2)If my scenario is should process complete file or reject complete file .. wht i should do?</i>

    There must be a condition based on which you would want to reject a file.

    For ex, you can search if a tag in the entire record exist, if it does, then processing is continued, else the file could be rejected.

    The above could be achieved, using a ccBPM. Check if the tag exists, if so, send the message to the target, else, you could raise an exception, or you could specify the IP to stop.

    <i>3) If my scenario is only the records which are not processed should process.</i>

    You could maintain a database table.Make an entry in the table, each time a record is processed.

    When a new record comes in, check if there is an entry in the table for such a record, if so, reject the record as duplicate.

    Regards,

    Smitha.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 12, 2006 at 03:53 PM

    Hi,

    The adapter picks up the file and starts reading it and processing it so it will never happened that the some records are processed and some are not.

    Thanks,

    Prateek

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 12, 2006 at 03:59 PM

    Hi,

    <i>******1) In between reading if network failure happend, what happend to other records which are not processed.</i>

    Once the Adapter is Active, then file will be picked up and it starts processing. So if there is any error while picking up the file then it will show error in Adapter Monitoring. For this , you can trigger an alert( if SP14 onwards) to notify the people. Once it picks the file, then it will start processing the records

    <i>******2)If my scenario is should process complete file or reject complete file .. wht i should do?</i>

    Depends on Business Requirements. You can do both. If you want to check this , after file is getting picked up, then do a Records check in Java Module in the File Adapter. One you you find there is an error in the file,(no of records etc), then you can directly reject the file based on requirements. If you this check in Module, you can avoid the messages reaching to Mapping, so the better performance.

    <i>***3) If my scenario is only the records which are not processed should process.</i>

    You need to implement this logic either in Module or Mapping. But if you want to get the processed Records , you need to maintain some comments (Table) on that.. Depends on the requirement..

    Hope this helps

    Regards,

    Moorthy

    Add comment
    10|10000 characters needed characters exceeded

  • Apr 12, 2006 at 04:36 PM

    Hi Venugopal,

    It can be done, you can configure alerts to send a mail when the adapter errors out, to get a notification of it. To configure alerts you can check michals blog on the same.

    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step

    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide

    In the RWB when creating an alert rule, you can explicitly choor if the error occured in the Integration engine or adapter engine and more specifically the adapter type too.

    Check note 870232 and 913858.

    Regards,

    Chandra

    Message was edited by: Chandravadhana

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 12, 2006 at 04:42 PM

    Hi Venu,

    I have tried with 120 MB file and simple mapping, it was picked up by the file adapter and successfully processed it.

    Thanks,

    Prateek

    Add comment
    10|10000 characters needed characters exceeded