Data import: fails the creation of a Holding through a match on the 999 ff field

Description

Precondition

User is logged onto Bugfest with at least the following permissions:

•   Data import: Can upload files, import, and view logs
•   Settings (Data import): Can view, create, edit, and remove
•   Inventory: All permissions
•   Inventory: View, create, edit instances
•   UI: Data export module is enabled

The user has downloaded the attached file

Steps to Reproduce: 

  1. Go to the "Data import" app-> Click on the "or select files" button > Select the "1 record.mrc" file> click on the "Open" button

  2. Select the "Default - Create instance and SRS MARC Bib" job profile-> Click on the "Actions" button-> Select "Run" -> Click on the "Run" button at displayed modal

  3. After the import is completed, click on the file name at the top of the log list

  4. Click on the "Created" hotlink in the instance column

  5. Copy the Instance HRID

  6. In the 1st panel select the search option "Instance HRID"-> start searching for the copied HRID from  #5 step.

  7. In the Search results (2nd) pane, mark the checkbox next to the one result. Then click on the 'Action' button in the results pane and select 'Export instances (MARC)'

  8. Go to Data Export app and Click on the most recent quick-export hotlink at the top of the export log, that was finished by your user in the "Run by" column

  9. Using a MARC editor or similar software, open the MARC file (from step #8) to verify that the record contains the 999 ff $i $s field.

  10. Go to Settings application-> Data import/Field mapping profiles-> Actions-> New field mapping profile.

Create a new "Field Mapping Profile" with:

  •  

    • Name: Create simple holdings (or any unique valid name)

    • Incoming record type: MARC Bib

    • FOLIO record type: Holdings

    • Statistical codes:

  •  

    •  

      • Add these to existing

      • Select one from the dropdown list that is probably not being used in other records

    • Permanent location: Select a value from the dropdown list

Save the profile

11. Create a new "Field Mapping Profile" with:

  •  

    • Name: Create simple items (or any unique valid name)

    • Incoming record type: MARC Bib

    • FOLIO record type: Item

    • Material type: Select one from dropdown list

    • Statistical codes:

  •  

    •  

      • Add these to existing

      • Select one from the dropdown list that is probably not being used in other records

    • Permanent loan type: Select one from the dropdown list

    • Status: Select "Available" from the dropdown list

Save the profile

12. Go to the "Action profiles" section/Actions/New action profile
Create a new "Action Profile" with:

  •  

    • Name: Create simple holdings (or any unique valid name)

    • Action: Create (all record types)

    • FOLIO record type: Holdings

    • Link the "Create simple holdings"  mapping profile (from the #10 step)

Save the profile

13. Create a new "Action Profile" with:

  •  

    • Name: Create simple items (or any unique valid name)

    • Action: Create (all record types)

    • FOLIO record type: Item

    • Link the "create simple items"  mapping profile (from the #11 step)

Save the profile

14. Go to the "Match profiles" section-> Actions-> New action profile
Create a new "Match Profile" with:

  •  

    • Title: Match 999 ff $i to Instance UUID (or any unique valid name)

    • Incoming records: MARC Bibliographic

    • Existing records: Instance

    • MARC value in incoming record:

    • Field: 999

    • Ind 1: f

    • Ind 2,: f

    • Subfield: i
      Match criterion: Exactly matches
      Existing item record field: Admin data: Instance UUID

Save the profile

15. Create a new "Job profile" with

  •  

    • Name: Create holdings and items by matching the 999 ff field. (or any unique valid name)

    • Accepted data type = MARC

  •  

    • Overview:

  •  

    • Click + and add Match profile: Match 999 ff $i to Instance UUID (from the #14 step)

      • For matches, click + and add Action profile: Create simple holdings (from the #12 step)

      • For matches, click + and add Action profile: Create simple items (from the #13 step)

Save the profile

16. Go to the "Data import" app-> Click on the "or select files" button > Select the MARC file from #8 step> click on the "Open" button

17. Select the "Create holdings and items by matching the 999 ff field" job profile-> Click on the "Actions" button-> Select "Run" -> Click on the "Run" button at the displayed modal.

18. Click on the file name that has been imported from step #17.

Expected Results: Holding and Item created after import with the match on 999 ff field.

Actual Results:  

  • Holding  and Item is not created

  • Page with JSON code contains the error: "A new MARC-Holding was not created because the incoming record already contained a 999ff$s or 999ff$i field"

NOTE: During import, the action profile to create "MARC Holdings" is not used, but only the action profile to create the "Holding" is used, so the error should not occur. "Holdings" and "MARC Holdings" mapping profiles differ in the following features:

"MARC Holdings" mapping profile: 
Incoming record type: *MARC Holdings
*FOLIO record type: Holdings

"Holdings" mapping profile: 
Incoming record type: *MARC Bibliographic
*FOLIO record type: Holdings
 

CSP Request Details

None

CSP Rejection Details

None

Potential Workaround

None

Attachments

3

Checklist

hide

TestRail: Results

Activity

Show:

Ann-Marie Breaux September 23, 2022 at 5:27 AM

Hi Data Import was broken on MG BF for a couple of days, but it's working again now. Tested this and it works as expected. Closing this issue.

Ivan Kryzhanovskyi September 21, 2022 at 8:41 PM

Hi , looks like this ticket already been deployed to the bugfest env. Could you please doublecheck it and close if everything works as expected?

Maksym Ishchenko September 19, 2022 at 3:04 PM

Hello !

Verified on folio-snapshot, no 999 errors appears. Screencast:

https://issues.folio.org/secure/attachment/52534/2022-09-19_18h00_14.mp4

Ann-Marie Breaux September 15, 2022 at 12:39 PM

Reminder for myself: discussed with SMEs at DI Subgroup yesterday. In theory, a workaround could be to adjust job profiles to change the match being used in profiles that update Holdings. However, lots of libraries already have job profiles with matches between 999ff $i and Instance UUID, so this is a regression that will affect existing profiles. SMEs agreed that it should be MG BF, so long as not high risk

Ann-Marie Breaux September 15, 2022 at 12:26 PM

Thanks, I'm moving it to Morning Glory Bugfix, and will ask to figure out whether we can start working on it immediately. We will need to have the fix done and deployed to MG BF by middle of next week.

Done

Assignee

Volodymyr Rohach

Reporter

Priority

Story Points

Sprint

Development Team

Folijet

Fix versions

Release

Morning Glory (R2 2022) Bug Fix

RCA Group

Legitimate regression

Affected Institution

!!!ALL!!!

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs
Created September 14, 2022 at 8:03 AM
Updated October 3, 2022 at 2:49 PM
Resolved September 20, 2022 at 12:55 PM
TestRail: Cases
TestRail: Runs
Loading...