You are on page 1of 23

NOMBRES de los AUTORES: Verónica Lencinas, DNI 168 818! " Ro#er$o %a$$aneo, DNI !

&'8&'(( INSTITU%I)N: Esc*ela de Bi#lio$ecolo+,a de la Uni-ersidad Nacional de %órdo#a " Bi#lio$eca O#ser-a$orio As$ronó.ico de %órdo#a DIRE%%I)N: /a#0 %asa Verde, %i*dad Uni-ersi$aria " La1rida 8 2, &&& %órdo#a EMAIL: -erolencinas34a5oo0co.0ar " neoli#ris3+.ail0co. T6TULO: Mi+ración de re+is$ros #i#lio+r78icos a Marc!10 /ro#le.7$icas, $9cnicas 4 e:1eriencias en $orno a la i.1le.en$ación del sis$e.a Di+i#e19 ;<o5a= de %ona#i10

Resumen: A 1ar$ir de la e:1eriencia de la Red /*n$o#i#lio en la cons$r*cción de *n ca$7lo+o colec$i-o de #i#lio$ecas de di8eren$es $i1olo+,as: 1o1*lares, escolares, es1eciali>adas, e$c0 la %o.isión Nacional /ro$ec$ora de Bi#lio$ecas /o1*lares solici$ó a la res1onsa#le $9cnica del 1ro4ec$o /*n$o#i#lio, Verónica Lencinas, 4 a *n in8or.7$ico es1eciali>ado, /a#lo Bianc5i, la 1resen$ación de *n 1ro4ec$o ?*e 1er.i$iera i.1le.en$ar *n sis$e.a de +es$ión #i#lio$ecario ac$*ali>ado en las #i#lio$ecas 1o1*lares ar+en$inas con el o#@e$o de ree.1la>ar el sis$e.a Si+e#i ?*e 5a#,a ?*edado o#sole$o0 Una -e> a1ro#ado el 1ro4ec$o ?*e e iniciado la i.1le.en$ación del sis$e.a Di+i#e19 ;<o5a=, 8*e necesario .i+rar los da$os, so#re $odo los da$os de ca$7lo+os de #i#lio$ecas al 8or.a$o Marc!10 Se .i+raron no sola.en$e ca$7lo+os en Si+e#i sino $a.#i9n a?*ellos 1ro-enien$es de A+*a1e4, Ainisis, Tro4a, /9r+a.o, %a$alis, O1enMarco/olo 4 sis$e.as 1ro1ios reali>ados .a4ori$aria.en$e en MS E:cell, %li11er, Bo:/ro 4 MS Access0 En el 1resen$e a1or$e se descri#en es$ra$e+ias 4 $9cnicas *$ili>adas en la .i+ración de da$os di-ersos al 8or.a$o Marc!1 $al co.o lo i.1le.en$a el sis$e.a Di+i#e19 ;<o5a= 4 la ca1aci$ación reali>ada a los nodos re+ionales de asis$encia $9cnica, CNodos Di+i#e19sD, a 8in de ca1aci$ar a #i#lio$ecarios en la .i+raciones de da$os0

Introducción
El 1ro4ec$o Red#i1a nace en !&& a 1ar$ir del $ra#a@o con@*n$o de la /residen$e de la Bi#lio$eca /o1*lar Re1E#lica Ar+en$ina de la %i*dad de %órdo#a, Sonia F*l7n, 4 la docen$e de la Esc*ela de Bi#lio$ecolo+,a de la Uni-ersidad Nacional de %órdo#a, Verónica Lencinas, *s*aria de la Bi#lio$eca0 En Se1$ie.#re de !&& se s*#ió la 17+ina Ae# de la Bi#lio$eca con s* ca$7lo+o en l,nea0 Una de las 8*ncionalidades ?*e o8rec,a

el ca$7lo+o de la Bi#lio$eca en In$erne$ era la 1osi#ilidad de C#a@arD re+is$ros 4 con ello 8acili$ar la ca$alo+ación 1or co1ia0 A 1ar$ir de la e:1eriencia 1osi$i-a en c*an$o a di8*sión 4 -isi#ilidad de la Bi#lio$eca 4 la crecien$e *$ili>ación del ca$7lo+o en l,nea ?*e se 1las.a#a en cons*l$as #i#lio+r78icas -,a correo elec$rónico a la Bi#lio$eca, se 1ro1*so a la Bederación de Bi#lio$ecas /o1*lares de %órdo#a ;Be#i1o= a.1liar la e:1eriencia a o$ras #i#lio$ecas 4 crear *n ca$7lo+o colec$i-o 1ro-incial0 La 1ro1*es$a 8*e #ien reci#ida, 1ero no $*-o consec*encias in.edia$as0 A 8ines del !&&6 el ser-idor ?*e 5os1eda#a la 17+ina Ae# de la Bi#lio$eca /o1*lar Re1E#lica Ar+en$ina s*s1endió es$e ser-icio 1or s*1erar el $r78ico 1er.i$ido0 Un an7lisis de$allado 1er.i$ió iden$i8icar al ca$7lo+o en l,nea co.o rece1$or del 88G de las cons*l$as al si$io ?*e s*1era#an las 2&0&&& 17+inas ser-idas 1or .es0 %on es$e 9:i$o 4 an$e la 8al$a de res1*es$a de la Bederación de Bi#lio$ecas /o1*lares de %órdo#a, se decidió a.1liar la e:1eriencia a *n +r*1o red*cido de #i#lio$ecas 1o1*lares Ca.i+asD0 En !&&H se incor1oraron 6 ca$7lo+os en l,nea de Bi#lio$ecas /o1*lares a $ra-9s del si$io Ae# de la Bi#lio$eca /o1*lar Re1E#lica Ar+en$ina0 %on .o$i-o del Enc*en$ro Nacional de Bi#lio$ecas /o1*lares en Ma4o de !&&H, se 1resen$ó a la %o.isión Nacional de Bi#lio$ecas /o1*lares, or+ani>adora del e-en$o, *n 1ro4ec$o a.1liado, ?*e 1ro1on,a crear *n es1acio di+i$al 1ara las Bi#lio$ecas /o1*lares 4 s*s lec$ores ?*e sir-a de 5erra.ien$a de coo1eración en$re las Bi#lio$ecas /o1*lares, de 1la$a8or.a cola#ora$i-a en$re lec$ores 4 ?*e 1er.i$iera locali>ar el 1a$ri.onio c*l$*ral e:is$en$e en las Bi#lio$ecas /o1*lares0 Se 1ro1on,a lo+rar es$os o#@e$i-os a $ra-9s de *n 1or$al ?*e con$en+a no sola.en$e las 17+inas Ae# de las Bi#lio$ecas, sino $a.#i9n s*s ca$7lo+os en l,nea, e incl*4era 5erra.ien$as de co.*nicación 4 de di8*sión de las ac$i-idades de las Bi#lio$ecas /o1*lares $ales co.o *na A+enda %*l$*ral 4 E:1osiciones Vir$*ales0 A 1ar$ir de la e:1eriencia de la Red /*n$o#i#lio en la cons$r*cción de *n ca$7lo+o colec$i-o de #i#lio$ecas de di8eren$es $i1olo+,as: 1o1*lares, escolares, es1eciali>adas, e$c0 la %o.isión Nacional /ro$ec$ora de Bi#lio$ecas /o1*lares solici$ó a la res1onsa#le $9cnica del 1ro4ec$o /*n$o#i#lio, Verónica Lencinas, 4 a *n in8or.7$ico es1eciali>ado, /a#lo Bianc5i, la 1resen$ación de *n 1ro4ec$o ?*e 1er.i$iera i.1le.en$ar *n sis$e.a de +es$ión #i#lio$ecario ac$*ali>ado en las #i#lio$ecas 1o1*lares ar+en$inas con el o#@e$o de ree.1la>ar el sis$e.a Si+e#i ?*e 5a#,a ?*edado o#sole$o0 Una -e> a1ro#ado el 1ro4ec$o a 8ines de !&&(, se co.en>ó con la i.1le.en$ación del sis$e.a Di+i#e19 ;<o5a= den$ro del .arco del /ro+ra.a de Incl*sión Di+i$al0 /ara ello 8*e

as ?*e re?*ieren *na co./*n$o#i#lio= a 1ar$ir de desarrollos reali>ados en el .a$o+r78ica 4 a*dio-is*alD.a$o+r78ica 4 a*dio-is*al de *n /olo Re+ional0 Se+*nda E$a1a: Sis$e.a de In8or. es decir ?*e son creados co.en$e la doc*.a4*das.ca$7lo+o 4 socios= de $odos los sis$e.an i.arc01l=0 Des1*9s de considerar ?*e era necesario res+*ardar el $ra#a@o reali>ado 1or #i#lio$ecarios 1o1*lares 4 $eniendo en c*en$a los 1ro#le.i+rar0 Un scri1$ 1 de .en$e en el códi+o 8*en$e0 Al 8inal de es$e a1or$e se incl*4en dos scri1$s de .as ?*e Ja di8erencia de *n 1ro+ra.a se+*ridad de ?*e los da$os de Si+e#i se i#an a .a de las .1o.*. eIes= es #as$an$e co.nea en #lanco0 El se+*ndo 1aso es e@ec$*ra el scri1$ de .sigebi2marc.an los da$os . el sis$e.o e@e.odi8icarlo0 Meneral.ero de ca.1licó cada -e> .1ilados en $ie. los res1onsa#les de la %ona#i1 decidieron ?*e se .1o 1ara cada ca.ación 4 doc*.ilar.a+*a1e4!. so#re $odo los da$os de ca$7lo+os de #i#lio$ecas al 8or. e:1licaciones= es$7 con$enida direc$a.a$o de o1enisis ?*e es n*.en$e doc*.o .si+e#i!.is.en$ada0 ! .en$o del *so0 La -en$a@a de *$ili>ar scri1$s en l*+ar de e@ec$*a#les es ?*e es sencillo re-isar el códi+o 8*en$e 4 .so#re el c*al es$7 #asado Si+e#i= 8*nciona so#re el e.a4or.i+ración de $odos los da$os #i#lio+r78icos 4 de socios0 Al co.1licada 4 escasa.d*.a sido desarrollado 1ara el 1ro4ec$o Red#i1a .a %DSKISIS .a o1era$i-o MSJDOS. aIos !&& J!&&6.i+raciones se reali>aron so#re sis$e.er lis$ado $iene el 8or.1a$i#ilidad de s*s sis$e.an $enido .o.o . se1arando *n re+is$ro del 1ró:i.1o real 4 des1*9s e@ec*$ados. el *so de 1ro+ra.a$o Marc!10 Migración de datos a Koha Una decisión $e.i+ración co.1a$i#ilidad co.le$ras acen$*adas. 4 el 5ec5o ?*e la e.ó res1ec$o al 1ro4ec$o de %ona#i1 8*e la .dos 1ri.ero 1or el co.*lador Dose.en$ación 1ara la 1rod*cción cine.anera si.arco del 1ro4ec$o de in-es$i+ación C%reación del %en$ro de doc*.necesario .1le.a .o e@ec*$a#les en el .1= *sando o1enisis0 Es$e 1ri.1rana ?*e se $o.#i9n se dis1on.pl= 4 A+*a1e4 .as0 En c*an$o al *so de Si+e#i so#re Lin*:.1le$a con MSJDOS se co. %ódi+o & KB28!0 Ta.as ?*e 5a#.as.pl= 8*ncionan de .a e@ec*$a#leJ son le.aguapey2marc.1resa Microso8$ 5a red*cido la co.arc01l= 4a 5a#. 1ero la con8i+*ración de carac$eres e:$endidos .1o L $a#*lador L con$enidos del ca.i+ración 1ara Si+e#i . en 1ri.as con MSJDOS a 1ar$ir de la AindoNs ME en el !&&&.i+ración indicando el arc5i-o ?*e con$iene el lis$ado de la #ase o#$enido en el 1ri.i+rar los da$os.1lo0 Al 8*ncionar so#re el sis$e.en$ación del 1ro+ra.i+rar.en$ación 4 ser-icios de la 1rod*cción cine.as %DSKISIS0 Los scri1$s de .i+ración 1ara #ases #i#lio+r78icas de A+*a1e4 .er ins$ancia se o#$iene *n lis$ado de $oda la #ase .i+ración .i+ra#les .er 1 Scri1$s son 1ro+ra.en$ado o$ros sis$e. co.as0 Migración de sistemas basados en CDS/ISIS La .edian$e *na l.1ilador.*c5as #i#lio$ecas en ins$alar o con$in*ar con Si+e#i! 4 1or ello 5a#.ien>o sólo se $en.a de *n scri1$ de .

Vis*alBo: 4 o$ros sis$e.1le$a en *n arc5i-o c*4o 8or. MS Access.a$o de -is*ali>ación de *n re+is$ro o *na 1ar$e de *n re+is$ro0 La salida se 1rod*ce en la 1an$alla o a $ra-9s de la i.1lido los $res 1asos se dis1one de *n arc5i-o en 8or.ir la #ase co.as de #i#lio$ecas #asados en lis$ado de MS E:cell.as relacionales 1ero c*4o diseIo no ' 2 En el ca.a o1era$i-o MSJDOS0 /BT si+ni8ica C/rin$8or.1or$ar direc$a.pl. VisualFox sin relaciones Se $ra#a@ó con .odi8icación del re+is$ro0 En el ca.7s de 1&& sis$e.e$ros acorde0 En el caso de O1enMarco/olo se creó *n scri1$ si.a$o era si. +enera#a *n arc5i-o Marc correc$o 4 se 1od.#i9n . con$enidos del ca.odi8icar los da$os 1ara ?*e corres1ondan a la nor.1o &&80 Es$e scri1$ $a.7$ica: 8ec5a 4 5ora .i$e indicar el 8or.en$e al <o5a0 Migración de datos basados en MS Excell. <o5a al.a$os 4 no era 1osi#le +enerar *n scri1$ 1ara cada *no de ellos0 En es$os casos se crea#a *n arc5i-o /BT *$ili>ado 1ara i. *na ca#ecera es$7ndar0 Una -e> c*.edios ?*e se 1*eden re-isar en caso ?*e el res*l$ado no es el es1erado 4 a@*s$ar los 1ar7.#ar+o de es$a .1o ( !.1o &2& de Marc!1 se +*ardan los códi+os de las #i#lio$ecas ?*e in$er-inieron en la +eneración 4 la .1o en c*es$ión 4 los da$os encon$rados eli+e .as #asados en %DSKISIS.pl .o 8or. se .a a*$o.a$o Marc!1 ?*e se 1*ede s*#ir a <o5a0 O*#iera sido 1osi#le crear *n solo scri1$ ?*e realice los $res 1asos @*n$os0 Sin e. MS Access.7s di-ersos 8or.#io de codi8icación de carac$eres de la codi8icación en %DSKISIS 2 a UTBJ8 *sado 1or <o5a0 En *n $ercer 1aso el arc5i-o +enerado 1or es$e scri1$ se 1asa al 8or.acena los da$os de las e:is$encias: in-en$arios.a$D 4 es *n arc5i-o ?*e 1er.a$o de O1enIsis0 El scri1$ $a. +enerando a?*.iliar. sino ?*e la con8i+*ración es reali>ada 1or el sis$e. e$c0 incl*4endo el códi+o de la #i#lio$eca0 En realidad %DSKISIS no $iene con8i+*ración de carac$eres.i+raron con o$ro 1rocedi.a$o de arc5i-os de Marc!1 con el scri1$ rec2marc.1o.anera se $iene acceso a cada *no de los 1asos in$er.ca.1o=0 Es$e arc5i-o des1*9s se 1rocesa#a con *na -arian$e del 1ro+ra. si+na$*ras.ero de ca.a de Marc!1 4 reali>a *na salida de los da$os en el .1resión0 /ara crear es$os arc5i-os de .i+ración es necesario $ener conoci.pl= ?*e reJcodi8ica#a los carac$eres. dbase.a$o O1enIsis .neas del lis$ado o#$enido de la #ase %DSKISIS 4 se+En el an7lisis del ca.ien$o del len+*a@e de 8or.*4 sencillo de#ido a ?*e O1enMarco/olo 4a *$ili>a Marc!1 4 sólo 5a4 ?*e reali>ar a@*s$es de codi8icación 4 de re+is$ro de e:is$encias0 O$ros sis$e.#i9n +enera da$os en 8or.a rec2marc.o %a$alis o #ases +enerados con %DSKISIS o Ainisis.1os &2& 4 ( !'0 A con$in*ación el scri1$ lee *na 1or *na las l. $ales co.a i.a$eo %DSKISIS0 otros .nE. a*n?*e es .1o && = 4 *n ca.ilar al 8or.ien$o 4a ?*e se 1resen$a#an #ases de los .1aso 4 el códi+o de or+ani>ación Marc!1 1ara +enerar los ca. d#ase.1ri.is.rec2marc_encode.ane@a el ca. $a#*lador.

os arc5i-o MS E:ell en el ?*e cada 1es$aIa se encon$ra#an los li#ros de *na .7$ica.ien$a 1er.ien>a con el si+no i+*al.1lo en al+*nos casos reci#i.a$o .i+ra#a *$ili>ando el 1ro+ra.as o1era$i-os MS AindoNs 4 MNUKLin*:0 Den$ro de MarcEdi$ se incl*4e *n *$ili$ario ?*e 1er.rP= es .o sis$e.en$e en In$erne$H0 Es$e sis$e.1os0 El .o MarcEdi$ incl*4e *na 5erra.a 8*eron .is.o0 /or e@e.a sencilla0 A di8erencia de las #ases %DSKISIS ?*e $ra#a@an con es$r*c$*ras de da$os #i#lio+r78icas. es decir indicadores 4 s*#ca.7s de *n a*$or o si es necesario colocar .inación 0cs-= .a$o Marc 8inal0 Es$a 5erra.0. las #ases de da$os relacionales se carac$eri>an 1or $ener en c*en$a la nor.en$e la ca#ecera 4 el &&80 Den$ro del edi$or MarcEdi$ es 1osi#le reali>ar s*s$i$*ciones * o$ras $rans8or.+i$os .a$eria de$er.a . co. 1ero si es$7 dis1oni#le +ra$*i$a.ien$a 1ara +enerar el 8or.i$e asi+nar a cada col*.1o re1resen$ado 1or $res d.a$eria0 Las -arian$es de es$e es?*e.El$i1les.a en 8or.$er. sal-o ?*e se si.na *n ca.7:i.1lo Q&&8=.a$o *sado 1or O1enIsis0 En es$e caso cada l.#i9n se 1*eden co. 1or e@e.i$ado 1or co.a relaciones en las #ases #i#lio+r78icas o lo 5ac.1o o s*#ca.Vis*al Bo:=0 5$$1:KK1eo1le0ore+ons$a$e0ed*KRreese$K.1o 4 +enerar a*$o.*4 si.incl*.as MS Access se $ra#a@aron .ien>an los con$enidos del ca.en$e con MDB VieNer0 En el caso de Vis*alBo:.1li8i?*en al .orar #as$an$e $ie.arcedi$K H .inada0 En $odos los casos se +eneró *n arc5i-o deli. se+*ido 1or dos es1acios 4 a 1ar$ir de all.i$e 1asar de *n arc5i-o deli.as .as a *n arc5i-o Marc en 8or.ali>ación de los da$os en el diseIo .1os re1e$i#les 4 de lon+i$*d -aria#le en la ?*e la nor.1o Marc!10 Ta.1o en caso de #ases de -arios .a$o cs-0 Los sis$e.1os en *n solo ca.a MarcEdi$0 MarcEdi$ no es so8$Nare li#re.iles de re+is$ros0 6 Los sis$e.ero de ca.a$o 0. e-i$ando la d*1licación de da$os0 Es$e $i1o de es$r*c$*ras di8ic*l$an la creación de #ases de da$os #i#lio+r78icas.i$e la e:1or$ación en 8or.i+raciones re?*ieren *n $ra#a@o dedicado de 1r*e#as 4 a@*s$es 4 1*eden lle+ar a de.1o. Ra?*el %on$a#ilidad 1 El A$eneo !(2 L %on$a#ilidad Es$e $i1o de diseIo no con$e. se o#$*-o *na salida a .aciones0 /or lo +eneral es$e $i1o de .as MS E:cell 4 d#ase se $ra#a@aron el Li#reO88ice ?*e 1er.i$ado 1or co. se+*ido 1or el nE.o.ali>ación se reali>a d*ran$e la ca$alo+ación.edida *$ili>ando el .iliar J1ero no id9n$icoJ al 8or.En era el si+*ien$e: Autor Título Editorial Inventario Estante Materia Rosen#er+.edian$e di-ersas 5erra.a4ori$aria.a es$7 dis1oni#le 1ara sis$e.1la los casos en los ?*e 5a4 .#inar di8eren$es s*#ca.nea co. es decir la ca1acidad de +enerar ca.1lo *n diseIo co.7s de *na .ien$as6 ?*e en *na se+*nda ins$ancia se .is.rP0 Es$e 8or.1or e@e.is.

*nes en a1licaciones in8or.7$icas 4 re?*ieren *na 1lani8icación c*idadosa a 8in de 1oder re8le@ar 8iel. "#rgamo relacionales$ bases de datos En es$os casos $a.7s de *na oc*rrencia .as 1ara don Isidro /arodi E.1os 4 s*#ca.en$e el . 1ero con la di8ic*l$ad de ?*e *no o -arios ca.1os= ..o la si+*ien$e es$r*c$*ra de da$os8: ca..1os $a#la 1: no_registro título subtítulo editorial fecha_publicación lugar_editorial .os con si$*aciones co.os 5a#i$*ados los #i#lio$ecarios 4a ?*e re?*ieren +enerar $a#las relacionadas 1ara cada ca.1os $a#la !: no_registro apellido_autor nombre_autor ca.re1e$i#ilidad de ca. ca.#i9n se $ra$a#a de #ases de da$os relacionales.*4 co.Migración de sistemas basados en !roo a.an$ener la in$e+ridad de los da$os0 No es el $i1o de es$r*c$*ras a los ?*e es$a.1o de da$os ?*e 1*eda $ener .1os se encon$ra#an relacionados con o$ras $a#las0 En es$e caso nos encon$r7#a.1os $a#la ': registro_libro registro_autor con los si+*ien$es con$enidos: $a#la1: no_registro título editorial fecha_public ación lugar_edito rial !1 Seis 1ro#le.odelo de da$os ele+ido 4 .ec9 1(( B*enos Aires $a#la!: no_registro apellido_autor 1 !2' $a#la': registro_libro !1 8 nombre_autor Sor+e L*is Adol8o Bor+es Bio4 %asares registro_autor 1 Es$e $i1o de es$r*c$*ras de da$os son .

arc en *n se+*ndo 1aso0 "roblemas di%icultades encontradas En el $ransc*rso del 1ro4ec$o se $*-o ?*e en8ren$ar 4 sol*cionar +ran can$idad de 1ro#le.1lo a*$ores.arc0 La sol*ción era +eneral.a en encon$rar códi+os locales iniden$i8ica#les den$ro de los da$os0 /or e@e.#i9n el .1re .En era iden$i8icar la codi8icación de carac$eres en las ?*e se encon$ra#an los da$os0 Es$o +eneral.#i9n sal$os de l.#iar la codi8icación(0 Den$ro de es$a 1ro#le.ien$a +eneral 1ara lidiar con el 1ro#le.es.*4 celosa.El$i1les cons*l$as0 En es$os casos se o1$ó 1or crear scri1$s de .i+rar 1ri. .en$e se 5ac.a$o.nea ?*e es di8eren$e en MS AindoNs 4 en MNUKLin*:0 Es1ecial. .a$o den$ro de *n ca.a .a4ori$aria.ero las $a#las a *na #ase M4STL 4 reali>ar el $ra#a@o de +eneración del arc5i-o .+en 4 eli.o 4 Troo4a 1or e@e. se o1$ó +eneral. e$c0 Los sis$e.ien$o de -ol-er a re1e$irlo0 11 Ric5 Te:$ Bor.oles$o caso de las di8erencias en la codi8icación del 8inal de l.ien$as *ni8or.nea ?*e no es$a#an codi8icados 1or MS AindoNs1&0 En -arias #ases de da$os L so#re $odo las de or.nea lo ?*e o#li+a#a en casos en los ?*e se 5a#.as /9r+a. 1or e@e.a$0 .+en MS AccessJ se encon$ra#an códi+os de 8or.en$e 1or .a consis$.odi8ica#a el arc5i-o de or.an ro.i+ración ?*e reali>a#an las cons*l$as 4 +enera#an *n arc5i-o 1lano ?*e 1od.en$e a 8inales de l.a 5ec5o al+En $ra#a@o de 1reJ 1rocesa.7s co.ina#a TODOS los sal$os de l.odelo de da$os con +ran can$idad de $a#las ?*e re?*ieren re*nir los da$os de *n solo re+is$ro a $ra-9s de .a 4 es$os códi+os sol.ali>ación de los da$os.*4 .nea 4 códi+os OTML .!1 !2' Es$e $i1o de es$r*c$*ra de da$os 1er. se o1$ó 1or no .1ilación a *n arc5i-o .a con *n edi$or ?*e 1er.1os de escasa *$ilidad.an en-iado a %ona#i1 se $ra#a@ó .ano0 En al+*nos casos de ca. edi$oriales.a4ori$aria.a ser $rans8or.odelo de da$os 1ara cada $i1o de ca.1o de da$os res*l$a#a sie. no$as. ins$i$*ciones. 1ero re?*iere co. 1ero $a.en$e RTB11.en$e con Li#reO88ice %alc 4 el edi$or <a$e0 1& En es$os casos MarcEdi$ .1lo *na $a#la con códi+os de *na sola le$ra sin ?*e la e$i?*e$a del ( Se+En el $i1o de arc5i-os ?*e se 5a#.1lo es$7n cons$r*idas so#re *n .oles$o 4a ?*e no se 1*do locali>ar *na 5erra.an$ener la nor.as0 El 1ro#le.en$e MarcEdi$ reacciona#a .a$erias.edian$e 5erra.1o ?*e 1*ede oc*rrir .i$e .1er la co.1le@i>ar el .arc0 /ara 8acili$ar el acceso a los da$os .i$.a iden$i8icar 4 ca.ado en *n re+is$ro .7$ica se encon$ra#a $a.1iar los códi+os o Jen caso ?*e no era 1osi#le o ?*e ?*edaran resid*osJ edi$ar los da$os a .7s de *na -e>.e>clado con los da$os0 Es$e $i1o de codi8icación de 8or.en$e reali>ar -arios 1asos de s*s$i$*ción a 8in de li.i+rarlos0 O$ro 1ro#le.

$*lo de la 1*#licación ?*e con$ienen los da$os de la 1*#licación en +eneral .a la creación de nodos re+ionales ?*e da#an so1or$e $9cnico0 En a+os$o de !&1& se crea el 1ri.$*los 4 re+is$ros de nE. 1or e@e.en$e la .en>aran a reali>ar .1lares0 Se .#ar+o se de$ec$aron re+is$ros en los ?*e es$as relaciones se encon$ra#an ro$as 4 no era 1osi#le relacionar *n nE.en$e el Nodo La /la$a reali>a .a *$ili>a#le den$ro de <o5a.$icos ?*e descri#en ar$.an reali>ar 4 es$a#an +enerando *n c*ello de #o$ella en la i.7$icos 4a ?*e <o5a no 1re-9 car+ar .i+ra#an es$os da$os a *n ca.a ?*e en la 1r7c$ica se 1erd. en la 8*ncionó 5as$a @*nio de !&1!0 De#ido a la +ran can$idad de .eros se -is*ali>a#an los da$os de la 1*#licación0 Sin e.an los descri1$ores $e.#os $i1os de re+is$ros se encon$ra#an relacionados.$*los ?*e car+a#a los da$os de los nE.a el 1ro#le.eros .$*lo c*7les eran los 8asc.1lo si 5ac.1lares0 Es$e scri1$ $en. ISSN.is.en$e se de#.an dos $i1os de re+is$ros: re+is$ros de $.i+ración con$in*a#a con el .ód*lo de <arde: de Si+e#i0 I+*al.1lar. La /la$a 4 /a$a+onia se reali>aron ca1aci$aciones 1ara los o1eradores de es$os nodos 4 las .en$e dos $i1os de re+is$ro 1ara descri#ir da$os 1er$enecien$es a 1*#licaciones 1eriódicas: re+is$ros de $.a in$err*.an re8erencia al .ca.anera ?*e se 1od.1o de no$a local del e@e.1le.odo de ad?*isición o a *na clasi8icación 1ro1ia0 Un 1ro#le.i+ración del <arde: de Si+e#i0 En las #i#lio$ecas *ni-ersi$arias se *$ili>an +eneral.c*los de es$e $.a en-iado la #ase0 En .$*lo.eros de la re-is$a co.o e@e.en$e con la i.i+raciones ?*e se de#.1le.$*lo0 Se +eneraron dos scri1$s de .$*lo 4 en los re+is$ros de nE. 1eriodicidad.1or e@e.*c5os casos se 1*do o#-iar es$os da$os J1or e@e. Ar+en$ina.a -is*ali>ar en *n re+is$ro de $. edi$or.a rec*1erar el re+is$ro a $ra-9s de es$as no$as0 El se+*ndo scri1$ de .a$erias en los da$os de los e@e. 1ero no se 1od.ero con *n $.1lo $.en$ación de los Nodos %ona#i1.i+ración.1lo si el li#ro se encon$ra#a 1res$ado o noJ en o$ros casos re?*irió *na $rad*cción de los códi+os a *na 8or.i+raciones .en$ación.odelo #i#lio+r78ico de Si+e#i 4 8*e el ele+ido 1or $odas las #i#lio$ecas ?*e *$ili>a#an el .o .i+ración de los <arde: no 8*e del $odo sa$is8ac$oria en c*an$o a rec*1eración 4 -is*ali>ación de da$os en <o5a0 Formación de nodos regionales El 1ro4ec$o 1resen$ado a %ona#i1 incl*.c*los en las re-is$as0 En el caso de Si+e#i e:is$. de .i+raciones se co.i+ración 4 cons*l$ar con la #i#lio$eca ?*e 5a#.er nodo re+ional la %i*dad de %órdo#a. se ca1aci$ó a los o1eradores del Nodo %órdo#a a 8in de ?*e co. *no de ellos 1ara +enerar re+is$ros de $.8asc.a es1ecial lo cons$i$*4ó la .1o de *na 1is$a so#re ?*9 da$os se $ra$a#a0 Meneral.i+raciones de Si+e#i 4 A+*a1e40 /os$erior.c*los= 4 a. e$c0= 4 re+is$ros anal.en>aron a dis$ri#*ir en$re $odos los Nodos0 Ac$*al.1ir el 1roceso de .

el sis$e.7s $9cnico.#i9n a o$ras ins$i$*ciones con #i#lio$ecas 1E#licas0 En es$e $ie. diseIo O/A% 4 ad.a 1or el *so .an sis$e. +es$ión de socios.a #i#lio$ecaria .#i9n 8acili$arel *so del sis$e.inen a ser re8eren$es re+ionales 4 con$inEen la $area de cons$r*cción de conoci.s0 %ona#i1 no sola. *na 8*er$e co.a a las #i#lio$ecas 1o1*lares sino $a.o-iendo enc*en$ros con las Bederaciones /ro-inciales a 8in de 8or$alecer la ca1aci$ación en Di+i#e19 de #i#lio$ecarios ?*e 1*edan con-er$irse en re8eren$es 4 crear as.i+raciones de Ainisis0 El Nodo %ona#i1 reali>a di8eren$es $i1os de .1le@as0 Conclusiones En los al+o .a.onio #i#lio+r78ico de las Bi#lio$ecas /o1*lares Ar+en$inas.a$erial #i#lio+r78ico 1or cons*l$a +ra$*i$a 4 1ro.ación en los .a se 5an reali>ado .U'(0 &=0 Ac$*al.andas 1*n$*ales 4 Verónica Lencinas co. se lo+ro 1ro.ien$a 1ara di8*ndir el 1a$ri.asi-o de la ca$alo+ación 1or co1ia . $ele8ónica.as es1ec.7s de cinco aIos en los ?*e 8*nciona el 1ro+ra.1o ?*e lle-a el 1ro+ra.*nidad de *so local 4 re+ional ?*e ase+*ra la 1er.i+raciones de Si+e#i 4 A+*a1e4 4 el Nodo %órdo#a las . 8acili$ar la locali>ación de .inis$ración de 1re8erencias del sis$e.o $a.de MS E:cell.adores0 T*e #i#lio$ecas 1o1*lares se enca.8icos0 .1o el sis$e.i+raciones de *na can$idad inn*.o 1ro8esionales0 Se 5a 1odido ada1$ar Di+i#e19 a las necesidades de las #i#lio$ecas 1o1*lares 4 1E#licas en la Ar+en$ina0 D*ran$e el $ie.a es$7 siendo *sado 1or .*nidad de *s*arios alrededor de la 5erra.7s all7 de los 1ro+ra. 1ro.a se 5a 1*es$o en .en$e o8rece el sis$e.a a $ra-9s de la asis$encia 1resencial. acen$*ando la 8or.anencia de la $ecnolo+.arc5a 1ara #i#lio$ecas ?*e no $en.o asesora $9cnica de %ona#i1 reali>a las .era#le de sis$e.o-er la creación de *na co.7s de 2&& .as $an$o caseros co.7s de H&& #i#lio$ecas en $odo el 1a. 4 Con lineD 1or .ód*los de ca$alo+ación. lle-ando adelan$e @ornadas de ca1aci$ación en *n ni-el .a Di+i#e19.an$ener 4 1ro8*ndi>ar la ca1aci$ación de los #i#lio$ecarios en #i#lio$ecas 1o1*lares $an$o en $9cnica #i#lio$ecoló+ica.7s co. el Nodo /a$a+onia las .o 5erra.en$e se #*sca *na .edio de los 8oros Di+i#e19 4 del correo elec$rónico0 Se es$7 1lan$eando .i+raciones .a4or 1resencia en el escenario re+ional.i+raciones e?*ili#rando las de.a.o-er el *so de las colecciones de las #i#lio$ecas de#e aco.a Di+i#e19 con la 8inalidad de 8or.7$ica #7sica 4 *so del sis$e.ar 8or.1aIarse $oda-.ien$o 4 a1ro1iación $ecnoló+ica0 La 1resencia 4a ac$i-a de *n ca$7lo+o colec$i-o co.ien$a Di+i#e19 co. in8or.

A.fecha>2?/ .ffecha < .ano < .fecha>0?/: .H . sprintf#AG02dAH .Anexos Sigebi&marc$'l #!/usr/bin/perl # sigebi2marc. sprintf#AG02dAH .f << 0/M .AKnA: N #elimina la primer linea en blanco if #.9 % diciembre 2010 // transforma a &S(II la signatura use . sprintf#AG02dAH .l < 0: # flag para detectar registros borrados ) eliminarlos open #+&S.t!t ) marcorgcode es el c*digo de la +iblioteca.f < 0: # flag para comien.fecha>J?/ .@ e.ncode: .&'=2>0?: print A5o especific* un archivo para leerKnA if .tu@flag < 0: # flag para campo 29 ABCtulo uniformeA # fecha de ho) -ue vamos a necesitar mas tarde Dfecha < localtime: .ano .l << 0/M ne!t if .ado por otra aplicaci*n ) se encuentra # en el formato usado por openisis: tag<tab campo # #c/ 2001 2eronica 3encinas # 'eali.ste c*digo tiene -ue estar configurado en el sistema antes de importar a los registros.0A: .file/: Lhile #<+&S.ado con aportes del pro)ecto Sec)t%45( 06/7816 # # ver 1.mfn < 1: .AA: # 2.o del archivo .fecha1 . sprintf#AG02dAH .file < .fecha>6? E 1F00: .lib: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # 1.fecha>1?/ .nn < 0: m) .mes .l archivo resultante puede ser utili.mes < sprintf#AG02dAH . . /M if #.marcorgcode <.AKnA: # caso de dos o mas lineas en blanco . abrir archivo de te!to . che-uear si estan todos los parametros re-ueridos . # .f < 1: ne!t if .&'=2>1?: .pl # script para reformatear bases de datos Isis de Sigebi a Marc21 # # # # # uso: .fecha1 < .pl <archivo <marcorgcode donde <archivo es el archivo de te!to plano obtenido a trav"s de un dump de la base de datos con openisis #por e$emplo: openisis %db M&'( marc.&'=2>0? e.@ e./sigebi2marc. .fecha>I?E1/: .

dgm e.marcorgcodeKnA: deshabilitadoH no todos usan (OO foreach #Dinvent/ M .sigtopHAKUhA/E2/: <S s/KU.classKU-.sigtop .lib print print print print ahora en .sigtopHAKUhA/%2/: N .sigtop .marcorgcodeKUbspaKUc.v1KnA: undef#.@ e.l << 0/M # una linea en blanco # I.libKnA: # &-ui va el itemt)peH tomar de 2IUdH .dgm <S /#disco compactoT(O//: A='&+A if .dgm <S /O2O/: A(OA if .AA: A3I+A if .fecha/: .sigtopHAKUhA/ E2Hinde!#.marcorgcodeKUd.AA or .subcol < substr#.v1 . Se deben definir los O=Ms # como tipos de items en el sistema de recepci*n #itemt)pes en Roha/ .l < 0 if .sigtopHAKUbA/ E2Hinde!#.lib .fecha <S s/KO//g: .< As.marcorgcodeKnA: A6Kt.sigtop/: .AA: #.AKnA: N undef#Ddescri/: chomp#.v1/: .@ e./ /g: <S s/>U!%SKs?//g: <S s/>U!%SKs?//g: # clasificacion % #print A12Kt0IKUa.sigtop <S s/KUl/KUm/: .@KnA unless .subcol < substr#.sigtop <S /KUb/i/M # SubcoleccionesH ubicaci*n.subcol e.modif@registro/: AFI2Kt Uc.@ ne AKnA: .sigtopHinde!#.sigtopHinde!#.AKnA: # J.v1 < substr#.v1/: undef#.subcol < A(=A if .marcorgcodeKnA: print foreach Dregistro: undef#Dregistro/: foreach #Ddescri/M print A860Kt IKUa.dgm < < < < < < Ate!toA if .N .fecha/: print AI0Kt KUa.alta@registroH2/: undef#.fecha TTTTTTTTTTTTTTTTT TTTTTTcA: print A1Kt.sigtop <S s/KUv/KUt/: if #.sigtopHAKUhA/%2/: .lib .alta@registro/: .sigtop <S s/KUs/KUb/: . .sigtop .l < 1 if .sigtop <S s/KUn/KUh/: .class < substr#. sacar por <SBOP4B # Modificar acQ si encontramos O=Ms no definidos a-uCH pero # presentes en la base de origen.dgm <S /grabac/: A1Kt.sigtopHinde!#.ffechaKnA: undef#.sigtopHAKUmA/%inde!#.mfnKnA: AJKt.dgm <S /te!to/: A2IOA if .dgm .v1 < sprintf#AG08dAH.fecha < sprintf#AG0IdAH.lib . reformatear if #.dgm <S /#videoT2ideoT2I//: AO2OA if .lib .@ e.

tag << 29: push DregistroH A2I0Kt.campoHA>A/Hinde!#.campo <S s/KUc.campo <S s/KUt/KUa/: .tag << 10/M # IS+5 .ncode::from@to#.+4= .tu@flag << 1: uniforme . .@ <S s/KUi//: print AF62Kt KU1.campoH0H1/: if #.campo <S /KUh/: .campoA: .tagH.tit1 ne AKUA/M.campoH2H1/ if .campo:N .@KU).@/: # Modif-ue esta lCnea si tiene otra codificaci*n de caracteres #.campo <S m/KUh/: . .campoH VcpIJ9VH Vutf%1V/: .mfn EE: N else M # tenemos un campoH ahora reformateamos #.tu@flag < 1 if .tu@flag < 0: undef#.campo < A10UaA .campoA: # Insertar a-uC generador de IS+5%1J.marcorgcodeKUb.campo . .campo <S s/KUn//: .marcorgcodeKUc.campo <S s/KUn//: .subcol/: .campoHinde!#.campo <S s/KUd/KUhK>/: chomp#.tu@flag << 0: # BCtulo uniforme # Ptro BCtulo .tag << 29/M # BCtulo uniforme .tit1 < substr#.ncode::from@to#. N if #.W//g: push DregistroH A22Kt N if #.campoA if .campoA if .subcolKUa.alta@registro < substr#.campoHA>A// if .campo/: .dgm/: undef#..campo <S s/KUs/KUb/g: .dgm <S s/#K>TK?///g: push DregistroH A2I6Kt.tag << 16/M # ISS5 # (hau c*digos raros -ue puedan estar cargados Ua.tu@flag << 0: push DregistroH A9I0Kt .campo <S s/%//g: .sigtop/: .< A?A if .campo < AKUA .tag << 2I/M # &rea de tCtulo ) menci*n de responsabilidad .campo <S s/KUc.campoKnA: N if #.tag: .campo/ < split#/Kt/H.W//g: # (hau c*digos raros -ue puedan estar cargados push DregistroH A20Kt Ua.campoHA?A/% inde!#.sigtopKnA: N print AKnA: undef#Dinvent/: undef#.campo < A10A .tag << J: if #.campoA: # O.campo if .campo: .subcolKUp.dgm < substr#.libKUo.campoH Vcp160VH Vutf%1V/: #print A.

. .a1 videocassette of 1 #+eta/ #J0 min.campo unless .c1/2 in.tit1 ne AKUA/M.lugarKUb. .tag << I6/M .v280b <S m/KUe/ /M #.campo <S s/K# /K#/: push DregistroH AJ00Kt .campo <S s/KUg/ K/K# /: .campo: .KUr//g: <S s/.descri/: N else M . .descri <S s/KUl/KUe/: .J#2 copies/ # &-uC ha) -ue continuar traba$ando ) controlar O2OsH grabacionesH (OsH mapas ) lo -ue pueda aparecer.S.dici*n .fecha/ < split#AKUfAH.v280b/: .campoA: N if #.campoHinde!#.campo <S s/ K//K//: .campo .tit1 < substr#.tag << 60/M . .lugar <S s/KUl/KUa/: chomp#./ : . . A#A .descriH .campo .lugar/: # en algunos casos no ha) editor cargado.tag << 21/M # Ptros autoresH creadoresH personas vinculadas con la creaci*n o modificaci*n .campo e.bsd.v280b <S s/KUf/KUc/: N chomp .lugarH .campo < A UaA .descri . 7ISI(& G Uabcd! abcd! 60 160 0 1 # /// en la +X'& se encuentra la siguiente construcci*n: # Ua2 videocasetesUe2YSUfXalUg60 min.KUn//g: <S s/.descri <S s/KUe/KUf/: .fecha < substr#.v280bA: undef#.editor.S('IX.Uhcol.editor/: undef#.campo .campo <S s/. if #.campo <S s/KUe/ K#/: .campoA: N #6I 5PB&S ='&3.campo .campo <S s/#KUhTKUf//H /: .Ubson. A/A: undef#.AKnA: push DregistroH A900Kt.v280b < .campo e.campo <S s/KUh/ /: .KUa//g: <S s/KUn/H /g: <S s/KUr/HKUe/g: < A1 A .editor/ < split#/KUe/H.tag << I2/M # . G Unf nf 6I 600 0 1 # /// +X'& a-ui un registro con UaH muchos otros con Uc #< notas de contenido/ # /// en algunos casos se cargaron las notas de contenido como descriptores # /// entre < ) en ma)usculas sostenidas .campo/ if . if #.lugar:N .campo . : .N if #.campo: push DregistroH A260Kt.campoHAKUfA/E2/: if #.v280b/: N #60 O.AA or .v280b < AUcA .campoA: N #.fecha .lugarH0H1/: if #.lugar < AKUA .tag << IJ: . # correcto: .H col.lugar/: undef#.editor: push DregistroH A280Kt .

AnA/M push DregistroH A600Kt N if #.@ <S s/#<T ///g: chomp: push DdescriH .campo <S s/KUd//: Ddescri1 < split#/ </H.@/: .campo@6!! < substr#.cod@sc e.campo: N undef#Ddescri1/: N #90 54M.S('IXBP' for #Ddescri1/M .8 if #.campo/: adaptaciones entre < problemas # )a -ue el campo -ue genera es 860 UaUO.campo <S s/ </ %% /g: .cod@sc e.AcA/M push DregistroH A606Kt N N N if #.@H0H1/: .@H1/: if #. # en ese caso cada campo genera dos ocurrencias ) despu"s ha) # PZPH esto puede re-uerir # base 3I+'I .campo <S s/#<T ///g: Dv600 < split#/KU/H.5B&'IP G Uive ive # /// 3a +X'& ha usadp Up en lugar de Ue 90 160 0 0 # bases 7&(SP no funciona bien )a -ue no tienen los descriptores sino -ue el campo es repetible.tag << 86/M # Oescriptores KUa. I52.cod@sc < substr#.campo@6!!KnA: KUa.# Oigibepe % algunas bibliotecas tienen varios subcampos en este campo if #.tag << 6I/M .campo/: push DdescriH .campo/: foreach #Dv600/M chomp#.campo <S /KUd/ / M .campo@6!!KnA: # ver 1.@: N N else M # base 7&(SP chomp#.

/: push DregistroH AIF0Kt.tit1 < substr#.tag << 100/M .i@flag e. de la subserie if #.campo <S s/KUn/2 KUa/ if .& O.campoA if .A2IA or .campo <S s/KU!/.campoA if . .campo if . .tag << 110: .tag << 100: #110 .tag << 168: push DregistroH A9F8Kt.campoH0H1/: if #.campo if .tag << 96/M .campo <S s/KUe/KUt/: chomp ./ GUns ns # /// +X'& tiene Ur.tag << 100: .campo <S s/KUt/0 KUa/: .ditor en algs.tag << 1J0: push DregistroH A9F0Kt.campoA if .dgm < A(OA if .campo <S s/#KUnTKU)// :KUv/: ..tag << 110: push DregistroH A110Kt .A(OA: N push DinventH .campoH2H2/: if#.tag << 168: N N close +&S.tag << 100: push DregistroH A100Kt.campo < AKUA . casos 110 200 0 1 .if #.sigtop < .campoA: N if #.campo <S s/KUa/1 KUa/ if .campo <S s/KUn/H / if .'I.campo: N if #.campo < A1 KUaA .i@flag < substr#. X'I5(. el nombre real # & partir de este campo me$or utili.A2IA: .tag << 90/M .campo <S s/KUp/KUt/: .tit1 ne AKUA/M.campo: N #19 &'. .campo < A1 KUaA .dgm < A2IA if .n estos casos el 100 incl.campoA if .5BIO&O #.campo:N N . S.campo: .tag << 1J0: #168 seudonimos 168 80 0 0 # /// &-ui la +X'& carga el nombre mas conocido en el caso de # seud*nimos.amos registros de autoridad.i@flag e. G Utsrin! tsrin! 19 260 0 1 # /// +X'& tiene cargado U) -ue es en este conte!to el vol. .: #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< .A(OA/M .tag << 19/M . .i@flag e.i@flag e.

l archivo resultante puede ser utili.ste c*digo tiene -ue estar configurado en el sistema antes de importar a los registros.&'=2>1?: # fecha de ho) -ue vamos a necesitar mas tarde Dfecha < localtime: .mes < sprintf#AG02dAH .@ e.ado por otra aplicaci*n ) se encuentra # en el formato usado por openisis: tag<tab campo # #c/ 2001 2eronica 3encinas # # ver 1. sacar por <SBOP4B % adaptado a Roha J. abrir archivo de te!to .&'=2>0? e.0A: .marcorgcode <.AKnA: # caso de dos o mas lineas en blanco N .f < 1: ne!t if .&'=2>0?: print A5o especific* un archivo para leerKnA if .file/: Lhile #<+&S. /M if #.f << 0/M . A.firstaut < 0: m) .6 F02 use .0 // Itemt)pes se obtienen a trav"s del campo .l < 0: # flag para detectar registros borrados ) eliminarlos open #+&S. sprintf#AG02dAH .fecha1 < . sprintf#AG02dAH . sprintf#AG02dAH .@ ne AKnA: .fecha>6? E 1F00: . che-uear si estan todos los parametros re-ueridos .@ e.lib: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # 1. . .AKnA: # J.@ e.ano < .ffecha < .o del archivo .fecha>I?E1/: .t!t ) marcorgcode es el c*digo de la +iblioteca.l < 0 if .file < .Agua'e &marc$'l #!/usr/bin/perl # aguape)2marc.fecha>1?/ .nn < 0: .l << 0/M # una linea en blanco # I.fecha1 .f < 0: # flag para comien.mes . reformatear if #.l < 1 if .AKnA: N #elimina la primer linea en blanco if #./aguape)2marc.fecha>J?/ .ncode: .ano .fecha>0?/: .fecha>2?/ . sprintf#AG02dAH .AA: # 2.pl # script para reformatear bases de datos &guape) a Marc21 # # # # # uso: . # .l << 0/M ne!t if .H .pl <archivo <marcorgcode donde <archivo es el archivo de te!to plano obtenido a trav"s de un dump de la base de datos con openisis #por e$emplo: openisis %db M&'( marc.

campoA: N if #.tag << 20/M .tag << 2/M .tag << 168 or .tag << 2I8 or .campo/ < split#/Kt/H.tag << 11/M push DregistroH A1Kt.tag << 810 or .ffechaKnA: print AI0Kt KUa.tag << 800 or .dgm: chomp .ncode::from@to#.marcorgcodeKnA: print A6Kt.tag << 621 /M push DregistroH A.campoA: N if #.dgm/: undef #.tagKt.sgm/: .campo <S s/franc"s/fre/: .campoH8H1/: push DregistroH AF01Kt KUa.campoA: N if #.campoH VcpIJ9VH Vutf%1V/: .@/: # Si tiene otra codificaci*nH modifi-ue esta lCnea #.marcorgcodeKUbspaKUc.nn < 0: .tag << 60I or .tag << 260 or .dgm e.tagH.record@t)pe < substr#.sgm < AlibroA if .lib < AA: # vaciar para el pro!.VUV/M push DregistroH A.cod e.tag << 620 or .tagKt.tag << 811 or .tagKt.tag << 1/M .@ <S s/K#/ /g: print: N undef#Dregistro/: print AKnA: undef#Dregistro/: undef#.campo <S s/ingl"s/eng/: push DregistroH AI1Kt.campo <S s/espaK2IIol/spa/: .campoH2H1/: if #.tag << 860 or .tag << 22 or .campoA: N if #.tag << 2I or .campo <S s/espa[ol/spa/: .campoA: N .marcorgcodeKnA: foreach #Dregistro/M .sgm: print AJKt.dgm < Ate!toA if .AA: .AA: chomp .tagKt.firstaut < 0: N else M # tenemos un campoH ahora reformateamos #.bibl@level/: N if #.ncode::from@to#.sgm e.campoH Vcp160VH Vutf%1V/: if #..campoA: N if #.tag << J10 or . registro .campoH6H1/: .ncode::from@to#.campoA: N if #.campo <S s/%//g: push DregistroH A.campoH Vlatin1VH Vutf%1V/: #.bibl@levelKnA: undef#.cod < substr#.bibl@level < substr#.tag << 861 or .tag << 600/M push DregistroH A.tag << 86F/M push DregistroH A860Kt.tag << 86J or .tag << 188/M .record@t)pe/: undef#.record@t)peKUb.

Santiago (oronel inclu)e varios autores separados por gui*n.lib < AMXA if .tag << 910/M #.lib < A(I5A if .campo <S s/KUn/KUnK#/: #.lib1 <S /diario/: .campoHAKUhA//: #print A3I+: .lib < A='&+A if .lib1 <S /$uego/: .lib1KnA: .cod < substr#.lib1 <S /video/: ./K.lib < A2IOA if .campo <S s/K?/K//: .tagKt N undef#.campo .lib1 < substr#.lib1 <S /material cartogr/: .lib1 <S /revista/: . .campoKnA: N .else M push DregistroH A.tagKt.campo: # Yemos tenido registros donde metieron mano vCa \inisis.tagKt.campoA: N if #.tag < A900A: N if #.tag << 100/M # &-ui la +.tag << 111/M #.lib1 <S /sica/: .tagKt1 Ua.lib1 <S /arte/: .lib < AMPOA if .lib1 <S /estampa/: .campo <S /KUh//M .campo <S s/KUd/HKUd/: chomp .A if .campo <S s/K>/K#/: push DregistroH A.campoHAKUA/% inde!#.campoH2H1/: # (orregir campos 100 m^ltiples if #.cod e.cod/: Ua.campo <S s/KUd/ :KUd/: #.campoHAKUhA/Hrinde!#.tag << 110 or .campo <S s/KUb/.campoKnA: N if #.campoHinde!#. # Ya) bibliotecas -ue tienen varios campos 100.lib < A(7A if .firstaut < 1: undef#.lib < AM4A if .tagKt.campoKnA: N else M push DregistroH A.< A/A if .campo <S s/KUc/ :KUc/: chomp .2A if .A if .VUV/M push DregistroH A.lib1 <S /recurso elec/: .firstaut < 0 para indicar el primer autor #.campo <S s/ K.lib < A'.campoA: N if #.KUb/: #. # 4samos .lib < A='&7A if ./: .lib1 <S /modelo/: .X.campo <S m/K#/: push DregistroH A.lib1 <S /pelCcula/: .lib < A&'B. &-uC el hac] para # arreglar el error del bibliotecario.lib1 <S /grabac/: .cod/: N # 7I5 if .tag << 100 if #.firstaut << 1/M .campo: .lib < AOI&'A if .tag << 2I6/M if #.lib < AZ4.

lib < AMXA if .campo << 2: .campo <S s/KUb/ :KUb/: chomp .campo <S s/K?/K//g: chomp .campo <S s/KUa//g: chomp .campo <S s/KUe/ KEKUe/: .campo <S s/K?/K//: chomp .tag << F02/M chomp .campoKnA: N if #.campo << 6: .campoHA>A/%2/: N # push DregistroH A.VUV/M push DregistroH A.campo: push DregistroH A.lib < A2IOA if .tagKt KUa.dgm < substr#.N chomp .campo <S s/K#//g: .campo <S s/K?/K//: chomp .tag << J0F/M .tag << 280/M #.campoHinde!#.campo: push DregistroH A.campo: chomp .tag << J00/M #.campo << I: .campo: push DregistroH A.campo <S s/ / /: .campo <S s/KUc/HKUc/: .campoKnA: #N #undef#.campo <S s/KUc/ :KUc/: #.tagKt.cod e.tagKt.campo <S s/KUb/ :KUb/: #.cod < substr#.campo: #.lib < A'.campo << J: .sgm: push DregistroH A.campo <S s/KUv/ :KUv/g: .lib < A3I+A if .campoKnA: N if #.campoKnA: N if #.tag << 266/M #.campo << 8: push DregistroH A.campo/% inde!#.campo <S m/KUh//M .campoKnA: N if #.tag << II0/M #.KUp/g: #.campoKnA: #N #else M if #.campo: push DregistroH A.campo <S s/K>/K#/: .cod/: N if #.campo: .campo: .campoH2H1/: #if #.tagKt.campo <S s/KUp/.tagKt.tagKt.campoHA>A/E1Hlength#.2A if .campo <S s/K>/K#/g: .lib < AM4A if .campoKnA: N if #.campo <S s/K>/K#/: .campoKnA: N if #.sgm < .tag << J82/M .lib < A(7A if .tagKt.campo << 1: .tagKt.campo <S s/KUb/ :KUb/: #.

tag << 606/M #.v16FaH Vutf%1VH VasciiV/: .tag << 100/M #.csubcampo eAdA: .vsubcampo <S s/UK\E//g: if #.campo <S s/KUe/HKUe/g: chomp .@H1/: .val < .libKUo.tagKt.v16FnH Vutf%1VH VasciiV/: push DregistroH AF62Kt KUa.campoKnA: N if #.campo: push DregistroH A.tag << 99J/M #.tagKt.ncode::from@to#.ncode::from@to#.campoKnA: N if #.campoKnA: N if #.val/: foreach #Dsubcampos/M .v.//g unless .campo: push DregistroH AIF0Kt.marcorgcodeKU).vsubcampo < substr#.ncode::from@to#.vsubcampo <S s/K\E.I____ .csubcampo < substr#.v16FaKnA: N N N close +&S.tag.csubcampo < KA.tag < .campoKnA: N if #.campo: push DregistroH A.chomp .v16FmH Vutf%1VH VasciiV/: .campo/: .tag <S /#100T900// and .marcorgcodeKUb.v16Fm .: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sub subcampos M # agregado ver.campo <S s/KUd/.@H0H1/: .@>1?: Dsubcampos < split#/KU/H.KUd/g: chomp .@>0?: .v16FnKUp.vsubcampo ne AA/M eval#AK.campo <S s/KUr/ K/KUr/g: chomp . 1.tagKt.vsubcampoKAK:A/: N N N #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< .campo: push DregistroH A.tag << 16F/M subcampos#.tagH.

@ unless .sep@rmarc < AK!1dA: .inicio@datos E 1: .ar c*digo de subcampo .i < 0: .inicio@datos < sprintf#AG06dAH 2I E #.rec el registro N N # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sub do@marcM # &rmar archivo marc .F: .campo>.i < 0: foreach#<SBOI5 /M if #.nl < AKrKnA: # Si va a usar sus registros ba$o uni! modifi-ue # a AKnA.< .lon>.i? < sprintf#AG0IdAH length#.v/ E 1/: # carga longitud del campo E cierre campo .i? < sprintf#AG0JdAH .iEE: N `do@marc: undef#Dtag/: undef#Dcampo/: undef#Dlon/: .largo@registro < . m) .tH./rec2marc.v: # carga el campo .rec/: foreach #Drec/M #.AKnA/M # lee el archivo provisto por stdin # 7in de registro # transforma el registro en un vector Drec < split#/Kn/H.tag>.i? < .AKnA: # (olecciona en .2ersion < 0.rec < AA: N else M . # W Oo]u #.t/: # carga el valor del tag .inicio@datos E suma@de@largo@campos m) .Rec&marc$'l #!/usr/bin/perl # # # # # rec2marc.sep@cmarc < AK!1eA: .ino < 1: m) Dtag: m) Dcampo: m) Dlon: .@/: .total@campos W 12/ E1/: # largo@registro < .total@campos < Dcampo: # inicio@datos < 2I E #total@campos W 12/ E 1 m) .pl < file # BPOP: # W poder pasarle un leader ) -ue lo inclu)a.rec .@ e.pl % script para crear registros en Marc21 a partir de una registro del tipo de PpenIsis #tag <tab content/ #c/ 2009 2eronica 3encinas =X3H en$o)! # 4so: .v <S s/KU/K!1f/g: # reempla.v/ < split#/Kt/H.@ e.

bas E . Aua I600A: # registro Marc21 4nicode # directorio: m) .iso . .$EE/M .lon>.bas/: . .largo@registro .$EE/M .@: N # leader: . A000I600A # Si -uiere incluir datos dentro del leaderH modifi-ue esta linea. . .inicio@datos .largo@registro E< .largo@registro/ .$? .directorio/: for #. Anam a22A .directorio .$?: N m) .sep@cmarc: for #.total@campos: . Aua I600A: # esto es para un registro Marc21 &nsel.campo>.iso.$<0: .$ < . sprintf#AG06dAH .bas < .inicio@datos .$? .iso .total@campos: . .$<0: .tag>. #. .bas < 0: undef#. Anam 22A .< .largo@registro/ .directorio < . 'ecodifi-ue adecuadamente .iso < .leader < sprintf#AG06dAH .sep@rmarc: print A.$ < .leader . . . A0000022A .nlA: N # fin sub #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< # 7in 7I5: .$? .directorio .lon>.leader < sprintf#AG06dAH .iso < .sep@cmarc: N .foreach#Dlon/M . .inicio@datos .

!istencias completas: Vv1JI/fiH/ #if p#v21F/ then V600 Ua.stado del material: Vv21F/fiH/ #if p#vI00/ then V600 UaMonografico: VvI00/fiH/ #if p#v92/ then V620 UaVv92/fiH/ #if p#v11/ then V621 Ua5ivel: Vv11/fiH/ #if p#v116/ then V626 UaMaterial complementario: Vv116/fiH/ #if p#v8I/ then V6I8 UaIdioma: Vv8I/fiH/ #if p#v181/ then if occ<1 then V606 UaV fiH v181ET %% TfiHif occ<nocc#v181/ then / fiH/ #if p#v10/ then V860 #if p#v98/ then V860 #if p#vFF/ then V86J if if if if if if p#v6/ then VF06 p#v8/ then VF08 p#vF1/ then VF00 p#vF9/ then VF09 p#v82/ then VF82 p#v211/ then VF18 1IUaVv10/fiH/ IUaVv98UW/fiH/ IUaVvFF/fiH/ UaVv6/fiH UaVv8/fiH UaVvF1/fiH UaVvF9/fiH UaVv82/fiH UaVv211/fiH #if p#v2/ then TF62 Ua0011Ub0011UpTHv2 H if v120 < VdV then VUeOP5V fiH VUoVv121>1? HVU)3I+V/fiH/# .E(em'lo de una migración de )inisis$ Arc*i+o "F! 'ara migración: &Marc$"F! V1 Vmfn/ VJ 0011V/H V6 2011021I0000.0V/H V1 000000sVvIJV TTTTTTTTTTTTTT000 T spaTTV/H if p#vI9/ then V20 UaVHvI9/HfiH VI0 Ua0011UbspaUc0011V/H if v8<VmV or v8<VmcV or a#v8/ then #if p#v18/ then if occ<1 then V100 1 UaV else V900 1 UaV fiH v18/fiH/ #if p#v19/ then if occ<1 then V110 1 UaV else V910 1 UaV HfiH v19/fiH/H V2I6 10UaVv11/ if p#vI1/ then V260 UaVvI1H/fiH if p#vJ1/ then V280 UaVvJFHVUbVvJ1VUcVvIJ/fiH if p#vI2/ then VJ00 UaVvI2/fiH if p#v20/ then VJ00 UaVv20 if p#v111/ then VUedis-ueteVfiH /fiH if p#vF0/ then VFF0 UaVvF0/fiH if p#v11J/ then VJ00 UaV if v11J<V2ideoV then v112V videoVHfi A #Av119A/AHA #Av118A/AH AUbAv11I/fiH fiH if v8<VamV then #if p#v10/ then if occ<1 #if p#v11/ then if occ<1 V2I6 10UaVv12/ if p#v20/ then VJ00 if p#v11/ then V99J v11HfiHAUbAvI1HAUcAvJFHA fiH #if p#v26/ then VIF0 #if p#v2J/ then V900 #if p#v2I/ then V910 then V100 then V110 1 UaV else V900 1 UaV else V910 1 UaV fiH v10/fiH/ 1 UaV HfiH v11/fiH/ UaVv20/fiH UaV if p#v18/ or p#v19/ then v18UWHv19HVUtVv11 else : AvJ1HAH AvIJ /fiH 0UaVv26HAUvAv21/fiH/ 1 UaVv2JH/fiH/ 1 UaVv2IH/fiH/ #if p#v81/ then V600 UaVv81/fiH/ #if p#v29/ then V600 Ua3a coleccian tiene un total de Vv29V volumenesV/fiH/ #if p#vJ0/ then V600 UaBitulo de la publicacion periodica: VvJ0/fiH/ #if p#v1JI/ then V600 Ua.