cancel
Showing results for 
Search instead for 
Did you mean: 

File-XI-RFC, archiving file only when system ack ok. Is it possible?

Former Member
0 Kudos

Hi !

We have a File-XI-RFC scenario. We need the file adapter to archive the input file ONLY if the message was delivered ok to the RFC.

Should this work, using a BPM with this steps ????

1) Receive (file message type)

2) Block

2a) Send (ASYNC to the RFC, with transport Acknowledgement enabled)

2b) deadline branch at N minutes

The goal is that if the R/3 RFC receiving system is down, XI does not archives the input file and tries to process it later when R/3 is available. XI's File Adapter should find the file in the source directory because it was not archived when the process returned error the last time it was executed.

Thanks,

Matias.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Thanks!

bhavesh_kantilal
Active Contributor
0 Kudos

Mat,

The BPM approach sounds good.

1. In your Sender File Adapter Keep the mode as DELETE. let the source file be deleted.

2. In your BPM, if you get a positive ack, then you can use a Send Step to send the file to the Archive folder. If you do not get a positive ack and the deadline uis reached, then you can resned the same file back to the source folder. ( use the Adapter Specific message identifiers ).

Regards

Bhavesh

Regards

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

one Question if use delete option in file adapter then the file will not be available again BPM ?

Regards

Sreeram.G.Reddy

Former Member
0 Kudos

Hi Bhavesh !

It sounds good, now I will spice it up....because of the big size of some of the input files (more than 10 mb), we are using the recordsets by message parameter of the file content conversion, to split the big file into several small messages...how does this should work with the proposed BPM ? each BPM would receive only a part of the source file, if one of the parts could not be delivered...the SEND step that sends the file back to the source folder...will send that part or the whole file?

Thanks!

Matias.

bhavesh_kantilal
Active Contributor
0 Kudos

Mat,

In this case it will put only the partial file and my logic will not work unfortunately.

Sriram~ The file content will be available in the BPM in a container Element. So, use a separate Send step the same file can be sent to the target directory ( either new or archive folder)

Regards

Bhavesh

Former Member
0 Kudos

Hi Bhavesh !

I'm thinking in other idea, based on yours...

there should be 2 scenarios:

Scenario 1: takes file from SOURCE folder,archives it in a VERIFICATION folder, tries to send via RFC.

Scenario 2: takes file from VERIFICATION folder, checks via BAPI call if its content was succesfully inserted via the RFC of scenario 1, if this BAPI returns OK, send the data to a HISTORIC folder if the BAPI returns ERROR, send the data to the SOURCE folder. I could use the extended receiver determination feature here to select between the HISTORIC and SOURCE folders or BPM.

Always using EOIO, and file construction mode = APPEND in the receiving file adapters of scenario 2, to rebuild the input file based on the several splitted messages.

What do you think ?

Thanks !

bhavesh_kantilal
Active Contributor
0 Kudos

Matias,

Might work, but not a good solution.

1. You will need Correaltion.

2. You need a BPM just because your need to archive successful calls.

A better option would be to continue without BPM, and let the file getr archived as needed by the Sender File Adapter.

Configure XI alerts and so if the calls fails anywhere and automatic update is available and then the error handling can be done and so on.

Regards

Bhavesh

Former Member
0 Kudos

Hi Matias,

this is not possible because file adapter archives only file adapter completes it suesful and now the control is with the IntegrationServer no more with Adapter engine .

Regards

Sreeram.G.Reddy