Skip to main content
Question

How to identify deleted objects from Smallworld Reader when exporting changes from baseline

  • February 15, 2018
  • 9 replies
  • 34 views

Forum|alt.badge.img

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.

9 replies

erik_jan
Contributor
Forum|alt.badge.img+18
  • Contributor
  • February 15, 2018

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.


Forum|alt.badge.img
  • Author
  • February 15, 2018
erik_jan wrote:

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.

 


Forum|alt.badge.img
  • Author
  • February 15, 2018

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
Contributor
Forum|alt.badge.img+18
  • Contributor
  • February 15, 2018
li_fme wrote:
@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.

 

 


Forum|alt.badge.img
  • Author
  • February 15, 2018
erik_jan wrote:
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
Contributor
Forum|alt.badge.img+18
  • Contributor
  • February 15, 2018
li_fme wrote:
@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.

 

 


Forum|alt.badge.img+2
  • February 16, 2018
li_fme wrote:

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.

 


Forum|alt.badge.img
  • Author
  • February 16, 2018
erik_jan wrote:

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".

Forum|alt.badge.img+2
  • February 16, 2018
li_fme wrote:

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

 

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings