7. Create MARC Holdings

7. Create MARC Holdings

Spike: MODSOURCE-274 Store MARC Holdings record
https://folio-org.atlassian.net/browse/UXPROD-1575
https://folio-org.atlassian.net/browse/MODSOURMAN-652


Description

This page is created to describe a flow when the FOLIO Holdings records are getting created while importing MARC Holdings records using the data-import system.

The 'Create' is an action that is specified by the Action profile, so anytime the user needs to choose the Action profile when there is a need to create records. Also, the user needs to attach a Mapping profile, that is needed to allow generating Folio records from the incoming Marc SRS records using default mapping rules.

Action profile:                                                                                                                 Field Mapping profile:


Flow

The user uploads the MARC file, chooses an Action profile & Mapping profile on the UI application, starts the import process

Step№

Module

Task

Event produced on task completion

Step№

Module

Task

Event produced on task completion

1

mod-data-import

Sends a batch of records to Kafka queue

DI_RAW_RECORDS_CHUNK_READ

2

 

 

mod-source-record-manager

Receives a chunk of records,
Parses raw MARC records to JSON format,
Performs validation: if the Holdings record has a corresponding SRS Marc Bib record with the same Hrid (004 Holdings field) then the record is valid,
Logs invalid records without storing in SRS
Sends only valid records to Kafka queue to store in SRS

DI_RAW_RECORDS_CHUNK_PARSED

3

mod-source-record-storage

Receives the event from SRM, Stores Marc && Json Holdings records into the database and returns the result back via Kafka queue

DI_PARSED_RECORDS_CHUNK_SAVED

4

mod-source-record-manager

Receives the event from SRS, creates JSON payload (containing parsed MARC, profile, mapping parameters) for further processing, and sends it to the queue

DI_SRS_MARC_HOLDING_RECORD_CREATED

5

mod-inventory

Generate Holdings FOLIO record from Json SRS record using default mapping rules, Sends FOLIO record to mod-inv-storage

DI_ERROR
DI_INVENTORY_HOLDINGS_CREATED_READY_FOR_POST_PROCESSING

6

mod-source-record-storage

Holdings HRID is set to '001' MARC_BIB field,
The value from '001' is moved to '035',
Holdings ID is set to '999 ff i' field

DI_SRS_MARC_HOLDINGS_HRID_SET

7

mod-inventory

Updates the existing Folio record (Hrid only)

DI_COMPLETE

Diagram

Source