document resume - eric · 2014. 1. 2. · document resume ed 080 120 li 004 425 author kilgour,...
TRANSCRIPT
DOCUMENT RESUME
ED 080 120 LI 004 425
AUTHOR Kilgour, Frederick G., Comp.; Davis, Hillis D.,Comp.
TITLE Development of a Computerized Regional LibrarySystem. Appendix 24. Final Report.
INSTITUTION Ohio Coll. Library Center, Columbus..SPONS AGENCY Office of Education (DHEW), Washington, D.C..BUREAU NO BR-9-0554PUB DATE Jun 73CONTRACT OEC-0-70-2289(506)NOTE 104p.; (0 References)
EDRS PRICE MF-$0.65 HC-$6.58DESCRIPTORS Bibliographic Citations; *Cataloging; College
Libraries; Computer Programs; Data Bases; ExpenditurePer Student; Library Automation; *LibraryExpenditures; *Library Networks; *On Line Systems;Regional Programs; Union Catalogs; *UniversityLibraries
IDENTIFIERS Machine Readable Cataloging; MARC; OCLC; *OhioCollege Library Center
ABSTRACTThe purpose of the Ohio College Library Center (OCLC)
computerized regional library system is to provide an on-line systemthat makes available to faculty and students in individual collegesand universities the library resources throughout a region, while atthe same time decelerating the rate of rise of per-student librarycosts. The research and development culminated in the successfulimplementation of an on-line union catalog and shared catalogingsystem. The final report of the project is LI 004 422. This documentcontains appendix twenty-four, The Ohio College Library CenterProgram/Subroutine Documentation; Master Data Base Update (MDBUPD).The program MDBUPD (Master Data Base Update) is used to add therecords from the weekly MARC tapes to the existing data base. Thisprogram takes a record that is in MARC format, cbecks the entries forvalidity, and converts it into the current bibliographic data fileformat. The program assigns an OCLC number to new records and addsthem to the data base..MDBUPD replaces corrected or revised recordsand deletes unwanted records. It also returns various statistics.(Other appendices are LI 004 423, LI 004 424 and LI C104 426 throughLI 004 428.) (Author/SJ) 1
FILMED FROM BEST AVAILABLE COPY
U S DEPARTMENT OF HEALTHEDUCATION A WELFARENATIONAL INSTITUTE OF
EDUCATIONTHIS DOCUMENT HAS BEEN REPRODUCED EXACTLY AS RECEIVED FROMTHE PERSON OR ORL:ANIZATION ORIGINATING IT POINTS OF VIEW OR OPINIONSSTATED DO NOT NECESSARILY REPRESENT OFFICIAL NATIONAL INSTITUTE OFEDUCATION POSITION OR POLICY
Final Report
Project No. 9-0554Contract No. OEC-0-70-2289 (506)
June 1973
THE DEVELOPMENT OF A COMPUTERIZED REGIONAL LIBRARY SYSTEM
APPENDIX 24
Frederick G. KilgourThe Ohio College Library Center
1550 West Henderson Road
Columbus, Ohio 43220
Hillis D. DavisCooperative College Library Center
159 Forrest Avenue N.E.
Atlanta, Georgia 30303
APPENDICES
I. Instruction Manual for Catalog Production. (LI 004 423)
II. Manual for OCLC Catalog Card Production; Revised and Enlarged. Judith Hopkins.
(LI 004 423)
III. Cre,tion of Machine Readable Catalog Entries; An Adaptation of the "Data
Preparation Manual: MARC Editors." (LI 004 423)
IV. Cataloging on a Cathode Ray Tube Terminal. (LI 004 423)
V. Brief Description of the Serials Control System: A Preliminary Report.
(LI 004 424)
VI. A Preliminary Description of the OCLC Serials Control System. (LI 004 424)
VII. Manual for Checking-In, Binding, and Claiming of Serials on a CRT Terminal -
Draft of Preliminary Procedures. (LI 004 424)
VIII. Suggested Minimum Requirements for Serials Cataloging. (LI 004 424)
IX. OCLC Technical Processing System - A Preliminary Outline. (LI 004 424)
X. The Technical Processing System, May 1972. (LI 004 424)
XI. Recommended Standards for the Cataloging of Serials. (LI 004 424)
XII. Standards for Input Cataloging. (LI 004 424)
XIII. The Technical Processing System, August 1972. (LI 004 424)
XIV. Ohio College Library Center Annual Report, 1971/1972. (LI 004 424)
XV. Large On-Line Files of Bibliographic Data: An Efficient Design and a
Mathematical Predictor of Retrieval Behavior. P.L. Long, K.B.L. Rastogi,
J.E. Rush and J.A. Wyckoff. (Not Available EDRS)
XVI. OCLC Systems: Technical Aspects. Phillip Long. and Ohio State University
Libraries Systems. Gerry D. Guthrie. (Not Available EDRS)
XVII. Name-Title Entry Retrieval from a MARC File. Philip L. Long and Frederick G.
Kilgour. (not Available EDRS)
XVIII. A Truncated Search Key Title Index. Philip L. Long and Frederick G. Kilgour.
(Not Available EDRS)
XIX. Title-Only Entries Retrieved by Use of Truncated Search Keys. Frederick G.
Kilgour, Philip L. Long, Eugene B. Leiderman and Alan L. Landgraf. (Not Available
EDRS)
XX. Ohio College Library Center Systems. Frederick Kilgour. (Not Available EDRS)
XXI. Evolving, Computerizing, Personalizing. Frederick Kilgour. (Not Available EDRS)
XXII. The Shared Cataloging System of the Ohio College Library Center. Frederick
G. Kilgour, Philip L. Long, Alan L. Landgraf, and John W. Wyckoff. (Not
Available EDRS)
XXIII. Cataloging with a Computer - OCLC Comes to Pennsylvanii. Robert C. Stewart.(Not Available EDRS)
XXIV. The Ohio College Library Center Program/Subroutine Documentation; Master DataBase Update (MDBUPD). (LI 004 425)
XXV. The Ohio College Library Center Program/Subroutine Documentation; ConvertCall Number (CNVT). (LI 004 426)
XXVI. The Ohio College Library Center Program/Subroutine Documentation; GeneratePack Definition Tables (GENPDTS). (LI 004 427)
XXVII. The Ohio College Library Center Program/Subroutine Documentation; CatalogCard Format Program (CCFP). (LI 004 427)
XXVIII. The Ohio College Library Center Program/Subroutine Documentation; Build PrintTape (BPT). (LI 004 428)
THE OHIO COLLEGE LIBRARY CENTER
PROGRAM/SUBROUTINE DOCUMENTATION
Master Data Base Update(MDBUPD)
CONTENTS
Section/Page
I. OVERVIEW I
II. DATA FLOW II
III. SUMMARY OF INPUT AND OUTPUT III
MARC Record Format III.1
Bibliographic Record 111.6
IV. FUNCTIONS IV
V. GENERAL INFORMATION FLOW V
VI. SOFTWARE INTERFACE VI
VII. DESCRIPTION OF SPECIAL STORAGEAREAS,SWITCHES.AND TABLES VII
A. Special Tables VIII.1
VIII. APPENDIX VIII
A. Operating Requirements VIII.2
B. Operating Characteristics VIII.3
C. Detailed Description ofInternal subroutines VIII.12
D. Additional SubroutineDocumentation VIII.14
E. Additional ProcedureDocumentation VIII.58
F. Validation ProcessesPerformed by MDBUPD VIII.61
PROGRAM: MDBUPD
OCLC PLOGRAM DOCUMENTATION
I. Overview
The program MDBUPD (Master Data Base Update) is used to
add the records from the weekly Marc tapes to the existing data
base. This program takes a record that is in MARC format,checks the entries for validity, and converts it into the
current bibliographic data file format. The program assigns
an OCLC number to new records and adds them to the data base.
MDBUPD replaces corrected or revised records and deletes
unwanted records. It also returns statistics as to the number
of records added, replaced, deleted, rejected, and so on. It
also returns 3 copies of the error messages on paper and 1
copy on an output tape. The records that could not be processed
for one reason or another are written on the deferred tape.
CAUTION: MDBUPD is not to be run during online processing.
II. DATA FLOW
MARC ---0. I MDBUPDtape
-.......Z.._ ... _...
PROGRAM: MDBUPD
Defer edTape
/
1:2sul)sQ.ape
_....-
C. .>New
DataBaseeco
/Statisticson allreplacedrecords
PROGRAM: MDBUPD
III. SUMMARY OF INPUT & OUTPUT
A. MARC TAPE (INPUT)
Volume File Eni ofHeaderLabel
HeaderLabel
T File of Recordsfor Monographs
T FileLabel
T
M M M M
TM= Tape Mark (MARC Manual1 p. 3)
1. Volume Header Label -- MARC ManualPage 2
2. File Header Label -- MARC ManualPage 2
3. File of Records for Monographs:
24
Leader Record Directory ControlFields
VariableFields
a. Leader -- Page 111.3b. Record Directory:
0
Tag 1
StartingLength Character
Position
1,. MARC MANUAL Vol. 1
Books: A MARC Format Fourth Edition Aril 197
Name of RecordDirectory Data Element
PROGRAM: MDBUPD
No. of Char.Char's Pos.
Tag 3
Length 4
Starting Char. Pos. 5
c. Control Fields
DataElement 1
DataElement 2
DataElement 3
MARC Manual - Page 30 - 39
d. Variable Fields
.101r----P404,111.10
...4
'ClGH
'CIr-iW W
.4-14-4
oA CiZ
Ct)
DataElement 1
'tiI-4Q) (u
1:1
'..(n
DataElement 2
MARC Manual - Page 40 - 70
4. End of File Label - MARC Manual - Page 3
0 - 2
3 - 67 - 11
IT
Us 1314 lomat. coliolms oho 43212
the ohm college lib fa Ey met'
File Name
Record Layout
MARC RECORD LEADER FORMAT (INPUT)
Record Name
Record Type - ( ) Card (x) Tape ( ) Disk ( ) Other
File OrganizationSEQUENTIAL Record Size Block Size
General Description
FIELDL.... . .., ,,.........v. POSITION LENGTH FORMAT
RECORD LEADER
Logical Record Length 0 - 4 5 ASCII
Record Status (MAPC Manual5 1 ASCIIPage 26)
Type er Record (MARC Manual6 1 ASCIIPage 26)
Bibliographic Level (MARC Manual7 1 ASCIIPage 26)
Blanks 8 - 9 2 ASCII
Indicator Count (MARC Manual10 1 ASCII.Page 27)
I I I .4
Record Layout (Cont)
File Name MARC RECORD FORMAT
Record Name
FIELD NAME AND DESCRIPTION
FIELD
1_POSITION LENGTH IORMAT
Subfield Code Count (MARC Manual
Base Address of Data (MARC Manualimage f'7)'
Encoding Level (MARC Manual Page 27
Blanks
Entry Map (proposed - MARC Manualrage-27)
11
12 - 16
17
18 - 19
20 - 23
1
5
1
2
4
ASCII_
ASCII
AS
AS
AS
MARC Record LeaderApplication Format Date 1:1/21/72 Page A__ of _IL
Procedure Drawn by T. Benkptt
logical Rword Length
Type1Record Status Record
`-rt Ugr-dPnirlLevel
alf4
12
Blanks
[ Base Address of Data
Indicator Subfield['runt et-1(.1p Count
16 17 18
Encodinglevel Blanks
111.6
the ohio college lib roil ante!..
..
1314 loopear rd. so columlius oho 4312
Record Layout
File Name BIBLIOGRAPHIC DATA FILE
Record Name _BIBLIOGRAPHIC REcogn
Record Type - ( ) Card ( ) Tape (x) Disk ( ) Other
IBM VariableFile Organization Ink Format Record Size45-5144 Block Size 6144
General Description OCLC internal prorpcsing format of the MARC' II_
B ra - A
FIELDiiIrLIU annr, nal) Lir,oL.Airliva POSITION LENGTH FORMAT
. _
RECORD LEADER
Logical Record Length 0-1 2 Binary
Record Status Character (MZPC 2 1 EBCDICManual - Page 2-6) .
Encoding Level (MARC Manual - 3 1 EBCDICPage 27)
Leader Len,$th - byte size of 4 1 Binaryleader including terminator(X 'rD')
Type Index - index into a table of 5 Upper Binary4 bitsMaterial Type Indicator Codes
(See Cataloging on a CRTTerminal - Page 32). Note thatthe zero entry is used.
File Name
111.7
Record Layout (Cont)
BIBLIOGRAPHIC DATA FILE
Record Name BIBLIOGRAPHIC RECORD
Page 2
FIELD NAME AND DESCRIPTIONPOSITION
FIELD
LENGTH FORMAT
Bibliographic Level Index - index 5 Lowerinto a table of level codes 4 bite(See Cataloging on a CRTTerminal - Page 32). Note thatthe zero entry is used.
Reserved 6-7 10 Bit
Variable Control Field Length - 7 LowerWord length of field between 6 bitssupplement number and suffixcharacter in LC card number.
OCLC Number 8-11 4
Date Entered12 1
Month 13 1
Day 14 1
Type of Publication Date - 15 1
Description of contents ofPublication Date fields (SeeMARC Manual pp. 32-34).
Publications DatesDate #1 16-17 2
Date #2 18-19 2
Country of Publication - First two 20-21 2
characters of MARC field (SeeMARC Manual pp. 35, 290-318).
Illustration Code Indexes - Four 22-234-bit indexes into the table ofIllustration codes (See MARCManual pp. 35). Note that thezero entry is used to indicatean invalid code was receivedand that entry contains ablinking blank.
* Packed data is numeric datawhich has had the upper fourbits of each numeral removed andhas been packed two digits per byte.
2
Binary
Binary
Binary
Binary
Packed*Packed*Packed*
EBCDIC
Packed*Packed*
EBCDIC
Binary
111.8
Record Layout (Cont)
File Name BIBLIOGRAPHIC DATA FILE
Record Name BIBLIOGRAPHIC RECORD
Page 3
FIELDFIELD NAME AND DESCRIPTION
POSITION LENGTH FORMAT
Form of Content Code Indexes - fou 24-25 2 Binary4-bit indexes into a table ofcodes describing the form ofwork (See MARC Manual pp. 36-37N.Note that the zero entry contairsa blinking blank to indicate aninvalid code was received.
Intellectual Level Index - index 26 Upper4 bits
Binaryinto a table of intellectuallevel codes (See MARC Manualpp. 36). Note the zero entryis used to indicate that theinput code was invalid and con-tains a blinking blank.
Format Reproduction Code Index - 26 Lower BinaryIndex into a table of codesdescribing the type reproductiorif any. Note the zero entry isused to indicate that the inputcode was invalid and contains ablinking blank.
4 bits
Indicators 10 thru 15 - bit 27 1 Binaryswitches to indicate theMARC indicators described in thMARC Reference Manual (pp. 37-38, par. 10-15). Bit values ar
Bit 0 - REserved162 - Government Pub. Ind.
3.- Conference Pub. Ind.4 - Festschrift Ind.5 - Index Ind.6 - Main Entry Ind.7 - Function Ind.
Biography" Code Index - index into 28 1 Binarya table of biography codes (SeeMARC Reference Manual pp. 33).Note that the zero entry cont..ains a blinking blank to indi-cate an invalid code wasreceived.
Record Layout (Cont)
File Name BIBLIOGRAPHIC DATA FILE
Record Name BIBLIOGRAPHIC RECORD
Page 4
FIELD NAME AND DESCRIPTION
Modified Record Indicator Index -Index into a table of codesdescribing the type of change.Note that the zero entrycontains the blinking blankcharacter to indicate a codewas received in error. (SeeMARC Manual pp. 38-39).
Catalog Source Index - index intoa table of codes to describeother sources of catalog record(See MARC Manual - page 39.)Note that the zero entry contaia blinking blank to indicate anerror code was received.
Language Index - index into a tablof language codes to describethe text of the data. Althoughthe codes are not arrangedexactly as shown, see the manua"Cataloging on a Cathode RayTube Terminal" pp. 46-52.
LC-Card NumberPrefixYWWFFartNumber PartSupplement number
Length of 1st Author SubstringThe number of bytes to use forthe first author substring
Dis lacement of 1st Author Substriyte isplacement to t e stauthor substring from end ofleader
* Packed data is numeric datawhich has had the upper fourbits of each numeral removedand has been packed two digits.-r b te.
FIELD
POSITION LENGTH FORMAT
29 Upper Binary4 bits
29 Lower Binary4 bits
s
30-31 2 Binary
32-34 3 EBCDIC35 1
36-38 3 Packed*39. 1 EBCDIC
40-41 2 Binary
42-43 2 Binary
File Name
111.10
Record Layout (Cont)
13IBLIOGRAPHIC DATA FM"
Record Name BIBLIOGRAPHICAUTORD
Page 5
FIELD NAME AND DESCRIPTIONFIELD
POSITION LENGTH
Length of 2nd Author SubstringThe number of bytes to use forthe second author substring.
Displacement of 2nd AuthorSubstring
Byte displacement to the 2ndauthor substring from end ofleader.
Length of Title SubstringThe number of bytes to use forthe title substring.
Displacement to Title SubstringThe byte displacement to thetitle substring from the end othe leader.
Holdings File Pointer WordPointer to holdings list.
Institutional Holdings BitsBit switches indicating holdingsfor an institution. A oneindicates holdings, a zeroindicates no holf3thgs.
LC SuffixA variable length characterstring which may be absent.Displacement to suffix equal to40 + 4*n where n equals thebinary value of bits 2-7 of byte#7 of leader. Length of suffixis equal to the leader length,byte #4, minus the displacementto the suffix minus one.
Leader TerminatorX "FD" that follows the suffixto indicate the end of theleader.
44-45
46-47
48-49
50-51
52-55
56-71
Variable
Variable
2
2
2
2
4
16
Varia-ble
FORMAT
Binary
Binary
Binary
Binary
Binary
Binary
EBCL.
Binary
.Page 6
Record Layout (Cont)
File Name BIBLIOGRAPHIC DATA FILE
Record Name BIBLIOGRAPHIC RECORD
FIELD NAME AND DESCRIPTIONFIELD
POSITION LENGTH FORMAT
VARIABLE FIELDS
The following fields of the recordare repeated for as many times asthere are bibliographic elements.The fields are variable in thedata that they contain and thelength of each data item. Theelements have the following format:
Tag - elerpent field descriptor 0-1 ** 2 Binary
number '
Element Length - length of 2-3 ** 2 Binaryelement including tag.
Subfields and Indicators - the 4-n ** I EBCDICremainder of the elementfields are identical to theMARC format with theexception that the '$a'subfield code is deleted ifthis field is present and thedata begins immediatelyfollowing the indicators.
'Ihe code is a VFW for enci osubfield and X'FE' for end ofrecord.
** These value are the relativepositions within the variablfields.
* Packed data is numeric datawhich has had the upper fourbits of each numeral removedand has !been packed twodigits per byte.
1
IBM DIAGRAMMING AND CHARTING WORKSHEET
Application (A 1. tr 1Nt/LIC'. r ti PA. _ D.I. 11/1 Pop orProcedure paws sy :r. I PI ft .1),
ea
-ft
AL
.. i. I, 1.. M is. lu lu 1..
I LOGICAL. RE Ccotb ifitioThi I RECC kb sr,' -rt.'s e Nevi, z,v 6AZ Ir E 1...
4, 5 7-MT"'of i.e A
Jr cILA/ rOf Al
SftreD '
TY Pr- 15I
TivDEXa 8-I C
c,4 Pf4.1C.'Nil
P&sE R yap60 bzrs)
f Wo'D'ofFt -DS Z$6
1.10-"41-Alle
0 C._ 1..0 Rae oxb Nuiria E
aPATL re Re.
CP AEA" /VIONT
14-04 KED) IZA lea C PA c #61))
C ovnl rky Of 08,...zeh7xo ri.t,u rimisow ccbesIl C Two CNA 01c-re/ZS)
1 4- 01 _1 it 3
Volni of gem rxr5 e-eDe 4-",Der rate4.ee-JTORm CF -$1TAIE 'TO$ 10611 at a_
roustte4 if -di L. tAteulisPaogverow c cos fits-)
-IA
r2t.. C. CARD No m 86 k A &NA Ate FL X.
lMOu/t6E CODE. sraEflW. "i
L.C CAtb AiuniElt
EAR' /°011.7 ("Web),
- 11 110cerN 4r V4esT A i*Fut itrc 1),SPI-A4 e sten) r To FAST
Sy's 57,4. '87 ' I AJTNOIC Ave sm,,c.,(flo.4 te,a Li a.tty
r1esgall4 CF Ecom 1J 110 t? Zei T e AC S %scenic" 7 're SE,Covb1.-61 .5%°857 itSVC4 1."1 -Ft Y 7& S 4 ;Not .4,6 574., (Faro CND OP L.ma)
.1S
IBM DIAGRAMMING AND CHARTING WORKSHUT
.?AN, !human en -I a4 jr .14 kentiXonto / Pogo _2. of a_Putafium Drawn sy
*1-
AL
iL
JL
all
I. IN I. IN I. I.. I I. 1.. I. 1.. 1.. 1..
LENbTH TS T t.e 3c-e- .1)%s"..4 tol .ur 7b Tr me.Filen, END F 1-7.1DEi2
IH04.151m$ 4-$3 FT ---P0/0/ 76 k wo
Vt 2 o F TA.PS TS -6.77.10A;41- 1100).Tive
Co
641
WoR-1) 43
Worth Tt
sof ri 49( /LEWD & it
"TE It folTivRTCkX 1-7)'
Y4Rii*iiiE 7* TA knt..c... SE touSearib Mete re AssrsrIN rev TEN.NAL "PltoCESS.inJG AS THE. NEE.D ART Se S-7brAi... n.hosoeit 0 F WotCD5 a 6 ruir &LA) . Ann)
5,7ppi4n1eA17 r%' R.e.ct.tere'D rni Sign' a 7 OF $yTer
Of LEADE4..
THE Sor r-r XS THE LA sr fxECD THE 1-ElebERSINCE 2T T.S vALsetaLe ini 1.E00 rag ANY 474y G veniBs Ati satyr. rot: Lztv6 rfri E4 VA I- 7-0 7-11ELEADER LEA; EITH C arre m rn. 4/0 mriti US
rOOR rung THE VALUE cc 13zrs 1 -7 cc "isiregE.
Minty 5 ON E. . THE AZDitt-SS OF 1'14E. 64..)Fr-s IS ECrvii7/41. LetV rPf oc THE. FsKeD casbek 0/0) -P s
THE BXN4.zy thi Luc or Btr3 a - 7 0 F Dirt ?roox.
IBM DIAGIAAUAING AND CHARTING WOMNIIIT
t ; . 1141 1%..40;.1--'Applicsfi r=ion
ProcedureDrown
1..IP II. i,. G. II. a/
rc,, Lek. In 6 THr LF i1 UL 1 /114: -ME, TWcS
Fle....bs /tr.( 1.4,2:443LE Le_,T,rwrottok, -inc. 'Pet oc..; (ea P. Le AD(.. FOR 7W6VI- R51 rt t-/tICA/73. E/1( H i S re g2.vi..TWAYE.6 RCY b6,...7e.i1 reit
6)(t X (FE re liis7 F. Ler", CA% 7-11F: y
0...) -r-pi c hulk( - rit,./,9 el iff 704,Cc../sv'e .rattLLE C.7KetP730/1...5
1. TA (.1 r 4,S 731/vittic:y2, 7-11(.. rstt:b L6.,6771 7.e 1A) 8-TA10
a 'THE F7k ST 4^. 7 s Nor 1a. c4; DIF Re Co4 r pizesc");:: -rfte-
(Fc'j dot's "I or 7,11.4404 7._y'f31..L-0.0 74E .7^:Zo 7 C .37 OILS TN E #10.tocfc.t.
zs ZA 7n 44 a VA e r<<6 Fie t- rS "1'6603 V.G.L.b. prof-A bor,i rs
7-ME c /1/14 4 (7E02 X CFC ge..PL4 er-e-rlf-e (4'.
aLE,06.771 C F rz&:rA.ctLcro 14/6 TAC-1 f 'immix:17ot
'Ff. I z C OITC/Z 1.--1INZI c Wm'k cS. 415147/4- CSR rod I:If/co3
, O Rdil` cc' 4- 2-, 1--,-
f71."jA, wi pF I--rt) (-7
ipity a:, C5E),C o
itoutkArOPC,
the oho college library center1314 loom rd. - columbus oho 43212
Record Layout
File Name BIRLIOGRAPHIC DATA FI 1.E
Record Name AULHaRIIILE4IIILEONLY INDEX (AT & TO)
Record Type - ( ) Card ( ) Tape 000 Disk ( ) Other
File OrganizationRandom Record Size 12-bytes Block Size 1020
General Description This file is used to access the required
Bibliographic Record(s) from the input Author-Title Kev (3.3)
which is hasheu to a disk address within the file. If the input
key and the title key within the record agree, the index points to
one of the possible matching BIB records.
FIELD NAME AND DESCRIPTION "POSITIONFIELDLENGTH
Chaining Flag Bit flag indicatingend of chain.0 = Not last in entry chain1 - End of entry chain
Master BIB Record Present Fla Bitflag indicating whether BIBrecord is present or absent (delet-ed)0 - Master record deleted1 Master record present
Bibliographic Record Address - 30 bitdisk address of Bibliographic .
record.
Author-Title & Title Only KeyString of six EBCDIC characterswhich make up the 3,3 key of thebibliographic record pointed to bythe index.
Reserved
FORMAT
0 Bit 0 Binary
0 Bit 1 Binary
0-3
4-9
30 Bits Binary
6 EBCDIC
10-11 2
I
: the oho college library center
1314 honor rd. coluifihus Ohio 43212
Record Layout
File Name BTRITnnitmonIr nATA FILE
Record Name our # LIMEY (OCLr)
Record Type - ( ) Card ( ) Tape 000 Disk ( ) Other
File Organization Random Record Size. 8-bytes Block Size
General Description This file is used to iccess the required
Bibliographic Record(s) from the-iiput OCLC I Key which is _hashed
to a disk address within the file.
FIELDKiLLIM nnalL nil', Lo.wo...nr.r.L.Lyn -POSITION LENGTH FORMAT
Chaining Flag Bit flag indicating 0 Bit 0 Binary
end of chain.0 . Not last in entry chain1 .. End of entry chain
Master BIB Record Present Flag Bit 0 Bit 1 Binaryflag indicating whether Bill recordis present or absent (deleted)0 = Master record deleted1 .. Master record prdsent
Bibliolraphic Record Address - 30 0-3 30 Bits Binary
bit disk address of-Bibliographicrecord.
Reserved 4-7 4 ____
if
File Name
.ohl3 college library center1314 honor rd. as coluilus oho 43212
Record Layout
BIBLLOGRAPHIC DATA FILE
Record Name LIBRARY OF CONCRES$ CARD NO. INDEX (LCCN)
Record Type - ( ) Card ( ) Tape kx) Disk ( ) Other
File Organization Random Record Size12-bytes Block Size 1010
General Description This file is used to access the required Biblio-
graphic Records) from the input LCCN key which is hashed to
a disk address within the file. If the input key and the
title key within the record agree, the index points to one of
the possible matching BIB records.
FIELDLASALW ilinru, /114m iii.o%.nirlu.lan
POSITION LENGTH FORMAT
Chaining Flag - Bit flag 0 Bit 0 Binaryindicating end of chain.0 = Not last in entry chain1 = End. of entry chain .
Master BIB Record Present Flag 0 Bit 1 BinaryBit flag indicating whetherBIB record is present or ab-sent (deleted)0 = Master record deleted1 = Master record present
Bibliographic Record Address - 0-3 30 Bits Binary30 bit disk address of Biblio-graphic record.
LCCN Ke - Library of Congressar Number Prefix
4-6 3 EBCDIC
. .
L.C. Card Number Part 7-10 4 Packed
L.C. Supplement 11 1 EBCDIC
1
IV .1
IV. FUNCTIONS
PROGRAM: MDBUPD
A request is made on the OC device to mount the MARCtape on 9TA80 and the output tape for deferred records on9TA81. If Sense Switch's are '0' the d* erred tape ispositioned past the last tape marks. If Sense Switchs arenot 0, a reply is requested from the operator. A replyof 'x' will abort the job. A reply of 'NEW' indicates thatthe deferred tape is new and to start processing. A replyof anything other than 'x' or 'NEW' will cause the requestfor a reply from the operator to occur again. An areacalled 'RESULTS' is assigned on the RAD for error andwarning messages.
After initialization, the 'rogram 'READMARC' readsa record from the MARC tape. if this record is the volumeheader label or the end of file label, it is converted toF'1CDIC and written on the deferred tape.
The routine 'CASBI' is used to convert fields to binary,the result being returned in Rl. The routine 'CASEB' isused to convert fields to EBCDIC, the address of the resultbeing returned in the third word of the parm list.
The base address of the data and the record length arepicked up from the MARC leader and converted to binary.Positions 6-11 of the leader are verified as being 'am 22'.
Positions 18-23 are verified as being all blanks.
The record directory is taken from the MARC tape anda corresponding binary directory is built for the biblio-graphic record at location 'DIR', where each field has a2-word entry:
Word #0 -- tag (1 byte), BA(field)Word #1 -- length of field
The record status is now checked. If it is 'D' therecord is to be deleted. This is accomplished by changingthe Encoding level to 'J' and skipping the error checkingand formating of the record. Otherwise, the bibliographicrecord leader is built taking the data from the leader,field 001 and field 008 of the MARC record. The next avail-able OCLC # is found and is put into the leader. Each dataentry is converted from ASCII to either EBCDIC or PACKED,is checked for validity using the tables in MDBUPD, and is
YKUURNM: MDBUPD
IV.2
moved to the appropriate positiun in the leader. There are2 instructions indicated in the 'BLDLEADR' section of theprogram listing which must be changed if the last 8 controlfields are to be added to the leader.
The length of each field and the indicators are checkedfor validity against the tables. Any invalid charactersare reported as errors and replaced with blinking blanks(X'77'). If the field begins with a 'Oa' subfield code,the subfield code is deleted, and the rest of the field isconverted to the proper format (either EBCDIC, binary orpacked), checked for valid characters, and moved to theoutput buffer. Then the subfield codes are checked forvalidity using the table 'SFLD'. Each field is moved in thismanner until an end of record indicator is encountered (X'FE').
If there were any errors in the record, the error messageand the record are written on the RAD and printed in the formatas shown in APPENDIX B. All Warning messages are also writtenon the RAD. The subroutine 'INDEXER' is then the authortitle key, and the LC card number key. The subroutine 'SEARCHER'performs several checks on these keys. This MARC record ischecked against the other existing MATT records. If the LCcard numbers match, the new MART is logged as a duplicate andis entered on the deferred tape. The MARC record is checker,against the records input by the member libraries (those withencoding level If all 3 keys are equal, the holdingsfrom the data base record are added to the new MARC recordand the data base record is deleted but its OCLC# is kept. Ifa weekly record that has a 'D' (delete) status has the sameLCCN as an old MARC record, the old MARC record is deletedas long as it has no holdings. If it does have holdings, itsencoding level is changed to 'I' and it remains on the database. The new MARC record is elecked against the old MARCrecords which have an encoding level of 'J' (deleted).If the LC card numbers are equal, the old data base recordis replaced with the new MARC record. Then the new MARCrecord is checked against the user data base records and theMARC data base records which have an encoding level of 'J'.
If the card numbers are not present or are not thesame, but the title key and the author-title key match,the record is written on the differed tape and awaits humanintervention. If the new MARC record has been proven notto be a duplicate, the record is either written at the endof the Bibliographic file, or is written in an availableslot where another record had been deleted.
PROGRAM: MDBUPD
Before reading the next MARC record, a check is madeto determine if the previous record was a replacemen record.If it was, the LC card number and the OCLC number of theMarc record and the OCLC number of the Data Base record arepunched on the card punch. If the previous record was thelast record on this weekly tape, the Summary statisticsare written on the RAD pile.
PROGXAM: MutsUiJu
V. GENERAL INFORMATION FLOW
!MO-5171T
WEEKLY & 1
DEFERRED
;'-__ -- NO--
OPERATORRESPOND
POSITIONDEFERRED
TigEMARK
TAPER
N: NEW
-11.1 YES
AN.
GET NEXTWEEKLYRECORD
-,2A j
\e/
V . 2
--,
HAEADBEELRN";IEs÷
NO
1.1tAiL- YES.ER LABEL,
N"NO
BUILD A 7DIRECTORYOF len's & 1
BA' s of each 1
1-----4-1I field
7STATU
N.. = ' d '
NO
YES
BUILDBINARY LEADER FOR DB I
L_RECORD
SP1i________,
! GET NEXT 1
I FIELD
FIELD YESst3EGIN WIIII
, _.
'NO4.
CONVERTFIELD TOBINARY
1
PROGRAM: MDBUPD
WRITE ITON THE DE-FERREDTAPE
PRINTSTATISTICS I
l
(.END
CRANEENCODINGLEVEL TO
1 LT t
DELETE# a
r--
(3A 7-
V . 3PROGRAM: MDBUPD
iiLANX X'77'
YESLPIIN41111G174ITINVALID.c
HAR'S
NO
MOVE FIELDOUTPUTBUFFER
YNVALID
'&(JB FIE
144
NO`2B
EACHEDC.kND OF
il ID''
YES
SET UP 3 ,I
ACCESS KEYS!LCCN, TITLE;S AT/TO 1
_J
REPORTERROR
YES
here NOrecord
thy- same LCCN
YES
EPLACEITH
BLINKINGBLANK X ' 77 '
4REPORTERROR
B
RECORD , NO
SAVEHOLDINGS
YES
5B
ADD HOLDIN STO WEEKLY
DRECORDORDrRO
RE
14IA/
STATUS' NO= ' d '
PROGRAM: MDBUPD
ISB RECORBMARC,/
;YES
NO
DOES YESDB RECOR 01ssidkVE
,'HOLDINGS
rDELETEDBRECORD
ir
CHANGE DBENCODINGLEVEL TO
YES DB YESrecord
R
REWRITEMODI FIEDDB RECORDON BIB FIL
0
DUPLICATEWARNINGMESSAGE
(C\
PROGRAM: MDBUPDV . 5
///ISTHERE A 90DB ECORD WITH
SAME 33 3 or3,1,1,1YES;
NO
DD HOLDING0 WEEKLYCORD
NO --
DELETE DBRECORD £SAVE OCLC#
IS THERE AN.AVAILABLE OCL
Len. ofweekly len. s.of DB
YES
I ADD WEEKLYRECORD INITHIS SLOT
ADD RECORDAT END
I
I
I
I
VI .1PROGRAM: MDBUPD
VI. SOFTWARE INTERFACE
A. LinkagE: - background linkage with OBM
B. Parameter List Description - none
C. Return Codes - none
D. Other Entry Points - none
E. OCLC Subroutines Referenced
CASEBCASBIMDBUPDLGOPENMARCREADMARCCLOSEMARCPACKUNPK$MBS$MBSSNDX123ADDMASTRADDMASTDELTMASTLCCN000 (Alternate EP,LCCN000T)INDEXER
PROGRAM: MDBUPD
VII .1
VII. DESCRIPTION OF SPECIAL STORAGE AREAS, SWITCHES, AND TABLES
A. Special StorageNone
B. Special SwitchesNone
C. Tables
ECV - This is a tabl,?. of sub-tables which will setup the table of parameters required for the program'CBIEB' which will convert binary data to EBCDIC.An example of an 'ECV' table would be:
ECV1 DATA 0
DATA,1 5,C",C'+',C'-'DATA 0
where the first word is the number to be converted;the second word contains the length in bytes to be
converted, a fill character (usually a blank), aplus sign and a minus sign; the third word has thebyte address of the area where the converted numberis to go.
PACK _ _The data statements PACK_ _ _ _ are usedto generate the parameter list needed for the OCLCsubroutine 'PACK' which is used to convert ASCIIfields to packed format. A sample statement would be:
PACK LCC# DATA BA(UNPLCCN) +3,8, BA(PLCCN) +3,0
The first word gives the address of the field to bepacked. The second word gives the number of bytesto be converted. The third word gives the byte ad-dress of where to put the packed field. The fourthword is where the condition of the conversion isnpassed.
CASBI3, CASBI4, CAAI5 -- These are data statementswhich are used to set UD the parameter list for theOCLC subroutine 'CASBI' which converts a field in
ASCII format to binary. A sample data statement wouldbe:
CASBI3 DATA 3,0,0
The first word gives the number of bytes to convert.The second word is used for the byte address of thefield to be converted. The third word is used toreturn the condition of the conversion.
PROGRAM: MDBUPD
DELTPARM, ADDPARM, RADDPARM, RESTPARM, These aredata statements which set up the parameter listsfor the OCLC subroutines DELTMAST, ADDMAST, and RADDMAST.A sample data statement would be:
DELTPARM DATA 0, DBBUF, MASTWORK, ATKEY+2, DBADDR
The first half-word is where the status is returned.The second word is the word address of the biblio-graphic record. The third word is the word addressof the work area. The fourth word is the wordaddress of the returned OCLC entry. The fifth wordis the word address of the index (for RADDMAST andDELTMAST only).
MSG TABLE - This is a table of partial text messagesfrom which a message will be built. A sample entrywould be:
MSG8 TEXTC 'FIELD TERMINATOR MISSING IN POSITION'
PRCS -This is a branch table of routines that are usedto check the tag fields for required data and to checkthat the subfields are correct and in the correct sequence.The index to this table is retrieved from the table 'PRC'.The calling sequence for this table is:
LB,R1 PRC,R6B PRCS,R1
where R6 has the field index obtained from the table'TAGS' for this field.
ERL - and ABL - These are tables of procedures thatset up theme's and the parameters for printing theerror messages. These tables are described morethoroughly in Section VIII, Part E with the descriptionof the procedures 'MSG', 'DEC', 'HEX', and 'MEND'.
SUL - This is a table of sub-tables which set up theparameters for printing the messages concerning theweekly tape totals. An example of a sub-table wouldbe:
SUL1 DEC ECV6MSG MSG42MEND
The procedure 'DEC' sets up the parameters for theconversion to EBCDIC. The procedure 'MSG' causesthe message to be copied. The procedure 'MENDlindi-cates the end of the parameter list. For a morethorough description of the procedures, refer toSection VIII, Part E.
VII.3 PROGRAM: MDBUPD
TAGS - This is a table of valid tag indicators. The pro-cedure 'DTAG' will cause these entries to expandto a table with 841 byte entries. The procedure'DTAG' is described more thoroughly in Section VIII,Part E. Each tag from 001 to 840 has a correspondingbyte entry which can be found by using the tag num-ber as an index. The byte entry in the table willbe used as an index for that field into all the othertables. This byte will be called the field index.If the corresponding byte is 0 when the table isindexed by a tag number, that tag is invalid. Apartial expansion of the table would be:
TO01
TO08
TO15
DATA,1 1
DATA,1 0
DATA,1 0
DATA,1 0
DATA,1 0
DATA,1 0
DATA,1 0
DATA,1 2
DATA,1 0
DATA,1 0
DATA,1 0
DATA,1 0
DATA,1 0
DATA,1 0
DATA,1 3
In other words, the first entry is a '1' (fieldindex for the 001 field); the eighth entry is a '2'(field index for the 008 field); the fifteenth entryis a '3' (field index for the 015 field), and so on.All other entries are '0' to indicate an invalid tag.This byte (the field index) is then stored at thebeginning of the field's entry in the directory.
STAGS- This is a table which contains the half-word binaryvalue of the tag value. This table is indexed by thefield index which was found from the table 'TAGS'.
MINL This is a byte table whose entries indicate the mini-mum byte length acceptable for each tagged field.This table is indexed by the field index for thisfield. The 001 and 008 fields are handled separately.
ma.- This is an indexable byte table of byte displacementsinto the 'NL'table. This table and the 'NL'table areused to verify and edit the first indicator for eachindividual field. The byte displacement into the'NL' table for a particular field is picked up fromthis table using R6, the field index. If the byte
I
1
PROGRAM: MDBUPDVII .4
displacement code for a field is 'FBL', the firstindicator should be a blank and a blank is loadedinto the record in the first indicator position.If the byte displacement code for a field is 'PBL'and the first indicator is a blank, it is replacedwith a blinking blank. The indicator for fields001 and 008 are handled separately.
IND2 This is an indexable byte table of byte displace-ments in the 'NL' table. This table and the 'NL'table are used to verify and edit the second indi-cator of each individual field. This table is setup the same as the table 'IND1'.
SFLD This is an indexable byte table of byte displace-ments into the table 'AL'. This table and the table'AL' are used to verify the subfield codes for eachindividual field. The byte displacement into thetable 'AL' for a particular field is picked up fromthis table using R6 the field index. The subfieldcodes for the 001 and 008 fields are handled separ-ately.
PRC This is an indexable byte table of word indexes--s- into the branch table 'PRCS'. This table and
the table 'PRCS' are used to verify and edit therequired data for each individual field. The wordindex into the table 'PRCS' for a particular fieldis picked up from this table using R6, the fieldindex. The data for the 001 and 008 fields arehandled separately.
MINCNT An indexable byte table whose entries indicate theminimum allowable times a tagged field may appearwithin each MARC record. This table is indexedby the field index obtained from the table 'TAGS'.
MAXCNT This is an indexable byte table whose entries indi-cate the maximum allowable times a tagged field mayappear within each MARC record. This table isindexed by the field index obtained from the table'TAGS'.
AL This is an indexable byte table of valid subfieldcodes that may be used for a particular field. Thistable contains 30 subtables, one of which is associatedwith each valid field. The first entry of each sub-
GROGRAM: MDBUPD
table i!; the number of byte entries for this subtable.The remaining entries are the valid subfield codes.The correct subtable is located by first retrievipgthe byte displacement from the table 'SFLD' for aparticular field. This is then used as an index topoint to the correct subtable in the table 'AL'. Theprogram 'NDX123' uses this subtable to verify thesubfield indicators. The table 'AL' is used withthe following sequence of instructions:
LB,R3 SFLD,R6 pick up the bytedisplacement usingtag as an indexpoint to theappropriate sub-table of subfield
AI,R3 AL codesBAL,R7 NDX123 go check for a
valid subfield code
where R6 equals the field index obtained from thetable 'TAGS' for this field.
NL This is an indexable byte table of valid indicatorsthat may be used for a particular field. This tablecontains 15 sub-tables, one of which is associatedwith each valid field. The first entry of each sub-table is the number of byte entries for this sub-table. The remaining entries are the valid indicators.The correct sub-table is located by first retrievingthe byte displacement from either the table 'IND1'or 'IND2' for a particular field. This is then usedas an index to point to the correct sub-table withinthe table 'NL'. The program 'NDX123' uses this sub-table to verify the indicators. The table 'NL'requires the following sequence of instructions:
LB,R3 IND1,R6 Pick up bytedisplacement usingtag as index
AI,R3 NL point to theappropriate sub-table of indicators
BAL,R7 NDX123 go check for avalid indicator
where R6 equals the field index obtained from the table'TAGS' for this field.
LNGLIST This is a word table of valid language codes. Thelanguage code from the MARC record is checked sequen-tially against the entries in this table until amatch is found. The index that was used to verify
PROGRAM: MDBUPD
tho MARC language code is then used in the OCLChibliographi record instead of the characters.The table is ordered so that the most frequentlyused language is found first.
CPLIST This is a half-word table of valid country of publi-cation codes. If the work was published in the UnitedStates, Canada, Russia, or the United Kingdom, thistable contains the mnemonic code for the state, pro-vince, or other subdivision. The country of publi-cation code from the MARC record is checked sequen-tially against the entries in this table until amatch is found., The index used to find the match isthen used in the OCLC bibliographic record insteadof the characters.
PROGRAM: MDBUPD
VIII APPENDIX
PROGRAM: MDBUPD
VIII.2
APPENDIX A
OPERATING REQUIREMENTS
1. Computer - Xerox Sigma 5
2. T/0 Devices - 2 9 track tape drives, line printer,card reader/punch
3. Operating System - OBM
4. Execution Time - depends upon number of records tobe added; approximately 45 minutesfor 3500 records.
5. Run Schedule - weekly
6. Job Control Language
!JOB ONLINE, MDBUPD!IMG002A El!RADEDIT:CLEAR D2:ALLOT (FILE, D2, RESULTS), (FSI,8950), (FOR,C)!ASSION (M:SO,CP), (TRIES,100)!MDBUPD!IMG002A M1!STD (LL,O)!RADEDIT:COPY (FILE,D2,RESULTS), ( OUT,LO), 'IFC:COPY (FILE, D2,RESULTS), (OUT,LO),VEC!STD (LL,LP)!STD (BI,TO), (B0,0)!COPY BI, 1000SFI TO, BACK!RADEDIT:COPY (FILE, D2, RESULTS), (OUT,TO)!WEC T0,2!UNL TO!JOB IDLE,!IMG002A CCR!FIN
PROGRAM: MDBUPDVIII.3
APPENDIX B
OPERATING CHARACTERISTICS
1. CONSOLE MESSAGES
! MES IF A MARC WEEKLY TAPE IS NOT TO BE ADDED!! PAU -- TO THE DATA BASE, THEN ABORT THIS JOB NOW.
RESPONSE: ACTION:
'X'
'C'
!! PAU -- READY CARD PUNCH *RESPONSE: 'C' - New Line
Abort the jobContinue to add the MARC tape
MOUNT OUTPUT ON 081RESPONSE: 1) Mount tape as directed -- ring in
2) 'C' - New Line
MOUNT WEEKLY ON 080RESPONSE: 1) Mount tape as directed -- no ring
2) 'C' - New Line
If a new deferred tape is to be started, set all SenseSwitches to '1' and the following message will appearon the console:
RESET SENSE SWITCHESBEGIN WAIT
RESPONSE: ACTION:
'X'
'NEW'
Abort the jobStart a new defdrred tape
DISMOUNT WEEKLY FROM 080RESPONSE: 1) Dismount tape as directed
2) 'C' - New Line
! MES -- MOUNT RESULTS TAPE ON TORESPONSE: 1) Mount tape as directed -- ring in
2) 'C' - New Line
! PAU -- VERIFY RESULTS TAPE MOUNTED ON TO, RING IN *RESPONSE: 'C' - New Line
! PAU -- DISMOUNT ALL TAPES *RESPONSE: 1) Dismount tapes as directed - remove the rings
2) 'C' - New Line
PROGRAM: MDBUPD
VIII.4
2. PROGRAMMED ABNORMAL COMPLETION- MDBUPD will terminate abnormally via a CAL1,9 3
instruction under the following conditions. The messageprinted out to signal the abort is included in each case.
MESSAGE REASON
'ERROR READING MASTERDATA BASE'
'ERROR REPLACING MASTERDB RECORD'
'ERROR DELETING MASTERDB RECORD'
'ERROR ADDING MASTERDB RECORD'
3. DIAGNOSTICS
MESSAGE
NON-NUMERIC X ' ' inPOSITION X '
LRECL ( ) DOES NOTEQUAL PRECL ( )
ILLEGAL CHARACTER X '
IN POSITION
BADDR INCORRECTLENGTH
FIELD TERMINATORMISSING IN POSITION
four possible reasons:1. Invalid logical file or
block no.2. Permanent I/O errorZ. Invalid Index4. End-of-file delimiter read
three possible reasons:1. OCLC index entry found
occupied2. Could not replace Bib. record3. Could not replace an index
three possible reasons:1. Invalid index2. Permanent I/O error3. End-of-file delimiter read
three possible reasons:1. OCLC index entry found occupied2. Could not add Bib. record3. Could not add an index
REASON
There was an error in convertingfrom ASCII to Binary
Record length does not equallength of actual data read
Three possible reasons:1. Illegal encoding level2. Bytes 18-23 of the MARC
leader are not all blankor of the form ' 4500'.
3. Bytes 6-11 of the MARC leaderare not of the form 'AM 22'
MODULO 12 of the Base addressdoes not equal 1
Field terminator is missing atthe end of the directory
VIII .5
MESSAGE
RECORD TERMINATOR MISSINGIN POSITION
ILLEGAL TAG IN POSITION
TOO MANY FIELDS
MASTER RECORD MISSING --CANNOT DELETE
MASTER RECORD PRESENT --CANNOT ADD
MASTER RECORD MISSING --STATUS CHANGED TO NEW
001 FIELD IS NOT FIRST
001 FIELD INCORRECT LENGTH
NON-MARC CHARACTERX ' ' IN POSITION( FIELD)
NON-NUMERIC IN LC CARDNUMBER
008 FIELD IS NOT SECOND
008 FIELD INCORRECT LENGTH
YRUUKAM: MDbUrD
REASON
Record terminator is missingat the end of the record
Two possible reasons:1. Tag is too big2. Tag is not in table of
legal tags
There are more than 50 fieldsin the record
Record status equals 'D'but there is not masterrecord to delete
This record is already onthe master data base file,log it as a duplicate
If the status of the recordis not 'N' and no existingrecord was found, the statusis changed to 'N'.
The 001 field must be thefirst field in the record
The 001 field must be atleast 13 bytes and notmore than 30 bytes
An Invalid character wasreturned when convertingfrom ASCII to EBCDIC
The LC card number mustbe all numeric
The 008 field must be thesecond field in the record
The 008 field must be 41bytes including the fieldterminator
VIII.6
MESSAGE
INVALID DATA INELEMENT ' ' OF008 FIELD
RECORD HAS FEWERTHAN 3 FIELDS
FIELD IS TOO SHORT
FIELD IS SHORTER THANEXPECTED
INVALID FIRST INDICATORX ' ' IN POSITION '
( FIELD)
INVALID SECOND INDICATORX ' IN POSITION '
( FIELD)
SUBFIELD DELIMITER IS NOTFIRST IN POSITION( FIELD)
FIELD TERMINATORMISSING IN POSITION
( FIELD)
ILLEGAL SUBFIELD CODEX ' IN POSITION_,..( FIELD)
FIELD OR REC.].) TERMINATOR END'D IN POSITION
BEFORE END OFFIELD
OBSOLETE. TAGCHANGED TO.
PROGRAM: MDBUPD
REASON
The 008 field of theMARC record containsinvalid data
Every record must haveat least 3 fields
Every field must beat least 5 bytes long
The field is shorterthan minimum lengthrequired for that field
The first indicatorfor this field is notone of the valid entriesin the table 'IND1'.
The second indicator forthis field is not oneof the valid entries inthe table 'IND2'.
Each data element ina field must begin witha subfield delimiter°C FO
If the field terminator(X 'FD') is missing, pro-vide one.
The subfield code isnot one of the validentries for this fieldin the table 'SFLD'
The field terminator(X 'FD') or the recordterminator (X 'IT')are encountered beforethe actual end of field
The 652 field is obso-lete and will be changedto a 651. The 750field is obsolete and willbe changed to a 710.
PROGRAM: MDBUPDVIII.7
MESSAGE REASON
$a SUBFIELD IS NCIFIRST IN__ FIELD
CONTENOF 050 FIELDCAN'T RE PARSED
ILLEGAL STATUS CHARACTERX ' ' CHANGED TO 'N'
ENCODING LEVEL CHANGEDTO 'E'
ENCODING LEVEL CHANGEDTO 'W'
FIELD OCCURSTIMES
4. Parameter Cards Required - none
5. Example of Output next page
The first subfield forevery field must be a$a subfield
The first indicator ofthe 050 (LC call number)field is not equal to'1' (the book is in LC),but the call number isnot valid.
The status of the MARCrecord is not one ofthe valid codes (D,N,C,P)so it is changed to 'N'.
The encoding levelchanged to 'E' on everyrecord that has an errorand is dumped to the'RESULTS' area.
The encoding level ischanged to 'W' on everyrecord that has a warn-ing message associatedwith it.
The field occurs lessthan the minimum or morethan the maximum numberof allowable times asindicated in the tables'MINCNT' and 'MAXCNT'
1 -- TAG
-2 -- LENGTH
-
3 -- RELATIVE POSITION OF FIELD IN RECORD
S -- FIELD
6 -- FIELD IN HEXADECIMAL FORMAT
7 -- ACTION TAKEN BY MDBUPD
--...7-ERRORS ENCOUNTERED IN RECORD
Ti1EvcIPP-2.5-,TEt7-.5t0:1RS
' TV1.5
LDR
2.
0101C37' Am
2200253- -45001
001
13
253
I72179320 I
008 --41---264 172071351971
9744r
298
110 EY; i
C15
14
30-TiAc71459Cil1
C20
15
321
f.Ar90275?:2?I
C3
21
336
IAr1.1.0..AELKSri1 --
C50
16
357 C IAA0447.A.055.1
-82 -
22 -
373 -
I.A759.2/074/09.1415 -l-
--
11C
39
395 101.A6E456!...RART GALLERY AND MUSE
-- ---------1.21---M4S.AT
245
120
434 10IASJWIARy CATALOGUE 4F BRITISIA 0
- --468
ILL 4411/4T1\361 .1To .142C$ IS INCL
500
I..."0 A SMALL GR0U4 ir M1SCELLANE
---532
I0JS r59E11s. 41CTL/46.1
245
120
554 101 AsjwAwv CATALOGUE 4F BPITIS.I 0
PT l'ILAIkTi\lglWrT74 A41-t7CTS ICL
'.2C
iu-r1
SALL G40uP IF mINCELLANE
-652 I5U5 F3RE13N PICTURES:1-i ----
- -
240
45
674 0 ItAILA5.59..A1ART GALLERY AND MUSE
708
r,-,c1971..1
30C
41
719
tAAP.123 P., 17 PLATE6..0/LLJS.AE
- -
------------753-1-2-* Cm.. 1-
35:
1:
7c:
isa*:.701
5::
Ei
773
iAC4vCq TITLE: ialT/S4 PA/1105
F.C4
I: SJ°*A4v CATAL50JEfl
65:
34
-ii
Liss;417155 EQ1715.siCATALOUS0*
67::
51,
F57
ci.4=ErTP.3, meCER%.Y197. CENTult,
----.53---liWIEAT etfT40..1
650
51
m13
0i.APA/ T1..3. m5CER%.Y20Tm CENTuser
544
IAZ:t4EAT =Q/U/%...f------------
45:
3.
9E1
CimAPAr.'1'7:5a/GLAS15.40CCATAL'aS*0
7o:
.2
995
11..L41T1S. PAI\TIN4S1 SwmmARY CAT
27.?9
IALflUE1
-
,-i...e,..,_,,,_ ,, 7, 1E'
C-
30313033376E61602020323230303230332020203444000
202020373231313,333230201E
Opp
37.423037313073313937312020202073746061662UNON02060KU20B0200D4041
313020056E6720201E
2023 1F614237312332353930381E
2020.1461303930323735323032321E
14r:1=5,1:117/:D1F61652,75402073141E
3020
22E4/35351E
2020 ir61.035.$92E322F3037i4ef30393431.0.33351E
I3130 1c61476C6173676F772E1F624122742u47614C6C6b7B7910616(64204DF07465
7560732E it
13130 1F615375606061727920636174616C6F677065206,64BORK7269146,73641[900
696C207:61e9Et74696t6773342077697468207746654368i649-73Bu6,64.646E
756465642061207360616E4E20677e6F7520246F4620606074636561.6E6x4E60
0757322666F726069676E20704963/4747B64732(11
i3130 1F615375606D617279d0636179616C6F677564206066t0427X69/4697364d064
6.54Ce07061696E74696E6773342077697,64207764696368106973d06964ASK
756445442041207340416C6C2067726F/57020606640806573646b6L4C616L6b
64)57320666F726569676E2070696374757X6473WE
IF61476C6173676F772C1F624172742047616C6C6?72792O4A4E64X240.Fa/.444
--79632C1463313937312E1E
I2020 146132iD3132332070dE3d20313720706C6174607.1dEgF6B696C6C/073eW63
J2352063602E16.
2020 1441551:2E37341E
I-- 2323 IF6143Ac/66572207469746C653A204e/26974.697.168e0FU6169604696c6//3
3A20737560636172792C636174616C6F67744b2E1L
1---203a 1,61506169.E7.696E67732c20427e69/.69746815 f8.1614:616Lbi67fidraL
12030 1F6150*1696E79494E672C209D4F4444,26E1F7931497464206.0644t74,0W9
147A4772646174204272697961696EZE1E
I
2030 icti8061696E74696E672C20406F6464,26E1E703[4WIANNA14404EJA/m7g#91_
1F4A477264617420427269746149612E1E
I203J 1F610061496E74696E67/31F74476C6173626F771F/8436174616C6p67/30.1t.
I
-2031-1461427269746973611207061496E7+4,6E67733420 /375606J4172,9204.161,4
416C6F6775652E10
7217952C Cr*.E.i.;
7217?-n7 A72EC
721E2.x ^"E:
72175446 A ^ME^
721797t4 A-1^E3
721797,17 ADDED
_7X1797/9
AuVED
7p178908 DEFFVRED
7210:1$9 A:41E0
721AJ203 AOC60
7[10U2W4 AUULP
7211iCh71 00-EC
72101194 AX:E0
72101203 ADOE3
7d1111214 *OULU
-----7216,1321-A7'EDTt
7[:01.22 :=P:i'hE":
72101664 A:DED
72181644 AJDED
72101696 AJDEO
7[1112661 AuDED
._
7211.2711 REDLACE1
70142704 411r:
7218278b ADDED
7212e815 40ueo
7e18e41611 *LW)
-
72152071-;ELACE'l
721itee72 A =riEC
22123013 ADDEO
721831E5 DEFERRED
72183117 AUDED
72143111 0.77,-:ES
.72103132 AInE0
72183134 A03ED.
7210i148 *Mrs)
72183377 Auvo______
_._
72143197 A"..r.:EC
721035.5 ADOEC
--
72103553 AOiED
72103069 ADOED
-
7[1849M6 AMMO
1
OWN 44141181
MOM MIMEO(
010V1a7ls 'MOW
dimmi-ummtat
01PWWW1 OtiE4tAL
0300w 692tit0i
pop, OOLVOTOt
MEM 5411929ECA
moviolm ovetirtot
_4031+I17330 c061GICIA
C300* L0r410i
A33v1dlt1 6616,10L
C300* 29114,10t
(110C, 29it,t0i
15iiii50 re9Zfitot----
03o457-
SIC
a v
evoilIp
03.1CY
Occv tttS,t3L
c3Q21,
01.1141111. Ette9tDi
____
olccv
03CC* gUL6I0t
033V163b
03GC, 16LISIOL_
_C33,10b
oaccv 1*66910L
533.141 ________L12'103t_ II I e9tOt
*26*910L
03c;:v 9SEE9ICL
9L6410i
03CCv 9:LESICL
ECSic1Ci
334:Zy LeiGICL
Sfio:SICL
;2bb3:3C t2P1St31
"3% ik_fattsEt: St1l15 _!,..0.1SS10_Cti22:
.2457m eki\terr
0300' ocspitOt
._
_
02Got -595;y2GL
Clp4,3.13C E615*Tr.4
03E0, 9662SICL
_ ____
_ _
C3tb1i10 E610**TOL
034..;* Em../ti
C3:CY CISZ*12i
03uCt liEt*IOL
OLC, 62401CL
L33*1elt *E2661:474
ClOre 26*/101
034r!t_t6EtE104
r33g1e.oh_...4E:Ci
____
,-.3:Cv SE/VEI:i
r3/4.143C GQ4cEICL
031,1elb E:0*COL
Ci-Z,IP LEi:EEICL
t72.,!3:::: li,.EE:Ci
ellnirlelh CL24Z10i
CILCv riLSZ10i
c31e1-'se qZ*1:1;:.!
LT;:y1.71t :CT2t:4
n33v13b 96EIptni
MCI 5u6S1IOL
C33r1=2e :5ENII:L
:::..:Y 66i*ItOL
n33viele 1CL9010t
03:.0* *CLSC1OL
2,1;.;* 0..:!:L
33,,;,. SSIECItL
01:v1o3b *Eaasnoi
033V10310 itniitiV;OL
(I:int.:13Z 9c1143:C4
L3311c3t .....194231
o022v1.1-0. 61L6ECOL
tINC* .2,96EC94
C3211cit 5LiCZCG___
_.43;.:7._/56iE0Ct
03Cd* 5006E00t
intlevi E09LE00L
3::::w *SCLECLL
Lle?CialiC E:5L2C0i
emelt iaimitnt
ellvIAV. PoTebTAL
atnov PIMP*Int
dinov tte/Etnt
011,041r fiEGGFUIL
__
evIv141.. tP262tni
011 lllll 64EtZtht
Alielv 64,601t0i
01110A1m umnni
ilviAlr Imimcnot
nilviAlm orrecnnt
___
__
_
.3. iL C3ls.v.3 13A2n c../c*0..3
011PPLikr9qi*4492/0L02391969E92L290469i4E4f9iiCE3Z
1543r'CAes 1v1343.0:3,10 tS
52
DVO
7tflZ0404,1C610601.49v1r16949C?E96909493,j9E95!.19.11
CE0?
le'SliiiAAhaLSP- 11,4;,(m....10 _i2e______wa_.;59
1I3P6L2Vettict,9296.tost CE02
sAl1S^GNIt13
;Ir.
vl
359
lt1parge6etrOaftet6rtit0232t1w19,902393969*LC9W91192at02604
1696t.0961 *Are Nci13^C.beLI
'it
6.*41490940949c4n21,202121/02A23.11W9E6FIE020F9E6E1E0232EtE961*at
1106..a.03 .2 A69Et.C961 5.111SI
ast
441,129,LO1021,195.2itarigi4919601239t9U4939;9L*02221CO232909S1
CZCE
IIiviS TrItiS^CI iv31Nzt
Av, 0 ilL
16
s:i
3t32R9E914691. i94402,934T902IVSEL69290345,19J1
CZC2
1.1%3!Is ci
v -Si-L-,.i.vis
va9
2C:i
312812tE126,6*SSWPIE/E1266021P2ECPa244
1,.4IpU3 ..7
%.1 ....R.G9______
npor*P324.44wreq*G32trie329*42q,0232tCO2229/02vC3219350-2W.93919
I 19.IIIAKIA/1 II A ;ii
5-1111
2,4
EcOma391r.,694.itar96929P94i0lOZEL19/969*ity3*02,5169146919662219.11
0202__
is N6/110/1i-e 5\t/At .7,3AIN,^r.1
toi
spe
cci
3ILV120OPZGS,ESJZ,5149SES.W.c
I.L/4t3S/IVISIII
E6S
.EcO/Adc*/194190004tE, *****LAMEL3,4969,4191,02949,L6919SSOS1441.0E2E
_ISAII4L13w134Kie4SN:10\ :;311priOz 6SS
6*
01*
213279409i022LS90L020E0E3Z0E1E*219A 0202
ilan tae 00014v.1
6ES
CZ
OU
311209E9026EZEt941229tC22t1941 0202
S
I 6/Az3A_!_ii_V__11_0:E
..___ _ _____
4t32tEL
i.tLI
:
igs10404T1REA21040imptitqlgOak929u49395094132292L06SOULS93*1921_020E
___1613SNOIlvx 031VI1iYbtlA
'3.781 0 ,b*
3132,9;9026E9E6E1E19A 0202
1.09 E961r1
IL,
:! OZ:
313259:41969*9__
131,1:1
*9*___
-_--
-3e*,[,024444"0-queici491969L8,90269490259E939T9E4Ei69492LE902193*
1NCw 21tasMoki., 30 33:orssUe;
v't
ZE+
001,4,8i.ittep.91900X*93921494/0R99.490at,,ittAlni902S9w++Sit41 +EU
4 AhiSMONd clz.C* _12 reAAD
3.1v
.0P-
a-A
5E__
_E1
...__
_V4
_______
312229E9614999
??!1:
I!
.0*(,P911A969,a/69*/te*LE92903Zfi391969.1T93*02490,,L69292S19.11
0E2E._11 1011SIA*AS6**S4: /Iv% ;;;
.0Z L
_ 1*
on
31SEEEEEI94I OZCZ
l/EEyel
E*E
9eez
3160,,E*
1.6,:i
Ste__
__
------4414.0g4/15007iiiiia40144E4iiiicOZZEtV3ZZ9ALELE6EIEIMV,I9.0
OZOE----livioiloaiji/i-vii/iS2*iLi6ixr*1 C ILE
2E
00
314;92L99[934691*01 we
1.3d5,,,1
01E
11
PO _
310202/9395902aVOE
1 $.\3 ;401
162
_OrprOr02020202r108020N00202giEL3902020202trit6ETEEL9EZEIEOEIELf_
1000_ t______.MA%
.1t6ts92e3ILI
_fise___I.,,
st0
llaticaisalaoateoesettacocomoveoa
Iaidll ECISLZCOt
11*2
Vi
ICC
otoccr*O20patE*EZEOE06ZE20202EI9t9142EsEllt0.0.1-__
..140S1___I*20022
wciairiool
0_*2
no,
101313 T*01 00E
NiiIAISCd NI .32.X bivOI3X1
ISLIALZ1VAN.1
t,,
3_
--1-01-.0- 117gAITE; RECORD 4169IN6
STATUS Cw4A0E0 TO NEW
73131646 3ErER4co"--
73142204 ADDED
-
71139110-R[604CM
73142500 ADDED
73140194 6EFER40-----
73144521 ADDED
73141388 REPLACED
73147322 REPLACED
73102117 4EPLAC80
71148780 ADDED
71149911 REPLACE-CI
73163322 401E0
---- 73172121
-----
3EPERMED--71174-182
73151676-ADDED
73145360 DETERRED
731330I3 ADDED
73169035 ADDED
73157167 AOUED
73170270 AWE0
71152616 AVOID
73170814 wOn4C60
ADDED
7311049 ADDEO
73181607 ADDEO
73182261 AUMU
73182742 ADDED
791P2978 ADDED
73483511 ADDED
73184972 ADDE1
7.11186p687 ADDED
73166662 ADDED
-73187231-A0'AD
73189542 ADDED
73189593 ADDED
74.19021U ADUEU
7319C60' ADDED
7319C639 4CDED
73263747 REIBLACED
73211019 REPLACED
73472104_0EPLACE0
73580447 REPLACED-.
-
-72609714 RERLACCO---7161010-WEPLACED
73610283 ADDED
71614131 ADDEO
7361471? RERLACL1
73(46221 ACDEC
71627213 Appfp
73630223 DELETED
74635010 ADDED
---73t3VeiVAtnE6 ---------73617259 AC.7.ED
73711T157177DOtto
7363/369 ADDED
716563is okftat.60
73655272 9EPLACE,_.
4A4.I\* "45TE: REC9R3 41551%0
STATUS C.W.SET TO %Ea
73'59546 3ErEIRED
73874057 REPLACED
73479455 2EALAcf0
73890207 ADDED
749263443 AWED
71943517-ADDED
-74C374-12-4EPLACE0-----741138033 ADDEO
74092108 OW14.4CE0
740911106 ADDEO
74C96m34 REPLACED
74106331 ADDED
REPLACED
74114965 REPLACED
741111997 ADDEO
7.1144%9 RE31.6EE1-
74119657 REPLACED
--
74121401 lREPLACED
74121946 DEFEW4ED
74126641 DEPEIMED
74127:46 401ED
7412915 RERLACED
74131004 401E0
74131761 ADDED
74136844 Ocipe480
741390:72 4E4LACEn
7414C375 ADDED
-74143872 REPLACED
74142503 AWED --------
7414/7111 'AIMED
74152,147 7E0LACE,
74153828 REPLACED
74154640 REPLACED
74156582 ADDED
4+.4.7\3 'AS'E
;.7.C5=, 'MINS
sTAT...5 C.,A\30 T5 'EA
7.156902 :Man
74157766 AC'ED
74158903 REPLACED
74161923 ADDED
74161526 AWED
76162632 Al):EC
74164661 ADDED ------7416491,
4iPLALED-----
74142746 4:DEC
-----
/4164:52 ADDEO
-
741659=7 AJCE:
74166536 47?E0
74167951 REPLACED
ADDEO
70169818 AUOtU
7417:-76 AnEc
74171699 455.EC
74172045 ADDED
_74169290
74172495 ADDED
741/4815 ADDED
7.175_36 ACCEC
74175930_4DtED____
REPLACED
74177633 RODEO
74176,448_4adED
741796:3 REDLACEn
.1 094: -1SS1'ft
STATUS
75
_74177452
'
-7415 MP DErT.Vittl-----74T82954
A7t,F.D
74161615 ADDEO
74113253 A00E6
74183880 ADDED
74186594 AC:EC
74147340 gOr'E0
74188111 800E0
74le9046 4J,JED
__
__7416,2b7 ADDEO
74189711 Al:E
741'9947 4::EC
74189971 ADDED
74261481 REPLACED
74670146 4EPLALED
74353670 -11=LACE1
-1551
7433414 :ErERRE1
5y4TA C-4 ,3E1 T!,
744CC24 OE=LAEE,
74446410 DEFERRED
74448443 REPLACED
7442358114EPLACLO
7.554374 AC3EC
74btr67 4E01.4CE/-
74607406 REPLACE,
-
746C1413 REPLACED
---
74614148 gtPLAGLo
74616255 A.1,E0
74A96254 AP720
7,913041 RERLACEJ
74924132 ADDED
MAIM REPLACED
75:12742 REPLACE`
75:27b46 REPLACED
75:37039 4ERLACE0
75038158 ADDED
75u38470 w6PLALED
75014b68 REALACLD
75:36821 RERLACEJ
m77316 REPLACED
75094751 REPLACED
75116682 mirLALAU
ERA.R
01FLC TER-PAT64 41551%3
1% P95I111N%
161
=ECeR!:
.1F,JECTE7
75121376 RE'LAcEa
75123851 DEFERRED
75128831 REPLACED
70138418 NEPLAGED____
75140675 RSPLAC60
75:43511 REPLACED
75147222 REPLACED
75147451 LLLLL CLO
76142676 q&PLAGEO
7515:774 CCFERRE1
75154923 ADDEO
ASTER RECORD 15110 . STATUS CPA\SED TO NEw
----79S7IW-krOLACEn
7961479 ADDED
7963705 ADDED-
---
.44.V3 'ASTER REC!40 1551\6
75
33l-RERLACED
7961C141 REPLACED
79616362 AD9ED
79629003 REPLACED
- 79650359 REPLACE, -----7,P62523REPLACEO
STATJS-COANISEO T8-\E4-
---792171177-7E7s,E7
--751T7T5O-WEN.ACEJ
799177WW
5ED
..ACTS; .7.:C =3 0*ES::\T
CASA:Y ADD
A3-68CC:222 ZEFER4S:
79611446 REPLACLU
79632745 ADDEO
79868520 REPLACED
79611765 AWED
79639660 ADDEO
ccF
72256'.7.11
C:1053!*"37:/1b5 5S
-'AsE.
:=!".LvE
T4Ft.
1314 ;.E.C:4:;;
33k-14.C:IRr:S 41PLACLD
4 7E.C4a1S ;Et-ETV
--
2EC".!Rn
';=:$E;a1.^
"\E
- ''AST
E4
CT
;4L41522
41h527
MDBUPD FINAL STATISTICS
PROGRAM: MDBUPDVIII.12
APPENDIX C
DETAILED DESCRIPTION OF INTERNAL
SUBROUTINES
VIII.13
:CBS1234
PROGRAM: MDBUPD
This routine is used to compare bytes for equal. Uponentry to this routine, R1 has the number of bytes to be checked,R2 has the byte address of the record, R3 has the byte address
of the field to be checked. R7 is the link register. At exit,
R2 is pointing to the next byte of the record. If the two fields
are equal, the condition is set to zero.
DUMPLNThis routine is used to translate a field to EBCDIC and
hexadecimal and move it to output buffers. The output buffer for
the EBCDIC translation is called 'TXTFLD'; for the hexadecimaltranslation, it is called 'HEXFLD'. The characters are converted
and moved 32 bytes at a time. The link register is R9. Upon entry,
R2 has the byte address of the field to be translated, and R3 has
the length of the field.
SEARCHERThis routine is used to check the access keys for a particular
MARC record against the existing access keys for the other bibli-
ographic records. Before branching to this routine, an FPT is set
up in the following manner:
SCHFPT DATA 0,0,0, SCHWORK,OCL NUMBER
Where the first word is for the completion status and functioncode; the second word is the logical file number; the third word iseither the title key or the author-title key; the fourth word is the
word address of the work area; the fifth word is the OCLC number.The link register to this routine is R5. A description of the
processes of this routine are given in Section IV - - FUNCTIONS.
DEFERThis routine well cause a troublesome record to be copied onto
the deferred tape. The routine picks up the beginning address of the
record from the location 'RECORG' and picks up the record length from
the location 'RECLN'. The routine then sets up a 'copy' FPT and
issues the copy command.
FLDERRThis routine causes the error message to be logged. R9 is the
link register to this routine. R8 has the address of the errormessage to be used. This routine sets up the required parametersand links to the external sub-routine,'LOGERR'.
FLDWARThis routine causes the warning messages to be logged. R9 is
the link register to this routine. R8 is set with the address of thewarning message to be used. This routine sets up the requiredparameters and links to the external sub-routine, 'LOGWAR'.
ADDITIONAL SUBROUTINE DOCUMENTATION
rpummnimi.11
VIII.15
I. FUNCTIONS
PROGRAM- MDBUPDSUBROUTINE: CASEB
The Pxternal subroutine 'CASEB' is used to convertASCII data to EBCDIC. The address of the parameters ,seededfor this subroutine is passed in R8.
PROGRAM: MDBUPDVIII.16 SUBROUTINE: CASEB
II. SOFTWARE INTERFACE
A. Linkage
LI,R8 CASEBFBAL,R7 CASEB
B. Parameter List Description
CASEBF RES 1 number of bytes to be convertedRES 1 beginning address of dataRES 1 beginning address of storage areaRES 1 completion status
C. Return Codes
The status of the convert operation is returned inthe fourth word of the parameter list.
STATUS = X'80000000' - Normal completion; all characterswere legal
= X'CO010000' - Abnormal completion
D. Other Entry Points - none
E. OCLC Subroutines Referenced - none
F. OCLC Procedures Referenced - none
III. DESCRIPTION OF SPECIAL STORAGE AREAS, SWITCHES, AND TABLES
ASEBTBL
The conversion from ASCII to EBCDIC is accomplished withthis one large table. Using the ASCII value of the characteras an index, the corresponding EBCDIC value is retrievedfrom this table. If the corresponding table entry is a '0',the character is considered illegal.
I. FUNCTIONS
VIII.17 PROGRAM: MDBUPDSUBROUTINE: CASBI
The external subroutine CASBI is used to convertnumeric data which is in ASCII format to Binary format.The ASCII character is first checked to be numeric (betweenthe limits of X'30' and X'39'), and is then converted tobinary.
VIII.18 PROGRAM: MDBUPDSUBROUTINE: CASBI
II. SOFTWARE INTERFACE
A. Linkage
LI,R8 CASBISBAL,R7 CASBI
B. Parameter List Description
The address of the three word parameter list is passedto this subroutine in R8.
RES 1 number of bytes to be convertedRES 1 beginning address of field to be convertedRES 1 completion status
C. Return Codes
The status of the convert operation is returned inthe third word of the parameter list.
STATUS = X'80000000' Normal completion= X'CO010000' Abnormal completion; character
to be converted is not numeric
D. Other Entry Points
CEBBI - This entry point converts numeric data inEBCDIC format to Binary format.
E. OCLC Subroutines Referenced - none
F. OCLC Procedures Referenced - none
PROGRAM: MDBUPDVIII.19 SUBROUTINE: MDBUPDLG
T. FUNCTTONS
The external subroutine 'MDRUPDLG' is used as thelogging routine for the program MDBUPD only. MDBUPDLb is aprogram of subroutines (3,3 follows:
Name of subroutine Function
LOGMSG
LOGTEXTLOGERR
LOGWAR
LOGADD
LOGREP
LOGDEL
LOGREJ
LOGIGN
LOGPAGF
LOGDEF
LOGDUMP
LOGPUNCH
type and log atext message.log a text messagelog a message with thepreface 'ERROR'log a message with thepreface 'WARNING'log the LC card numberand the word 'ADDED'log the LC card numberand the word 'REPLACED'log the LC card numberand the word 'DELETED'log the LC card numberand the word 'REJECTED'log the LC card numberand the word 'IGNORED'write the previous lineand supply the formatcontrol character toeject the pagelog the LC card numberand the word 'DEFERRED'log the message to belisted on the DO device(teletype)log the message to belisted on the SO device(card punch)
MDBUPDLG begins with an indexable branch table which branchesto one of these routines. When a message is 'hogged', it is writtenon the RAD area assigned by MDBUPD. The RAD file will later beused to print copies of the messages on the appropriate devices.
.1,
PROGRAM: MDBUPDSUBROUTINE: MDBUPDLG
VII1.20
U. SOFTWARE INTERFACE
A. Linkav
LOGTEXT EQU MDBUPDLG + 1
LI,R8 MSGNPARNSBAL,R7 LOGTEXT
B. Parameter List DescriptionR8 is set up with the address of the parameter listrequired to format the message. Each parameter list
must bp it. least two words long. Every word exceptthe last word is of the format:
GEN, 8, 24 FC,BA (message)
rc. Function Code Purpose
1 single message is to be logged
2 message is to be converted tohexadecimal before being logged
3 message is to be converted toEBCDIC before being logged
The last word of the parameter list must be a '0'
to indicate to MDBUPDLG that the end of the parameter
list has Teen reached. For additional documentation andexamples, see the APPENDIX, Section E, under the pro-cedure description for 'MSG'.
C. Return CodesNo completion cod's are set. The return is made
hack to the calling program through R7.
D. Other Entry PointsNone
E. OCLC Subroutines ReferencedSMBS - - Move Byte String(described on page V111.28)
CBILB - - Convert Binary to EBCDIC(described on page VIII.49)
F. OCLC Procedures ReferencedMono
+y-
VIII.21PROGRAM: MDBUPD
SUBROUTINE: MDBUPDLG
III. DESCRIPTION OF SPECIAL STORAGE AREAS, SWITCHES, AND TABLES
Upon entry to MDBUPDLG, there is an indexable branchtable of routines. This table effectively produces the sameresult as having separate entry points. A branch is takenfrom this table to the appropriate routine.
IV. INTERNAL SUBROUTINE DESCRIPTION
CBIHE12 - - This routine converts one byte in binary formatto 2 digits in hexadecimal format. The link register to thi3routine is R7.
PURGLINE -This routine is used to test the status of the buffer,print the previous line if there is one, clear out the lineimage and re-set the buffer status. A buffer status of '-1'indicates that the buffer is ready to go. A status of 131indicates that the buffer is empty. A buffer status of anythingelse will cause the previous line to be written. The linkregister to this routine is R5.
1. FUNCTTOW;
VII1.22
PROGRAM: MDBUPDSUBROUTINE; OPENMARC
Tilt: external subroutines OPENMARC, CLOSE MARC, andKrAnmAkc aro used to perform the MARC tape input operation.
Tho external subroutine OPEN MARC sets up the parametersneeded for the subroutine TAPEIO (described on page VIII.53)
TAPIT0 performs the operation of reading the MARC tapeinput.
OPENMARC sets up the two function parameter tables (FPT's)needed to perform this read operation. The first FPT is forthe read operation itself; the second FPT is used to sense the.device status. OPENMARC also sets up R1 with the address ofa work area and R8 with the address of the parameters neededfor TAPEIO.
At its alternate entry point, READMARC, OPENMARC actuallyreads the record by means of the subroutine TAPEIO. READMARCexits with the length of the record in R1 and the byte addressof the record in R2. The return to the calling program ismade either 0,1,2,or 3 instructions past the calling instructiondepending upon whether the record read was a header label, aMARC record, a trailer label, orthe end of a particular file,respectively.
At its alternate entry point, CLOSEMARC, OPENMARC setsup the tape for the next record. If there was an end of file,the tape is unloaded, otherwise CLOSEMARC causes TAPEIO toback space over the last record read.
VIII.23
PROGRAM: MDBUPDSUBROUTINE: OPENMARC
TI. SOFTWARE INTERFACE
A. Linkage
The cAlling sequence for OPENMARC is as follows:
LI,R8 X'80' device address needed for the FPT's
BAL,R7 OPENMARC
B. Parameter List Description
None
C. Return Codes
None
D. Other Entry Points
READMARCCLOSEMARC
E. OCLC Subroutines Referenced
TAPEIO (Page VIII.53)
F. OCLC Procedures Referenced
None
Ar.
PROGRAM: MDBUPDVIII.24 SUBROUTINE: READMARC
II. SOFTWARE INTERFACE
A. LinkageThe calling sequence for READMARC is as follows:
BAL, R7 READMARCB File 1 header labelB File 2 dataB File 3 trailer labelRal,R7 CLOSEMARC done with that EOF
B. Parameter List Description
None
C. Return Codes
None
D. Other Entry Points
None
E. OCLC Subroutines Referenced
LOGMSG (page VIII.19)LOGWAR (page VIII.19)
F. OCLC Procedures Referenced
None
rt.
PROGRAM: MDBOPOVIII.25 SUBROUTINE; CLOSEMARC
II. SOFTWARE INTERFACE
A. Linkage
BAL,R7 CLOSEMARC
B. Parameter List Description
None
C. Return Codes
None
D. Other Entry Points
None
E. OCLC Subroutines Referenced
TAPEIO (page VIII.53)
F. OCLC Procedures Referenced
None
PROGRAM: MDBUPDVIII.26 SUBROUTINE: PACK, UNPK
I. FUNCTIONS
These external subroutines are used to Pack and Unpacknumeric data. The characters are first checked to be numericand are then either packed or unpacked depending on theentry point.
VIII.27PROGRAM: MDBUPD
SUBROUTINE: PACK, Ur 7::
II. SOFTWARE INTERFACE
A. Linkage
LI,R8 PACKPARMBAL,R7 PACK
B. Parameter List Description
The address of the 4-word parameter list is passedto these routines in R8.
RES 1 byte address of field to be packedRES 1 number of bytes to convertRES 1 byte address of storage areaRES 1 completion status
C. Return Codes
The status of the conversion is returned in thefourth word of the parameter list
STATUS = X'80000000' Normal completion= X'CO010000' - Abnormal completion; character
to be converted is non-numeric
D. Other Entry Points
UNPK - - This entry point is used to unpack data.The parameter list is the same as for PACK.The return code for a normal completion isthe same. There is no abnormal completion.
E. OCLC Subroutines Referenced
NDX123 - This routine is used to check for validnumeric characters for the PACK routine.NDX123 is described more thoroughly onpage .
F. OCLC Procedures Referenced - none
III. DESCRIPTION OF SPECIAL STORAGE AREAS, SWITCHES, AND TABLES
PTBL - This is a table of valid numeric characters for thePACK routine.
1
VIII.28
I. FUNCTIONS
This external subroutineIf the address of the fieldthe location for the outputare adjusted to compensate.15 bytes.
PROGRAM: MDBUPDSUBROUTINE: $MBS
is used to move byte strings.to be copied and the address ofare not both word aligned, they$MBSS is used to move less than
VIII.29
II. SOFTWARE INTERFACE
A. Linkage
BAL,R7 $MBS
B. Parameter List Description
PROGRAM: MDBUPDSUBROUTINE: $MBS
Enter with the number of bytes to be moved in Rl.The beginning byte address of the field must be R2The byte address of the location whE ,e the field ! tobe moved must be in R3.
C. Return Codes
The return is made back to the calling programthrough R7 with no completion status posted.
D. Other Entry Points
$MBSS - This entry point is used when 14 bytes or lessare 4,, be moved. There is no check for the word align-ment cf the addresses.
E. OCLC Subroutines Referenced - none
F. OCLC Procedures Referenced - none
I. FUNCTIONS
PROGRAM: NDBUPDVIII.30 SUBROUTINE. NDX123
This external subroutine is used to search for aparticular character (byte) in a list. The search isperformed form the end of the list and the index usedto find the character is returned to the calling program.
II. SOFTWARE INTERFACE
VIIT.31
A. LinkageBAL,R7 NDX123
B. Parameter List Description
PROGRAM: MDBUFDSUBROUTINE: NDX123
Enter with the byte to be searched for in R2 andthe byte address of a list in R3. The first entry ofthe list must be the number of entries in the list.
C. Return Code
There are no completion codes returned to the pro-gram. Return to the calling program is made throughR7. The index used to find the character in the listis returned in Rl. R1 is '0' if the character was notfound. The search is performed from right to left.
D. Other Entry Points - none
E. OCLC Subroutines Referenced - none
F. OCLC Procedures Referenced - none
41.
VIII.32
I. FUNCTIONS
PROGRAM: MDBUPDSUBROUTINE: ADDMAST
The external subroutine'ADDMAST' is used to addand delete records from the master data base. If theOCLC file entry is nor occupied, the search keysare extracted for this record and the indexes areadded to the index file. The record is also added tothe data base.
If the OCLC file entry is occupied, a check is madeto determine if the subroutine 'DELTMAST' had beencalled. 'DELTMAST' is another entry point to the sub-routine 'ADDMAST'. If the OCLC file entry is occupiedand 'DELTMAST' is not called, this constitutes an errorand the OCLC file entry is returned and nothing is added.
Another entry point to 'ADDMAST' is 'RADDMAST' whichwill re-add a bibliographic record and its indexes.
II. SOFTWARE INTERFACE
A. Linkage
LI,R8BAL,R7
VIII.33
ADDPARMADDMAST
B. Parameter List Description
PROGRAM: MDBUPDSUBROUTINE: ADDMAST
RES 1 completion statusRES 1 word address of the bibliographic recordRES 1 WA (WORKAREA)RES 1 word address of OCLC file entry and indexesRES 1 WA(index)
Where WORKAREA is a 312 word double word alingedworkarea. The workarea is 313 words if it is not doubleword aligned. The fifth word is used only for DELTMASTand RADDMAST.
C. Return Codes
The status of the addition operation is returned inthe first half-word of the parameter list.
STATUS = X'8000' - Normal completion= X'C000' - Abnormal completion; OCJC index
found occupied, nothing has beenadded to the data base
= X'COO1' - Abnormal completion; could notadd the Bib. record, no indexwere added to The data base
= X'COO1' + INDEX FILE NO. --Abnormal completion; could notadd an index, the Bib. record and/orother indexes were added
D. Other Entry Points
DELTMAST -
RADDMAST -
This entry point, is used to delete arecord and its indexes.
This entry point is used to re-add a recordand its indexes.
E. OCLC Subroutines Referenced
INDEXER - This external subroutine (described morefully. elsewhere in this section) is used toset up the access keys for a paricular record.
F. OCLC Procedures Referenced - rime
PROGRAM: MDBUPDSUBROUTINE: LCCN000
VIII.34
FUNCTIONS
LCN000 breaks a call number into comi,oncnts to aid inthe formatting of the call number. A code set at the entrypoint determines the type of call number which has beeninput. At LCCN000, the code is set to ,,ero; at LCCN000B,the code is set to four; at LCCN000D, the code is setto two; and at LCCN000T, the code is set to one. Uponentry to either LCCN000, LCCM000B, LCCNGOOD, or LCCN000T,R8 points to a parameter list which contains the byte addressof the input call number. The second word of the parameterlist is the byte address of a work area.
LCCN000 scans and interrogates the call number using aset of internal procedures. The components to be brokendown by LCCN000 are as follows:
0 - A string of alphas, followed by a blank, which precedesthe rest of the call number.
1 - Alpha portion of the Library of Congress class number.2 - Numeric portion of the Library of Congress class number.3 - Decimal portion of the Library of Congress class number.4 - Date type element that precedes the first Cutter. In
reality this is any field preceded by d blank whichprecedes the first Cutter.
5 - First Cutter. It must begin with a decimal followedby an alpha string and a numeric string.
6 - Date type element that precedes the second Cutter. Inreality this is any field preceded by a blank whichprecedes the second Cutter.
7 - Second Cutter. It is preceded by a decimal if component6 is present; otherwise it immediately follows the firstCutter. The second Cutter is a numeric string followedby an alpha string.
8-254 These components are variable in format. Bit 7 ofthe component number set to 1 indicates an elementfollowed by a comma.
Component 255 always marks the end of the call number inthe work area.
When an error is encountered in the format of the callnumber, the condition code is set and control is returnedto CNVT.
As each component of the call nu mber is found, it isstored in the workarea preceded by its component number.lA'en the end of the call number field is encountered, if allrequired components are present, control is returned normally.
PRoCiAM: MDBUPDr,U1";PoUTINE: LCCN000
VIII.35
SOFTWARE INTERFACE
A. LINKAGE
LI,R8 LCCNPARMBAL,R7 LCCN000 (or LCCN000I3, LccNOOOD, or LCCNOOOT)
B. PARAMETER LIST DESCRIPTION
LCCNPARM DATA BA(050 EFELD) or 000 FIELD TrPRInNT
DATA BA(WORKAREA) AREA MICRE FORMATTEDCALL NO. WILL IT RETURNED
C. RETURN CODES
LCCN000, LCCN000B, LCCNOOOD, 1 LcoNonoT :;(1. the condition code
as follows:
CC1 - 4 = 0 NORMAL RETURNCC3 = 1 DEFAULT TO UNIT CARDCC4 = 1 BREAKDOWN WAS UW;UCCESSFUL
D. OTHER ENTRY POINTS
LCCN000BLCCNOOODLCCN000T
E. OCLC SUBROUTINES REFERENCED - none
F. OCLC PROCEDURES REFERENCED -
NEXTBACKSPANPOWERANYSAVEMARKOPTALPHANUMERPOINTBLANKTERMNCOMMABREAK
Different name values for thesame procedure
PROCEDURE DESCRIPTION
PURPOSE:
FORMAT:
EXAMPLE:+
i
PROGRAM: MDBUPDSUBROUTINE: LCCN000
VIII.36PROCEDURE: NEXT
NEXT generates a BAL,R7 :NXT where: NXT is an
internal subroutine of LCCNO00
NEXT No, operands are required
NEXTBAL,R7 :NXT
PKOCRAN: MDBUPDSUBROUTINE: LCCNO00PROCEDURE: BACK
VIII.37
PROCEDURE DESCRIPTION
PURPOSE: BACK sets up a parameter value and provides a
link via R7 to the internal subroutine :BCK.
If the value of. AF(1) is less than two, a BAL,R7
:BCK-1 is generated. If AF(1) is loaded into
R14 and a BAL,R7 :BCK is generated.
FORMAT: BACK AF(1)
EXAMPLE 1:
Back up one character.
BACK AL WHERE AL=1
BAL,R7 :BCK+1
EXAMPLE 2:Back up four characters
BACK POLI,R14 4
BAL,R7 :BCK
where P0=4
VIII.38
PROCEDURE DESCRIPTION
PRCWRAM: MDBUBDSUbROUTTNE: LCCN000PROCEDURE: SPAN
PURPOSE: SPAN sets up a parameter value and links tointernal subroutine :PWR-1 via RV. R14 isloaded with the argument field. its range ofvalues is the table CHARVAL.
FORMAT: SPAN AF(1)
EXAMPLE: Scan to the next non-numeric character.
SPAN NU
LI,14 2
BAL,R7 :PWR -1
1
where NU = char value for anumeric in CHARVAL
SUJiRuUVI:d.: LCCNO00PROCEDUIJ:: POWER
VIII.39
PROCEDURE DESCRIPTION
PURPOSE: POWER sets up a counter in R) 3 from AF(2) and
a value in R14 from AF(1) ; then to the internal
subroutine :PWR. On return from :PWR, an unconditional
branch is taken. The effective address of the branch is
determined by the value of A1'( 3) and AF(5). If AF( 3) =1
and AF(5) =0 a B $+2 is generated. If LF(3) =0 and AF(5) =1,
three instructions are generated:
B $+2B $+3BAL,R7 :RST
If AF(5) =1 an unconditional branch to AF(4) is generated.
FORMAT: POWER AF(1),AF(2),AF(3),AF(4),AF(5)
EXAMPLE: Scan to see if there is a blank in the next 4
characters. If so, branch to T4. If not, restore R1
and branch to T4.
POWER BL,PO,NO,T4+ LI,R13 4
+ LI,R14 8
+ BAL,R7 :PWR+ B $+2+ B $+3+ BAL,R7 :RST+ B T4
EXAMPLE 2: Scan to see if there is a blank in the next
four characters. If not, skip the branch to T4 and continue
with the next sequential instruction. If so, branch
to T4.
POWER BLP,YES,T4+ LI,R13 4
+ LI,R14 8
+ BAL,R7 :PWR+ B $+2
+ B T4
VIII.40
PROCEDURE DESCRIPTION
PRuGRAM: MDBUPDSUBROUTINE: LCCN000PROCEDURE: ANY
PURPOSE: ANY compares the character value which is in R15to a table value or a combination of table values [ATM,.
The succeeding branch instructions are generaled on thebasis of AF(2) which has the value 0 or 1 and the presenceor absence of AF(4). The effective address of the branchinstruction is AF(3).
FORMAT: ANY AF(1), AF(2), AF(3) , AF(4)
EXAMPLE: Is next character a period or a blank:ANY PO/BL,NO,ABT
+ CI,15 12+ BAZ ABT
where PO =BL = 8NO = 1
Is the value in R15 4 or 8? If neither, branch to ABT,otherwise fall through to the next sequential instruction.
VIII.41
"°".An: MDBUPnSUM:OUT1::E: LeCNO00PROCEDUR1:: SAVE
PROCEDURE DESCRIPTION
PURPOSE: SAVE generates a STW,1 :SAVE instruction to savethe pointer to the current location in the TEMP area.
FORMAT: SAVE
EXAMPLE: SAVE+ STW,R1 :SAVE
1
PR°(:NA: MDRUPDSUBROIIMIfl: LCCNO00
VIII.42 PROCEDURL:: MARK
PROCEDURE DESCRIPTION
PURPOSE: MARK sets up the component number and links to the
r,atine :MRK which will move the component to
WORKAREA.
FORMAT: MARK AF(1)
EXAMPLE: MARK 1
+ LI,14 1
+ BAL,R7 :MRK
Mark component #1 and move it to the WORKAREA
PKO ',/,;I: MDBUPD
SUfl,,r,'1N1:: 1 oCW100
. VTII.43 PRUCLI)U1:: OPT
PROCEDURE DESCRIPTION
PURPOSE: OPT interrogates the nevi !:,equenli,11 character
value. If it is not equal to AM) a branchis taken to $4-2. If the character value isequal to AF(1), a 13AL,R7 :NXT i. 1,,,I:en.
FORMAT: OPT AF(1)
EXAMPLE: Is the next character a blank. If no, look atfollowing character.
OPT BL+ CI,15 8
+ BAZ $+2
+ BAL,R7 :NXT
1
SU6XOUiJC: LCCNO00PROCEDUU: ALPHA
VI11.44
PROCEDURE DESCRIPTION
PURPOSE: ALPHA compares the character value in R15 toits nam,2 value shifted left one position (1**NAME).The shifted name value equals the alpha charactervalue from the table CIJARVAL. The conditions ofthe succeeding branch instruction are generateddepending on the value of AF(1) which may be 0 or 1and the presence pr absence of AF(3). If AF(3) isabsent, the effective address of the branch is AF(2).If the branch is not taken, the next sequentialinstruction is executed. If AF(3) is present theeffective address of the generated branch is $ +3.If the branch is not taken, the next instruction isa BAL,R7 :RST followed by an unconditional branchto AF(2).
There are five alternate names that may be usedto invoke this procedure.
NUMER - its name value equals the numeric charactervalue
POINT - its name value equals the character valuefor a period
BLANK - its name value equals the character valuefor e blank
TERMN - its name value equals the character valuefor a field delimiter
COMMA - its name value equals the character valuefor a comma
Thee procedures ar^ used to interrogate the valueof a character.
FORMAT: ALPHA AF(i), AF(2), AF(3)
EXAMPLE 1: Is the character in question numeric. If not,declare an error.
NUMER NO,ABT+ CI,15 2
+ BAZ ABT
where no = 0
EXAMPLE 2: Is the character alpha. If it is skip around;if not restore R1 to previous character and branchto T8
ALPHA NO,T8,RESTCI,15 1
BANZ $+3BAL,7 :RST
T8
where no = 0 and REST = 1
VIII.45
PROCEDURE DESCRIPTION
PURPOSE:
PROGKAM: MDBUPDSUBRWITINE: LCCN000PROCEDURE: BREAK
BREAK sets up a parameter value and links to the internalsubroutine, :BRK. R14 is loaded with AF(1). Its range ofvalues is equal to the range of values in the table CHARVAL.
FORMAT: BREAK AF(l)
EXAMPLE:
Scan to find the next numeric character.
BREAK NU where NU = CHAR. valuefor a numeric is CHAFVAL
+ LI,14 2
+ BAL,R7 :BRK
I
VIII.46
I. FUNCTIONS
PROGRAM: MDBUPDSUBROUTINE: INDEXER
The external subroutine 'INDEXER' scane the given biblio-graphic record. It returns a 6 - byte (left - justified) author-title access key in the third and fourth words of the workareawhich is pt.:vided by the calling program. It also returnsa 6 - byte (left-justified) title-only access key in thefirst and second words of the workar..:a. It also returnsthe 8 byte OCLC semi-packed representation of the first12 characters of the LC card number in the fifth and sixthwords of the work area.
INDEXER also prepares and stores three pointers at worddisplacements 10,11, and 12 in the OCLC bibliographic record(see Bibliographic record format - page 14). The content ofthese pointers is as follows:
1. First Pointer --Bits 0 - 1S: Byte length of first part of theauthor string (1XX field).Bits 16 31: Byte displacement to the firstauthor substring from the end of the leader.
2. Second Pointer --Bits 0 - 15: Byte length of the second part of theauthor string .
Bits 16 - 31: Byte displacement to the second author,string from the end of the leader.
3. Third Pointer --Bits 0 - 15: Byte length of the title (245 field)string.Bits. 16 - 31: Byte displacement to tht first characterof the title string from the end of the leader.
I
VIII .47
II. SOFTWARE INTERFACE
A. LinkageLI,R6 XRPAPMSBAL,R7 INDEXER
B. Parameter List Description
PROGRAM: MDBUPDSUBROUTINE: INDEXER
RES 1 word address of thecell containing the wordaddress of the record
RES 1 WA(WORKAREA)
where WORKAREA is 14 words and Louble word aligned.The work area is set up as follow:
WKAREA RES 0
3111 RES 2 title access keyreturned here
33KEY RES 2 author/title accesskey returned here
LCCARONO RES 2 LC card numberreturned here
SCRATCH RES 8 scratch area
C. Return Codes
If the title cannot be parsed, is missing, or appearsafter the 260 field, the title portion of the author/title key will be 3 blanks, and the title only 'keywill be 6 blanks. There is no returned status.
D. Other Entry Points
PULLKEYS - This entry is used when the access keysare to be set up and returned but the pointers arenot to be prepared or motored.
E. OCLC Subroutines ReferencedNone
F. OCLC Procedures ReferencedNone
PROGRAM: MDBUPDVIII.48 SUBROUTINE: INDEXER
III. DESCRIPTION OF SPECIAL STORAGE AREAS, SWITCHES,AND TABLES
A. Special SwitchesNone
B. Special Storage AreasNone
C. Special Tables
ALLOWED -- This is a byte table of charactersvalues that are -ermitted in the keys. If
the byte is a u.', it'is an allowed character.The table is indexed by the character itself.
....,11,................
. VIII.49
PROGNAN: MDBUPDSUBEOUTME: CRiEB
F:NCTIONS
CBIEB converts variable-length binary fields to EBCDIC.
he user specifies what sign is to be given to the result
and whatfill character is to be used in padding; the field.
Errorconditions are encountered when thcfs iz; an overflow
condition in the output field or when the output field is
not large enough to contain H-AO sign. Ti, .return code is
t-osted in the first two bytes of the ihirometer liLA upon
return. .
PROGRAM: MDBUPDSUBROUTINE: CBIEB
SOFTWARE INTERFACE
A. LINKAGE
The calling sequence is
LI,R8 CBPARMSBAL,R7 CBIEB
PARAMETER LIST DESCRIPTIONB.
VIII.50
CBPARMS DATA BA(BINARY FIELD TO BE CONVERTED)DATA,1 WIDTH, FILL,PLUS, MINUSDATA BA(OUTPUT FIELD)
C. RETURN CODES
The return code is found in bytes 0 and 1 of CBPARMS.
BYTEOBYTE1
-
=
X'80'-X'00'
Normal completion
BYTEO = X'CO' ERRORBYTE1 = X'01' NO ROOM IN FIELD FOR SIGNBYTEO = X'CO' ERRORBYTE1 = X'02' FIELD OVERFLCW
OTHER ENTRY POINTS - none
OCLC SUBROUTINES REFERENCED -"none
OCLC PROCEDRURES REFERENCED - none
I
VIII.51
FUNCTIONS
PROGRAM: MDBUPDSUBROUTINE: LOGMSG
LOGMSG formats and prints a log entry for each OCLC
record number which is selected for catalog card production.
A log entry on the CNVT Log consists of the OCLC control
number, the color code, and the holding library code
followed by a statistical code showing wnether the record
was selected (SLD) or rejected (RJD). LOGMSG also prints
diagnostic messages when required by CNVT.
VIII.52
SOFTWARE INTERFACE
A. LINKAGE
Control i; transferred from CNVT via a
BAL,R7 LOGMSG
r1WWWiri;SUBROUTINE: LOGMSG
This instruction must be immediately followed by theparameter list described 1.),!loo. Upon entry to LOGMSG,R7points to the parameter list.
1, PARAMETER LIST DESCRIPTION
The following list of parameters must be passed to LOBMSG.
GEN,8,24 FUN,BA(1IESSAGE)
DATA WA(UNPACKEZ LC CARD NUMBER)DATA WA(COLOR CODE)DATA WA(LIBRARY CODE)
Where tYc byte indicator 'FUN' may assume the follcqing
values:
FUN = 0 Print message only, do no logging.= 1 Log as selected before printing a message.= 2 Log as missing before printing a message.= 3 Log as rejected befo:,e printing a message.= 15 Eject page when printing a message.
No message will be pr' ted if BA(MESSAGE) is equal to zero.
M. RETURN CODES - none
b. OTHER ENTRY POINTS - none
E. OCLC SUBROUTINES REFERENCED - none
F. OCLC PROCEDURES REFERENCED - none
SUBROUTINE: TAPEIO
VIII.53
FUNCTIONS
TAPEIO is a general purpose input/output subroutine whichperforms the following functions depending on a functioncode passed from the calling program.
FUNCTION CODE FUNCTION
X'00' READ01 WRITE02 READ REVERSE03 WEOF04 SKIP ONE RECORD FORWARD05 SKIP ONE RECORD BACKWARD06 SKIP ONE FILE FORWARD07 SKIP ONE FILE BACKWARD08 REWIND (ONLINE)
09 UNLOAD
TAPEIO sets up the FPT to be used in IOEX CAL2 fromparameters passed by the calling program. If the functionrequired does not involve data transfer (in the range ofcodes 3-9), the only parameters needed by TAPEIO are thefunction code, the unit address, and an event word. If
data transfer is to be performed (codes 0,1,2), TAPEIOmust also have the -address of a buffer and the length of thedata to be read or written. Upcn entry to TAPEIO, generalregister 1 should be pointing to a user-defined voic area
on a double word boundary.
If the function to be performed involves data transfer
or is a WEOF, two function parameter tables (FPT's) are
set up. The first FPT is for the operation requested; the
second is used to sense the device status in the event therequested operation does not end normally. For non-datatransfer functions, only one FPT is constructed.
TAPEIO contains its own end action routine, STDEA.
STDEA uses the Test Device (TDV) status returned by the IOEX
CAL2 to determine the end actor required. If the I/O
operation terminated normally, ;..1,e first byte of the event word
in the first FPT is slt to X'80' and control is returned.
If the operation ended abnormally, the TDV status isinterrogated more closely to determine the exact result of
the operation.
A table of TDV status values and their meanings follows:
SUBROUTINE: TAPFIO
VIII.54
TDV STATUS EXPLANATION
0200 NORMAL TERMINATION BEYOND ENDor TAPE
0400 NORMAL TERMINATION AT BEGINNINGOF TAPE
B87E NORMAL TERMINATION000E IOP ERROR0010 MEMORY ADDRESS ERROR2000 WRITE PROTECT VIOLATION1000 END OF FILE8000 DATA OVERRUN0800 NON - CORRECTABLE READ ERROR0040 TRANSMISSION DATA ERROR0020 TRANSMISSION MEMORY ERROR
A TDV status of 'B87E' initiates the return of a normalcompletion code (X'80') to the user. if the status is '1000',an end of file indication is returned. If the TDV status is'000E', '0010', or '2000', the error is not attributed to the I/Odevice; and no retry is attempted. If the status is one of thelast four inthe table, the retry count is interrogated. Theretry count is arbitrarily set in TAPEIO to ten for data transferoperations (function codes 0-2) and WEOF (.ode 3) and is set to zerofor non-data operations (codes 4-3) . If the retry count for thisoperation is zero, an abnormal return code is posted, and controlis returned to the calling program. If the retry count is greaterthan zero, retry procedures are initiated based on the type ofI/O function that was attempted.
If the status is '0200' or '0400', a code is returned toindicate the position of the tape.
If the operation was a READ and the error is correctable(TDV status of '8000', '0040', or '0020'), the second FPT is pulledfrom the work area and used to sense the device. If the sensedoes not take, an unconditional backspace and retry are initiated;otherwise STDEA will alternately backspace, or forward space (de-pending on whether the READ was forward or reverse) , sense, retry,and sense until either the retry count is zero or the I/O opera-tion has been performed. if the retry count reaches zero beforethe operation has been terminate- normally, the condition codereturned is the resull_of the las: retry.
If the operation was a READ but the error was declared non-correctable (TDV status '0800'), STDEA initiates an unconditionalretry. It backspaces, or forward spaces if the operation was:EAD REVERSE, and attempts to READ again. The TDV status isinterrogated after each retry of the READ. If the error status1?ecomes correctable before the retry count is zero, STDEA willInitiate sensing of the device and the correctable READ errorprocedure. In any case, retry continues until the operation iscompleted normally or the retry count reaches zero. If theretry count becomes zero before the operation has terminatednormally the condition code returnee: is the result of the last retry.
SUBROUTINE: TAPEIO
VIII.L5
If the operation was a WRITE or WEOF, STDEA automaticallybackspaces, senses, and attempts the operation again. Thisprocedure continues until the I/O is complete or the retrycount is zero. If the retry count reaches zero before theoperation has been terminated normally, the condition codereturned is the result of the last retry.
At its alternate entry point, TAPEWAIT, TAPEIO checksfor completion of an I/O operation performed by TAPEIO. Ifthe event is not complete TAPEWAIT issues a CAL2,9 0 to waitfor completion. When the event is posted complete, thestatus is interrogated. If the completion is normal (X1801),control is returned to the return address plus one. If thecompletion is abnormal (X'CO') control is returned at thereturn address. In either case BYTE° of the event word isreturned in bits 24-31 of R8.
1
SOFTWARE INTERFACE
LINKAGE
PROGRAM: MDBUPDSUBnOUTINE: TAPEIO
The calling sequence for TAPEIO is as follows:
LI,R1 WORKAREALI,R8 FARMSBAL,R7 TAPEIO
Where WORKAREA is a 16-word storage are-. aligned ona doubleword boundary.
B. PARAMETER LIST DESCRIPTION
For function codes 0, 1, 2
WORD 0 rFUNCTIONI DEVICE ADDRESS
WORD 1 BA (BUFFER)
WORD 2 BYTE COUNT
WORD 3 EVENT STATUS
For functions 3-9
WORD 0 FUNCTION DEVICE ADDRESS
WORD 1 EVENT STATUS'
J
C. RETURN CODES
NORMAL COMPLETION: EVENTWORD BYTE 0 = X'30'BYTE 1 = X1001
WORMAL COMPLETION: EVENT WORD BYTE 0 = XICO'BYTE1 = XX - CODE INDICATINGNATURE OF ABNORMAL COMPLETION.
Possible event words for abnormal completion and theirtanings are listed below:
:;VENT WORD
:001
,;002
CODA0009C00 8
C00 3
C0070004
C005
C006
C000COOB
PROGRAM: MDBUPDSUBROUTINE: TAPEIO
VIII.56
TDV STATUS MEANING
0200 NORMAL TERMINATIONBEYOND END OF TAPEMARKER'
'0400 NORMAL TERMINATIONAT BEGIIMING OF TAPE
000E IOP ERROR0010 MEMORY ADDRESS ERROR
2000 WRITE PROTECT VIOLATION
1000 END OF FILE8000 DATA OVERRUN0800 NON-CORRECTABLE READ
ERROR0040 TRANSMISSION DATA
ERROR0020 TRANSMISSION MT RY
ERRORUNIT UNRECOGNIZEDSOFTWARE ERROR
For codes C000-0003 and C008-00011; no retry has been
'attempted. For codes C004-0007, retry has been attempted only
if the function was a data transfer or WEOF.
iD. OTHER ENTRY POINTSTAPEWAIT
E. OCLC SUBROUTINES REFERENCED - none
F. OCLC PROCEDURES REPtit/NCED - none
SUBROUTINE: TAFA110
VIII.57
SOFTWARE TNTERFACE (TAPEWA1T)
A. LINKAGE
LI,R8 PARMSBAL,R7 TAPEWAIT
B. PARAMETER LIST DESCRIPTION
same as for TAPEIO
C. RETURN CODES:
BYTE 0 of the user provided EVENT WORD is returned in
bits 24-31 of R8
D. OTHER ENTRY POINTS - none
E. OCLC -SUBROUTINLS REFERENCED - none
F. OCLC PRCCEPURES REFERENCED - none
ll'OCRAM: MDRUPDViii .58
APPENDIX E
ADDITIONAL PROCEDURE DOCUMENTATION
'R(vIRAM: MDBUPDVill.YJ -1=JYTDURE: DTAr,
PURPOSE:
DTAuS establishes the parameter:, !or the taf-le 'TAGS'which assigns an 'rdex to oach fiell lc ,t. 11-ed ior all theother tables.
FORMAT:
DTAfl AF(1)
EXAMPLE:
DTLGDTAGDTAG
1
8
15
+ DATA,1 0
+ DATA,1 index tor 001 fielu+ DATA,1 0
+ DATA,1 0
+ DATA,1 0+ DATA,1 0
+ DATA,1 0
+ DATA,1 0
+ DATA,1 2 index !or nO8 field
PROCEDURE DESCRIPTION
PURPOSE:
MD UPI)
'ROCEDURF: MSG, HEX,
MS( established the parameters for the external sub-
DI'(',
routine 'MDBUPDLG'. The CNAME value (1) MS(- i- 1 and indi-
cates to MDBUPDLG that a sing1e messav to be logy.,ed.
There are three alternate names for MSG.
. HEX - has a CNAME equal to 2 and inricates that the message
is to be converted to Hexadecimal
DEC has a CNAME equal to 3 and indicates that the message
is to be converted to FBCTDIC.
2MEND - has a CNAME equalparameter list.
FORMAT:
MSG
Example 1:
MSG
GEN,8,24Ar(1)
HEX ECH1MSG MS X72
GEN,8,24MSG7I
MEND
1,
2,
GEN,8,24 1,
DATA 0
to 0
BABABA
and indicates the end of the
(M G71)(ECH1)(MSq72)
Example 2:
DECMSGDECMSGMEND
MSG7SECI./4
MSG76
GEN,8,24ECV3GEN,8,24GEN,8,24rEN,8,2,1DATA
1, BA (ECV3)I, BA MGM)
BA (r.CV4)I,
MIT.61--.J
VPLEDATION PROCESSES PERFORMED BY OCLC 011 THE MARC RECORDS
1. Al] data must be correct ASCII data.
2. The actual length of the record must equal the record lengthin the leader.
3. The Type of Record must be 'a' (lower case ASCII).
4. The Bibliographic Level must be 'm' (lower case ASCII).
5. IBLAIKS' (position 8-9 in the leader) must he blank.
6. Thc- Indicator Count must be 2.
7. Th-.! base address of the data must be a multiple of 12 (leader = 24,Directory = 12).
8. The Subfield Code Count must be 2.
9. There must be a field terminator (X'lE') at the end of thedirectory.
10. There must be a record terminator (X'1D') at the end of therecord.
11. Leader positions 18-19 must be all blank.
12. The Entry Map in the header must be all blank or be of theform '4500'.
13. There can be no more than 50 fields in a record.
14. The value of the tag can not exceed '340'.
15. The value of the tag must be in the following list of valid tags:
001 086 410 630008 100 411 650015 110 440 651020 111 490 652025 130 500 700040 240 501 710041 241 502 711043 245 504 730050 250 505 740051 260 520 750050 300 600 800070 350 610 810082 400 611 811
840
VIII.62Validation Processes (cont) Page Two
4,
,16. The record is rejecta if the LC card number is not allnumeric.
17. The Record Status must be one of the following: D (delete),NC (new), C (corrected), or P (full replacing CIP). Ifit is not one of the above, the Record Status is changedto N (new) and a warning is logged.
18. The Encoding Level must be one of the following: 1 (sublevel 1),8 (full replacing CIP), or blank (full level).
19. The record is rejected if the 001 field is not the firstfield in the directory.
20. The record is rejected if. the 001 field is not at least 13characters or is more than 30 characters long.
21. The record is rejected if the 008 field is not the second entryin the directory.
22. The record is rejected if the length'of the 008 is not 41characters including the field terminator.
23. The Type of Publication Date Code must be one of the following:
s (date is known), c (consists of two dates), n (dateis unknown), r (previously published), m (multiple date),q (one or more digits are missing).
24. The Country of Publication Code must be in the list ofvalid codes.
25. The Illustration Codes must be one of the following:
a (illustration), b (maps), c (portraits), d (charts),e (plans), f (plates), g (music), It (facsimiles),i (coates of arms), j (gene,logical tables), k (forms),1 (samples), m (phone disc), M = blank (no illustrations).
26. Elements 11-15 of the 008 field (Conference, Festscrift,Index, Main Entry, and Fiction Indicators) must beeither 0 or 1.
27. The Government Publication Indicator must be 0.
28. The Form of Reproduction Code must be one of the following:
a (Microfilm), b (Microfiche),cs(Micropague), d (Large-print),
= blank (not a reproduction).
29. The Intellectual Level Code must be either ']' or $ = blank.
VIII.63
Validation Processes (cont.) Page Three
30. The Form of Content Codes must be one of the following:
b (Bibliographies), c (Catalogs),i (Indexes), a (Abstracts),d (Dictionaries), e (Encyclopedias),r (Directories), y (Yearbooks),s (Statistics), h (Handbooks),p (Programmed Testbooks), or
= blank (not a specified form).
31. The Language Code must be in the list of valid language codes.
32. The Cataloging Source Cdoe must be one of the following'
a (National Agricultural Library),b (National Library of Medicine),c (Cooperative Cataloging), org = blank (Library of Congress
33. The Modified Record Indicator must be either d, s, x, or ablank.
34. The Biography Code must be one of the following:
a*(Autobiography), b (Individual),c (Collective), d (Contains biographical information),or g = blank (not biographical).
35. The record is rejected if the directory has only 1 or 2 entries.
36. Every field must be at least five characters long.
37. The minimum byte length for the 020 field is 14.
38. The minimum byte length for the 025 field is 10.
39. The minimum byte length for the 040 and 043 fields is 12.
40. The minimum byte length for the 041 field is 11.
41. The minimum byte length for the 082 field is 6.
42. The minimum byte length for every other field (excluding 001,008, 020, 025, 040, 041, 043, and 082 fields) is 7.
43. Check to see that fields 041, 050, 240, 241, 245, 260, 490,and 750 have a first indicator of 0 or 1.
44. Check to see that fields 110, 111, 410, 411, 505, 510, 611,710, 711, 810, and 811 have a first indicator of 0, 1, or 2.
45. Check to see that fields 100, 40C, 600, 700, and 800 have afirst indicator of 0, 1, 2, or 3.
46.
47.
48.
49.
VIII.64Validation Processes (cont.) Page Four
I -
Check to see that the first indicator for every other fieldis a blank.
Check to see that the second indicator for the130, 400, 410, and 411 fields is a 0 or 1.
100, 110, 111,
Check to see that the second indicator for the730, 740, and 750 fields is a 0, 1, or 2.
700, 710, 711,
Check to see that the second indicato.' for the630, 650, 651, and 652 fields is a 0, 1, 2,
600, 610,3, or 4.
611,
50. Check to see that the second indicator for every other fieldis a blank.
51. Every field must begin with a subfield delimiter (X111").
52. Every field must end with a field terminator (X'FD').
53. Verify that the subfield codes for the 041, 050, 060, 070,and 250 fields are either 'a' or 'b'.
54. Verify that the subfield codes for the 051, 245, 260, and 300fields are either 'a', 'b', or 'c'.
55.
56.
57.
58.
59.
60.
61.
Verify that the subfield codes for the 100 field are either'a'. 'bl, 'c', 'd', tee, 'k', or 't'.
Verify that the subfield codes for the 110a, b, e, k, or t.
Verify that thea, b, c, d, e, g, k, or t.
Verify that the subfield codes for the 130 field are eithera or t.
field are either
subfield codes for the 111 field are either
Verify that the subfiell codes for the 400 and 800 fieldsare either a, b, c, d, e, k, t, or v.
Verify that the subfield codes for the 410 and 810either a) bp el )(I t, or v.
Verify that the subfield codes for the 411 and 811 fields areeither a) b, c) d, e, gl k, t, or v.
62. Verify that the subfield codes for the 440 and 840 fields areeither a or v.
fields are
63. Verify that thea, b, c, d,
64. Verify that thea, b, e, k,
65. Verify that thea, b, C, d,
subfield
.
codes for the 600 field are eithere, k, t, x, y, or z.
subfield codes fcr the 610 field are eithert, x, y, or z.
subfield codes are the 611 field are eithere, g, k, t, x, y, or x.
Validation Processes (cont.) Page Five
66. Verify that the subfield codes for the 630 field are eithera, t, x, y, or z.
67. Verify that the subfield codes for the 650 and 651 fields areeither a, b, x, y, or z.
68. Verify that the subfield codes for the 652 field are eithera, x, y, or z.
69. Verify that the subfield codes for the 700 field are eithera, b, c, d, e, k, t, or u.
70. Verify that the subfield codes fort the 710 field are eithera, b, e, k, t, or u.
71. Verify that the subfield codes for the 711 field are eithera, b, c, d, e, g, k, t, or u.
72. Verify that the subfield codes for tht! 730 field are eithera, t, or u.
73. Verify that the subfield codes are 'd' for following fields:(015 043 350 504)(020 082 490 505)(025 086 500 520'(040 240 501 74u.
241 502 750)
74. A field terminator must come directly before the recordterminator.
75. Verify that the 245 and 260 fields are present in every record.1
76. Verify that the 025, 255, and all the fields from 400 to 840do not occur more than 255 times in one record.
77. I.r.:,fb that there are no more than two 050 fields in eachmvord.
78. !erify that all the other fields (all fields from 001 to 350except 025, 050, aod 255) do not occur more than oncein each record.
1
VIII .91
0_41)1 /IL( I
t-1 L 1>
/ILt'L 1.7 (Ii 'E
L & k' l)
INT y C7
Pp'(r( (t If TA
6.C. 1 _rept I3 A. 7( IN( IA ret'F Ik't) ivi
E 11 WA I
12E. r4 1-( njea() 1;14,1
A" iVIC)e restSL(-4-mvz
etc() r_reitT -a A
VIII.92
TLL
t, 01'A1,' V
yLt,
s
ft oL
'U'
x _4_7- ."
_ r (LTt'L slrVc
11)14.'1 L ;
i'11 A
k C Pt ri
th-)1-T ti ,U (c1'c&1-*z' TA,
r7.4 ( K
t: EC. ckY. ttk( IL I
1 CA4
4