Melinda-integraation sääntöpäivitykset 2026

Last modified by Ville Huhtala on 2026/03/30 14:31

Luonnos 26.3.2026

Sääntömuutokset

  • Säilyttää Almassa "$2 finaf/swe" ja "$2 teka/swe" merkinnät 600, 610 ja 611 kentissä; säilyttää "$2 teka/swe" merkinnät 630 kentässä
  • Melindassa sääntöjä säädetty siten, että "$2 finaf/swe" ja "$2 teka/swe" merkintöjä voi muokata Almasta kontribuoimalla

Aikataulu

  • Ehdotus Alma-kijastojen RM-sessiolle: 7.5.2026
    • Esitellään sääntöpäivitys
    • Testaamaan pääsee ennen tätäkin, mutta nyt viimeistään alettava testaamaan
  • → käyttöön ma 18.5. (käytännössä asetusmuutokset pe 15.5. illalla, minkä jälkeen voi vielä testata tuotannossa)

Normalisointisäännöt

358HELKA Contribute an ALMA record to Melinda

Vain mutokset 600-630 -kentissä: 358HELKA Contribute ... 600-630.txt

# 600 poisto jos ei ole Asteri, LCNAF, ind2=4
 prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.{*,0}")
 prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.{*,4}")
-# prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.0.(FI-ASTERI-*")
- prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.2.finaf")
- prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.2.teka")
+ prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.2.finaf|finaf/swe")
+ prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.2.teka|teka/swe")
 removeField "600" if (not exists "600.a.xxxTEMP_DATAxxx*")
 replaceContents "600.a.xxxTEMP_DATAxxx" with ""
# tarkistetaan, ettei ind2=0 tai ind2=4 ja kuitenkin osak2
 prefix "600.2" with "xxxDELETExxx" if (exists "600.{*,0}")
 prefix "600.2" with "xxxDELETExxx" if (exists "600.{*,4}")
 removeField "600" if (exists "600.2.xxxDELETExxx*")
 replaceContents "600.2.xxxDELETExxx" with ""
# 600 osakenttäjärjestys
 changeSecondIndicator "600" to "4" if (exists "600.2.finaf")
 changeSecondIndicator "600" to "4" if (exists "600.2.teka")
 removeSubField "600.2" if (exists "600.2.finaf")
 removeSubField "600.2" if (exists "600.2.teka")
- removeField "600" if (exists "600.2")
 replaceContents "600.0.FI-ASTERI-N" with "FIN11"
 replaceContents "600.0.FI-ASTERI-W" with "FIN13"
 moveSubfieldsToEndOfField "600" "01"
 changeSubField "600.7" to "7" if (exists "600.7")
# 610 poisto jos ei ole Asteri, LCNAF, ind2=4
 prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.{*,0}")
 prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.{*,4}")
-# prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.0.(FI-ASTERI-*")
- prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.2.finaf")
- prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.2.teka")
 prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.2.finaf|finaf/swe")
 prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.2.teka|teka/swe")
 removeField "610" if (not exists "610.a.xxxTEMP_DATAxxx*")
 replaceContents "610.a.xxxTEMP_DATAxxx" with ""
# tarkistetaan, ettei ind2=0 tai ind2=4 ja kuitenkin osak2
 prefix "610.2" with "xxxDELETExxx" if (exists "610.{*,0}")
 prefix "610.2" with "xxxDELETExxx" if (exists "610.{*,4}")
 removeField "610" if (exists "610.2.xxxDELETExxx*")
 replaceContents "610.2.xxxDELETExxx" with ""
# 610 osakenttäjärjestys
 changeSecondIndicator "610" to "4" if (exists "610.2.finaf")
 changeSecondIndicator "610" to "4" if (exists "610.2.teka")
 removeSubField "610.2" if (exists "610.2.finaf")
 removeSubField "610.2" if (exists "610.2.teka")
- removeField "610" if (exists "610.2")
 replaceContents "610.0.FI-ASTERI-N" with "FIN11"
 replaceContents "610.0.FI-ASTERI-W" with "FIN13"
 moveSubfieldsToEndOfField "610" "01"
 changeSubField "610.7" to "7" if (exists "610.7")
# 611 poisto jos ei ole Asteri, LCNAF, ind2=4
 prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.{*,0}")
 prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.{*,4}")
-# prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.0.(FI-ASTERI-*")
- prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.2.finaf")
- prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.2.teka")
+ prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.2.finaf|finaf/swe")
+ prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.2.teka|teka/swe")
 removeField "611" if (not exists "611.a.xxxTEMP_DATAxxx*")
 replaceContents "611.a.xxxTEMP_DATAxxx" with ""
# tarkistetaan, ettei ind2=0 tai ind2=4 ja kuitenkin osak2
 prefix "611.2" with "xxxDELETExxx" if (exists "611.{*,0}")
 prefix "611.2" with "xxxDELETExxx" if (exists "611.{*,4}")
 removeField "611" if (exists "611.2.xxxDELETExxx*")
 replaceContents "611.2.xxxDELETExxx" with ""
# 611 osakenttäjärjestys
 changeSecondIndicator "611" to "4" if (exists "611.2.finaf")
 changeSecondIndicator "611" to "4" if (exists "611.2.teka")
 removeSubField "611.2" if (exists "611.2.finaf")
 removeSubField "611.2" if (exists "611.2.teka")
- removeField "611" if (exists "611.2")
 replaceContents "611.0.FI-ASTERI-N" with "FIN11"
 replaceContents "611.0.FI-ASTERI-W" with "FIN13"
 moveSubfieldsToEndOfField "611" "01"
 changeSubField "611.7" to "7" if (exists "611.7")
# 630 poisto jos ei ole Asteri, LCNAF, ind2=4
 prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.{*,0}")
 prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.{*,4}")
-# prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.0.(FI-ASTERI-)*")
- prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.2.teka")
+ prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.2.teka|teka/swe")
 removeField "630" if (not exists "630.a.xxxTEMP_DATAxxx*")
 replaceContents "630.a.xxxTEMP_DATAxxx" with ""
# tarkistetaan, ettei ind2=0 tai ind2=4 ja kuitenkin osak2
- prefix "630.2" with "xxxDELETExxx" if (exists "611.{*,0}")
+ prefix "630.2" with "xxxDELETExxx" if (exists "630.{*,0}")
- prefix "630.2" with "xxxDELETExxx" if (exists "611.{*,4}")
+ prefix "630.2" with "xxxDELETExxx" if (exists "630.{*,4}")
- removeField "630" if (exists "611.2.xxxDELETExxx*")
+ removeField "630" if (exists "630.2.xxxDELETExxx*")
- replaceContents "611.2.xxxDELETExxx" with ""
+ replaceContents "630.2.xxxDELETExxx" with ""
# 630 osakenttäjärjestys
 changeSecondIndicator "630" to "4" if (exists "630.2.teka")
 removeSubField "630.2" if (exists "630.2.teka")
- removeField "630" if (exists "630.2")
 replaceContents "630.0.FI-ASTERI-N" with "FIN11"
 replaceContents "630.0.FI-ASTERI-W" with "FIN13"
 moveSubfieldsToEndOfField "630" "01"
 changeSubField "630.7" to "7" if (exists "630.7")

358HELKA Fix a Melinda record before saving in ALMA

Vain muutokset 600-630 kentissä: 358HELKA Fix a Melinda ... 600-630.txt

# 600: poista jos ei Asteri, LCNAF, ind2=4
 removeField "600" if (exists "600.5.*")
 removeSubField "600.9"
 prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.{*,0}")
 prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.{*,4}")
-# prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.0.(FI-ASTERI-*")
+ prefix "600.a" with "xxxTEMP_DATAxxx" if (exists "600.2.finaf/swe|teka/swe")
 removeField "600" if (not exists "600.a.xxxTEMP_DATAxxx*")
 replaceContents "600.a.xxxTEMP_DATAxxx" with ""
# 600 ind2=4, toimija->finaf, teos->teka
 addSubField "600.W.xxxPLACEHOLDERxxx" if (exists "600.{*,4}")
 prefix "600.W" with "xxxWORKxxx" if (exists "600.t")
 addSubField "600.2.teka" if (exists "600.W.xxxWORKxxxxxxPLACEHOLDERxxx")
 replaceContents "600.W.xxxWORKxxxxxxPLACEHOLDERxxx" with ""
 addSubField "600.2.finaf" if (exists "600.W.xxxPLACEHOLDERxxx")
 replaceContents "600.W.xxxPLACEHOLDERxxx" with ""
 changeSecondIndicator "600" to "7" if (exists "600.W")
 removeSubField "600.W"
 changeSubField "600.7" to "7" if (exists "600.7")
# 610: poista jos ei Asteri, LCNAF, ind2=4
 removeField "610" if (exists "610.5.*")
 removeSubField "610.9"
 prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.{*,0}")
 prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.{*,4}")
-# prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.0.(FI-ASTERI-*")
+ prefix "610.a" with "xxxTEMP_DATAxxx" if (exists "610.2.finaf/swe|teka/swe")
 removeField "610" if (not exists "610.a.xxxTEMP_DATAxxx*")
 replaceContents "610.a.xxxTEMP_DATAxxx" with ""
# 610 ind2=4, toimija->finaf, teos->teka
 addSubField "610.W.xxxPLACEHOLDERxxx" if (exists "610.{*,4}")
 prefix "610.W" with "xxxWORKxxx" if (exists "610.t")
 addSubField "610.2.teka" if (exists "610.W.xxxWORKxxxxxxPLACEHOLDERxxx")
 replaceContents "610.W.xxxWORKxxxxxxPLACEHOLDERxxx" with ""
 addSubField "610.2.finaf" if (exists "610.W.xxxPLACEHOLDERxxx")
 replaceContents "610.W.xxxPLACEHOLDERxxx" with ""
 changeSecondIndicator "610" to "7" if (exists "610.W")
 removeSubField "610.W"
 changeSubField "610.7" to "7" if (exists "610.7")
# 611: poista jos ei Asteri, LCNAF, ind2=4
 removeField "611" if (exists "611.5.*")
 removeSubField "611.9"
 prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.{*,0}")
 prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.{*,4}")
-# prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.0.(FI-ASTERI-*")
+ prefix "611.a" with "xxxTEMP_DATAxxx" if (exists "611.2.finaf/swe|teka/swe")
 removeField "611" if (not exists "611.a.xxxTEMP_DATAxxx*")
 replaceContents "611.a.xxxTEMP_DATAxxx" with ""
# 611 ind2=4, toimija->finaf, teos->teka
 addSubField "611.W.xxxPLACEHOLDERxxx" if (exists "611.{*,4}")
 prefix "611.W" with "xxxWORKxxx" if (exists "611.t")
 addSubField "611.2.teka" if (exists "611.W.xxxWORKxxxxxxPLACEHOLDERxxx")
 replaceContents "611.W.xxxWORKxxxxxxPLACEHOLDERxxx" with ""
 addSubField "611.2.finaf" if (exists "611.W.xxxPLACEHOLDERxxx")
 replaceContents "611.W.xxxPLACEHOLDERxxx" with ""
 changeSecondIndicator "611" to "7" if (exists "611.W")
 removeSubField "611.W"
 changeSubField "611.7" to "7" if (exists "611.7")
# 630: poista jos ei Asteri, LCNAF, ind2=4
 removeField "630" if (exists "630.5.*")
 removeSubField "630.9"
 prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.{*,0}")
 prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.{*,4}")
-# prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.0.(FI-ASTERI-)*")
+ prefix "630.a" with "xxxTEMP_DATAxxx" if (exists "630.2.finaf/swe|teka/swe")
 removeField "630" if (not exists "630.a.xxxTEMP_DATAxxx*")
 replaceContents "630.a.xxxTEMP_DATAxxx" with ""
# 630 ind2=4, teos->teka
 addSubField "630.2.teka" if (exists "630.{*,4}")
 changeSecondIndicator "630" to "7" if (exists "630.2.teka")
 changeSubField "630.7" to "7" if (exists "630.7")

$7 virittäminen näkyviin Alman finaf tai teka -indeksissä

Luodaan authority headings rule: ShowNonPreferredSubfield7

Metadataeditori -> Rules (välilehti) -> New -> Authority headings

rule "ShowNonPreferredSubfield7"
# https://knowledge.exlibrisgroup.com/Alma/Product_Documentation/010Alma_Online_Help_(English)/Metadata_Management/016Working_with_Rules/Working_with_Authority_Headings_Rules
when
not preferred
then
add to text displayValue
add to text preferredDisplay
add to text "    "
add to text from headingSourceField "[7]"
end

Säännön asetus Configure->Resources->Metadata configuration

  • Yhdistetään edellä luotu sääntö Finafiin ja Tekaan:

1774871615690-353.png

Tämän jälkeen auktoriteettien selausnäyttö Almassa:

1774871748525-843.png