on 08-01-2007 10:59 PM
Hi,
I have a File to ECCscenario.
File adapter picks up File A and sends it to ECC. ECC will process it. If it is successful in processing then File B needs to be picked up and sent to ECC.
Please send in your suggestions as to what would be the best design for this one.
Hi Ardent,
I like your idea with minor adjustments.
0. Two files arrive - "fileA.txt" and "fileB.txt"
1. The first file adapter is set to pick up a file named "fileA.txt", the second file adapter is set to pick up a file named "fileC.txt" (dont't worry!)
2. "fileA.txt" arrives and XI picks it up and sends it to ECC.
3. ECC then processes the file in the BAPI
4. When the BAPI successfully processed the file, it calls an outbound interface (the second interface) which then goes through XI to a receiver Java Proxy.
5. The receiver Java proxy then renames "fileB.txt" to "fileC.txt"
6. Renaming the file allows the second file adapter to process it.
The downside is that this requires a Java Proxy.
If ECC has access to the files directly, then maybe the second file can be renamed directly from ECC eliminating step 5.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Aamir,
Appreciate your reply. I am not quite sure if you understood my requirement.
File A needs to be picked up by XI and map to a BAPI call. This will post some data to SAP tables. Once XI gets a success message back, then File B needs to be picked up from the same file server and mapped to a BAPI call.
In a gist, File A needs to be processed successfully before File B can be processed.
I thought of using BPM and have 2 receive steps: first one activates correlation between 2 files; then have BPM transform File A to BAPI call and send a sync. request to ECC and once a successful response is received, transform File B and send a BAPI call.
But 2 catches:
1. What if there are some errors in processing of File A. The negative response will have to cancel the process and the files have to be re-processed.
2. As per SAP help doc. when 2 messages are received serially; the second one received is sent first ( i.e. File B would be sent first). We want File A to be sent first and that would be the file we would receive first ( the legacy process spits out File A before File B).
I have come to some rough design with 2 async. interfaces but I want to hear more from SDNers if they had a better approach.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ardent,
lemme give it a try. .
Recv Step 1 for file A.
Recv Step 2 for file B
Pick both the files in series and put them in different containers.
Send Step 1 followed by a block containing second Send Step (for file B) & with an exception branch.
If you get success response from A you go ahead and send the file B else you go ahead through exception branch.
So, you can raise an exception in case your first send step fails (application error)
Regards
Pushkar.
Ardent,
Is there any difference between the file names A and B.. and how are they linked? any key field exists in both tha files? If so, you might want to set up 2 file sender channels which process the files with different names. In the BPM, sync call to ECC when returns, you need to check the response and decide on whether to pickup the file B or not..
VJ
Pushkar,
Thanks for your reply. I thought of this as well.
But the requirement is that we do not want to cancel the process or throw an exception if the file A is not processed successfully. The ECC side would fix the issue and then process the file B.
I am thinking of making 3 interfaces:
One processes file A (async)
Second one would be a request ( async ) from ECC to get the file B.
Third one would process the file ( async)
I appreciate your reply.
Ardent,
<i>If it is successful in processing then File B needs to be picked up and sent to ECC</i>
When u consider this as succesful, Could you please tell us the criteria?
Best regards,
raj.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey
there are two ways to do this scenario,the first one is via using BPM,you will send File A to ECC and get the acknowledgement ,once you get the acknowledgement you will either post File B or not depending upon the reply.
in the second one also you will have to use BPM but design will be very simple(same as File to RFC sync),once you get the response,append this response in File B,now in message mapping Create the receiver message only if the response is OK otherwise dont create the receiver message.
in either case you need to use BPM,the first BPM will be a bit complex and the second one will be a fairly simple BPM
Thanx
Aamir
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
101 | |
13 | |
13 | |
11 | |
11 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.