Skip to main content

I created a Smallworld Reader with

Alternative: |A

Exporting Changes from Baseline: Yes

Baseline Alternative: |A

Baseline Checkpoint:B

The difference between the baseline and Alternative is 1 insert, 1 update and 1 delete. I added an Inspector to the reader and it only detects the 1 insert and 1 update. How can I identify the deleted object? The deleted object is native to alternative A, it was not an insert and delete type of object. In my Smallworld application, it also tells me my changes between the Alternative A and the checkpoint are the 1 insert, 1 update and 1 delete.

The difference reader from Smallworld will populate the attribute fme_db_operation with INSERT, UPDATE or DELETE.

You can use that attribute (need to expose it) to test for deletions.


The difference reader from Smallworld will populate the attribute fme_db_operation with INSERT, UPDATE or DELETE.

You can use that attribute (need to expose it) to test for deletions.

@erik_jan, It doesn't. It only identified two differences. After placing an inspector right after the reader to inspect the difference, it only shows the 1 insert and 1 update. I am using FME version 2017.1.

 


If I use a "ChangeDetector" transformer and feed it with Smallworld Reader alternative "A", checkpoint "B" as the original reader and Smallworld Reader alternative "A" as the revised reader, then it will find the deleted object for me. But this will make the translation long because it needs to scan through the table twice to find the delete. And I notice the fme_db_operations for the deleted record has no values, not sure if that was why the export from baseline is not able to identify the deleted record.


@erik_jan, It doesn't. It only identified two differences. After placing an inspector right after the reader to inspect the difference, it only shows the 1 insert and 1 update. I am using FME version 2017.1.

 

Then you are not using the Spatialbiz plugin to read the SmallWorld data.

 

See Spatialbiz Plugin and SWSync tools for FME.

 

 


Then you are not using the Spatialbiz plugin to read the SmallWorld data.

 

See Spatialbiz Plugin and SWSync tools for FME.

 

 

@erik_jan, If I am already on the Smallworld Edition of FME, do I still need those plugins?

 


@erik_jan, If I am already on the Smallworld Edition of FME, do I still need those plugins?

 

No, you should be able to read changed data. But the plugins work with the Database edition of FME and do not need the SmallWorld Edition.

 

 


If I use a "ChangeDetector" transformer and feed it with Smallworld Reader alternative "A", checkpoint "B" as the original reader and Smallworld Reader alternative "A" as the revised reader, then it will find the deleted object for me. But this will make the translation long because it needs to scan through the table twice to find the delete. And I notice the fme_db_operations for the deleted record has no values, not sure if that was why the export from baseline is not able to identify the deleted record.

@li_fme The GE Smallworld plugin you are using does support the extract of deltas. You don't need the SBS plugin for this functionality. You shouldn't need the ChangeDetector. The Smallworld reader should definitely give you the fme_db_operation with INSERT, UPDATE or DELETE. In our FME for Smallworld Tutorial, the section on Working with Alternatives and Versions discusses what you should see when you set the Alternative and the Baseline.

 


The difference reader from Smallworld will populate the attribute fme_db_operation with INSERT, UPDATE or DELETE.

You can use that attribute (need to expose it) to test for deletions.

Since our company has the Smallworld edition of FME, I don't really need to use the plugin. But the data change from FME only detected Insert & Update when I used "export from baseline".

If I use a "ChangeDetector" transformer and feed it with Smallworld Reader alternative "A", checkpoint "B" as the original reader and Smallworld Reader alternative "A" as the revised reader, then it will find the deleted object for me. But this will make the translation long because it needs to scan through the table twice to find the delete. And I notice the fme_db_operations for the deleted record has no values, not sure if that was why the export from baseline is not able to identify the deleted record.

I think at this point I'd suggest you log a support case with Safe on our Report a Problem page and we'll get someone to walk through this with you and try and figure out why you're not seeing the fme_db_operation DELETE's

 

 


Reply