LP1371647: Add Additional Fixed Fields collab/jboyer/lp1371647_more_fixed_fields
authorJason Boyer <jboyer@library.in.gov>
Thu, 13 Aug 2015 15:12:34 +0000 (11:12 -0400)
committerJason Boyer <jboyer@library.in.gov>
Wed, 19 Aug 2015 15:58:44 +0000 (11:58 -0400)
Add all missing fields from marc21_ff_pos_map and
definitions for those that need ccvm entries.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/t/lp1371647_fixed_fields.pg [new file with mode: 0644]
Open-ILS/src/sql/Pg/upgrade/XXXX.more_fixed_fields.sql [new file with mode: 0644]
docs/RELEASE_NOTES_NEXT/Cataloging/add_additional_fixed_fields.txt [new file with mode: 0644]

index 0ce75a4..703f8af 100644 (file)
@@ -5980,19 +5980,21 @@ INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfiel
 INSERT INTO config.marc21_physical_characteristic_value_map (value,ptype_subfield,label) VALUES ('z',CURRVAL('config.marc21_physical_characteristic_subfield_map_id_seq'),'Other');
 
 -- Fixed Field position data -- 0-based!
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('AccM', '006', 'SCO', 7, 6, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('AccM', '006', 'REC', 7, 6, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('AccM', '008', 'SCO', 24, 6, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('AccM', '008', 'REC', 24, 6, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Alph', '006', 'SER', 16, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Alph', '008', 'SER', 33, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '006', 'BKS', 5, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '006', 'COM', 5, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '006', 'REC', 5, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '006', 'SCO', 5, 1, ' ');
-INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '006', 'SER', 5, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '006', 'VIS', 5, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '008', 'BKS', 22, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '008', 'COM', 22, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '008', 'REC', 22, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '008', 'SCO', 22, 1, ' ');
-INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '008', 'SER', 22, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Audn', '008', 'VIS', 22, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('BLvl', 'ldr', 'BKS', 7, 1, 'm');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('BLvl', 'ldr', 'COM', 7, 1, 'm');
@@ -6012,6 +6014,12 @@ INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, leng
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Cont', '006', 'SER', 8, 3, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Cont', '008', 'BKS', 24, 4, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Cont', '008', 'SER', 25, 3, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Comp', '006', 'SCO', 1, 2, 'u');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Comp', '006', 'REC', 1, 2, 'uu');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Comp', '008', 'SCO', 18, 2, 'u');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Comp', '008', 'REC', 18, 2, 'uu');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('CrTp', '006', 'MAP', 8, 1, 'a');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('CrTp', '008', 'MAP', 25, 1, 'a');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Ctrl', 'ldr', 'BKS', 8, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Ctrl', 'ldr', 'COM', 8, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Ctrl', 'ldr', 'MAP', 8, 1, ' ');
@@ -6069,9 +6077,16 @@ INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, leng
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('ELvl', 'ldr', 'SER', 17, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('ELvl', 'ldr', 'VIS', 17, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('ELvl', 'ldr', 'AUT', 17, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('EntW', '006', 'SER', 7, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('EntW', '008', 'SER', 24, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Fest', '006', 'BKS', 13, 1, '0');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Fest', '008', 'BKS', 30, 1, '0');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('FMus', '006', 'SCO', 3, 1, 'u');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('FMus', '006', 'REC', 3, 1, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('FMus', '008', 'SCO', 20, 1, 'u');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('FMus', '008', 'REC', 20, 1, 'n');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '006', 'BKS', 6, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '006', 'COM', 6, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '006', 'MAP', 12, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '006', 'MIX', 6, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '006', 'REC', 6, 1, ' ');
@@ -6079,6 +6094,7 @@ INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, leng
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '006', 'SER', 6, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '006', 'VIS', 12, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '008', 'BKS', 23, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '008', 'COM', 23, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '008', 'MAP', 29, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '008', 'MIX', 23, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Form', '008', 'REC', 23, 1, ' ');
@@ -6111,6 +6127,10 @@ INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, leng
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Lang', '008', 'VIS', 35, 3, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('LitF', '006', 'BKS', 16, 1, '0');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('LitF', '008', 'BKS', 33, 1, '0');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('LTxt', '006', 'SCO', 13, 2, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('LTxt', '006', 'REC', 13, 2, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('LTxt', '008', 'SCO', 30, 2, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('LTxt', '008', 'REC', 30, 2, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('MRec', '008', 'BKS', 38, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('MRec', '008', 'COM', 38, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('MRec', '008', 'MAP', 38, 1, ' ');
@@ -6119,10 +6139,30 @@ INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, leng
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('MRec', '008', 'SCO', 38, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('MRec', '008', 'SER', 38, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('MRec', '008', 'VIS', 38, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Orig', '006', 'SER', 5, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Orig', '008', 'SER', 22, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Part', '006', 'SCO', 4, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Part', '006', 'REC', 4, 1, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Part', '008', 'SCO', 21, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Part', '008', 'REC', 21, 1, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Proj', '006', 'MAP', 5, 2, '  ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Proj', '008', 'MAP', 22, 2, '  ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('S/L', '006', 'SER', 17, 1, '0');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('S/L', '008', 'SER', 34, 1, '0');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('SpFm', '006', 'MAP', 16, 2, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('SpFm', '008', 'MAP', 33, 2, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('SrTp', '006', 'SER', 4, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('SrTp', '008', 'SER', 21, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Tech', '006', 'VIS', 17, 1, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Tech', '008', 'VIS', 34, 1, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Time', '006', 'VIS', 1, 3, '   ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Time', '008', 'VIS', 18, 3, '   ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('TMat', '006', 'VIS', 16, 1, ' ');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('TMat', '008', 'VIS', 33, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('TrAr', '006', 'SCO', 16, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('TrAr', '006', 'REC', 16, 1, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('TrAr', '008', 'SCO', 33, 1, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('TrAr', '008', 'REC', 33, 1, 'n');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Type', 'ldr', 'BKS', 6, 1, 'a');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Type', 'ldr', 'COM', 6, 1, 'm');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Type', 'ldr', 'MAP', 6, 1, 'e');
@@ -6133,6 +6173,8 @@ INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, leng
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Type', 'ldr', 'VIS', 6, 1, 'g');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Subj', '008', 'AUT', 11, 1, '|');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('RecStat', 'ldr', 'AUT', 5, 1, 'n');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Relf', '006', 'MAP', 1, 4, ' ');
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Relf', '008', 'MAP', 18, 4, ' ');
 
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('File', '008', 'COM', 26, 1, 'u');
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('File', '006', 'COM', 9, 1, 'u');
@@ -6142,12 +6184,16 @@ INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, leng
 INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES ('Regl', '006', 'SER', 2, 1, ' ');
 
 -- record attributes
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('accm','AccM','AccM');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('alph','Alph','Alph');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('audience','Audn','Audn');
 INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('bib_level','BLvl','BLvl',FALSE);
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('biog','Biog','Biog');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('conf','Conf','Conf');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('cont','Cont','Cont');
 INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('control_type','Ctrl','Ctrl',FALSE);
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('comp','Comp','Comp');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('crtp','CrTp','CrTp');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('ctry','Ctry','Ctry');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('date1','Date1','Date1');
 INSERT INTO config.record_attr_definition (name,label,fixed_field,sorter,filter,multi) values ('pubdate','Pub Date','Date1',TRUE,FALSE,FALSE);
@@ -6155,17 +6201,28 @@ INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('date
 INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('cat_form','Desc','Desc',FALSE);
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('pub_status','DtSt','DtSt');
 INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('enc_level','ELvl','ELvl',FALSE);
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('entw','EntW','EntW');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('fest','Fest','Fest');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('item_form','Form','Form');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('fmus','FMus','FMus');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('gpub','GPub','GPub');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('ills','Ills','Ills');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('indx','Indx','Indx');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('item_lang','Lang','Lang');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('language','Language (2.0 compat version)','Lang');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('lit_form','LitF','LitF');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('ltxt','LTxt','LTxt');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('mrec','MRec','MRec');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('orig','Orig','Orig');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('part','Part','Part');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('proj','Proj','Proj');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('relf','Relf','Relf');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('ff_sl','S/L','S/L');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('spfm','SpFm','SpFm');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('srtp','SrTp','SrTp');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('tech','Tech','Tech');
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('type_mat','TMat','TMat');
+INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('trar','TrAr','TrAr');
 INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('item_type','Type','Type',FALSE);
 INSERT INTO config.record_attr_definition (name,label,phys_char_sf) values ('vr_format','Videorecording format',72);
 INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('file','File','File');
@@ -7003,6 +7060,346 @@ INSERT INTO config.coded_value_map
     oils_i18n_gettext(633, 'Blu-ray', 'ccvm', 'value'),
     oils_i18n_gettext(633, 'Blu-ray', 'ccvm', 'search_label'));
 
+-- Accompanying Matter
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(634, 'accm', ' ', oils_i18n_gettext('634', 'No accompanying matter', 'ccvm', 'value')),
+(635, 'accm', 'a', oils_i18n_gettext('635', 'Discography', 'ccvm', 'value')),
+(636, 'accm', 'b', oils_i18n_gettext('636', 'Bibliography', 'ccvm', 'value')),
+(637, 'accm', 'c', oils_i18n_gettext('637', 'Thematic index', 'ccvm', 'value')),
+(638, 'accm', 'd', oils_i18n_gettext('638', 'Libretto or text', 'ccvm', 'value')),
+(639, 'accm', 'e', oils_i18n_gettext('639', 'Biography of composer or author', 'ccvm', 'value')),
+(640, 'accm', 'f', oils_i18n_gettext('640', 'Biography or performer or history of ensemble', 'ccvm', 'value')),
+(641, 'accm', 'g', oils_i18n_gettext('641', 'Technical and/or historical information on instruments', 'ccvm', 'value')),
+(642, 'accm', 'h', oils_i18n_gettext('642', 'Technical information on music', 'ccvm', 'value')),
+(643, 'accm', 'i', oils_i18n_gettext('643', 'Historical information', 'ccvm', 'value')),
+(644, 'accm', 'k', oils_i18n_gettext('644', 'Ethnological information', 'ccvm', 'value')),
+(645, 'accm', 'r', oils_i18n_gettext('645', 'Instructional materials', 'ccvm', 'value')),
+(646, 'accm', 's', oils_i18n_gettext('646', 'Music', 'ccvm', 'value')),
+(647, 'accm', 'z', oils_i18n_gettext('647', 'Other accompanying matter', 'ccvm', 'value'));
+
+-- Form of Composition
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(648, 'comp', '  ', oils_i18n_gettext('648', 'No information supplied', 'ccvm', 'value')),
+(650, 'comp', 'an', oils_i18n_gettext('650', 'Anthems', 'ccvm', 'value')),
+(651, 'comp', 'bd', oils_i18n_gettext('651', 'Ballads', 'ccvm', 'value')),
+(652, 'comp', 'bt', oils_i18n_gettext('652', 'Ballets', 'ccvm', 'value')),
+(653, 'comp', 'bg', oils_i18n_gettext('653', 'Bluegrass music', 'ccvm', 'value')),
+(654, 'comp', 'bl', oils_i18n_gettext('654', 'Blues', 'ccvm', 'value')),
+(655, 'comp', 'cn', oils_i18n_gettext('655', 'Canons and rounds', 'ccvm', 'value')),
+(656, 'comp', 'ct', oils_i18n_gettext('656', 'Cantatas', 'ccvm', 'value')),
+(657, 'comp', 'cz', oils_i18n_gettext('657', 'Canzonas', 'ccvm', 'value')),
+(658, 'comp', 'cr', oils_i18n_gettext('658', 'Carols', 'ccvm', 'value')),
+(659, 'comp', 'ca', oils_i18n_gettext('659', 'Chaconnes', 'ccvm', 'value')),
+(660, 'comp', 'cs', oils_i18n_gettext('660', 'Chance compositions', 'ccvm', 'value')),
+(661, 'comp', 'cp', oils_i18n_gettext('661', 'Chansons, Polyphonic', 'ccvm', 'value')),
+(662, 'comp', 'cc', oils_i18n_gettext('662', 'Chant, Christian', 'ccvm', 'value')),
+(663, 'comp', 'cb', oils_i18n_gettext('663', 'Chants, other', 'ccvm', 'value')),
+(664, 'comp', 'cl', oils_i18n_gettext('664', 'Chorale preludes', 'ccvm', 'value')),
+(665, 'comp', 'ch', oils_i18n_gettext('665', 'Chorales', 'ccvm', 'value')),
+(666, 'comp', 'cg', oils_i18n_gettext('666', 'Concerti grossi', 'ccvm', 'value')),
+(667, 'comp', 'co', oils_i18n_gettext('667', 'Concertos', 'ccvm', 'value')),
+(668, 'comp', 'cy', oils_i18n_gettext('668', 'Country music', 'ccvm', 'value')),
+(669, 'comp', 'df', oils_i18n_gettext('669', 'Dance forms', 'ccvm', 'value')),
+(670, 'comp', 'dv', oils_i18n_gettext('670', 'Divertimentos, serenades, cassations, divertissements, and notturni', 'ccvm', 'value')),
+(671, 'comp', 'ft', oils_i18n_gettext('671', 'Fantasias', 'ccvm', 'value')),
+(672, 'comp', 'fl', oils_i18n_gettext('672', 'Flamenco', 'ccvm', 'value')),
+(673, 'comp', 'fm', oils_i18n_gettext('673', 'Folk music', 'ccvm', 'value')),
+(674, 'comp', 'fg', oils_i18n_gettext('674', 'Fugues', 'ccvm', 'value')),
+(675, 'comp', 'gm', oils_i18n_gettext('675', 'Gospel music', 'ccvm', 'value')),
+(676, 'comp', 'hy', oils_i18n_gettext('676', 'Hymns', 'ccvm', 'value')),
+(677, 'comp', 'jz', oils_i18n_gettext('677', 'Jazz', 'ccvm', 'value')),
+(678, 'comp', 'md', oils_i18n_gettext('678', 'Madrigals', 'ccvm', 'value')),
+(679, 'comp', 'mr', oils_i18n_gettext('679', 'Marches', 'ccvm', 'value')),
+(680, 'comp', 'ms', oils_i18n_gettext('680', 'Masses', 'ccvm', 'value')),
+(681, 'comp', 'mz', oils_i18n_gettext('681', 'Mazurkas', 'ccvm', 'value')),
+(682, 'comp', 'mi', oils_i18n_gettext('682', 'Minuets', 'ccvm', 'value')),
+(683, 'comp', 'mo', oils_i18n_gettext('683', 'Motets', 'ccvm', 'value')),
+(684, 'comp', 'mp', oils_i18n_gettext('684', 'Motion picture music', 'ccvm', 'value')),
+(685, 'comp', 'mu', oils_i18n_gettext('685', 'Multiple forms', 'ccvm', 'value')),
+(686, 'comp', 'mc', oils_i18n_gettext('686', 'Musical reviews and comedies', 'ccvm', 'value')),
+(687, 'comp', 'nc', oils_i18n_gettext('687', 'Nocturnes', 'ccvm', 'value')),
+(688, 'comp', 'nn', oils_i18n_gettext('688', 'Not applicable', 'ccvm', 'value')),
+(689, 'comp', 'op', oils_i18n_gettext('689', 'Operas', 'ccvm', 'value')),
+(690, 'comp', 'or', oils_i18n_gettext('690', 'Oratorios', 'ccvm', 'value')),
+(691, 'comp', 'ov', oils_i18n_gettext('691', 'Overtures', 'ccvm', 'value')),
+(692, 'comp', 'pt', oils_i18n_gettext('692', 'Part-songs', 'ccvm', 'value')),
+(693, 'comp', 'ps', oils_i18n_gettext('693', 'Passacaglias', 'ccvm', 'value')),
+(694, 'comp', 'pm', oils_i18n_gettext('694', 'Passion music', 'ccvm', 'value')),
+(695, 'comp', 'pv', oils_i18n_gettext('695', 'Pavans', 'ccvm', 'value')),
+(696, 'comp', 'po', oils_i18n_gettext('696', 'Polonaises', 'ccvm', 'value')),
+(697, 'comp', 'pp', oils_i18n_gettext('697', 'Popular music', 'ccvm', 'value')),
+(698, 'comp', 'pr', oils_i18n_gettext('698', 'Preludes', 'ccvm', 'value')),
+(699, 'comp', 'pg', oils_i18n_gettext('699', 'Program music', 'ccvm', 'value')),
+(700, 'comp', 'rg', oils_i18n_gettext('700', 'Ragtime music', 'ccvm', 'value')),
+(701, 'comp', 'rq', oils_i18n_gettext('701', 'Requiems', 'ccvm', 'value')),
+(702, 'comp', 'rp', oils_i18n_gettext('702', 'Rhapsodies', 'ccvm', 'value')),
+(703, 'comp', 'ri', oils_i18n_gettext('703', 'Ricercars', 'ccvm', 'value')),
+(704, 'comp', 'rc', oils_i18n_gettext('704', 'Rock music', 'ccvm', 'value')),
+(705, 'comp', 'rd', oils_i18n_gettext('705', 'Rondos', 'ccvm', 'value')),
+(706, 'comp', 'sn', oils_i18n_gettext('706', 'Sonatas', 'ccvm', 'value')),
+(707, 'comp', 'sg', oils_i18n_gettext('707', 'Songs', 'ccvm', 'value')),
+(708, 'comp', 'sd', oils_i18n_gettext('708', 'Square dance music', 'ccvm', 'value')),
+(709, 'comp', 'st', oils_i18n_gettext('709', 'Studies and exercises', 'ccvm', 'value')),
+(710, 'comp', 'su', oils_i18n_gettext('710', 'Suites', 'ccvm', 'value')),
+(711, 'comp', 'sp', oils_i18n_gettext('711', 'Symphonic poems', 'ccvm', 'value')),
+(712, 'comp', 'sy', oils_i18n_gettext('712', 'Symphonies', 'ccvm', 'value')),
+(713, 'comp', 'tl', oils_i18n_gettext('713', 'Teatro lirico', 'ccvm', 'value')),
+(714, 'comp', 'tc', oils_i18n_gettext('714', 'Toccatas', 'ccvm', 'value')),
+(715, 'comp', 'ts', oils_i18n_gettext('715', 'Trio-sonatas', 'ccvm', 'value')),
+(716, 'comp', 'uu', oils_i18n_gettext('716', 'Unknown', 'ccvm', 'value')),
+(717, 'comp', 'vi', oils_i18n_gettext('717', 'Villancicos', 'ccvm', 'value')),
+(718, 'comp', 'vr', oils_i18n_gettext('718', 'Variations', 'ccvm', 'value')),
+(719, 'comp', 'wz', oils_i18n_gettext('719', 'Waltzes', 'ccvm', 'value')),
+(720, 'comp', 'za', oils_i18n_gettext('720', 'Zarzuelas', 'ccvm', 'value')),
+(721, 'comp', 'zz', oils_i18n_gettext('721', 'Other forms', 'ccvm', 'value'));
+
+-- Type of Cartographic Material
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(722, 'crtp', 'a', oils_i18n_gettext('722', 'Single map', 'ccvm', 'value')),
+(723, 'crtp', 'b', oils_i18n_gettext('723', 'Map series', 'ccvm', 'value')),
+(724, 'crtp', 'c', oils_i18n_gettext('724', 'Map serial', 'ccvm', 'value')),
+(725, 'crtp', 'd', oils_i18n_gettext('725', 'Globe', 'ccvm', 'value')),
+(726, 'crtp', 'e', oils_i18n_gettext('726', 'Atlas', 'ccvm', 'value')),
+(727, 'crtp', 'f', oils_i18n_gettext('727', 'Separate supplement to another work', 'ccvm', 'value')),
+(728, 'crtp', 'g', oils_i18n_gettext('728', 'Bound as part of another work', 'ccvm', 'value')),
+(729, 'crtp', 'u', oils_i18n_gettext('729', 'Unknown', 'ccvm', 'value')),
+(730, 'crtp', 'z', oils_i18n_gettext('730', 'Other', 'ccvm', 'value'));
+
+-- Nature of Entire Work
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(731, 'entw', ' ', oils_i18n_gettext('731', 'Not specified', 'ccvm', 'value')),
+(732, 'entw', 'a', oils_i18n_gettext('732', 'Abstracts/summaries', 'ccvm', 'value')),
+(733, 'entw', 'b', oils_i18n_gettext('733', 'Bibliographies', 'ccvm', 'value')),
+(734, 'entw', 'c', oils_i18n_gettext('734', 'Catalogs', 'ccvm', 'value')),
+(735, 'entw', 'd', oils_i18n_gettext('735', 'Dictionaries', 'ccvm', 'value')),
+(736, 'entw', 'e', oils_i18n_gettext('736', 'Encyclopedias', 'ccvm', 'value')),
+(737, 'entw', 'f', oils_i18n_gettext('737', 'Handbooks', 'ccvm', 'value')),
+(738, 'entw', 'g', oils_i18n_gettext('738', 'Legal articles', 'ccvm', 'value')),
+(739, 'entw', 'h', oils_i18n_gettext('739', 'Biography', 'ccvm', 'value')),
+(740, 'entw', 'i', oils_i18n_gettext('740', 'Indexes', 'ccvm', 'value')),
+(741, 'entw', 'k', oils_i18n_gettext('741', 'Discographies', 'ccvm', 'value')),
+(742, 'entw', 'l', oils_i18n_gettext('742', 'Legislation', 'ccvm', 'value')),
+(743, 'entw', 'm', oils_i18n_gettext('743', 'Theses', 'ccvm', 'value')),
+(744, 'entw', 'n', oils_i18n_gettext('744', 'Surveys of the literature in a subject area', 'ccvm', 'value')),
+(745, 'entw', 'o', oils_i18n_gettext('745', 'Reviews', 'ccvm', 'value')),
+(746, 'entw', 'p', oils_i18n_gettext('746', 'Programmed texts', 'ccvm', 'value')),
+(747, 'entw', 'q', oils_i18n_gettext('747', 'Filmographies', 'ccvm', 'value')),
+(748, 'entw', 'r', oils_i18n_gettext('748', 'Directories', 'ccvm', 'value')),
+(749, 'entw', 's', oils_i18n_gettext('749', 'Statistics', 'ccvm', 'value')),
+(750, 'entw', 't', oils_i18n_gettext('750', 'Technical reports', 'ccvm', 'value')),
+(751, 'entw', 'u', oils_i18n_gettext('751', 'Standards/specifications', 'ccvm', 'value')),
+(752, 'entw', 'v', oils_i18n_gettext('752', 'Legal cases and case notes', 'ccvm', 'value')),
+(753, 'entw', 'w', oils_i18n_gettext('753', 'Law reports and digests', 'ccvm', 'value')),
+(754, 'entw', 'y', oils_i18n_gettext('754', 'Yearbooks', 'ccvm', 'value')),
+(755, 'entw', 'z', oils_i18n_gettext('755', 'Treaties', 'ccvm', 'value')),
+(756, 'entw', '5', oils_i18n_gettext('756', 'Calendars', 'ccvm', 'value')),
+(757, 'entw', '6', oils_i18n_gettext('757', 'Comics/graphic novels', 'ccvm', 'value'));
+
+-- Nature of Contents
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(758, 'cont', ' ', oils_i18n_gettext('758', 'Not specified', 'ccvm', 'value')),
+(759, 'cont', 'a', oils_i18n_gettext('759', 'Abstracts/summaries', 'ccvm', 'value')),
+(760, 'cont', 'b', oils_i18n_gettext('760', 'Bibliographies', 'ccvm', 'value')),
+(761, 'cont', 'c', oils_i18n_gettext('761', 'Catalogs', 'ccvm', 'value')),
+(762, 'cont', 'd', oils_i18n_gettext('762', 'Dictionaries', 'ccvm', 'value')),
+(763, 'cont', 'e', oils_i18n_gettext('763', 'Encyclopedias', 'ccvm', 'value')),
+(764, 'cont', 'f', oils_i18n_gettext('764', 'Handbooks', 'ccvm', 'value')),
+(765, 'cont', 'g', oils_i18n_gettext('765', 'Legal articles', 'ccvm', 'value')),
+(766, 'cont', 'h', oils_i18n_gettext('766', 'Biography', 'ccvm', 'value')),
+(767, 'cont', 'i', oils_i18n_gettext('767', 'Indexes', 'ccvm', 'value')),
+(768, 'cont', 'j', oils_i18n_gettext('768', 'Patent document', 'ccvm', 'value')),
+(769, 'cont', 'k', oils_i18n_gettext('769', 'Discographies', 'ccvm', 'value')),
+(770, 'cont', 'l', oils_i18n_gettext('770', 'Legislation', 'ccvm', 'value')),
+(771, 'cont', 'm', oils_i18n_gettext('771', 'Theses', 'ccvm', 'value')),
+(772, 'cont', 'n', oils_i18n_gettext('772', 'Surveys of the literature in a subject area', 'ccvm', 'value')),
+(773, 'cont', 'o', oils_i18n_gettext('773', 'Reviews', 'ccvm', 'value')),
+(774, 'cont', 'p', oils_i18n_gettext('774', 'Programmed texts', 'ccvm', 'value')),
+(775, 'cont', 'q', oils_i18n_gettext('775', 'Filmographies', 'ccvm', 'value')),
+(776, 'cont', 'r', oils_i18n_gettext('776', 'Directories', 'ccvm', 'value')),
+(777, 'cont', 's', oils_i18n_gettext('777', 'Statistics', 'ccvm', 'value')),
+(778, 'cont', 't', oils_i18n_gettext('778', 'Technical reports', 'ccvm', 'value')),
+(779, 'cont', 'u', oils_i18n_gettext('779', 'Standards/specifications', 'ccvm', 'value')),
+(780, 'cont', 'v', oils_i18n_gettext('780', 'Legal cases and case notes', 'ccvm', 'value')),
+(781, 'cont', 'w', oils_i18n_gettext('781', 'Law reports and digests', 'ccvm', 'value')),
+(782, 'cont', 'x', oils_i18n_gettext('782', 'Other reports', 'ccvm', 'value')),
+(783, 'cont', 'y', oils_i18n_gettext('783', 'Yearbooks', 'ccvm', 'value')),
+(784, 'cont', 'z', oils_i18n_gettext('784', 'Treaties', 'ccvm', 'value')),
+(785, 'cont', '2', oils_i18n_gettext('785', 'Offprints', 'ccvm', 'value')),
+(786, 'cont', '5', oils_i18n_gettext('786', 'Calendars', 'ccvm', 'value')),
+(787, 'cont', '6', oils_i18n_gettext('787', 'Comics/graphic novels', 'ccvm', 'value'));
+
+-- Format of Music
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(788, 'fmus', ' ', oils_i18n_gettext('788', 'Information not supplied', 'ccvm', 'value')),
+(789, 'fmus', 'a', oils_i18n_gettext('789', 'Full score', 'ccvm', 'value')),
+(790, 'fmus', 'b', oils_i18n_gettext('790', 'Full score, miniature or study size', 'ccvm', 'value')),
+(791, 'fmus', 'c', oils_i18n_gettext('791', 'Accompaniment reduced for keyboard', 'ccvm', 'value')),
+(792, 'fmus', 'd', oils_i18n_gettext('792', 'Voice score with accompaniment omitted', 'ccvm', 'value')),
+(793, 'fmus', 'e', oils_i18n_gettext('793', 'Condensed score or piano-conductor score', 'ccvm', 'value')),
+(794, 'fmus', 'g', oils_i18n_gettext('794', 'Close score', 'ccvm', 'value')),
+(795, 'fmus', 'h', oils_i18n_gettext('795', 'Chorus score', 'ccvm', 'value')),
+(796, 'fmus', 'i', oils_i18n_gettext('796', 'Condensed score', 'ccvm', 'value')),
+(797, 'fmus', 'j', oils_i18n_gettext('797', 'Performer-conductor part', 'ccvm', 'value')),
+(798, 'fmus', 'k', oils_i18n_gettext('798', 'Vocal score', 'ccvm', 'value')),
+(799, 'fmus', 'l', oils_i18n_gettext('799', 'Score', 'ccvm', 'value')),
+(800, 'fmus', 'm', oils_i18n_gettext('800', 'Multiple score formats', 'ccvm', 'value')),
+(801, 'fmus', 'n', oils_i18n_gettext('801', 'Not applicable', 'ccvm', 'value')),
+(802, 'fmus', 'u', oils_i18n_gettext('802', 'Unknown', 'ccvm', 'value')),
+(803, 'fmus', 'z', oils_i18n_gettext('803', 'Other', 'ccvm', 'value'));
+
+-- Literary Text for Sound Recordings
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(804, 'ltxt', ' ', oils_i18n_gettext('804', 'Item is a music sound recording', 'ccvm', 'value')),
+(805, 'ltxt', 'a', oils_i18n_gettext('805', 'Autobiography', 'ccvm', 'value')),
+(806, 'ltxt', 'b', oils_i18n_gettext('806', 'Biography', 'ccvm', 'value')),
+(807, 'ltxt', 'c', oils_i18n_gettext('807', 'Conference proceedings', 'ccvm', 'value')),
+(808, 'ltxt', 'd', oils_i18n_gettext('808', 'Drama', 'ccvm', 'value')),
+(809, 'ltxt', 'e', oils_i18n_gettext('809', 'Essays', 'ccvm', 'value')),
+(810, 'ltxt', 'f', oils_i18n_gettext('810', 'Fiction', 'ccvm', 'value')),
+(811, 'ltxt', 'g', oils_i18n_gettext('811', 'Reporting', 'ccvm', 'value')),
+(812, 'ltxt', 'h', oils_i18n_gettext('812', 'History', 'ccvm', 'value')),
+(813, 'ltxt', 'i', oils_i18n_gettext('813', 'Instruction', 'ccvm', 'value')),
+(814, 'ltxt', 'j', oils_i18n_gettext('814', 'Language instruction', 'ccvm', 'value')),
+(815, 'ltxt', 'k', oils_i18n_gettext('815', 'Comedy', 'ccvm', 'value')),
+(816, 'ltxt', 'l', oils_i18n_gettext('816', 'Lectures, speeches', 'ccvm', 'value')),
+(817, 'ltxt', 'm', oils_i18n_gettext('817', 'Memoirs', 'ccvm', 'value')),
+(818, 'ltxt', 'n', oils_i18n_gettext('818', 'Not applicable', 'ccvm', 'value')),
+(819, 'ltxt', 'o', oils_i18n_gettext('819', 'Folktales', 'ccvm', 'value')),
+(820, 'ltxt', 'p', oils_i18n_gettext('820', 'Poetry', 'ccvm', 'value')),
+(821, 'ltxt', 'r', oils_i18n_gettext('821', 'Rehearsals', 'ccvm', 'value')),
+(822, 'ltxt', 's', oils_i18n_gettext('822', 'Sounds', 'ccvm', 'value')),
+(823, 'ltxt', 't', oils_i18n_gettext('823', 'Interviews', 'ccvm', 'value')),
+(824, 'ltxt', 'z', oils_i18n_gettext('824', 'Other', 'ccvm', 'value'));
+
+-- Form of Original Item
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(825, 'orig', ' ', oils_i18n_gettext('825', 'None of the following', 'ccvm', 'value')),
+(826, 'orig', 'a', oils_i18n_gettext('826', 'Microfilm', 'ccvm', 'value')),
+(827, 'orig', 'b', oils_i18n_gettext('827', 'Microfiche', 'ccvm', 'value')),
+(828, 'orig', 'c', oils_i18n_gettext('828', 'Microopaque', 'ccvm', 'value')),
+(829, 'orig', 'd', oils_i18n_gettext('829', 'Large print', 'ccvm', 'value')),
+(830, 'orig', 'e', oils_i18n_gettext('830', 'Newspaper format', 'ccvm', 'value')),
+(831, 'orig', 'f', oils_i18n_gettext('831', 'Braille', 'ccvm', 'value')),
+(832, 'orig', 'o', oils_i18n_gettext('832', 'Online', 'ccvm', 'value')),
+(833, 'orig', 'q', oils_i18n_gettext('833', 'Direct electronic', 'ccvm', 'value')),
+(834, 'orig', 's', oils_i18n_gettext('834', 'Electronic', 'ccvm', 'value'));
+
+-- Music Parts
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(835, 'part', ' ', oils_i18n_gettext('835', 'No parts in hand or not specified', 'ccvm', 'value')),
+(836, 'part', 'd', oils_i18n_gettext('836', 'Instrumental and vocal parts', 'ccvm', 'value')),
+(837, 'part', 'e', oils_i18n_gettext('837', 'Instrumental parts', 'ccvm', 'value')),
+(838, 'part', 'f', oils_i18n_gettext('838', 'Vocal parts', 'ccvm', 'value')),
+(839, 'part', 'n', oils_i18n_gettext('839', 'Not Applicable', 'ccvm', 'value')),
+(840, 'part', 'u', oils_i18n_gettext('840', 'Unknown', 'ccvm', 'value'));
+
+-- Projection
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(841, 'proj', '  ', oils_i18n_gettext('841', 'Project not specified', 'ccvm', 'value')),
+(842, 'proj', 'aa', oils_i18n_gettext('842', 'Aitoff', 'ccvm', 'value')),
+(843, 'proj', 'ab', oils_i18n_gettext('843', 'Gnomic', 'ccvm', 'value')),
+(844, 'proj', 'ac', oils_i18n_gettext('844', 'Lambert''s azimuthal equal area', 'ccvm', 'value')),
+(845, 'proj', 'ad', oils_i18n_gettext('845', 'Orthographic', 'ccvm', 'value')),
+(846, 'proj', 'ae', oils_i18n_gettext('846', 'Azimuthal equidistant', 'ccvm', 'value')),
+(847, 'proj', 'af', oils_i18n_gettext('847', 'Stereographic', 'ccvm', 'value')),
+(848, 'proj', 'ag', oils_i18n_gettext('848', 'General vertical near-sided', 'ccvm', 'value')),
+(849, 'proj', 'am', oils_i18n_gettext('849', 'Modified stereographic for Alaska', 'ccvm', 'value')),
+(850, 'proj', 'an', oils_i18n_gettext('850', 'Chamberlin trimetric', 'ccvm', 'value')),
+(851, 'proj', 'ap', oils_i18n_gettext('851', 'Polar stereographic', 'ccvm', 'value')),
+(852, 'proj', 'au', oils_i18n_gettext('852', 'Azimuthal, specific type unknown', 'ccvm', 'value')),
+(853, 'proj', 'az', oils_i18n_gettext('853', 'Azimuthal, other', 'ccvm', 'value')),
+(854, 'proj', 'ba', oils_i18n_gettext('854', 'Gall', 'ccvm', 'value')),
+(855, 'proj', 'bb', oils_i18n_gettext('855', 'Goode''s homolographic', 'ccvm', 'value')),
+(856, 'proj', 'bc', oils_i18n_gettext('856', 'Lambert''s cylindrical equal area', 'ccvm', 'value')),
+(857, 'proj', 'bd', oils_i18n_gettext('857', 'Mercator', 'ccvm', 'value')),
+(858, 'proj', 'be', oils_i18n_gettext('858', 'Miller', 'ccvm', 'value')),
+(859, 'proj', 'bf', oils_i18n_gettext('859', 'Mollweide', 'ccvm', 'value')),
+(860, 'proj', 'bg', oils_i18n_gettext('860', 'Sinusoidal', 'ccvm', 'value')),
+(861, 'proj', 'bh', oils_i18n_gettext('861', 'Transverse Mercator', 'ccvm', 'value')),
+(862, 'proj', 'bi', oils_i18n_gettext('862', 'Gauss-Kruger', 'ccvm', 'value')),
+(863, 'proj', 'bj', oils_i18n_gettext('863', 'Equirectangular', 'ccvm', 'value')),
+(864, 'proj', 'bk', oils_i18n_gettext('864', 'Krovak', 'ccvm', 'value')),
+(865, 'proj', 'bl', oils_i18n_gettext('865', 'Cassini-Soldner', 'ccvm', 'value')),
+(866, 'proj', 'bo', oils_i18n_gettext('866', 'Oblique Mercator', 'ccvm', 'value')),
+(867, 'proj', 'br', oils_i18n_gettext('867', 'Robinson', 'ccvm', 'value')),
+(868, 'proj', 'bs', oils_i18n_gettext('868', 'Space oblique Mercator', 'ccvm', 'value')),
+(869, 'proj', 'bu', oils_i18n_gettext('869', 'Cylindrical, specific type unknown', 'ccvm', 'value')),
+(870, 'proj', 'bz', oils_i18n_gettext('870', 'Cylindrical, other', 'ccvm', 'value')),
+(871, 'proj', 'ca', oils_i18n_gettext('871', 'Alber''s equal area', 'ccvm', 'value')),
+(872, 'proj', 'cb', oils_i18n_gettext('872', 'Bonne', 'ccvm', 'value')),
+(873, 'proj', 'cc', oils_i18n_gettext('873', 'Lambert''s conformal conic', 'ccvm', 'value')),
+(874, 'proj', 'ce', oils_i18n_gettext('874', 'Equidistant conic', 'ccvm', 'value')),
+(875, 'proj', 'cp', oils_i18n_gettext('875', 'Polyconic', 'ccvm', 'value')),
+(876, 'proj', 'cu', oils_i18n_gettext('876', 'Conic, specific type unknown', 'ccvm', 'value')),
+(877, 'proj', 'cz', oils_i18n_gettext('877', 'Conic, other', 'ccvm', 'value')),
+(878, 'proj', 'da', oils_i18n_gettext('878', 'Armadillo', 'ccvm', 'value')),
+(879, 'proj', 'db', oils_i18n_gettext('879', 'Butterfly', 'ccvm', 'value')),
+(880, 'proj', 'dc', oils_i18n_gettext('880', 'Eckert', 'ccvm', 'value')),
+(881, 'proj', 'dd', oils_i18n_gettext('881', 'Goode''s homolosine', 'ccvm', 'value')),
+(882, 'proj', 'de', oils_i18n_gettext('882', 'Miller''s bipolar oblique conformal conic', 'ccvm', 'value')),
+(883, 'proj', 'df', oils_i18n_gettext('883', 'Van Der Grinten', 'ccvm', 'value')),
+(884, 'proj', 'dg', oils_i18n_gettext('884', 'Dymaxion', 'ccvm', 'value')),
+(885, 'proj', 'dh', oils_i18n_gettext('885', 'Cordiform', 'ccvm', 'value')),
+(886, 'proj', 'dl', oils_i18n_gettext('886', 'Lambert conformal', 'ccvm', 'value')),
+(887, 'proj', 'zz', oils_i18n_gettext('887', 'Other', 'ccvm', 'value'));
+
+-- Relief
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(888, 'relf', ' ', oils_i18n_gettext('888', 'No relief shown', 'ccvm', 'value')),
+(889, 'relf', 'a', oils_i18n_gettext('889', 'Contours', 'ccvm', 'value')),
+(890, 'relf', 'b', oils_i18n_gettext('890', 'Shading', 'ccvm', 'value')),
+(891, 'relf', 'c', oils_i18n_gettext('891', 'Gradient and bathymetric tints', 'ccvm', 'value')),
+(892, 'relf', 'd', oils_i18n_gettext('892', 'Hachures', 'ccvm', 'value')),
+(893, 'relf', 'e', oils_i18n_gettext('893', 'Bathymetry, soundings', 'ccvm', 'value')),
+(894, 'relf', 'f', oils_i18n_gettext('894', 'Form lines', 'ccvm', 'value')),
+(895, 'relf', 'g', oils_i18n_gettext('895', 'Spot heights', 'ccvm', 'value')),
+(896, 'relf', 'i', oils_i18n_gettext('896', 'Pictorially', 'ccvm', 'value')),
+(897, 'relf', 'j', oils_i18n_gettext('897', 'Land forms', 'ccvm', 'value')),
+(898, 'relf', 'k', oils_i18n_gettext('898', 'Bathymetry, isolines', 'ccvm', 'value')),
+(899, 'relf', 'm', oils_i18n_gettext('899', 'Rock drawings', 'ccvm', 'value')),
+(900, 'relf', 'z', oils_i18n_gettext('900', 'Other', 'ccvm', 'value'));
+
+-- Special Format Characteristics
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(901, 'spfm', ' ', oils_i18n_gettext('901', 'No specified special format characteristics', 'ccvm', 'value')),
+(902, 'spfm', 'e', oils_i18n_gettext('902', 'Manuscript', 'ccvm', 'value')),
+(903, 'spfm', 'j', oils_i18n_gettext('903', 'Picture card, post card', 'ccvm', 'value')),
+(904, 'spfm', 'k', oils_i18n_gettext('904', 'Calendar', 'ccvm', 'value')),
+(905, 'spfm', 'l', oils_i18n_gettext('905', 'Puzzle', 'ccvm', 'value')),
+(906, 'spfm', 'n', oils_i18n_gettext('906', 'Game', 'ccvm', 'value')),
+(907, 'spfm', 'o', oils_i18n_gettext('907', 'Wall map', 'ccvm', 'value')),
+(908, 'spfm', 'p', oils_i18n_gettext('908', 'Playing cards', 'ccvm', 'value')),
+(909, 'spfm', 'r', oils_i18n_gettext('909', 'Loose-leaf', 'ccvm', 'value')),
+(910, 'spfm', 'z', oils_i18n_gettext('910', 'Other', 'ccvm', 'value'));
+
+-- Type of Continuing Resource
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(911, 'srtp', ' ', oils_i18n_gettext('911', 'None of the following', 'ccvm', 'value')),
+(912, 'srtp', 'd', oils_i18n_gettext('912', 'Updating database', 'ccvm', 'value')),
+(913, 'srtp', 'l', oils_i18n_gettext('913', 'Updating loose-leaf', 'ccvm', 'value')),
+(914, 'srtp', 'm', oils_i18n_gettext('914', 'Monographic series', 'ccvm', 'value')),
+(915, 'srtp', 'n', oils_i18n_gettext('915', 'Newspaper', 'ccvm', 'value')),
+(916, 'srtp', 'p', oils_i18n_gettext('916', 'Periodical', 'ccvm', 'value')),
+(917, 'srtp', 'w', oils_i18n_gettext('917', 'Updating Web site', 'ccvm', 'value'));
+
+-- Technique
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(918, 'tech', 'a', oils_i18n_gettext('918', 'Animation', 'ccvm', 'value')),
+(919, 'tech', 'c', oils_i18n_gettext('919', 'Animation and live action', 'ccvm', 'value')),
+(920, 'tech', 'l', oils_i18n_gettext('920', 'Live action', 'ccvm', 'value')),
+(921, 'tech', 'n', oils_i18n_gettext('921', 'Not applicable', 'ccvm', 'value')),
+(922, 'tech', 'u', oils_i18n_gettext('922', 'Unknown', 'ccvm', 'value')),
+(923, 'tech', 'z', oils_i18n_gettext('923', 'Other', 'ccvm', 'value'));
+
+-- Transposition and Arrangement
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+(924, 'trar', ' ', oils_i18n_gettext('924', 'Not arrangement or transposition or not specified', 'ccvm', 'value')),
+(925, 'trar', 'a', oils_i18n_gettext('925', 'Transposition', 'ccvm', 'value')),
+(926, 'trar', 'b', oils_i18n_gettext('926', 'Arrangement', 'ccvm', 'value')),
+(927, 'trar', 'c', oils_i18n_gettext('927', 'Both transposed and arranged', 'ccvm', 'value')),
+(928, 'trar', 'n', oils_i18n_gettext('928', 'Not applicable', 'ccvm', 'value')),
+(929, 'trar', 'u', oils_i18n_gettext('929', 'Unknown', 'ccvm', 'value'));
+
 
 
 -- carve out a slot of 10k IDs for stock CCVMs
diff --git a/Open-ILS/src/sql/Pg/t/lp1371647_fixed_fields.pg b/Open-ILS/src/sql/Pg/t/lp1371647_fixed_fields.pg
new file mode 100644 (file)
index 0000000..d1d7b8b
--- /dev/null
@@ -0,0 +1,383 @@
+BEGIN;
+
+SELECT plan(355);
+
+-- Seed data incorrectly assigns Audn to SER records
+SELECT is_empty($$SELECT * FROM config.marc21_ff_pos_map WHERE rec_type='SER' AND fixed_field='Audn'$$, 'There is no Audn field for SER records');
+
+-- Record Attribute Definitions
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='accm' AND fixed_field='AccM'), 1::BIGINT, 'AccM Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='comp' AND fixed_field='Comp'), 1::BIGINT, 'Comp Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='crtp' AND fixed_field='CrTp'), 1::BIGINT, 'CrTp Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='entw' AND fixed_field='EntW'), 1::BIGINT, 'EntW Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='cont' AND fixed_field='Cont'), 1::BIGINT, 'Cont Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='fmus' AND fixed_field='FMus'), 1::BIGINT, 'FMus Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='ltxt' AND fixed_field='LTxt'), 1::BIGINT, 'LTxt Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='orig' AND fixed_field='Orig'), 1::BIGINT, 'Orig Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='part' AND fixed_field='Part'), 1::BIGINT, 'Part Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='proj' AND fixed_field='Proj'), 1::BIGINT, 'Proj Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='relf' AND fixed_field='Relf'), 1::BIGINT, 'Relf Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='spfm' AND fixed_field='SpFm'), 1::BIGINT, 'SpFm Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='srtp' AND fixed_field='SrTp'), 1::BIGINT, 'SrTp Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='tech' AND fixed_field='Tech'), 1::BIGINT, 'Tech Fixed Field');
+SELECT is((SELECT COUNT(name) FROM config.record_attr_definition WHERE name='trar' AND fixed_field='TrAr'), 1::BIGINT, 'TrAr Fixed Field');
+
+-- Fixed Field Positioning
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Form' AND tag='006' AND rec_type='COM' AND start_pos=6 AND length=1 AND default_val=' '), 1::BIGINT, 'COM records should have a Form field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Form' AND tag='008' AND rec_type='COM' AND start_pos=23 AND length=1 AND default_val=' '), 1::BIGINT, 'COM records should have a Form field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Relf' AND tag='006' AND rec_type='MAP' AND start_pos=1 AND length=4 AND default_val=' '), 1::BIGINT, 'MAP records should have a Relf field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Relf' AND tag='008' AND rec_type='MAP' AND start_pos=18 AND length=4 AND default_val=' '), 1::BIGINT, 'MAP records should have a Relf field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Proj' AND tag='006' AND rec_type='MAP' AND start_pos=5 AND length=2 AND default_val='  '), 1::BIGINT, 'MAP records should have a Proj field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Proj' AND tag='008' AND rec_type='MAP' AND start_pos=22 AND length=2 AND default_val='  '), 1::BIGINT, 'MAP records should have a Proj field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='CrTp' AND tag='006' AND rec_type='MAP' AND start_pos=8 AND length=1 AND default_val='a'), 1::BIGINT, 'MAP records should have a CrTp field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='CrTp' AND tag='008' AND rec_type='MAP' AND start_pos=25 AND length=1 AND default_val='a'), 1::BIGINT, 'MAP records should have a CrTp field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='SpFm' AND tag='006' AND rec_type='MAP' AND start_pos=16 AND length=2 AND default_val=' '), 1::BIGINT, 'MAP records should have a SpFm field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='SpFm' AND tag='008' AND rec_type='MAP' AND start_pos=33 AND length=2 AND default_val=' '), 1::BIGINT, 'MAP records should have a SpFm field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Comp' AND tag='006' AND rec_type='REC' AND start_pos=1 AND length=2 AND default_val='uu'), 1::BIGINT, 'REC records should have a Comp field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Comp' AND tag='008' AND rec_type='REC' AND start_pos=18 AND length=2 AND default_val='uu'), 1::BIGINT, 'REC records should have a Comp field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='FMus' AND tag='006' AND rec_type='REC' AND start_pos=3 AND length=1 AND default_val='n'), 1::BIGINT, 'REC records should have a FMus field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='FMus' AND tag='008' AND rec_type='REC' AND start_pos=20 AND length=1 AND default_val='n'), 1::BIGINT, 'REC records should have a FMus field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Part' AND tag='006' AND rec_type='REC' AND start_pos=4 AND length=1 AND default_val='n'), 1::BIGINT, 'REC records should have a Part field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Part' AND tag='008' AND rec_type='REC' AND start_pos=21 AND length=1 AND default_val='n'), 1::BIGINT, 'REC records should have a Part field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='AccM' AND tag='006' AND rec_type='REC' AND start_pos=7 AND length=6 AND default_val=' '), 1::BIGINT, 'REC records should have a AccM field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='AccM' AND tag='008' AND rec_type='REC' AND start_pos=24 AND length=6 AND default_val=' '), 1::BIGINT, 'REC records should have a AccM field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='LTxt' AND tag='006' AND rec_type='REC' AND start_pos=13 AND length=2 AND default_val=' '), 1::BIGINT, 'REC records should have a LTxt field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='LTxt' AND tag='008' AND rec_type='REC' AND start_pos=30 AND length=2 AND default_val=' '), 1::BIGINT, 'REC records should have a LTxt field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='TrAr' AND tag='006' AND rec_type='REC' AND start_pos=16 AND length=1 AND default_val='n'), 1::BIGINT, 'REC records should have a TrAr field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='TrAr' AND tag='008' AND rec_type='REC' AND start_pos=33 AND length=1 AND default_val='n'), 1::BIGINT, 'REC records should have a TrAr field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Comp' AND tag='006' AND rec_type='SCO' AND start_pos=1 AND length=2 AND default_val='u'), 1::BIGINT, 'SCO records should have a Comp field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Comp' AND tag='008' AND rec_type='SCO' AND start_pos=18 AND length=2 AND default_val='u'), 1::BIGINT, 'SCO records should have a Comp field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='FMus' AND tag='006' AND rec_type='SCO' AND start_pos=3 AND length=1 AND default_val='u'), 1::BIGINT, 'SCO records should have a FMus field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='FMus' AND tag='008' AND rec_type='SCO' AND start_pos=20 AND length=1 AND default_val='u'), 1::BIGINT, 'SCO records should have a FMus field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Part' AND tag='006' AND rec_type='SCO' AND start_pos=4 AND length=1 AND default_val=' '), 1::BIGINT, 'SCO records should have a Part field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Part' AND tag='008' AND rec_type='SCO' AND start_pos=21 AND length=1 AND default_val=' '), 1::BIGINT, 'SCO records should have a Part field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='AccM' AND tag='006' AND rec_type='SCO' AND start_pos=7 AND length=6 AND default_val=' '), 1::BIGINT, 'SCO records should have a AccM field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='AccM' AND tag='008' AND rec_type='SCO' AND start_pos=24 AND length=6 AND default_val=' '), 1::BIGINT, 'SCO records should have a AccM field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='LTxt' AND tag='006' AND rec_type='SCO' AND start_pos=13 AND length=2 AND default_val='n'), 1::BIGINT, 'SCO records should have a LTxt field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='LTxt' AND tag='008' AND rec_type='SCO' AND start_pos=30 AND length=2 AND default_val='n'), 1::BIGINT, 'SCO records should have a LTxt field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='TrAr' AND tag='006' AND rec_type='SCO' AND start_pos=16 AND length=1 AND default_val=' '), 1::BIGINT, 'SCO records should have a TrAr field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='TrAr' AND tag='008' AND rec_type='SCO' AND start_pos=33 AND length=1 AND default_val=' '), 1::BIGINT, 'SCO records should have a TrAr field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='SrTp' AND tag='006' AND rec_type='SER' AND start_pos=4 AND length=1 AND default_val=' '), 1::BIGINT, 'SER records should have a SrTp field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='SrTp' AND tag='008' AND rec_type='SER' AND start_pos=21 AND length=1 AND default_val=' '), 1::BIGINT, 'SER records should have a SrTp field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Orig' AND tag='006' AND rec_type='SER' AND start_pos=5 AND length=1 AND default_val=' '), 1::BIGINT, 'SER records should have a Orig field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Orig' AND tag='008' AND rec_type='SER' AND start_pos=22 AND length=1 AND default_val=' '), 1::BIGINT, 'SER records should have a Orig field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='EntW' AND tag='006' AND rec_type='SER' AND start_pos=7 AND length=1 AND default_val=' '), 1::BIGINT, 'SER records should have a EntW field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='EntW' AND tag='008' AND rec_type='SER' AND start_pos=24 AND length=1 AND default_val=' '), 1::BIGINT, 'SER records should have a EntW field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Time' AND tag='006' AND rec_type='VIS' AND start_pos=1 AND length=3 AND default_val='   '), 1::BIGINT, 'VIS records should have a Time field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Time' AND tag='008' AND rec_type='VIS' AND start_pos=18 AND length=3 AND default_val='   '), 1::BIGINT, 'VIS records should have a Time field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Tech' AND tag='006' AND rec_type='VIS' AND start_pos=17 AND length=1 AND default_val='n'), 1::BIGINT, 'VIS records should have a Tech field');
+SELECT is((SELECT COUNT(id) FROM config.marc21_ff_pos_map WHERE fixed_field='Tech' AND tag='008' AND rec_type='VIS' AND start_pos=34 AND length=1 AND default_val='n'), 1::BIGINT, 'VIS records should have a Tech field');
+
+
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=634 AND ctype='accm'), ' ', $$Code ' ' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=635 AND ctype='accm'), 'a', $$Code 'a' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=636 AND ctype='accm'), 'b', $$Code 'b' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=637 AND ctype='accm'), 'c', $$Code 'c' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=638 AND ctype='accm'), 'd', $$Code 'd' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=639 AND ctype='accm'), 'e', $$Code 'e' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=640 AND ctype='accm'), 'f', $$Code 'f' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=641 AND ctype='accm'), 'g', $$Code 'g' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=642 AND ctype='accm'), 'h', $$Code 'h' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=643 AND ctype='accm'), 'i', $$Code 'i' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=644 AND ctype='accm'), 'k', $$Code 'k' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=645 AND ctype='accm'), 'r', $$Code 'r' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=646 AND ctype='accm'), 's', $$Code 's' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=647 AND ctype='accm'), 'z', $$Code 'z' for accm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=648 AND ctype='comp'), '  ', $$Code '  ' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=650 AND ctype='comp'), 'an', $$Code 'an' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=651 AND ctype='comp'), 'bd', $$Code 'bd' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=652 AND ctype='comp'), 'bt', $$Code 'bt' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=653 AND ctype='comp'), 'bg', $$Code 'bg' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=654 AND ctype='comp'), 'bl', $$Code 'bl' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=655 AND ctype='comp'), 'cn', $$Code 'cn' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=656 AND ctype='comp'), 'ct', $$Code 'ct' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=657 AND ctype='comp'), 'cz', $$Code 'cz' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=658 AND ctype='comp'), 'cr', $$Code 'cr' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=659 AND ctype='comp'), 'ca', $$Code 'ca' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=660 AND ctype='comp'), 'cs', $$Code 'cs' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=661 AND ctype='comp'), 'cp', $$Code 'cp' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=662 AND ctype='comp'), 'cc', $$Code 'cc' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=663 AND ctype='comp'), 'cb', $$Code 'cb' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=664 AND ctype='comp'), 'cl', $$Code 'cl' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=665 AND ctype='comp'), 'ch', $$Code 'ch' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=666 AND ctype='comp'), 'cg', $$Code 'cg' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=667 AND ctype='comp'), 'co', $$Code 'co' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=668 AND ctype='comp'), 'cy', $$Code 'cy' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=669 AND ctype='comp'), 'df', $$Code 'df' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=670 AND ctype='comp'), 'dv', $$Code 'dv' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=671 AND ctype='comp'), 'ft', $$Code 'ft' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=672 AND ctype='comp'), 'fl', $$Code 'fl' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=673 AND ctype='comp'), 'fm', $$Code 'fm' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=674 AND ctype='comp'), 'fg', $$Code 'fg' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=675 AND ctype='comp'), 'gm', $$Code 'gm' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=676 AND ctype='comp'), 'hy', $$Code 'hy' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=677 AND ctype='comp'), 'jz', $$Code 'jz' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=678 AND ctype='comp'), 'md', $$Code 'md' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=679 AND ctype='comp'), 'mr', $$Code 'mr' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=680 AND ctype='comp'), 'ms', $$Code 'ms' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=681 AND ctype='comp'), 'mz', $$Code 'mz' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=682 AND ctype='comp'), 'mi', $$Code 'mi' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=683 AND ctype='comp'), 'mo', $$Code 'mo' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=684 AND ctype='comp'), 'mp', $$Code 'mp' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=685 AND ctype='comp'), 'mu', $$Code 'mu' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=686 AND ctype='comp'), 'mc', $$Code 'mc' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=687 AND ctype='comp'), 'nc', $$Code 'nc' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=688 AND ctype='comp'), 'nn', $$Code 'nn' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=689 AND ctype='comp'), 'op', $$Code 'op' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=690 AND ctype='comp'), 'or', $$Code 'or' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=691 AND ctype='comp'), 'ov', $$Code 'ov' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=692 AND ctype='comp'), 'pt', $$Code 'pt' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=693 AND ctype='comp'), 'ps', $$Code 'ps' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=694 AND ctype='comp'), 'pm', $$Code 'pm' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=695 AND ctype='comp'), 'pv', $$Code 'pv' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=696 AND ctype='comp'), 'po', $$Code 'po' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=697 AND ctype='comp'), 'pp', $$Code 'pp' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=698 AND ctype='comp'), 'pr', $$Code 'pr' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=699 AND ctype='comp'), 'pg', $$Code 'pg' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=700 AND ctype='comp'), 'rg', $$Code 'rg' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=701 AND ctype='comp'), 'rq', $$Code 'rq' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=702 AND ctype='comp'), 'rp', $$Code 'rp' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=703 AND ctype='comp'), 'ri', $$Code 'ri' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=704 AND ctype='comp'), 'rc', $$Code 'rc' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=705 AND ctype='comp'), 'rd', $$Code 'rd' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=706 AND ctype='comp'), 'sn', $$Code 'sn' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=707 AND ctype='comp'), 'sg', $$Code 'sg' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=708 AND ctype='comp'), 'sd', $$Code 'sd' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=709 AND ctype='comp'), 'st', $$Code 'st' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=710 AND ctype='comp'), 'su', $$Code 'su' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=711 AND ctype='comp'), 'sp', $$Code 'sp' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=712 AND ctype='comp'), 'sy', $$Code 'sy' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=713 AND ctype='comp'), 'tl', $$Code 'tl' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=714 AND ctype='comp'), 'tc', $$Code 'tc' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=715 AND ctype='comp'), 'ts', $$Code 'ts' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=716 AND ctype='comp'), 'uu', $$Code 'uu' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=717 AND ctype='comp'), 'vi', $$Code 'vi' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=718 AND ctype='comp'), 'vr', $$Code 'vr' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=719 AND ctype='comp'), 'wz', $$Code 'wz' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=720 AND ctype='comp'), 'za', $$Code 'za' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=721 AND ctype='comp'), 'zz', $$Code 'zz' for comp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=722 AND ctype='crtp'), 'a', $$Code 'a' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=723 AND ctype='crtp'), 'b', $$Code 'b' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=724 AND ctype='crtp'), 'c', $$Code 'c' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=725 AND ctype='crtp'), 'd', $$Code 'd' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=726 AND ctype='crtp'), 'e', $$Code 'e' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=727 AND ctype='crtp'), 'f', $$Code 'f' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=728 AND ctype='crtp'), 'g', $$Code 'g' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=729 AND ctype='crtp'), 'u', $$Code 'u' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=730 AND ctype='crtp'), 'z', $$Code 'z' for crtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=731 AND ctype='entw'), ' ', $$Code ' ' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=732 AND ctype='entw'), 'a', $$Code 'a' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=733 AND ctype='entw'), 'b', $$Code 'b' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=734 AND ctype='entw'), 'c', $$Code 'c' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=735 AND ctype='entw'), 'd', $$Code 'd' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=736 AND ctype='entw'), 'e', $$Code 'e' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=737 AND ctype='entw'), 'f', $$Code 'f' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=738 AND ctype='entw'), 'g', $$Code 'g' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=739 AND ctype='entw'), 'h', $$Code 'h' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=740 AND ctype='entw'), 'i', $$Code 'i' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=741 AND ctype='entw'), 'k', $$Code 'k' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=742 AND ctype='entw'), 'l', $$Code 'l' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=743 AND ctype='entw'), 'm', $$Code 'm' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=744 AND ctype='entw'), 'n', $$Code 'n' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=745 AND ctype='entw'), 'o', $$Code 'o' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=746 AND ctype='entw'), 'p', $$Code 'p' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=747 AND ctype='entw'), 'q', $$Code 'q' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=748 AND ctype='entw'), 'r', $$Code 'r' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=749 AND ctype='entw'), 's', $$Code 's' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=750 AND ctype='entw'), 't', $$Code 't' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=751 AND ctype='entw'), 'u', $$Code 'u' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=752 AND ctype='entw'), 'v', $$Code 'v' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=753 AND ctype='entw'), 'w', $$Code 'w' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=754 AND ctype='entw'), 'y', $$Code 'y' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=755 AND ctype='entw'), 'z', $$Code 'z' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=756 AND ctype='entw'), '5', $$Code '5' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=757 AND ctype='entw'), '6', $$Code '6' for entw$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=758 AND ctype='cont'), ' ', $$Code ' ' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=759 AND ctype='cont'), 'a', $$Code 'a' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=760 AND ctype='cont'), 'b', $$Code 'b' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=761 AND ctype='cont'), 'c', $$Code 'c' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=762 AND ctype='cont'), 'd', $$Code 'd' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=763 AND ctype='cont'), 'e', $$Code 'e' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=764 AND ctype='cont'), 'f', $$Code 'f' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=765 AND ctype='cont'), 'g', $$Code 'g' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=766 AND ctype='cont'), 'h', $$Code 'h' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=767 AND ctype='cont'), 'i', $$Code 'i' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=768 AND ctype='cont'), 'j', $$Code 'j' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=769 AND ctype='cont'), 'k', $$Code 'k' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=770 AND ctype='cont'), 'l', $$Code 'l' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=771 AND ctype='cont'), 'm', $$Code 'm' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=772 AND ctype='cont'), 'n', $$Code 'n' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=773 AND ctype='cont'), 'o', $$Code 'o' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=774 AND ctype='cont'), 'p', $$Code 'p' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=775 AND ctype='cont'), 'q', $$Code 'q' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=776 AND ctype='cont'), 'r', $$Code 'r' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=777 AND ctype='cont'), 's', $$Code 's' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=778 AND ctype='cont'), 't', $$Code 't' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=779 AND ctype='cont'), 'u', $$Code 'u' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=780 AND ctype='cont'), 'v', $$Code 'v' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=781 AND ctype='cont'), 'w', $$Code 'w' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=782 AND ctype='cont'), 'x', $$Code 'x' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=783 AND ctype='cont'), 'y', $$Code 'y' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=784 AND ctype='cont'), 'z', $$Code 'z' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=785 AND ctype='cont'), '2', $$Code '2' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=786 AND ctype='cont'), '5', $$Code '5' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=787 AND ctype='cont'), '6', $$Code '6' for cont$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=788 AND ctype='fmus'), ' ', $$Code ' ' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=789 AND ctype='fmus'), 'a', $$Code 'a' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=790 AND ctype='fmus'), 'b', $$Code 'b' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=791 AND ctype='fmus'), 'c', $$Code 'c' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=792 AND ctype='fmus'), 'd', $$Code 'd' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=793 AND ctype='fmus'), 'e', $$Code 'e' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=794 AND ctype='fmus'), 'g', $$Code 'g' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=795 AND ctype='fmus'), 'h', $$Code 'h' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=796 AND ctype='fmus'), 'i', $$Code 'i' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=797 AND ctype='fmus'), 'j', $$Code 'j' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=798 AND ctype='fmus'), 'k', $$Code 'k' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=799 AND ctype='fmus'), 'l', $$Code 'l' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=800 AND ctype='fmus'), 'm', $$Code 'm' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=801 AND ctype='fmus'), 'n', $$Code 'n' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=802 AND ctype='fmus'), 'u', $$Code 'u' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=803 AND ctype='fmus'), 'z', $$Code 'z' for fmus$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=804 AND ctype='ltxt'), ' ', $$Code ' ' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=805 AND ctype='ltxt'), 'a', $$Code 'a' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=806 AND ctype='ltxt'), 'b', $$Code 'b' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=807 AND ctype='ltxt'), 'c', $$Code 'c' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=808 AND ctype='ltxt'), 'd', $$Code 'd' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=809 AND ctype='ltxt'), 'e', $$Code 'e' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=810 AND ctype='ltxt'), 'f', $$Code 'f' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=811 AND ctype='ltxt'), 'g', $$Code 'g' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=812 AND ctype='ltxt'), 'h', $$Code 'h' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=813 AND ctype='ltxt'), 'i', $$Code 'i' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=814 AND ctype='ltxt'), 'j', $$Code 'j' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=815 AND ctype='ltxt'), 'k', $$Code 'k' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=816 AND ctype='ltxt'), 'l', $$Code 'l' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=817 AND ctype='ltxt'), 'm', $$Code 'm' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=818 AND ctype='ltxt'), 'n', $$Code 'n' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=819 AND ctype='ltxt'), 'o', $$Code 'o' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=820 AND ctype='ltxt'), 'p', $$Code 'p' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=821 AND ctype='ltxt'), 'r', $$Code 'r' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=822 AND ctype='ltxt'), 's', $$Code 's' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=823 AND ctype='ltxt'), 't', $$Code 't' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=824 AND ctype='ltxt'), 'z', $$Code 'z' for ltxt$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=825 AND ctype='orig'), ' ', $$Code ' ' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=826 AND ctype='orig'), 'a', $$Code 'a' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=827 AND ctype='orig'), 'b', $$Code 'b' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=828 AND ctype='orig'), 'c', $$Code 'c' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=829 AND ctype='orig'), 'd', $$Code 'd' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=830 AND ctype='orig'), 'e', $$Code 'e' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=831 AND ctype='orig'), 'f', $$Code 'f' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=832 AND ctype='orig'), 'o', $$Code 'o' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=833 AND ctype='orig'), 'q', $$Code 'q' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=834 AND ctype='orig'), 's', $$Code 's' for orig$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=835 AND ctype='part'), ' ', $$Code ' ' for part$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=836 AND ctype='part'), 'd', $$Code 'd' for part$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=837 AND ctype='part'), 'e', $$Code 'e' for part$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=838 AND ctype='part'), 'f', $$Code 'f' for part$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=839 AND ctype='part'), 'n', $$Code 'n' for part$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=840 AND ctype='part'), 'u', $$Code 'u' for part$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=841 AND ctype='proj'), '  ', $$Code '  ' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=842 AND ctype='proj'), 'aa', $$Code 'aa' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=843 AND ctype='proj'), 'ab', $$Code 'ab' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=844 AND ctype='proj'), 'ac', $$Code 'ac' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=845 AND ctype='proj'), 'ad', $$Code 'ad' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=846 AND ctype='proj'), 'ae', $$Code 'ae' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=847 AND ctype='proj'), 'af', $$Code 'af' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=848 AND ctype='proj'), 'ag', $$Code 'ag' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=849 AND ctype='proj'), 'am', $$Code 'am' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=850 AND ctype='proj'), 'an', $$Code 'an' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=851 AND ctype='proj'), 'ap', $$Code 'ap' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=852 AND ctype='proj'), 'au', $$Code 'au' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=853 AND ctype='proj'), 'az', $$Code 'az' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=854 AND ctype='proj'), 'ba', $$Code 'ba' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=855 AND ctype='proj'), 'bb', $$Code 'bb' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=856 AND ctype='proj'), 'bc', $$Code 'bc' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=857 AND ctype='proj'), 'bd', $$Code 'bd' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=858 AND ctype='proj'), 'be', $$Code 'be' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=859 AND ctype='proj'), 'bf', $$Code 'bf' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=860 AND ctype='proj'), 'bg', $$Code 'bg' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=861 AND ctype='proj'), 'bh', $$Code 'bh' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=862 AND ctype='proj'), 'bi', $$Code 'bi' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=863 AND ctype='proj'), 'bj', $$Code 'bj' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=864 AND ctype='proj'), 'bk', $$Code 'bk' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=865 AND ctype='proj'), 'bl', $$Code 'bl' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=866 AND ctype='proj'), 'bo', $$Code 'bo' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=867 AND ctype='proj'), 'br', $$Code 'br' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=868 AND ctype='proj'), 'bs', $$Code 'bs' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=869 AND ctype='proj'), 'bu', $$Code 'bu' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=870 AND ctype='proj'), 'bz', $$Code 'bz' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=871 AND ctype='proj'), 'ca', $$Code 'ca' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=872 AND ctype='proj'), 'cb', $$Code 'cb' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=873 AND ctype='proj'), 'cc', $$Code 'cc' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=874 AND ctype='proj'), 'ce', $$Code 'ce' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=875 AND ctype='proj'), 'cp', $$Code 'cp' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=876 AND ctype='proj'), 'cu', $$Code 'cu' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=877 AND ctype='proj'), 'cz', $$Code 'cz' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=878 AND ctype='proj'), 'da', $$Code 'da' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=879 AND ctype='proj'), 'db', $$Code 'db' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=880 AND ctype='proj'), 'dc', $$Code 'dc' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=881 AND ctype='proj'), 'dd', $$Code 'dd' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=882 AND ctype='proj'), 'de', $$Code 'de' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=883 AND ctype='proj'), 'df', $$Code 'df' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=884 AND ctype='proj'), 'dg', $$Code 'dg' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=885 AND ctype='proj'), 'dh', $$Code 'dh' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=886 AND ctype='proj'), 'dl', $$Code 'dl' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=887 AND ctype='proj'), 'zz', $$Code 'zz' for proj$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=888 AND ctype='relf'), ' ', $$Code ' ' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=889 AND ctype='relf'), 'a', $$Code 'a' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=890 AND ctype='relf'), 'b', $$Code 'b' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=891 AND ctype='relf'), 'c', $$Code 'c' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=892 AND ctype='relf'), 'd', $$Code 'd' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=893 AND ctype='relf'), 'e', $$Code 'e' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=894 AND ctype='relf'), 'f', $$Code 'f' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=895 AND ctype='relf'), 'g', $$Code 'g' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=896 AND ctype='relf'), 'i', $$Code 'i' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=897 AND ctype='relf'), 'j', $$Code 'j' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=898 AND ctype='relf'), 'k', $$Code 'k' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=899 AND ctype='relf'), 'm', $$Code 'm' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=900 AND ctype='relf'), 'z', $$Code 'z' for relf$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=901 AND ctype='spfm'), ' ', $$Code ' ' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=902 AND ctype='spfm'), 'e', $$Code 'e' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=903 AND ctype='spfm'), 'j', $$Code 'j' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=904 AND ctype='spfm'), 'k', $$Code 'k' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=905 AND ctype='spfm'), 'l', $$Code 'l' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=906 AND ctype='spfm'), 'n', $$Code 'n' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=907 AND ctype='spfm'), 'o', $$Code 'o' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=908 AND ctype='spfm'), 'p', $$Code 'p' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=909 AND ctype='spfm'), 'r', $$Code 'r' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=910 AND ctype='spfm'), 'z', $$Code 'z' for spfm$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=911 AND ctype='srtp'), ' ', $$Code ' ' for srtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=912 AND ctype='srtp'), 'd', $$Code 'd' for srtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=913 AND ctype='srtp'), 'l', $$Code 'l' for srtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=914 AND ctype='srtp'), 'm', $$Code 'm' for srtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=915 AND ctype='srtp'), 'n', $$Code 'n' for srtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=916 AND ctype='srtp'), 'p', $$Code 'p' for srtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=917 AND ctype='srtp'), 'w', $$Code 'w' for srtp$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=918 AND ctype='tech'), 'a', $$Code 'a' for tech$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=919 AND ctype='tech'), 'c', $$Code 'c' for tech$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=920 AND ctype='tech'), 'l', $$Code 'l' for tech$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=921 AND ctype='tech'), 'n', $$Code 'n' for tech$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=922 AND ctype='tech'), 'u', $$Code 'u' for tech$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=923 AND ctype='tech'), 'z', $$Code 'z' for tech$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=924 AND ctype='trar'), ' ', $$Code ' ' for trar$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=925 AND ctype='trar'), 'a', $$Code 'a' for trar$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=926 AND ctype='trar'), 'b', $$Code 'b' for trar$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=927 AND ctype='trar'), 'c', $$Code 'c' for trar$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=928 AND ctype='trar'), 'n', $$Code 'n' for trar$$);
+SELECT is((SELECT code FROM config.coded_value_map WHERE id=929 AND ctype='trar'), 'u', $$Code 'u' for trar$$);
+
+
+
+SELECT * FROM finish();
+
+ROLLBACK;
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.more_fixed_fields.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.more_fixed_fields.sql
new file mode 100644 (file)
index 0000000..0a2f720
--- /dev/null
@@ -0,0 +1,406 @@
+BEGIN;
+-- Correct SER and COM records, add most other subfields and make (most of) them usable as CCVMs
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+-- Fix SER
+DELETE FROM config.marc21_ff_pos_map WHERE fixed_field = 'Audn' AND rec_type = 'SER';
+
+
+-- Map Fields to Record Types
+-- Form was already defined but missing from COM
+INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, length, default_val) VALUES
+    ('Form', '006', 'COM', 6, 1, ' '),
+    ('Form', '008', 'COM', 23, 1, ' '),
+    
+    ('Relf', '006', 'MAP', 1, 4, ' '),
+    ('Relf', '008', 'MAP', 18, 4, ' '),
+    ('Proj', '006', 'MAP', 5, 2, '  '),
+    ('Proj', '008', 'MAP', 22, 2, '  '),
+    ('CrTp', '006', 'MAP', 8, 1, 'a'),
+    ('CrTp', '008', 'MAP', 25, 1, 'a'),
+    ('SpFm', '006', 'MAP', 16, 2, ' '),
+    ('SpFm', '008', 'MAP', 33, 2, ' '),
+    
+    ('Comp', '006', 'REC', 1, 2, 'uu'),
+    ('Comp', '008', 'REC', 18, 2, 'uu'),
+    ('FMus', '006', 'REC', 3, 1, 'n'),
+    ('FMus', '008', 'REC', 20, 1, 'n'),
+    ('Part', '006', 'REC', 4, 1, 'n'),
+    ('Part', '008', 'REC', 21, 1, 'n'),
+    ('AccM', '006', 'REC', 7, 6, ' '),
+    ('AccM', '008', 'REC', 24, 6, ' '),
+    ('LTxt', '006', 'REC', 13, 2, ' '),
+    ('LTxt', '008', 'REC', 30, 2, ' '),
+    ('TrAr', '006', 'REC', 16, 1, 'n'),
+    ('TrAr', '008', 'REC', 33, 1, 'n'),
+    
+    ('Comp', '006', 'SCO', 1, 2, 'u'),
+    ('Comp', '008', 'SCO', 18, 2, 'u'),
+    ('FMus', '006', 'SCO', 3, 1, 'u'),
+    ('FMus', '008', 'SCO', 20, 1, 'u'),
+    ('Part', '006', 'SCO', 4, 1, ' '),
+    ('Part', '008', 'SCO', 21, 1, ' '),
+    ('AccM', '006', 'SCO', 7, 6, ' '),
+    ('AccM', '008', 'SCO', 24, 6, ' '),
+    ('LTxt', '006', 'SCO', 13, 2, 'n'),
+    ('LTxt', '008', 'SCO', 30, 2, 'n'),
+    ('TrAr', '006', 'SCO', 16, 1, ' '),
+    ('TrAr', '008', 'SCO', 33, 1, ' '),
+   
+    ('SrTp', '006', 'SER', 4, 1, ' '),
+    ('SrTp', '008', 'SER', 21, 1, ' '),
+    ('Orig', '006', 'SER', 5, 1, ' '),
+    ('Orig', '008', 'SER', 22, 1, ' '),
+    ('EntW', '006', 'SER', 7, 1, ' '),
+    ('EntW', '008', 'SER', 24, 1, ' '),
+    
+    ('Time', '006', 'VIS', 1, 3, '   '),
+    ('Time', '008', 'VIS', 18, 3, '   '),
+    ('Tech', '006', 'VIS', 17, 1, 'n'),
+    ('Tech', '008', 'VIS', 34, 1, 'n');
+
+
+
+-- Add record_attr_definitions
+-- Cont is already defined in config.marc21_ff_pos_map, but if it's not in record_attr_definition it can't be used for ccvm's.
+INSERT INTO config.record_attr_definition (name,label,fixed_field) VALUES
+    ('accm','AccM','AccM'),
+    ('comp','Comp','Comp'),
+    ('crtp','CrTp','CrTp'),
+    ('entw','EntW','EntW'),
+    ('cont','Cont','Cont'),
+    ('fmus','FMus','FMus'),
+    ('ltxt','LTxt','LTxt'),
+    ('orig','Orig','Orig'),
+    ('part','Part','Part'),
+    ('proj','Proj','Proj'),
+    ('relf','Relf','Relf'),
+    ('spfm','SpFm','SpFm'),
+    ('srtp','SrTp','SrTp'),
+    ('tech','Tech','Tech'),
+    ('trar','TrAr','TrAr');
+
+-- "Next" id for stock config.coded_value_map is 634 as of 7/16/15
+INSERT INTO config.coded_value_map (id, ctype, code, value) VALUES
+    (634, 'accm', ' ', oils_i18n_gettext('634', 'No accompanying matter', 'ccvm', 'value')),
+    (635, 'accm', 'a', oils_i18n_gettext('635', 'Discography', 'ccvm', 'value')),
+    (636, 'accm', 'b', oils_i18n_gettext('636', 'Bibliography', 'ccvm', 'value')),
+    (637, 'accm', 'c', oils_i18n_gettext('637', 'Thematic index', 'ccvm', 'value')),
+    (638, 'accm', 'd', oils_i18n_gettext('638', 'Libretto or text', 'ccvm', 'value')),
+    (639, 'accm', 'e', oils_i18n_gettext('639', 'Biography of composer or author', 'ccvm', 'value')),
+    (640, 'accm', 'f', oils_i18n_gettext('640', 'Biography or performer or history of ensemble', 'ccvm', 'value')),
+    (641, 'accm', 'g', oils_i18n_gettext('641', 'Technical and/or historical information on instruments', 'ccvm', 'value')),
+    (642, 'accm', 'h', oils_i18n_gettext('642', 'Technical information on music', 'ccvm', 'value')),
+    (643, 'accm', 'i', oils_i18n_gettext('643', 'Historical information', 'ccvm', 'value')),
+    (644, 'accm', 'k', oils_i18n_gettext('644', 'Ethnological information', 'ccvm', 'value')),
+    (645, 'accm', 'r', oils_i18n_gettext('645', 'Instructional materials', 'ccvm', 'value')),
+    (646, 'accm', 's', oils_i18n_gettext('646', 'Music', 'ccvm', 'value')),
+    (647, 'accm', 'z', oils_i18n_gettext('647', 'Other accompanying matter', 'ccvm', 'value')),
+    
+    (648, 'comp', '  ', oils_i18n_gettext('648', 'No information supplied', 'ccvm', 'value')),
+    (650, 'comp', 'an', oils_i18n_gettext('650', 'Anthems', 'ccvm', 'value')),
+    (651, 'comp', 'bd', oils_i18n_gettext('651', 'Ballads', 'ccvm', 'value')),
+    (652, 'comp', 'bt', oils_i18n_gettext('652', 'Ballets', 'ccvm', 'value')),
+    (653, 'comp', 'bg', oils_i18n_gettext('653', 'Bluegrass music', 'ccvm', 'value')),
+    (654, 'comp', 'bl', oils_i18n_gettext('654', 'Blues', 'ccvm', 'value')),
+    (655, 'comp', 'cn', oils_i18n_gettext('655', 'Canons and rounds', 'ccvm', 'value')),
+    (656, 'comp', 'ct', oils_i18n_gettext('656', 'Cantatas', 'ccvm', 'value')),
+    (657, 'comp', 'cz', oils_i18n_gettext('657', 'Canzonas', 'ccvm', 'value')),
+    (658, 'comp', 'cr', oils_i18n_gettext('658', 'Carols', 'ccvm', 'value')),
+    (659, 'comp', 'ca', oils_i18n_gettext('659', 'Chaconnes', 'ccvm', 'value')),
+    (660, 'comp', 'cs', oils_i18n_gettext('660', 'Chance compositions', 'ccvm', 'value')),
+    (661, 'comp', 'cp', oils_i18n_gettext('661', 'Chansons, Polyphonic', 'ccvm', 'value')),
+    (662, 'comp', 'cc', oils_i18n_gettext('662', 'Chant, Christian', 'ccvm', 'value')),
+    (663, 'comp', 'cb', oils_i18n_gettext('663', 'Chants, other', 'ccvm', 'value')),
+    (664, 'comp', 'cl', oils_i18n_gettext('664', 'Chorale preludes', 'ccvm', 'value')),
+    (665, 'comp', 'ch', oils_i18n_gettext('665', 'Chorales', 'ccvm', 'value')),
+    (666, 'comp', 'cg', oils_i18n_gettext('666', 'Concerti grossi', 'ccvm', 'value')),
+    (667, 'comp', 'co', oils_i18n_gettext('667', 'Concertos', 'ccvm', 'value')),
+    (668, 'comp', 'cy', oils_i18n_gettext('668', 'Country music', 'ccvm', 'value')),
+    (669, 'comp', 'df', oils_i18n_gettext('669', 'Dance forms', 'ccvm', 'value')),
+    (670, 'comp', 'dv', oils_i18n_gettext('670', 'Divertimentos, serenades, cassations, divertissements, and notturni', 'ccvm', 'value')),
+    (671, 'comp', 'ft', oils_i18n_gettext('671', 'Fantasias', 'ccvm', 'value')),
+    (672, 'comp', 'fl', oils_i18n_gettext('672', 'Flamenco', 'ccvm', 'value')),
+    (673, 'comp', 'fm', oils_i18n_gettext('673', 'Folk music', 'ccvm', 'value')),
+    (674, 'comp', 'fg', oils_i18n_gettext('674', 'Fugues', 'ccvm', 'value')),
+    (675, 'comp', 'gm', oils_i18n_gettext('675', 'Gospel music', 'ccvm', 'value')),
+    (676, 'comp', 'hy', oils_i18n_gettext('676', 'Hymns', 'ccvm', 'value')),
+    (677, 'comp', 'jz', oils_i18n_gettext('677', 'Jazz', 'ccvm', 'value')),
+    (678, 'comp', 'md', oils_i18n_gettext('678', 'Madrigals', 'ccvm', 'value')),
+    (679, 'comp', 'mr', oils_i18n_gettext('679', 'Marches', 'ccvm', 'value')),
+    (680, 'comp', 'ms', oils_i18n_gettext('680', 'Masses', 'ccvm', 'value')),
+    (681, 'comp', 'mz', oils_i18n_gettext('681', 'Mazurkas', 'ccvm', 'value')),
+    (682, 'comp', 'mi', oils_i18n_gettext('682', 'Minuets', 'ccvm', 'value')),
+    (683, 'comp', 'mo', oils_i18n_gettext('683', 'Motets', 'ccvm', 'value')),
+    (684, 'comp', 'mp', oils_i18n_gettext('684', 'Motion picture music', 'ccvm', 'value')),
+    (685, 'comp', 'mu', oils_i18n_gettext('685', 'Multiple forms', 'ccvm', 'value')),
+    (686, 'comp', 'mc', oils_i18n_gettext('686', 'Musical reviews and comedies', 'ccvm', 'value')),
+    (687, 'comp', 'nc', oils_i18n_gettext('687', 'Nocturnes', 'ccvm', 'value')),
+    (688, 'comp', 'nn', oils_i18n_gettext('688', 'Not applicable', 'ccvm', 'value')),
+    (689, 'comp', 'op', oils_i18n_gettext('689', 'Operas', 'ccvm', 'value')),
+    (690, 'comp', 'or', oils_i18n_gettext('690', 'Oratorios', 'ccvm', 'value')),
+    (691, 'comp', 'ov', oils_i18n_gettext('691', 'Overtures', 'ccvm', 'value')),
+    (692, 'comp', 'pt', oils_i18n_gettext('692', 'Part-songs', 'ccvm', 'value')),
+    (693, 'comp', 'ps', oils_i18n_gettext('693', 'Passacaglias', 'ccvm', 'value')),
+    (694, 'comp', 'pm', oils_i18n_gettext('694', 'Passion music', 'ccvm', 'value')),
+    (695, 'comp', 'pv', oils_i18n_gettext('695', 'Pavans', 'ccvm', 'value')),
+    (696, 'comp', 'po', oils_i18n_gettext('696', 'Polonaises', 'ccvm', 'value')),
+    (697, 'comp', 'pp', oils_i18n_gettext('697', 'Popular music', 'ccvm', 'value')),
+    (698, 'comp', 'pr', oils_i18n_gettext('698', 'Preludes', 'ccvm', 'value')),
+    (699, 'comp', 'pg', oils_i18n_gettext('699', 'Program music', 'ccvm', 'value')),
+    (700, 'comp', 'rg', oils_i18n_gettext('700', 'Ragtime music', 'ccvm', 'value')),
+    (701, 'comp', 'rq', oils_i18n_gettext('701', 'Requiems', 'ccvm', 'value')),
+    (702, 'comp', 'rp', oils_i18n_gettext('702', 'Rhapsodies', 'ccvm', 'value')),
+    (703, 'comp', 'ri', oils_i18n_gettext('703', 'Ricercars', 'ccvm', 'value')),
+    (704, 'comp', 'rc', oils_i18n_gettext('704', 'Rock music', 'ccvm', 'value')),
+    (705, 'comp', 'rd', oils_i18n_gettext('705', 'Rondos', 'ccvm', 'value')),
+    (706, 'comp', 'sn', oils_i18n_gettext('706', 'Sonatas', 'ccvm', 'value')),
+    (707, 'comp', 'sg', oils_i18n_gettext('707', 'Songs', 'ccvm', 'value')),
+    (708, 'comp', 'sd', oils_i18n_gettext('708', 'Square dance music', 'ccvm', 'value')),
+    (709, 'comp', 'st', oils_i18n_gettext('709', 'Studies and exercises', 'ccvm', 'value')),
+    (710, 'comp', 'su', oils_i18n_gettext('710', 'Suites', 'ccvm', 'value')),
+    (711, 'comp', 'sp', oils_i18n_gettext('711', 'Symphonic poems', 'ccvm', 'value')),
+    (712, 'comp', 'sy', oils_i18n_gettext('712', 'Symphonies', 'ccvm', 'value')),
+    (713, 'comp', 'tl', oils_i18n_gettext('713', 'Teatro lirico', 'ccvm', 'value')),
+    (714, 'comp', 'tc', oils_i18n_gettext('714', 'Toccatas', 'ccvm', 'value')),
+    (715, 'comp', 'ts', oils_i18n_gettext('715', 'Trio-sonatas', 'ccvm', 'value')),
+    (716, 'comp', 'uu', oils_i18n_gettext('716', 'Unknown', 'ccvm', 'value')),
+    (717, 'comp', 'vi', oils_i18n_gettext('717', 'Villancicos', 'ccvm', 'value')),
+    (718, 'comp', 'vr', oils_i18n_gettext('718', 'Variations', 'ccvm', 'value')),
+    (719, 'comp', 'wz', oils_i18n_gettext('719', 'Waltzes', 'ccvm', 'value')),
+    (720, 'comp', 'za', oils_i18n_gettext('720', 'Zarzuelas', 'ccvm', 'value')),
+    (721, 'comp', 'zz', oils_i18n_gettext('721', 'Other forms', 'ccvm', 'value')),
+     
+    (722, 'crtp', 'a', oils_i18n_gettext('722', 'Single map', 'ccvm', 'value')),
+    (723, 'crtp', 'b', oils_i18n_gettext('723', 'Map series', 'ccvm', 'value')),
+    (724, 'crtp', 'c', oils_i18n_gettext('724', 'Map serial', 'ccvm', 'value')),
+    (725, 'crtp', 'd', oils_i18n_gettext('725', 'Globe', 'ccvm', 'value')),
+    (726, 'crtp', 'e', oils_i18n_gettext('726', 'Atlas', 'ccvm', 'value')),
+    (727, 'crtp', 'f', oils_i18n_gettext('727', 'Separate supplement to another work', 'ccvm', 'value')),
+    (728, 'crtp', 'g', oils_i18n_gettext('728', 'Bound as part of another work', 'ccvm', 'value')),
+    (729, 'crtp', 'u', oils_i18n_gettext('729', 'Unknown', 'ccvm', 'value')),
+    (730, 'crtp', 'z', oils_i18n_gettext('730', 'Other', 'ccvm', 'value')),
+     
+    (731, 'entw', ' ', oils_i18n_gettext('731', 'Not specified', 'ccvm', 'value')),
+    (732, 'entw', 'a', oils_i18n_gettext('732', 'Abstracts/summaries', 'ccvm', 'value')),
+    (733, 'entw', 'b', oils_i18n_gettext('733', 'Bibliographies', 'ccvm', 'value')),
+    (734, 'entw', 'c', oils_i18n_gettext('734', 'Catalogs', 'ccvm', 'value')),
+    (735, 'entw', 'd', oils_i18n_gettext('735', 'Dictionaries', 'ccvm', 'value')),
+    (736, 'entw', 'e', oils_i18n_gettext('736', 'Encyclopedias', 'ccvm', 'value')),
+    (737, 'entw', 'f', oils_i18n_gettext('737', 'Handbooks', 'ccvm', 'value')),
+    (738, 'entw', 'g', oils_i18n_gettext('738', 'Legal articles', 'ccvm', 'value')),
+    (739, 'entw', 'h', oils_i18n_gettext('739', 'Biography', 'ccvm', 'value')),
+    (740, 'entw', 'i', oils_i18n_gettext('740', 'Indexes', 'ccvm', 'value')),
+    (741, 'entw', 'k', oils_i18n_gettext('741', 'Discographies', 'ccvm', 'value')),
+    (742, 'entw', 'l', oils_i18n_gettext('742', 'Legislation', 'ccvm', 'value')),
+    (743, 'entw', 'm', oils_i18n_gettext('743', 'Theses', 'ccvm', 'value')),
+    (744, 'entw', 'n', oils_i18n_gettext('744', 'Surveys of the literature in a subject area', 'ccvm', 'value')),
+    (745, 'entw', 'o', oils_i18n_gettext('745', 'Reviews', 'ccvm', 'value')),
+    (746, 'entw', 'p', oils_i18n_gettext('746', 'Programmed texts', 'ccvm', 'value')),
+    (747, 'entw', 'q', oils_i18n_gettext('747', 'Filmographies', 'ccvm', 'value')),
+    (748, 'entw', 'r', oils_i18n_gettext('748', 'Directories', 'ccvm', 'value')),
+    (749, 'entw', 's', oils_i18n_gettext('749', 'Statistics', 'ccvm', 'value')),
+    (750, 'entw', 't', oils_i18n_gettext('750', 'Technical reports', 'ccvm', 'value')),
+    (751, 'entw', 'u', oils_i18n_gettext('751', 'Standards/specifications', 'ccvm', 'value')),
+    (752, 'entw', 'v', oils_i18n_gettext('752', 'Legal cases and case notes', 'ccvm', 'value')),
+    (753, 'entw', 'w', oils_i18n_gettext('753', 'Law reports and digests', 'ccvm', 'value')),
+    (754, 'entw', 'y', oils_i18n_gettext('754', 'Yearbooks', 'ccvm', 'value')),
+    (755, 'entw', 'z', oils_i18n_gettext('755', 'Treaties', 'ccvm', 'value')),
+    (756, 'entw', '5', oils_i18n_gettext('756', 'Calendars', 'ccvm', 'value')),
+    (757, 'entw', '6', oils_i18n_gettext('757', 'Comics/graphic novels', 'ccvm', 'value')),
+     
+    (758, 'cont', ' ', oils_i18n_gettext('758', 'Not specified', 'ccvm', 'value')),
+    (759, 'cont', 'a', oils_i18n_gettext('759', 'Abstracts/summaries', 'ccvm', 'value')),
+    (760, 'cont', 'b', oils_i18n_gettext('760', 'Bibliographies', 'ccvm', 'value')),
+    (761, 'cont', 'c', oils_i18n_gettext('761', 'Catalogs', 'ccvm', 'value')),
+    (762, 'cont', 'd', oils_i18n_gettext('762', 'Dictionaries', 'ccvm', 'value')),
+    (763, 'cont', 'e', oils_i18n_gettext('763', 'Encyclopedias', 'ccvm', 'value')),
+    (764, 'cont', 'f', oils_i18n_gettext('764', 'Handbooks', 'ccvm', 'value')),
+    (765, 'cont', 'g', oils_i18n_gettext('765', 'Legal articles', 'ccvm', 'value')),
+    (766, 'cont', 'h', oils_i18n_gettext('766', 'Biography', 'ccvm', 'value')),
+    (767, 'cont', 'i', oils_i18n_gettext('767', 'Indexes', 'ccvm', 'value')),
+    (768, 'cont', 'j', oils_i18n_gettext('768', 'Patent document', 'ccvm', 'value')),
+    (769, 'cont', 'k', oils_i18n_gettext('769', 'Discographies', 'ccvm', 'value')),
+    (770, 'cont', 'l', oils_i18n_gettext('770', 'Legislation', 'ccvm', 'value')),
+    (771, 'cont', 'm', oils_i18n_gettext('771', 'Theses', 'ccvm', 'value')),
+    (772, 'cont', 'n', oils_i18n_gettext('772', 'Surveys of the literature in a subject area', 'ccvm', 'value')),
+    (773, 'cont', 'o', oils_i18n_gettext('773', 'Reviews', 'ccvm', 'value')),
+    (774, 'cont', 'p', oils_i18n_gettext('774', 'Programmed texts', 'ccvm', 'value')),
+    (775, 'cont', 'q', oils_i18n_gettext('775', 'Filmographies', 'ccvm', 'value')),
+    (776, 'cont', 'r', oils_i18n_gettext('776', 'Directories', 'ccvm', 'value')),
+    (777, 'cont', 's', oils_i18n_gettext('777', 'Statistics', 'ccvm', 'value')),
+    (778, 'cont', 't', oils_i18n_gettext('778', 'Technical reports', 'ccvm', 'value')),
+    (779, 'cont', 'u', oils_i18n_gettext('779', 'Standards/specifications', 'ccvm', 'value')),
+    (780, 'cont', 'v', oils_i18n_gettext('780', 'Legal cases and case notes', 'ccvm', 'value')),
+    (781, 'cont', 'w', oils_i18n_gettext('781', 'Law reports and digests', 'ccvm', 'value')),
+    (782, 'cont', 'x', oils_i18n_gettext('782', 'Other reports', 'ccvm', 'value')),
+    (783, 'cont', 'y', oils_i18n_gettext('783', 'Yearbooks', 'ccvm', 'value')),
+    (784, 'cont', 'z', oils_i18n_gettext('784', 'Treaties', 'ccvm', 'value')),
+    (785, 'cont', '2', oils_i18n_gettext('785', 'Offprints', 'ccvm', 'value')),
+    (786, 'cont', '5', oils_i18n_gettext('786', 'Calendars', 'ccvm', 'value')),
+    (787, 'cont', '6', oils_i18n_gettext('787', 'Comics/graphic novels', 'ccvm', 'value')),
+    
+    (788, 'fmus', ' ', oils_i18n_gettext('788', 'Information not supplied', 'ccvm', 'value')),
+    (789, 'fmus', 'a', oils_i18n_gettext('789', 'Full score', 'ccvm', 'value')),
+    (790, 'fmus', 'b', oils_i18n_gettext('790', 'Full score, miniature or study size', 'ccvm', 'value')),
+    (791, 'fmus', 'c', oils_i18n_gettext('791', 'Accompaniment reduced for keyboard', 'ccvm', 'value')),
+    (792, 'fmus', 'd', oils_i18n_gettext('792', 'Voice score with accompaniment omitted', 'ccvm', 'value')),
+    (793, 'fmus', 'e', oils_i18n_gettext('793', 'Condensed score or piano-conductor score', 'ccvm', 'value')),
+    (794, 'fmus', 'g', oils_i18n_gettext('794', 'Close score', 'ccvm', 'value')),
+    (795, 'fmus', 'h', oils_i18n_gettext('795', 'Chorus score', 'ccvm', 'value')),
+    (796, 'fmus', 'i', oils_i18n_gettext('796', 'Condensed score', 'ccvm', 'value')),
+    (797, 'fmus', 'j', oils_i18n_gettext('797', 'Performer-conductor part', 'ccvm', 'value')),
+    (798, 'fmus', 'k', oils_i18n_gettext('798', 'Vocal score', 'ccvm', 'value')),
+    (799, 'fmus', 'l', oils_i18n_gettext('799', 'Score', 'ccvm', 'value')),
+    (800, 'fmus', 'm', oils_i18n_gettext('800', 'Multiple score formats', 'ccvm', 'value')),
+    (801, 'fmus', 'n', oils_i18n_gettext('801', 'Not applicable', 'ccvm', 'value')),
+    (802, 'fmus', 'u', oils_i18n_gettext('802', 'Unknown', 'ccvm', 'value')),
+    (803, 'fmus', 'z', oils_i18n_gettext('803', 'Other', 'ccvm', 'value')),
+    
+    (804, 'ltxt', ' ', oils_i18n_gettext('804', 'Item is a music sound recording', 'ccvm', 'value')),
+    (805, 'ltxt', 'a', oils_i18n_gettext('805', 'Autobiography', 'ccvm', 'value')),
+    (806, 'ltxt', 'b', oils_i18n_gettext('806', 'Biography', 'ccvm', 'value')),
+    (807, 'ltxt', 'c', oils_i18n_gettext('807', 'Conference proceedings', 'ccvm', 'value')),
+    (808, 'ltxt', 'd', oils_i18n_gettext('808', 'Drama', 'ccvm', 'value')),
+    (809, 'ltxt', 'e', oils_i18n_gettext('809', 'Essays', 'ccvm', 'value')),
+    (810, 'ltxt', 'f', oils_i18n_gettext('810', 'Fiction', 'ccvm', 'value')),
+    (811, 'ltxt', 'g', oils_i18n_gettext('811', 'Reporting', 'ccvm', 'value')),
+    (812, 'ltxt', 'h', oils_i18n_gettext('812', 'History', 'ccvm', 'value')),
+    (813, 'ltxt', 'i', oils_i18n_gettext('813', 'Instruction', 'ccvm', 'value')),
+    (814, 'ltxt', 'j', oils_i18n_gettext('814', 'Language instruction', 'ccvm', 'value')),
+    (815, 'ltxt', 'k', oils_i18n_gettext('815', 'Comedy', 'ccvm', 'value')),
+    (816, 'ltxt', 'l', oils_i18n_gettext('816', 'Lectures, speeches', 'ccvm', 'value')),
+    (817, 'ltxt', 'm', oils_i18n_gettext('817', 'Memoirs', 'ccvm', 'value')),
+    (818, 'ltxt', 'n', oils_i18n_gettext('818', 'Not applicable', 'ccvm', 'value')),
+    (819, 'ltxt', 'o', oils_i18n_gettext('819', 'Folktales', 'ccvm', 'value')),
+    (820, 'ltxt', 'p', oils_i18n_gettext('820', 'Poetry', 'ccvm', 'value')),
+    (821, 'ltxt', 'r', oils_i18n_gettext('821', 'Rehearsals', 'ccvm', 'value')),
+    (822, 'ltxt', 's', oils_i18n_gettext('822', 'Sounds', 'ccvm', 'value')),
+    (823, 'ltxt', 't', oils_i18n_gettext('823', 'Interviews', 'ccvm', 'value')),
+    (824, 'ltxt', 'z', oils_i18n_gettext('824', 'Other', 'ccvm', 'value')),
+    
+    (825, 'orig', ' ', oils_i18n_gettext('825', 'None of the following', 'ccvm', 'value')),
+    (826, 'orig', 'a', oils_i18n_gettext('826', 'Microfilm', 'ccvm', 'value')),
+    (827, 'orig', 'b', oils_i18n_gettext('827', 'Microfiche', 'ccvm', 'value')),
+    (828, 'orig', 'c', oils_i18n_gettext('828', 'Microopaque', 'ccvm', 'value')),
+    (829, 'orig', 'd', oils_i18n_gettext('829', 'Large print', 'ccvm', 'value')),
+    (830, 'orig', 'e', oils_i18n_gettext('830', 'Newspaper format', 'ccvm', 'value')),
+    (831, 'orig', 'f', oils_i18n_gettext('831', 'Braille', 'ccvm', 'value')),
+    (832, 'orig', 'o', oils_i18n_gettext('832', 'Online', 'ccvm', 'value')),
+    (833, 'orig', 'q', oils_i18n_gettext('833', 'Direct electronic', 'ccvm', 'value')),
+    (834, 'orig', 's', oils_i18n_gettext('834', 'Electronic', 'ccvm', 'value')),
+    
+    (835, 'part', ' ', oils_i18n_gettext('835', 'No parts in hand or not specified', 'ccvm', 'value')),
+    (836, 'part', 'd', oils_i18n_gettext('836', 'Instrumental and vocal parts', 'ccvm', 'value')),
+    (837, 'part', 'e', oils_i18n_gettext('837', 'Instrumental parts', 'ccvm', 'value')),
+    (838, 'part', 'f', oils_i18n_gettext('838', 'Vocal parts', 'ccvm', 'value')),
+    (839, 'part', 'n', oils_i18n_gettext('839', 'Not Applicable', 'ccvm', 'value')),
+    (840, 'part', 'u', oils_i18n_gettext('840', 'Unknown', 'ccvm', 'value')),
+    
+    (841, 'proj', '  ', oils_i18n_gettext('841', 'Project not specified', 'ccvm', 'value')),
+    (842, 'proj', 'aa', oils_i18n_gettext('842', 'Aitoff', 'ccvm', 'value')),
+    (843, 'proj', 'ab', oils_i18n_gettext('843', 'Gnomic', 'ccvm', 'value')),
+    (844, 'proj', 'ac', oils_i18n_gettext('844', 'Lambert''s azimuthal equal area', 'ccvm', 'value')),
+    (845, 'proj', 'ad', oils_i18n_gettext('845', 'Orthographic', 'ccvm', 'value')),
+    (846, 'proj', 'ae', oils_i18n_gettext('846', 'Azimuthal equidistant', 'ccvm', 'value')),
+    (847, 'proj', 'af', oils_i18n_gettext('847', 'Stereographic', 'ccvm', 'value')),
+    (848, 'proj', 'ag', oils_i18n_gettext('848', 'General vertical near-sided', 'ccvm', 'value')),
+    (849, 'proj', 'am', oils_i18n_gettext('849', 'Modified stereographic for Alaska', 'ccvm', 'value')),
+    (850, 'proj', 'an', oils_i18n_gettext('850', 'Chamberlin trimetric', 'ccvm', 'value')),
+    (851, 'proj', 'ap', oils_i18n_gettext('851', 'Polar stereographic', 'ccvm', 'value')),
+    (852, 'proj', 'au', oils_i18n_gettext('852', 'Azimuthal, specific type unknown', 'ccvm', 'value')),
+    (853, 'proj', 'az', oils_i18n_gettext('853', 'Azimuthal, other', 'ccvm', 'value')),
+    (854, 'proj', 'ba', oils_i18n_gettext('854', 'Gall', 'ccvm', 'value')),
+    (855, 'proj', 'bb', oils_i18n_gettext('855', 'Goode''s homolographic', 'ccvm', 'value')),
+    (856, 'proj', 'bc', oils_i18n_gettext('856', 'Lambert''s cylindrical equal area', 'ccvm', 'value')),
+    (857, 'proj', 'bd', oils_i18n_gettext('857', 'Mercator', 'ccvm', 'value')),
+    (858, 'proj', 'be', oils_i18n_gettext('858', 'Miller', 'ccvm', 'value')),
+    (859, 'proj', 'bf', oils_i18n_gettext('859', 'Mollweide', 'ccvm', 'value')),
+    (860, 'proj', 'bg', oils_i18n_gettext('860', 'Sinusoidal', 'ccvm', 'value')),
+    (861, 'proj', 'bh', oils_i18n_gettext('861', 'Transverse Mercator', 'ccvm', 'value')),
+    (862, 'proj', 'bi', oils_i18n_gettext('862', 'Gauss-Kruger', 'ccvm', 'value')),
+    (863, 'proj', 'bj', oils_i18n_gettext('863', 'Equirectangular', 'ccvm', 'value')),
+    (864, 'proj', 'bk', oils_i18n_gettext('864', 'Krovak', 'ccvm', 'value')),
+    (865, 'proj', 'bl', oils_i18n_gettext('865', 'Cassini-Soldner', 'ccvm', 'value')),
+    (866, 'proj', 'bo', oils_i18n_gettext('866', 'Oblique Mercator', 'ccvm', 'value')),
+    (867, 'proj', 'br', oils_i18n_gettext('867', 'Robinson', 'ccvm', 'value')),
+    (868, 'proj', 'bs', oils_i18n_gettext('868', 'Space oblique Mercator', 'ccvm', 'value')),
+    (869, 'proj', 'bu', oils_i18n_gettext('869', 'Cylindrical, specific type unknown', 'ccvm', 'value')),
+    (870, 'proj', 'bz', oils_i18n_gettext('870', 'Cylindrical, other', 'ccvm', 'value')),
+    (871, 'proj', 'ca', oils_i18n_gettext('871', 'Alber''s equal area', 'ccvm', 'value')),
+    (872, 'proj', 'cb', oils_i18n_gettext('872', 'Bonne', 'ccvm', 'value')),
+    (873, 'proj', 'cc', oils_i18n_gettext('873', 'Lambert''s conformal conic', 'ccvm', 'value')),
+    (874, 'proj', 'ce', oils_i18n_gettext('874', 'Equidistant conic', 'ccvm', 'value')),
+    (875, 'proj', 'cp', oils_i18n_gettext('875', 'Polyconic', 'ccvm', 'value')),
+    (876, 'proj', 'cu', oils_i18n_gettext('876', 'Conic, specific type unknown', 'ccvm', 'value')),
+    (877, 'proj', 'cz', oils_i18n_gettext('877', 'Conic, other', 'ccvm', 'value')),
+    (878, 'proj', 'da', oils_i18n_gettext('878', 'Armadillo', 'ccvm', 'value')),
+    (879, 'proj', 'db', oils_i18n_gettext('879', 'Butterfly', 'ccvm', 'value')),
+    (880, 'proj', 'dc', oils_i18n_gettext('880', 'Eckert', 'ccvm', 'value')),
+    (881, 'proj', 'dd', oils_i18n_gettext('881', 'Goode''s homolosine', 'ccvm', 'value')),
+    (882, 'proj', 'de', oils_i18n_gettext('882', 'Miller''s bipolar oblique conformal conic', 'ccvm', 'value')),
+    (883, 'proj', 'df', oils_i18n_gettext('883', 'Van Der Grinten', 'ccvm', 'value')),
+    (884, 'proj', 'dg', oils_i18n_gettext('884', 'Dymaxion', 'ccvm', 'value')),
+    (885, 'proj', 'dh', oils_i18n_gettext('885', 'Cordiform', 'ccvm', 'value')),
+    (886, 'proj', 'dl', oils_i18n_gettext('886', 'Lambert conformal', 'ccvm', 'value')),
+    (887, 'proj', 'zz', oils_i18n_gettext('887', 'Other', 'ccvm', 'value')),
+    
+    (888, 'relf', ' ', oils_i18n_gettext('888', 'No relief shown', 'ccvm', 'value')),
+    (889, 'relf', 'a', oils_i18n_gettext('889', 'Contours', 'ccvm', 'value')),
+    (890, 'relf', 'b', oils_i18n_gettext('890', 'Shading', 'ccvm', 'value')),
+    (891, 'relf', 'c', oils_i18n_gettext('891', 'Gradient and bathymetric tints', 'ccvm', 'value')),
+    (892, 'relf', 'd', oils_i18n_gettext('892', 'Hachures', 'ccvm', 'value')),
+    (893, 'relf', 'e', oils_i18n_gettext('893', 'Bathymetry, soundings', 'ccvm', 'value')),
+    (894, 'relf', 'f', oils_i18n_gettext('894', 'Form lines', 'ccvm', 'value')),
+    (895, 'relf', 'g', oils_i18n_gettext('895', 'Spot heights', 'ccvm', 'value')),
+    (896, 'relf', 'i', oils_i18n_gettext('896', 'Pictorially', 'ccvm', 'value')),
+    (897, 'relf', 'j', oils_i18n_gettext('897', 'Land forms', 'ccvm', 'value')),
+    (898, 'relf', 'k', oils_i18n_gettext('898', 'Bathymetry, isolines', 'ccvm', 'value')),
+    (899, 'relf', 'm', oils_i18n_gettext('899', 'Rock drawings', 'ccvm', 'value')),
+    (900, 'relf', 'z', oils_i18n_gettext('900', 'Other', 'ccvm', 'value')),
+    
+    (901, 'spfm', ' ', oils_i18n_gettext('901', 'No specified special format characteristics', 'ccvm', 'value')),
+    (902, 'spfm', 'e', oils_i18n_gettext('902', 'Manuscript', 'ccvm', 'value')),
+    (903, 'spfm', 'j', oils_i18n_gettext('903', 'Picture card, post card', 'ccvm', 'value')),
+    (904, 'spfm', 'k', oils_i18n_gettext('904', 'Calendar', 'ccvm', 'value')),
+    (905, 'spfm', 'l', oils_i18n_gettext('905', 'Puzzle', 'ccvm', 'value')),
+    (906, 'spfm', 'n', oils_i18n_gettext('906', 'Game', 'ccvm', 'value')),
+    (907, 'spfm', 'o', oils_i18n_gettext('907', 'Wall map', 'ccvm', 'value')),
+    (908, 'spfm', 'p', oils_i18n_gettext('908', 'Playing cards', 'ccvm', 'value')),
+    (909, 'spfm', 'r', oils_i18n_gettext('909', 'Loose-leaf', 'ccvm', 'value')),
+    (910, 'spfm', 'z', oils_i18n_gettext('910', 'Other', 'ccvm', 'value')),
+    
+    (911, 'srtp', ' ', oils_i18n_gettext('911', 'None of the following', 'ccvm', 'value')),
+    (912, 'srtp', 'd', oils_i18n_gettext('912', 'Updating database', 'ccvm', 'value')),
+    (913, 'srtp', 'l', oils_i18n_gettext('913', 'Updating loose-leaf', 'ccvm', 'value')),
+    (914, 'srtp', 'm', oils_i18n_gettext('914', 'Monographic series', 'ccvm', 'value')),
+    (915, 'srtp', 'n', oils_i18n_gettext('915', 'Newspaper', 'ccvm', 'value')),
+    (916, 'srtp', 'p', oils_i18n_gettext('916', 'Periodical', 'ccvm', 'value')),
+    (917, 'srtp', 'w', oils_i18n_gettext('917', 'Updating Web site', 'ccvm', 'value')),
+    
+    (918, 'tech', 'a', oils_i18n_gettext('918', 'Animation', 'ccvm', 'value')),
+    (919, 'tech', 'c', oils_i18n_gettext('919', 'Animation and live action', 'ccvm', 'value')),
+    (920, 'tech', 'l', oils_i18n_gettext('920', 'Live action', 'ccvm', 'value')),
+    (921, 'tech', 'n', oils_i18n_gettext('921', 'Not applicable', 'ccvm', 'value')),
+    (922, 'tech', 'u', oils_i18n_gettext('922', 'Unknown', 'ccvm', 'value')),
+    (923, 'tech', 'z', oils_i18n_gettext('923', 'Other', 'ccvm', 'value')),
+    
+    (924, 'trar', ' ', oils_i18n_gettext('924', 'Not arrangement or transposition or not specified', 'ccvm', 'value')),
+    (925, 'trar', 'a', oils_i18n_gettext('925', 'Transposition', 'ccvm', 'value')),
+    (926, 'trar', 'b', oils_i18n_gettext('926', 'Arrangement', 'ccvm', 'value')),
+    (927, 'trar', 'c', oils_i18n_gettext('927', 'Both transposed and arranged', 'ccvm', 'value')),
+    (928, 'trar', 'n', oils_i18n_gettext('928', 'Not applicable', 'ccvm', 'value')),
+    (929, 'trar', 'u', oils_i18n_gettext('929', 'Unknown', 'ccvm', 'value'));
+
+
+COMMIT;
+
+-- No composite attributes were added in this script, so metabib.reingest_record_attributes can handle what we need.
+\qecho This is an SVF attribute reingest of your bib records.
+\qecho It will take a while.
+\qecho You may cancel now without losing the effect of the rest of the
+\qecho upgrade script, and arrange the reingest later.
+SELECT COUNT(metabib.reingest_record_attributes(id))
+    FROM biblio.record_entry WHERE deleted IS FALSE;
+
diff --git a/docs/RELEASE_NOTES_NEXT/Cataloging/add_additional_fixed_fields.txt b/docs/RELEASE_NOTES_NEXT/Cataloging/add_additional_fixed_fields.txt
new file mode 100644 (file)
index 0000000..9d496f8
--- /dev/null
@@ -0,0 +1,9 @@
+Additional Fixed Fields
+^^^^^^^^^^^^^^^^^^^^^^^
+The AccM, Comp, CrTp, EntW, Cont, FMus, LTxt, Orig, Part, Proj, Relf, SpFm,
+SrTp, Tech, and TrAr fixed fields have been defined and coded value maps added
+so they can also be used as part of composite attributes if desired.
+
+Coded value maps have also been added for Cont, and the Time field has been
+defined. All of these fields are now available in the Fixed Field Editor when
+editing the appropriate records.