AnsweredAssumed Answered

SIS Framework and Integration Ownership of Disabled Records

Question asked by heather.crites on Sep 10, 2018
Latest reply on Sep 12, 2018 by gw0046349

Good afternoon!

 

We are currently on 3400.11.0. We use the SIS framework. I periodically run a series of queries against the DDA to validate my SIS data (e.g. ensure that everyone has the correct DSK, are owned by the correct integrations, etc).

 

In my experience, when a REFRESH (or a STORE with an explicit ROW_STATUS of disabled) is run, the integration drops ownership of the record. When validating my data, I see that this is true of our record types for Course and Course Membership. However when I run validation on my Person records I am seeing 32,000+ records which are all disabled, but are still owned by a specific integration. This seems to have started since moving into SaaS, but it may just be a coincidence.

 

My questions are:

  • Is my typical experience of integrations dropping ownership of disabled records still accurate?
  • Is anyone else experiencing this?
  • Any idea on how to "remove" these records from being owned by their integration?

 

This is my query in case anyone wants to run it as well:

SELECT DATA_INTGR_ID_MAPPING.PK1,
  DATA_INTGR_ID_MAPPING.LEARN_OBJECT_TYPE,
  DATA_INTGR_ID_MAPPING.SIS_OBJECT_TYPE,
  DATA_INTGR_ID_MAPPING.BATCH_UID,
  DATA_INTGR_ID_MAPPING.DATA_INTGR_PK1,
  DATA_INTGR.NAME,
  USERS.BATCH_UID||'|'||USERS.USER_ID||'|'||USERS.FIRSTNAME||'|'||USERS.LASTNAME||'|'||USERS.EMAIL||'|'||INSTITUTION_ROLES.ROLE_ID||'|'||USERS.BATCH_UID||'|'||CASE CAST(USERS.ROW_STATUS AS TEXT) WHEN '2' THEN 'disabled' WHEN '0' THEN 'enabled' ELSE CAST(USERS.ROW_STATUS AS TEXT) END||'|'||CAST(DATA_SOURCE.BATCH_UID AS TEXT)||'|'||CAST(DATA_SOURCE.BATCH_UID AS TEXT) AS sis_integration
FROM USERS
LEFT OUTER JOIN DATA_INTGR_ID_MAPPING ON USERS.BATCH_UID = DATA_INTGR_ID_MAPPING.BATCH_UID
LEFT OUTER JOIN DATA_INTGR ON DATA_INTGR_ID_MAPPING.DATA_INTGR_PK1 = DATA_INTGR.PK1
LEFT OUTER JOIN DATA_SOURCE ON USERS.DATA_SRC_PK1 = DATA_SOURCE.PK1
LEFT OUTER JOIN INSTITUTION_ROLES ON USERS.INSTITUTION_ROLES_PK1 = INSTITUTION_ROLES.PK1
WHERE DATA_INTGR_ID_MAPPING.DATA_INTGR_PK1 NOT IN (68) AND USERS.DATA_SRC_PK1 NOT IN (2)
ORDER BY sis_integration

 

DATA_INTGR_ID_MAPPING.DATA_INTGR_PK1 of 68 is the PK1 for our "normal" SIS Users integration job.  USERS.DATA_SRC_PK1 of 2 is the PK1 for the SYSTEM DSK. Basically, this looks for non-GUI-generated users who are not owned by the normal SIS integration. The 32,000+ results being found are all for a "Record Changes" integration which I use specifically for DSK and ROW_STATUS changes. These users were all moved to a different DSK and then disabled. But the "Record Changes" integration still "owns" these records.

 

I never run REFRESH jobs using "Record Changes" and they are all already disabled so I am not worried about accidentally disabling someone, but it is annoying because it is going against the expected results of my data validation queries.

 

If anyone has any insight, I am all ears.

 

Thanks in advance!
Heather

Outcomes