Recently I worked on one requirement in my project, to stop the processing of duplicate files if the file has been already processed earlier. There was a chance that client might place a file at FTP location more than ones.
This requirement can be achieved using different ways
Using adapter module to stop processing duplicate files at adapter level. Refer below link which explains how to deal with this kind of requirements using Adapter module and really good design.
But due to certain limitations from my client end (no adapter modules) decided to use other design.
Design Approach:
Step1:
- Created one function module in ECC and written logic like BAPI has one request /response parameter and request parameter value is Sender File name from PI.
- After executing an interface for new file (Eg: Inventory.xml) first time it will store file name in SAP Table and return response as “NE”(not exists).
-
If same file (Eg:Inventory.xml) placed in FTP then RFC lookup checks against entries in table
and returns response as “E”(Exists).
Below is the function module code.
Step2:
RFC lookup
PI7.1 onwards we can perform RFC look up using standard graphical function.
Step3:
Dynamic configuration UDF used to retrieve sender file name and provide as a request to the RFC lookup.
Step4:
Throwing exception at mapping level for already processed files,used simple UDF code used to check the RFC look up response beased on that manually failed message mapping with custom message.
PS:
1) This design has certain limitation like if RFC lookup fails due to RFC adapter issue or ECC-PI connectivity issue then it won’t check against table entries in SAP.
2) I provided this sulution as a temporary and requested my client to fix the problem from bussiness end.
3)I prefered this design because the load going to be very less and only5 files per day.
Nice article. Did you find any simpler permanent solution for rectifying duplicacy issue ?
you can check for the option in SAP SFTP adapter for duplicate file checks
Good Work Around.I think now with SAP SFTP adapter we no need to worry about the duplicate files handling.By default SFTP adapter will check the duplication of files.
What if my interface runs every day for 1hr with the same file name with different data?Mapping fails as per the BAPI logic and may be BAPI logic has to be modified with the combination of SYDATUM and FILENAME
Cheers
Pawan
From PI 7.3 EHP1..Even in File adapter there is an option for Duplicate File Handling.
Regards,
Shakti
Hi Shakti,
I have requirement to validate duplicate files by content of file say two fields in CSV file in sender system,pls suggest me the ways.
Thnx,Nithin.
I followed your blog to check duplicate file name but getting exception error: the input parameter file does not exist. It seems not passing file name to UDF. I have checked in CC for File Name. Is there any missing steps?