Once a record is pass, that should not come in next run.
If emp no - 001 is passed through integration, in next run process should skip 001.
Use flag to acheive this. When ever the record is passed successfully, update back the flag value to something like Y or YES for that specific record in that particular object in the source system.
For this, your starting query should get only those records with value other than Y or YES while you are pulling from the source system. This way you could get only those records that are not passed successfully.
If you are not able to update record in source like Mr. Morthala suggests, you could create a file containing all records that passes in this run and use that as a lookup to check if record should be skipped.
Process could look something like this:
But i dont think this will run in full mode, as the cache will clear itself after the run, so it will not have the previous record to compare.
Let me know your thoughts.
Then you can change the second disk connector operation to append to file like this:
Then records will just be appended to the file at the end of each execution, and no records that have ever passed through the process will be processed again. The weak spot in this, is that if you have a lot of records passing through, your file will grow very rapidly.
I just thought the process should check if the record was processed in the last execution.
If you are looking for a solution where a record may never ever pass through more than once, it would probably be better to have a database table "ProcessedEmployees" with just one column "EmpNumber". Then have decision shape with a SQL statement "select count(*) from processedemployees where empnumber = [empnumber]", if equals 0 then process employee number and insert into table, if 1 then do nothing.
Hope it helps.
Just curious, did it solve your problem?
If it did please mark as correct answer otherwise get back to me if you need further help on this.
Retrieving data ...