Skip to main content
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Generic Alma Migration Guide

    This migration guide is intended to be used by customers who are coming from a legacy ILS (Integrated Library System) which will not be supported as a standard migration procedure by the Alma Migration Team. Customers are expected to provide extracts for their inventory and fulfillment data, and map them into generic Alma fields using this guide and the Generic Field Mapping form.
    This document serves two purposes:
    • A step-by-step guide to filling out the Generic Migration Form.
    • An explanation of general migration rules which do not require any customer input

    Recommendations for Using this Guide

    This document is divided into three areas:
    • Inventory
    • Fulfillment
    • Physical to Electronic
    Each area has the following sections:
    • Questionnaire Tab – Instructions for individual questions asked on the Questionnaire tab of the Migration Form.
    • Individual Tabs – Instructions for how to fill in individual tabs on the migration form.
    • Further Explanation – Explanations of migration processes that need more explanation and/or do not need customer input.
    We recommend that you look at the Questionnaire tab section and the individual tabs in each area to assist in filling in the migration form.
    If you have further questions about any of the data input or about the migration in general, see the more detailed explanations in the Further Explanations sections.

    Related Documentation

    • This document is intended to complement the Generic Migration Form - an Excel spreadsheet that is read by the migration programs. It provides further information regarding the migration process and the steps required for migration to Alma.
    • Prerequisites: Basic knowledge of Alma key concepts and architecture, and the requirements (including the migration-related approach) described in Getting Ready for Alma and Discovery Implementation, as well as the Electronic Resource Handling in Alma Migration document. Additionally, knowledge of the concepts and architecture of the legacy ILS.
    • The format and structure of the data exported from your legacy ILS is detailed in the corresponding document Generic Alma Data Delivery Specification.
    • It is recommended that you view the Introduction to the Alma Configuration Process video session before completing your migration form, as the mapping and migration of libraries and locations have implications for subsequent configurations.

    Inventory

    Alma uses bibliographic, holding, and item records. A typical legacy ILS will usually have bibliographic and item records, and depending on the features of the system, may provide MARC holding records or textual serial holding records which contain a serial summary statement. In cases where legacy ILS does not provide MARC holding records, they are created during migration, based on information in the item record and possibly the serial holding record.

    Customer Input

    Questionnaire Tab

    Institution Code, Customer Code, Institution Name, Customer Name, Time Zone

    Codes: INST_CODE, CUST_CODE – these are filled in by Ex Libris
    INST_NAME and CUST_NAME: fill these fields in with your institution’s name and your customer name (this is only different from the institution name if you are part of a consortium). These are mandatory and must be filled in.
    Default: N/A
    Time Zone: Select your time zone from the drop-down list. If your time zone is not listed, contact your Ex Libris project manager.

    MARC Organizational Code

    Code: MARC_OC
    Default: None; this is not mandatory
    Options: Enter your MARC Organizational code, which will be used to construct the former system number in Alma. Only one code is allowed.
    Further Information: The migration moves the value in the exported record’s former system number field (bibliographic system number) to the 035 $a field:
    (MOC)<bibliographic record id>-<customer code>
    <(moc)> is the MARC Organization code specified here. <customer code> is the customer code specified in the CUSTOMER_CODE question above.
    For example: (AbC)u12345-01abc_inst
    Usually the former system number can be in the 001 field of the bibliographic record. Customers should specify where the former system number is in the Bibs & P2E tab of the Generic Field Mapping form.

    List Prefix for bibs from SFX or other management system

    Code: SFX_PREFIX
    Default: ‘(SFX)’
    Options: String. If not indicating a link resolver management system, leave blank.
    Further Information: If your catalog contains records imported from SFX or another electronic resources management system and you are also migrating bibliographic records directly from SFX or the other management system, this may result in duplicate bibliographic records in Alma. You can enter a prefix here so that the migration programs can identify these bibs and not migrate them to Alma to avoid creating duplicate SFX records in Alma. The migration programs do not make any attempt to physically merge the two records into one.
    The default response to this question is ’(SFX)’, but you can enter any prefix that represents bibs that you want to exclude from loading into Alma. The migration programs search for the string in the 035 $a field of the MARC record. If you do not want to exclude any such records, leave this field blank.
    If the migration programs identify bib records containing the prefix in the 035 $a and the records in your incoming records are connected to a purchase order line and/or physical items, these bib records are still migrated so that the purchase order and/or items can be migrated, but they are automatically suppressed in Alma to avoid end-user discovery duplication.

    Do you use internal system numbers in $w of Linked Entry fields?

    Indicate if you use internal system numbers in fields 76x-78x, 80x, 81x, and/or 83x $w to link bibliographic records to each other.
    Code: LINKED_ENTRY_W
    Default: No
    Options: If you answered Yes to this question, the internal system numbers in the subfield w of the specified tags are converted from the former system number to the Alma system number.

    Internal record designation for Linked Entry fields $w

    Code: LINKED_ENTRY_PREFIX
    Default: Blank
    Options: If you answered Yes to the previous question and the internal system numbers have a prefix, enter the value to be matched to identify the local system number. If the system numbers in $w do not have a prefix, or if you answered No to the previous question, leave this question blank.
    Further information on LINKED_ENTRY_W and LINKED_ENTRY_PREFIX: When bibliographic records are related to each other, such as a journal title that is superseded by a second journal title, your previous ILS may store the information in bibliographic fields 76x-78x, 80x, 81x, and 83x $w. If the number in the $w of the linking tags is the internal legacy ILS system number, these numbers must be changed to the Alma representation of the system number. If your library does not use the internal system number to link and instead relies on more general identifiers such as the ISBN, ISSN, or shared cataloging DB (OCLC or DLC), these numbers are not modified.
    In Alma, the system numbers in the $w field (along with $z and $x) are used to link two related bibliographic records together using the related records process. Related records can be found by clicking the More Info link on the Alma Search Results page.

    Indicate which 852 subfields to use to determine unique holding records

    Code: 852_SUBFIELDS_FOR_HOL
    Default: bc (library and location only, not call number)
    Options: To group all items on a single bibliographic record by library and location only, select bc here. If you have many items in the same bibliographic record in the same llibrary/ocation but different call numbers WITHIN that library/location and you want each of them to have their own distinct holding record, specify additional call number subfields.  Acceptable subfields: bchijklmp.
    The library and location codes are matched after the Alma Location Mapping has been performed, meaning the match is done on the Alma version of the library/location codes.

    Limit exported records by location

    Code: LIMIT_BY_LOCATIONS
    Default: No
    Options: If your export contains all of the data from a shared database, and you wish to only migrate a part of that export to Alma, then the migration programs can filter the data according to locations listed on the Location Tab. In this case, the ALMAME_VALUE_NOT_FOUND line on the location tab is not used. Inventory is filtered by locations on the Location Tab, and Fulfillment is filtered based on campus codes in the Campus Code Tab. Use this option only if agreed upon with your Ex Libris project manager.

    Bib Key Prefix

    Code: BIB_KEY_PREFIX
    Default: empty
    Options: If you are combining data from two or more separate databases into a single combined institution in Alma, then indicate a prefix here that will be used to distinguish the former system numbers in Alma after migration. For example, the different systems likely had completely different bibs for system number 12345 and you want to be able to search for the specific bib from your own institution after go-live. The prefix does not include a hyphen so if you want a hypen in the number (e.g. PQ-12345), then include it in the string. If you are not merging institutions, leave this question blank.
    See also: MERGE_PATRON_PREFIX in Fulfillment

    Move 001/003 to 035 or 035

    Code: 001_035_935
    Default: 035
    Options: If your incoming bibliographic records have a number in the 001, then the migration programs move it elsewhere as (<003>)<001>.  For example: (OCoLC)12345.  To move to the 035, which is the default, then select 035 in the dropdown. If you are part of a consortium and are using OCLC numbers to determine matching records when linking to the NZ, you may wish to move this number to the 935 so that the moved number does not interfere with another matching key you may be using.  If you are not linking to the NZ, then this question is likely not useful.  Default: 035

    Use subfield indicators in item call number (AltCallNo)

    Code: ITEM_CALLNO_SUBFIELD
    Default: Yes
    Options: When generating an Item Call Number field (also known as AltCallNo), you can decide if the string contains subfield indicators. Default = Yes

    Yes = $h PZ3.A93 Pr16 $i A975
    No = PZ3.A93 Pr16 A975
    For more information on when an Item Call Number is generated, see the section Changing the Holding Record Grouping, which depends on the question 852_SUBFIELDS_FOR_HOL.

    Add $9 LOCAL to specified tags

    Code: NZ_LOCAL_TAGS
    Default: empty
    Options: Add $9 LOCAL to specified bib tags, for use in consortia where an IZ environment links to an NZ. Tags marked as Local will be kept in the IZ, and not moved to the NZ.  
    Format for this input: tag + indicator.  Use # for any/wildcard, and b for the space character. Separate with semicolon.  
    Example: 59###; 69###;960##;970##;090b#

    Alma Library Tab

    Use this tab to create a list of Libraries in Alma. At least one library is mandatory.
    Alma Library Code: Maximum 10 characters. Mixed case is valid, but not recommended. Do not use special characters or spaces. Allowed: - and _ (hyphen and underscore). Not allowed: !@#$%^&*()+=/?><.,\|]}[{`~ and the space character.
    The Alma Library Code may not be the same as the Alma Customer Code nor the Alma Institution Code . 
    Alma Library name: Maximum 255 characters. This is visible to the public.
    Address lines: Alma allows you to specify address, phone, and e-mail information about each library. It is mandatory for a library to have a shipping/billing address in order to place orders in Alma. The migration process sets the designated address provided with all possible types in Alma (shipping, billing, claiming, etc.). At least one address line is mandatory.
    Email: An email address is mandatory. The migration process sets the email address provided with all possible email address types in Alma.
    Phone: The phone number must contain dashes (nnn-nnn-nnnn). A phone number with no dashes is not accepted by the migration program. Not mandatory.
    Default language: Indicate the language of patrons and/or staff members if it differs for each library. Use two-letter codes as defined in ISO 639-1. Consult the codes at https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
    Further Explanation: The Alma library is the higher level of location. The Location or sometimes Physical Location is the lower level of location. Your ILS may or may not have an existing higher level of location. If you have a higher level of location already, you may likely simply copy those libraries to this tab here. If you only have one level of location, you can list new libraries here and then map existing locations to a library/location combination using the Alma Location tab.
    Use the Alma Libraries tab in the Generic Migration Form to indicate your list of Alma libraries. The actual mapping from the legacy library to the Alma library is done in conjunction with the Physical Location in the Alma Location tab.
    If you use an error library (for example “EMPTY”) in the ALMAME_VALUE_NOT_FOUND line of the Alma Location Map tab, be sure to list that library here on the Library Tab. It is not mandatory to use an error library; you may also choose to use one of your regular libraries plus a lower-level error location for the items that encounter errors during the mapping process.

    Alma Location Tab

    Use this tab to map your legacy libraries and locations to libraries and locations in Alma. Filling in this tab is mandatory. If your legacy ILS has only one level of location, put the values for that location into the 'First level location' (Column A), and leave Column B blank. If your legacy ILS has two levels of location, use both Column A and Column B.
    Include ALL locations of ALL types, including electronic types that may ultimately be deleted in Alma. They still need to be provided in the location tab mapping.
    Library: First level of location - Value from the Library field in the item extract or the 852$b in the MARC holdings extract from your legacy ILS. The ALMAME_VAL_NOT_FOUND line is required to catch any location codes you may have missed. Incoming locations cannot have special characters or spaces. Allowed: - and _ (hyphen and underscore). Not allowed: !@#$%^&*()+=/?><.,\|]}[{`~ or the space character.
    Location: Second level of location - Value from the location field in the item extract or the 852 $c in the MARC holdings extract from your previous ILS. Incoming locations cannot have special characters or spaces. Allowed: - and _ (hyphen and underscore). Not allowed: !@#$%^&*()+=/?><.,\|]}[{`~ or the space character.
    Alma Library Code: The library that contains this library/location combination in Alma. You can use the same library codes that you used in your legacy ILS, but it is not required. This code must be present on the Alma Library Tab, column A. The match is case-sensitive.
    Alma Location Code: The new location code for this library/location combination in Alma. It can be a maximum of 10 characters. You can use the same location codes in Alma that you used in your legacy ILS, but this is not required. You may also use this form to collapse locations if desired, for example refa and refb both map to ref in Alma. Mixed case is valid, but not recommended. Do not use special characters or spaces. Allowed: - and _ (hyphen and underscore). Not allowed: !@#$%^&*()+=/?><.,\|]}[{`~ or the space character.
    Call Number Type: List the call number type for any newly created holdings records, based on the values for the 852 first indicators. (http://www.loc.gov/marc/holdings/hd852.html). If we cannot determine the call number type from the item or holding record itself, we use this as a default for all items in the location.
    Alma Location Name: A description for this location as seen/used by library staff members. The same location name cannot be used for different locations in the same library, but the same location name can be used for different locations in different libraries. See the examples in the Further Information section below for what is acceptable and not acceptable. Maximum 255 characters.
    Alma External Location Name: A description for this location as seen/used by the public. The same name can be used for as many different locations as desired. For example, the location names may be Archives A and Archives B, but the external location names can both be Archives. Maximum 255 characters.
    Electronic Location? (Yes or No): Used by the P2E migration process to determine if a holding/item/order should be converted to electronic. See the Physical to Electronic (P2E) Processing section for more information.
    Suppress from Externalization? (Yes or No): Indicate if the location should be suppressed from being visible to the public. The items are not marked as suppressed, but no holdings or items with this location code are exported to Primo.
    Further Information: Do not leave the Alma location and library code fields blank. If you want to stop using a location code after migration, map the incoming code to an easily identifiable code such as XXX or unused just in case any stray items are still in your previous ILS database. The ALMAME_VALUE_NOT_FOUND line must be included at the top of the list of locations, in case any location codes were overlooked when completing this map. For example, you may think that you do not have any items left in a certain collection, so you leave it off the location map. However, there may be one or two items left or a stray holding record, etc.
    By default, the location code for the ALMAME_VALUE_NOT_FOUND line is UNASSIGNED, which is the default catch-all in Alma in production mode. Ex Libris recommends that you select your primary/largest library as the library code for the line, for example MAIN as in the example line below. In this case, the items inherit the configurations for the MAIN library.
     
    Incoming Library code Incoming Location Code Alma Library Code Alma Location Code Alma Location Desc Alma External Loc Desc Suppress from Externalization

    ALMAME_

    VALUE_NOT

    _FOUND

    ALMAME_VALUE_NOT_FOUND

    MAIN

    UNASSIGNED

    Problem location from Migration

    Problem: See Library Staff

    Yes

    Post-migration, search for items in the UNASSIGNED location and correct the records appropriately.

    Alma Location Name and Alma External Location Name

    The Alma Location Name column contains the names of the location codes that are displayed in the staff interface. The names cannot be repeated in the Location Name column when the location codes both belong to the same library, but you can use the same name for two different locations, if these locations belong to different libraries. The Alma External Location Name column contains the names of the location codes that are displayed to library patrons. These names can be repeated within the column without regard for libraries. For example:
    The following is acceptable:
     
    Alma Library Alma Location Code Alma Location Name Alma External Location Name

    Library A

    stacks

    Main Stacks

    Main Stacks

    Library B

    stacks

    Main Stacks

    Main Stacks

    Library A

    archa

    Archives A

    Archives

    Library B

    archa

    Archives B

    Archives

    Library A

    archstk

    Archives Stacks

    Archives

    Library A

    archref

    Archives Reference

    Archives

    The following is not acceptable:
     
    Alma Library Alma Location Code Alma Location Name Alma External Location Name

    Library A

    archstk

    Archives

    Archives

    Library A

    archref

    Archives

    Archives

    The Alma library and Alma location are put in the following places in the migrated or newly created MARC holdings record:
    • The Alma library is placed in the 852‡b field.
    • The Alma location is placed in the 852‡c field.

    Collapsing Locations

    This mapping table can be used to collapse location codes – that is, two or more location codes in your legacy ILS can map to a single location code in Alma. The Alma location and library code fields may not be empty. If you want to stop using a location code on migration, map the incoming code to an easily identifiable code such as XXX if any stray items are still in your library database.
    If you collapse location codes, you may have lines in the table such as the following:
     
    Incoming Location Code Alma Library Alma Location Code Alma Location Name Alma External Loc Name Suppress from Externalization Electronic Location

    reserves

    MAIN

    RESERVES

    Reserves

    Reserve

    Yes

    No

    reservesElec

    MAIN

    RESERVES

    Reserves

    ReserveElec

    Yes

    Yes

    reservesShort

    MAIN

    RESERVES

    Reserves

    Reserve

    Yes

    No

    reservesPerm

    MAIN

    RESERVES

    Reserves

    Reserve

    Yes

    No

    The three values in bold italic above (ReserveElec as the External Location name, and Yes for Suppress from Externalization and Electronic location) are not used in Alma. Since the locations are being collapsed, the first line for the RESERVES Alma location is used, and all subsequent lines below it use the values from the first line.

    Shelving Scheme Tab

    Alma will generate a first indicator for the 852 based on the Shelving Scheme tab.
    SHELVING_SCHEME: The values in the Shelving Scheme tab as delivered in the extract from your legacy ILS. This may also be called Call Number Type, and it indicates what kind of call number is being used for this item/holding, such as Library of Congress or Dewey.
    852 1st Indicator: List the value that should be used in the 852 first indicator field when generating a holding record from the item. For a list of possible values and their description, see http://www.loc.gov/marc/holdings/hd852.html. Note that 7 is not supported on migration. Mandatory. Description: A description or note for this shelving scheme value, if you need to make a note while deciding the first indicator value. This column is not used in migration.
    Further Information: Do not use an ALMAME_VAL_NOT_FOUND line here, because if an item has a shelving scheme that is not listed or does not have a shelving scheme value, the shelving scheme is taken from the Call Number Type column on the Location tab of the Generic Migration Form.

    Item Type Tab

    Use this tab to migrate the incoming Item Type to the Alma Item Policy. This tab is optional. The item type in Alma is not required, so if you leave this tab blank, no item policies in Alma are created.
    Incoming Item Type: The value in the item type field of the legacy ILS item. The item type is usually used to differentiate between items when determining how items circulate.
    Description: The description of the incoming item type, for information only. This column is not used during the mapping process.
    Alma itemPolicy: The Alma value for the item type. This sheet can be used to collapse item types if desired.
    Alma itemPolicy Description: This description is loaded into Alma as the display text for the item types. These values can be changed after migration. Maximum 255 characters.
    You can optionally include an ALMAME_VAL_NOT_FOUND line at the top of the map. If this line is included, any value not found or any blank value is assigned the value in the ALMAME_VAL_NOT_FOUND line. If the ALMAME_VAL_NOT_FOUND line is not included, any value not found, including blanks, is left as blank in Alma.

    Item Base Status Tab

    Use this tab to map an incoming item status to an item status in Alma. Item statuses are typically assigned to an item on a temporary basis, such as MISSING, MENDING, or BINDERY.
    Incoming Item Status: List all of the values from the field that indicates status from your legacy ILS.
    Description: A short description of the incoming item status, if desired, for note purposes while filling out this form. This column is not used for migration.
    Base Status: In Alma, the base status indicates whether or not the item is on the shelf. Indicate whether or not an item with this status is on the shelf. For example, NewBooks is on the shelf (1), but Withdrawn is not (0).
    Further Information: Alma has a process type that indicates the status of an item depending on the Alma workflow (item is on loan, item is on shelf for request pickup, etc.), but the process type is dependent on the corresponding Alma workflow. For migration, all item statuses that are indicated as not on the shelf (0) from this mapping tab are given the process type of TECHNICAL in Alma. Item statuses which are indicated as on the shelf (1) are NOT given the process type of TECHNICAL. The TECHNICAL process status will indicate to the public that the item is not on shelf/not available. Further, the item status description field is written to internal note 1 for all items where there was a status, regardless of the shelf/not on shelf designation.
    Post migration, you may search for items with a particular value in Internal Note 1, make a list of them, and use Alma item tools to work with the items. They may be given a new Alma status, or moved to a different department, or the list can be used as a configurable criterion for suppressing items from display in the GetIt services screens in discovery systems. See Appendix A – Post-Migration Process Statuses for more information.
    Incoming item statuses which indicate no status
    Include in column A any status that may indicate no status, for example Available, but leave column B blank and say that the item is on shelf (1). This migrates the item to Alma with no status at all, which is how Alma indicates that an item has no status. Empty status = no status. If any status is in your data but is NOT included in column A, basically meaning that it was not found, it is given a note of Unknown status.

    Material Type Tab

    Use this tab to migrate any incoming Material type to the Alma Material type. The material type is not mandatory; if no material type is indicated for an item, one will be generated based on information from the bib fixed fields.
    Incoming Material Type: The value in the material type field of the incoming item.
    Material type Description: The description of the material type, for information only. This column is not used during the mapping process.
    Alma Material Type: The Alma value for the material type. Material types in Alma are fixed. You cannot add any new types to the list. Select the appropriate material type from the drop-down list.
    If this field is not provided in the extract, Alma migration assigns the item material type based on the fixed fields in the bib as described in section Material Type from Bib Fixed Fields below.

    Further Explanation – Inventory

    Bibliographic Records

    Bibliographic records are migrated as is and each bibliographic record can be modified in the following way during migration:
    • Australian customers have ALL bibliographic records marked for Libraries of Australia Publish, if relevant.
    • OCLC records (records with an 035 |a with an OCLC-official prefix) is marked for OCLC publish, if relevant.
    • The LDR position 9 (character coding scheme) is set to a indicating Unicode.

    Determining Groups of Holding Records

    The permanent location and call number in Alma is only stored in the holding record. All items attached to the holding record have the same permanent location and call number. On migration, the call numbers for any new holding record created are generated from the first item found in the group of equivalent items. By default, a group of equivalent items is determined by the location of each item attached to the same bibliographic record. For example, if a bibliographic record has five items:
    • Item 1, 2 in Location A
    • Item 3, 4 in Location B
    • Item 5 in Location C
    The migration program generates three different MARC holdings records, one for each location A, B, or C. The items for each location are then attached to the newly created holding record. If there are any call numbers that differ from the holding record’s call number, the differing call number is stored in the item’s Item Call Number field.

    Changing the Holding Record Grouping

    You may decide which 852 subfields are used to determine what makes items belong to the same group. The 852 subfields as mapped, described in the Library, Location and Call Number sections above, are: $b Library $c Location $h Call Number. By default, the migration programs compare $b and $c, but you may decide to change this based on items in your collection.
    When the holding record group is based only on $b (library) and $c (location), some item call number information is not reflected in the holdings record call number if the call numbers differ from each other in the same library/location. However, the differing call number is stored in the item’s Item Call Number field, so the call number is not permanently lost.
    For example, if there are four items on the same bibliographic record with the following call numbers, all in location main:
    item 1 $b main $c stacks $h PN 567 .M4
    item 2 $b main $c stacks $h PN 567 .M457
    item 3 $b main $c stacks $h PN 567 .M457
    item 4 $b bio $c flr1 $h PN 567 $i .M457
    When only $b and $c are used to determine a holding record group, two holding records for the above items are created: Holding record $b main $c stacks $h PN 567 $i .M4
    item 1
    item 2 (with PN 567 .M457 stored in ItemCallNo)
    item 3 (with PN 567 .M457 stored in ItemCallNo)
    Holding record $b bio $c flr1 $h PN 567 $i .M457
    item 4
    When the holding record group is based on more subfields, for example $b $c $h, three holding records are created: Holding record $b main $c stacks $h PN 567 .M4
    item 1
    Holding record $b main $c stacks $h PN 567 $i .M457
    item 2
    item 3
    Holding record $b bio $c flr1 $h PN 567 $i .M457
    item 4
    Decide which 852 subfields will be used to determine holding record groups by answering the question in the Questionnaire tab of the Generic Migration Form, “Indicate which 852 subfields to use to determine unique holding records”.

    Attaching Items to Existing Holding Records

    The algorithm described above to determine groups of items for generating new holdings records is also used to determine if an item should be attached to an existing MARC holdings record. The question Indicate which 852 subfields to use to determine unique holding records from the Questionnaire tab of the Generic Migration Form is used here as well.
    For example, consider the following incoming records:
    Holding record A: $b PER $c MFORM $h PN 567 $i .M4
    Holding record B: $b PER $c CURRENT $h Shelved by title
    item 1: PER,MFORM PN 567 .M4
    item 2: PER,MFORM PN 567 .M4 2010
    item 3: PER,MFORM PN 567 .M4 2011
    item 4: PER,CURRENT PN 567 .M457 2012
    When only location (852 $b $c) is used to determine unique holding records, the following is the resulting structure in Alma:
    Holding record A: $b PER $c MFORM $h PN 567 $i .M4
    item 1 (ItemCallNo is empty because the call number matches)
    item 2 (with PN 567 .M4 2010 in ItemCallNo)
    item 3 (with PN 567 .M4 2011 in ItemCallNo)
    Holding record B: $b PER $c CURRENT $h Shelved by title
    item 4 (with PN 567 .M457 2012 in ItemCallNo)
    When the entire call number (852 $b $c $h $i $k) is used to determine unique holding records, multiple additional holding records are created in Alma:
    Holding record A: $b PER $c MFORM $h PN 567 $i .M4
    item 1
    *Holding record B: $b PER $c MFORM $h PN 567 $i .M4 2010
    item 2
    *Holding record C: $b PER $c MFORM $h PN 567 $i .M4 2011
    item 3
    Holding record D: $b PER $c CURRENT $h Shelved by title
    *Holding record E: $b PER $c MFORM $h PN 567 $i .M4 2012
    item 4
    The holdings records with the asterisk (B, C, and E) are created new because the entire call number string of the item did not match the entire call number string of any of the existing holdings records.

    Suppressing Bibliographic Records in the OPAC

    In Alma, bibliographic records can be set to be suppressed in the OPAC, meaning that library staff can see and work with the records, but the public cannot see them. Provide a file the bib keys which are suppressed according to the description in the Generic to Alma Data Delivery Specification.

    Boundwiths

    Items that are shared by multiple bibliographic records are called boundwith items. Alma supports boundwiths by using standard bibliographic record relationships defined by Marc 21 linking fields. The migration process associates the shared item with a parent bibliographic record and creates links to the secondary bibliographic records via the standard 774 linking field.
    On migration to Alma, the first bibliographic record attached to an item gets new 774 tags that link to all of the secondary bibliographic records attached to the same item. The secondary bibliographic records are not modified on migration.

    Item Barcodes

    While many legacy ILS systems allow item barcodes to be duplicated, Alma does not. The item barcode must be unique in Alma, although it may be left blank (and many of them can be left blank).
    The item barcode is migrated according to the following rules:
    • If the barcode is empty, leave as empty in Alma.
    • If the barcode exists but is not unique:
      • First item barcode encountered – migrate as is.
      • Second and subsequent item barcodes encountered – migrate as <item barcode>-<item id>

    Material Type from Bib Fixed Fields

    The material type in Alma is a description of the type of material the item is such as book, map, issue, DVD, compact disc, etc. It is controlled by a fixed list of physical resource material types in Alma. Each item in Alma must have a material type specified.
    All customers may provide a material type in a subfield of the item record, and use the Material Type tab to map them to valid Alma material types (see the explanation for Material Type tab, above). The material type you indicate determines the item's material type.
    If not provided in the extract, the migration automatically assigns a material type based on Bibliographic record header fields. There is no customer input required for this part of the migration as the Alma types are fixed.  The material type in migration is derived from the resource type which is constructed by Alma based on the bib header information. To see a description of how the resource type is determined, see the Resource Type Field description.

    Fulfillment/Patrons

    Customer Input

    Questionnaire Tab

    Complete the following in the Questionnaire tab:

    Enter a two-letter code for the default conversational language for your users

    Code: PATRON_LANG
    Default: en
    Options: Use the two-letter codes as defined in ISO 639-1. Consult the codes from https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes. Additionally, the language code zh-tw (Taiwanese Mandarin) is accepted.

    Which identifier should be as the patron's Primary Identifier?

    Code: PATRON_PRIMARYID
    Default: UNIV ID
    Options: Using the Generic Field Mapping Form, map the identifiers exported from Generic to the following list: UNIV ID, BARCODE, ADDL ID 1, ADDL ID 2, ADDL ID 3. Then, select the identifier to be used as primary for all patrons.
    Further information: The identifier selected here is used as the match point for externally managed patron records to match with an external authentication system such as LDAP or Shibboleth.  Additionally, this identifier is the primary identifier for internally managed patrons. It is highly recommended to use the Primary Identifier as the identifier for authentication.  Notice that Primary Identifier is not case-sensitive, as opposed to all other identifiers, which are case-sensitive.
    See also: Identification Numbers, Internal? Question on the User Group tab

    Currency for patron fines

    Code: CURRENCY
    Default: USD
    Options: Use the three-letter code (for example, USD, EUR, GBP) for the currency used for patron fines. For a list of valid codes, consult http://en.wikipedia.org/wiki/ISO_4217.

    Use a map for the patron campus to campus code migration?

    Code: CAMPUS_CODE_MAP
    Default: No
    Options: Select Yes for this option only when you maintain and use different values in the your patron records to distinguish between different user groups for resource sharing activities like ILL borrowing. If you select Yes, fill in the mapping from the USER LIBRARY to the Alma CampusCode field on the Campus Code tab. If you select No, all users are simply considered part of the same group for resource sharing activities.
    See also: Campus Code Tab

    Request Default Destination Library

    Code: REQUEST_LIBRARY
    Default: None
    Options: If the requests file does not contain a destination library/location, the library you enter for this question is used as the default for where patrons will usually pick up requests from the hold shelf.

    Merge Patron Prefix 

    Code: MERGE_PATRON_PREFIX

    Default: No

    Options: If you are combining data from two or more separate databases into a single combined institution in Alma, then indicate a prefix here that will be used to distinguish the incoming patron record original IDs.  This prefix is only added to the internal patron identifier, it is not added to barcodes or usernames or UNIV_ID.  If you are not merging institutions, leave this question blank.

    See also: BIB_KEY_PREFIX in Inventory

    User Group Tab

    The user group is used to distinguish groups of patrons from each other in determining different levels of circulation policies. Typical user groups are faculty, staff, and undergrad.
    If patrons are being migrated, then this mapping table is mandatory.
    Incoming patron group: The incoming values for the patron group.
    Description: A description of the patron group code, for informational purposes only. This column is not used in the mapping to Alma user group.
    Alma User Group Code: The mapped group code in Alma. You can use the same codes that you used in your previous system, or you can use different codes. You can also collapse groups if desired, for example, having Freshman and Sophomore from the legacy ILS both map to Undergrad in Alma. Do not use special characters, for example, slashes (/) or spaces in the code.
    Alma User Group Description: The description of the Alma User Group. This description is loaded into the Alma code table as the description displayed in the user interface. This description can be changed easily after migration.
    Internal? Y or N: Alma categorizes users as either external or internal. External patrons are managed by an external system, such as through a regular load from the bursar’s office/campus student information system. Internal patrons are created and managed internally. Examples of internal patrons are community borrowers or alumni. If you select Yes, all of the patrons in the Alma userGroup are categorized as internal. If you select No, all of the patrons in the Alma userGroup are categorized as external.
    Notes/Comments: Add any notes or comments for the user groups. This column is not used during migration.
    Further information: See also the following question in the Questionnaire tab, regarding internal and external users:
    • Which identifier should be used as the patron's Primary Identifier?
    See also the section on internal/external patrons.

    User Language Tab

    Provide the list of available language codes from your legacy ILS and their description, along with the language code as it should be in Alma. Use the two-letter codes as defined in ISO 639-1. Consult the codes from https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes.
    This mapping table is not mandatory. If fields are left blank, all patrons are assigned the default patron language as defined on the Questionnaire tab (PATRON_LANG).
    Incoming patron language: The preferred language of the patron coming from legacy ILS patron extract.
    Description: A description of the patron preferred language, for informational purposes only. This column is not used in the mapping.
    Alma Language Code: The language code desired in Alma.
    Alma Language description: The description of the language. This column is not used by the migration programs.

    User Stat Categories Tab

    This tab is used to migrate the statistical categories in your patron records (if you have them) to Alma. In many legacy ILS systems, it is possible to have multiple fields that contain statistical codes, usually named USER_CATEGORY1, USER_CATEGORY2, and USER_CATEGORY3.
    Before filling in this tab, specify in the Patrons tab of the Generic to Alma Field Mapping form which fields from your legacy ILS are migrated to statistical categories in Alma. You can include a label before each category to distinguish between categories in different fields. For example, you can have LAW in USER_CATEGORY1 and also LAW in USER_CATEGORY2. If desired, use a prefix to distinguish between the two, for example, CAT1:LAW and CAT2:LAW.
    Incoming patron category: List all of the values from all of the fields that you want to put into the statistical category mapping. For example, if you listed three different three fields that have a patron category in the field mapping form, then list all of the values from all three of those fields here. Include the label applied if it is important to distinguish between values in different fields.
    Source Description: A description of the individual categories, for information only. This field is not used in the mapping to Alma.
    Alma Stat Category: The Alma Statistical Category code desired. This code is used to retrieve groups of patron records with various reporting tools.
    Alma Stat Category Description: The description of the Alma Statistical Category Code. This value is loaded into the code table for userStatCategories. This description can be updated after migration.
    Further Information: Alma has a Statistical Categories field in the patron record that can be used to retrieve statistics on groups of patrons.

    User Block Tab

    User Blocks are indicators that a patron may be prohibited from borrowing temporarily, for example for too many overdue books. Provide the list of available blocks from your legacy ILS and their description, along with the block code as it should be in Alma.
    This mapping table is not mandatory.
    Incoming patron block: The patron block code as found in the patron extract. Do not include statuses that indicate the patron is not blocked, such as OK.
    Description: A description of the patron block code, for informational purposes only. This column is not used in the mapping. Alma Block code: The block code desired in Alma.
    Alma Block description: The description of the block code in Alma. The value in this column is loaded to the server in the userBlock code table. This description can be updated after migration.
    Comment: A space for noted; not used in the migration.

    Campus Code Tab

    Use this tab only if you answered Yes to the question on the Questionnaire tab: Use a map for the patron campus to campus code migration? This mapping is not mandatory if you do not maintain separate patron campuses.
    Incoming patron campus: The value of the patron campus as found in the patron extract.
    Description: A description of the patron campus field, for informational purposes only. This column is not used in the mapping.
    Alma Campus Code: The Alma campusCode desired. You may map the codes 1-to-1, or you may use this map to collapse codes if desired.
    Alma Campus Code Description: A description of the Alma campusCode, for informational purposes only. This field is not loaded into Alma.
    Further Information: The Alma User Campus field is used to determine a patron’s affiliation for ILL or cross-campus borrowing. If your library maintains the such a field for a similar purpose, map the value to the Alma Campus Code value with this map.

    Fines and Fees Tab

    The Fine Fee Type indicates why a patron has to pay a fine. Some common examples are: Overdue material, Lost material, Registration fee.
    Incoming Fine Fee Type: List all of the values from the corresponding field in the fine/fee extract.
    Description: A description of the fine fee type, for assistance in filling out this form. This column is not used in the mapping routine.
    Alma Fine Types: Possible values in Alma are listed in the drop-down list.
    Further Information: Outstanding patron bills from the legacy ILS are migrated to Alma Fines and Fees. Only the currently owed amount is migrated. If any partial payments have been made before conversion, they are not reflected on migration to Alma.

    Course Unit Tab

    This mapping is not mandatory if you do not have administratively separate course maintenance operations.
    The Alma Course Unit is used to assign separate editing privileges to staff members who maintain course reserves information in administratively separate sections of the library. It is strongly recommended to use a single course unit unless there is a pressing need for multiples. Incoming Course Unit: The value of the analogous course administrative unit in the incoming source system.
    Incoming Course Unit Description: A description of the incoming field, for information only. This field is not used in the mapping. Alma service_unit/code: The desired code value for the course service unit in Alma. You can collapse the incoming values to fewer values in Alma, if desired. Alma service_unit/name: The name for the course service unit in Alma. This field is used to create a code table that is loaded into Alma.

    Faculty Department Tab

    Use this tab if you are migrating data to the FACULTY_DEPARTMENT field on the Courses Tab of the Generic Field Mapping Form.
    In Alma Course Reserves, the Faculty Department field is a controlled field, meaning that you cannot enter free text in the field – it is controlled by a back-end code table. The Faculty Department is also called Course Faculty or Academic Departments in Alma.
    You can generate a code table by using the FACULTY_DEPARTMENT field in the Field Mapping Form and filling in this Faculty Department tab. Additionally, customers can choose to not provide input from the incoming system, but still fill in the Alma code and description fields. In this case, the migration programs create a code table of the departments that can be assigned to courses after go-live.
    Incoming Faculty Department: The value in the incoming field that you put in the FACULTY_DEPARTMENT line of the Course Tab of the Generic Field Mapping Form.
    Description: A description of the value in the incoming Faculty Department field, if necessary.
    Alma Course Faculty code (Mandatory): The code of the academic department or course faculty in Alma.
    Alma Course Faculty Name: The name of the academic department in Alma, used in the drop-down.

    Further Explanation – Fulfillment

    Internal/External Patrons

    Alma categorizes users as either external or internal. External patrons are managed by an external system, such as through a regular load from the bursar’s office/campus student information system. Internal patrons are created and managed internally. Examples of internal patrons are community borrowers or alumni.
    Identify patrons as internal or external by user group on the Generic Migration Form, User Group tab, Internal? Yes or No column. For example: all faculty are EXTERNAL and all community borrowers are INTERNAL.

    Identification Numbers

    The migration program allows for six different types of user identifiers: University ID, Barcode, and Additional ID 1, 2, 3, and 4. Select one of these identifier types as the primary ID – the primary unique identifier that the patron uses to authenticate via Primo. Internal patrons authenticate with the primary ID and a password via the Alma identity service, and external patrons use the primary ID as the match point with an external authentication system. The following appears in the Generic Data Delivery Form:
    ##User Identifiers: values in column A are the expected field names; values in column B are your local field names. Values in column C are values to use when choosing a username in the Generic Migration Form.##
    USER_ALT_ID UNIV_ID
    USER_ID BAR
    USER_WEB_AUTH ADDL_ID_1
    USER_XINFO.INACTVID ADDL_ID_2
    USER_XINFO.PREV_ID ADDL_ID_3
    USER_XINFO.PREV_ID2 ADDL_ID_4
    So, for example, if you want the USER_WEB_AUTH to be used for the primary ID for your users in Alma, select ‘ADDL_ID_1’ for the primary ID question on the Questionnaire tab of the Generic Migration Form.
    When selecting the primary ID, the first identifier found in the field is used as the primary ID, and all subsequent identifiers are kept in the userIdentifier section. The primary ID must be unique, so if there are duplicates, the first unique ID found is migrated as is, and the IDs for the second and subsequent patrons with the same ID are given a suffix of -1, -2, etc. The original identifier is stored in the non-unique userIdentifier field so that the patron can still be retrieved using that identifier.
    The primary ID that you select is not also written to the patron identifier section in the Alma patron record. The identifiers that are NOT selected as the primary ID are written to the patron identifier section in Alma.
    When an identifier is written to the identifier section and there are multiple instances, the first one found for each type is active and the subsequent ones are inactive. Identifiers that are not used as the primary ID do not need to be unique and are not de-duplicated. If the identifier selected for the primary ID is not present, the migration program creates an identifier for the patron based on the patron original ID, prefixed with ID. The migration programs do not fill in the primary ID with a non-selected identifier.Select BARCODE, UNIV_ID or ADDL ID 1, 2, 3, or 4 as the primary ID type for internal or external patrons in the Questionnaire tab of the Generic Migration Form.

    Loans

    Active loan transactions are migrated from your legacy ILS to Alma. Completed (historical) loan transactions are not included in the migration to Alma.

    Acquisitions

    Acquisitions is not included in the general Generic migration. If your library wishes to migrate acquisitions, this must be contracted specially with Ex Libris.
    When acquisitions is not included in the migration, there is still some acquisitions related information that the migration programs need to know in order to set up an empty acquisitions environment in Alma for use on day 1. These questions are listed under “Customer Input for Empty Acquisitions Environment” below.
    When Acquisitions is included in the migration – meaning that the customer has contracted for migration of acquisitions data elements, a few questions are necessary. These questions are listed under Customer Input – Acquisitions Data Migration.

    Customer Input for Empty Acquisitions Environment

    Questionnaire Tab

    ACQ mode

    Code: ACQ_MODE
    Options: Select Yes or No depending on whether or not you have contracted with Ex Libris to migrate any Acquisitions data.

    Default currency for Ledgers and Funds

    Code: ACQ_CURRENCY
    Default: USD
    Options: List the currency used for all of your funds. Orders can have other currencies and be translated to the default currency, but funds must have a single base currency.
    The currency should be a three-letter code, as listed in http://en.wikipedia.org/wiki/ISO_4217

    Fiscal Period Cycle Pattern

    Code: FISCAL_PERIOD
    Default: 01-07-1 (fiscal period starts on July 1 (01-07) and lasts for one year (-1).
    Options: To have functioning ledgers, fiscal periods are required. Specify your fiscal period as DD-MM-C (Day-Month-Cycle). For example, a one year fiscal period starting on January 1 is indicated by: 01-01-1. A one year fiscal period starting on July 1 is indicated by: 01-07-1.
    Alma currently supports one-year fiscal period cycles.

    Which year do you use to name the fiscal year?

    Code: FISCAL_PERIOD_NAME
    Default: second
    Options: Specify if the fiscal period is named with the first year or the second year.
    • second – if fiscal period runs July 1 2014 through June 30 2015, then the fiscal year is named 2015.
    • first – if fiscal period runs July 1 2014 through June 30 2015, then the fiscal year is named 2014.
    If your fiscal period runs from January 1 through December 31, this question is not necessary.

    Current Fiscal Year

    Code: CURRENT_FISCAL_PERIOD
    Default: determine by date of conversion
    Options: This question is important around the beginning/end of the fiscal period. If you do not know how to answer this, select determine by date of conversion. The options are:
    • Determine by date of conversion – The conversion program uses the fiscal period that includes the date of conversion.
    • Select a year from the dropdown box.
    For example if the date of conversion is June 15, 2017, and your fiscal year ends on June 30, 2017, then selecting ‘determine by date of conversion’ will place the active fiscal year as 2016-2017. If you wish to start fresh on July 1 with the new fiscal year, then select the year from the drop-down that corresponds to the 2017-2018 fiscal period.

    Accrual Accounting

    Code: ACCRUAL_ACC_FY
    Default: No – do not make an additional fiscal year
    Options: If your library uses accrual accounting, you can instruct Ex Libris to make an additional fiscal year. When an additional fiscal year is created, it will be after the current fiscal year. For example, if the current active fiscal year is 2016, then the additional year, also active, will be 2017. The options are the following:
    • No – do not make an additional fiscal year.
    • Yes-No Funds – make an additional fiscal year but leave it empty. The library will then need to create funds for this fiscal year after go-live.
    • Yes-duplicate funds – make an additional fiscal year and also fill it with funds that are the same codes as the funds in the current fiscal year. No allocations are made.
    Yes-duplicate funds can only be used if the customer has contracted for Acquisitions migration.

    Customer Input – Acquisitions Data Migration

    Use these questions only if you have contracted with Ex Libris to migrate your acquisitions information.

    Central Order Library

    Code: CENTRAL_ORDER_LIB
    Default: None

    Default Order Library

    Code: DEFAULT_ORDER_LIB
    Default: First library found on the Alma Library list
    Options for Central and Default Order Library: The Order Location field specifies the order location for orders in the previous system. The migration attempts to map the location field to the corresponding Alma Library. If you want to override this field and instead assign an order library to all orders migrated, fill in a value for the Central Order Library question. Otherwise, if you want to use the order location field to determine the order library, leave the Central Order Library question blank and fill in a value in the Default Order Library question. In this case, the migration attempts to determine a library based on the order location field and only when a library is not specified or a mapping is not found does it use the Default Order Library as a second choice.

    Default claiming period

    Code: ORDER_CLAIM
    Default: 90
    Options: Default claim used for vendors and orders (if applicable), in days.

    Physical to Electronic (P2E) Processing

    This section describes the process of correctly categorizing resources as electronic in Alma. In most legacy ILS systems, all resources are stored as physical in the database, even if the record represents an electronic item. During migration, all records are initially converted to Alma as physical. A second process converts records that you identify as electronic to the electronic format. It is up to you to provide a list of records that are identified as electronic, in the following format:
    123475,portfolio
    12345,package
    12346,db
    The words portfolio, package, and db are not case-sensitive; therefore, both portfolio and Portfolio are acceptable.

    If you provide a bibliographic record in the P2E file, the migration programs will generate an electronic resource for the bib, even if there is no valid URL.   An example of an invalid URL might be an 856 tag with an indicator which does not match the specific indicator in the question P2E_LINK, below.  For example, if you say that we use 85641u for the P2E_LINK, and you provide a bib record *without* a 85641u but that bib record is in the p2e file, then we will generate a local e-resource without any link at all (an empty resource).  Be careful which bibs are placed in the bib file.

    Further, the P2E process attempts to identify an order related to the identified inventory for conversion to electronic.  Similarly to items and holdings, orders are initially migrated as print and are transformed to electronic through the p2e process.  See the guide https://knowledge.exlibrisgroup.com/Alma/Implementation_and_Migration/Migration_Guides/Electronic_System_Migrations/Electronic_Resource_Handling_in_Alma_Migration for more information.

    Customer Input

    Questionnaire Tab

    For each of the following three questions (P2E_LINK, P2E_NOTE, and P2E_PROVIDER), you can use indicators in the following manner:
    • Specific indicators: 85641u – only tags with 41 as the indicator is used.
    • No indicator (# is used for a blank character, for example: 8564#u) – only tags with 4<blank> as an indicator are used.
    • All possible indicators: 8564*u – tags with 4 as the first indicator are used. The second indicator is not taken into account.
      The space character operates the same way as an asterisk (*), for example: 8564 u is the same as 8564*u.
    • Special Request: If you need to specify multiple specific indicators, for example 85641 and 85642, it cannot be coded in the migration form but your ExL representative can make a special request to the migration team.

    Which Holding or Bib field stores electronic link information

    Code: P2E_LINK
    Options: Provide a Marc field code + subfield: 856u. Only one field/subfield is allowed.
    Recommendation: 856 u
    Default: If this is left empty, no tag is used.

    Which Holding or Bib field stores electronic link public note

    Code: P2E_NOTE
    Options: Provide a Marc field code + subfield: 856z. Only one field/subfield is allowed.
    Recommendation: 856 z
    Default: If this is left empty, no tag is used.

    Which Holding or Bib field stores electronic provider name information

    Code: P2E_PROVIDER
    Options: Provide a Marc field code + subfield: 856m. Only one field/subfield is allowed.
    Recommendation: 856 m
    Default: If this is left empty, no tag is used.
    For the questions on the Questionnaire tab, only one field/subfield is allowed per question.

    Alma Location Tab

    Electronic Location Column

    Identify which locations indicate an electronic holding or item record. A single bibliographic record may contain holdings for multiple locations, but only the holdings/items for electronic locations need to be identified. Identify the locations in the in the Electronic Location? column in the Alma Location tab of the Generic Migration Form.

    Further Explanation – P2E

    If you have multiple 856 links in a single bibliographic record identified as electronic, a different inventory link for that bibliographic record is created for each URL found in the record. In addition, if you have two item records with different electronic locations attached to the same bibliographic record, a different inventory link is created for each location, as well.
    For more information on the electronic migration approach to Alma, refer to Electronic Resource Handling in Alma Migration.

    Appendix A – Post-Migration Process Statuses

    The process statuses (codes) from the local system are mapped to the indexed internal note 1 field of the Alma item. These items are considered not available after migration when process = Technical – Migration.
    These fields are currently indexed in the item keyword and advanced searches.
    When searching for physical items, a staff user can search by item process status code with the general keyword search and then by facet if before searching, Process type = Technical – Migration and with the advanced search filter when Process type = Technical – Migration. In order to give items real Alma statuses or remove the Technical – Migration status, scan the barcode of the item to various configured departments (via receiving, for example), request a move to various departments/temp locations, or just scan the item for return, which removes the status from the item. You may also use the ‘Scan In’ API, described here: https://developers.exlibrisgroup.com/blog/Performing-the-Alma-scan-in-API-on-a-file-of-barcodes.
    Additionally, it is also possible to configure the GetIt (Primo) services to display or not display items with this process status in the GetIt Item list.
    • Was this article helpful?