notas:cepal2marc
cepal2marc
Script para la migración de la base BINAM de CEPAL a MARC21 (Biblioteca Nacional de Maestros).
/* ------------------------------------------------------------------ * Programa para la migraci¢n de la base BINAM de CEPAL a MARC21 * ------------------------------------------------------------------ * Biblioteca Nacional de Maestros - Abril 2001/Enero 2002 * ------------------------------------------------------------------ * * Este programa utiliza algunas bases auxiliares (IDIO, PAIS, * ROLES, JURISD, etc.), y los formatos v245c-p.pft, v245c-i.pft, * que generan las menciones de responsabilidad personales e * institucionales respectivamente. * * Modo de empleo: * mx g:\ptec\binam\migra\binam proc=@cepal2marc.pft * proc=@elim.pft * proc='s' * * (en el directorio donde est‚n los archivos auxiliares) * * Copiar base nueva en g:\ptec\binam\marc\marc * ------------------------------------------------------------------ */ mpl, /* IMPORTANTE: correr el mxf0 y estudiar campos "raros" */ /* eliminamos todos los campos de CEPAL */ 'd*', /* tags de CEPAL que se reutilizan (por si desactivamos la linea previa) */ 'd001','d005','d020','d040','d080','d100','d110','d130','d240','d610','d659', /* ================================================================= * De acuerdo al nivel del registro (MONOGRAFICO o ANALITICO), * seleccionamos los autores (v9016, v9017) y el t¡tulo (v9018) que * usaremos en el resto del programa. * Aprovechamos para normalizar los espacios alrededor de ':' en * los t¡tulos. * ================================================================= */ if v6.1='m' then /* NIVEL MONOGRAFICO */ proc( ,(,'a9016%',v16,'%' ,), ,(,'a9017%',v17,'%' ,), ,(,'a9018%',replace(replace(v18,' : ',': '),': ',' : '),'%' ,), ) else /* NIVEL ANALITICO */ proc( ,(,'a9016%',v10,'%' ,), ,(,'a9017%',v11,'%' ,), ,(,'a9018%',replace(replace(v12,' : ',': '),': ',' : '),'%' ,), ) fi, /* testeo de lo anterior */ /* /'MFN:'mfn/ (|AP-A:|v10/)(|AI-A:|v11/)(|TI-A:|v12/)# (|AP-M:|v16/)(|AI-M:|v17/)(|TI-M:|v18/)# (|AP-*:|v9016/)(|AI-*:|v9017/)(|TI-*:|v9018/), break, */ /* ================================================================= * Determinamos el encabezamiento principal (Main entry), de * acuerdo con la tabla de prioridades. * ================================================================= */ /* 7001 : n£mero de autores sin ^f */ proc('a7001%',f(nocc(v9016)-size(v9016^f.1),1,0),'%'), /* 7000 : encabezamiento principal */ proc('a7000%', if p(v130) then '130' else if p(v9017) AND p(v240) then '110' else if val(v7001)>=1 AND val(v7001)<=3 then '100' else if p(v9017) then '110' else if p(v53) then '111' fi,fi,fi,fi,fi, '%', ), /* si ninguna de las condiciones anteriores se cumple, quedan ausentes los campos 100, 110, 111 y 130 ("asiento bajo t¡tulo") */ proc('d7001'), /* =================================================================== * Cabecera (leader) * (Solo la informaci¢n que est en BINAM y que depende del registro) * =================================================================== */ 'a999%', /* 05 : Record status */ '?', /* 07 : Bibliographic level */ if v6.1='m' OR p(v18) AND a(v12) then 'm' else if v6.1='a' OR p(v12) then 'a' fi, fi, /* 17 : Encoding level */ select v05 case '1':'z', case '2':'5', case '3':'3', case '4':'7', case '5':'9', endsel, /* 19 : Linked record requirement ??? */ if p(v12) then 'r' else ' ' ,fi, '%', /* =============================================================== * Campo 001 * N£mero de control * =============================================================== */ 'a001%', /* 00-02 */ 'BNM' /* 03-08 */ mfn(6), '%', /* =============================================================== * Campo 005 (CEPAL v97) * Fecha y hora de la £ltima transacci¢n * =============================================================== */ 'a005%',v97,'000000.0%', /* =============================================================== * Campo 008 (CEPAL varios) * =============================================================== */ 'a008%', /* 00-05 */ if size(v97)=8 then v97*2, else s(date)*2.6 fi, /* 06 */ if a(v43) OR v43:'s.f.' then 'n' else 's' fi, /* 07-10 */ /* s.f. */ if a(v43) OR v43:'s.f.' then ' ', /* 9999 */ else if not v43:'-' AND NOT v43:'[' then v43, /* [ca. 9999] */ else if v43:'ca.' then v43*5.4, /* [99--] */ else if v43:'--]' then v43*1.2,'00', /* [999-] */ else if v43:'-]' then v43*1.3,'0', /* [1111-9999] */ else if v43:'-' then v43*1.4, /* [9999] */ else if v43:'[' then v43*1.4, ,fi, fi, fi, fi, fi, fi, fi, /* 11-14 */ if v43:'-' AND not v43:'[' then right(v43,4) else ' ' fi, /* 15-17 */ if a(v40) then ' ' else '#'v40, fi, /* 18-28 */ '|||||||||||', /* 29 */ if p(v53) then '1' else '0' fi, /* 30-31 */ '00', /* 32 */ ' ', /* posici¢n no definida */ /* 33 */ '|', /* 34 */ if v80:'BIOGRAF' then 'd' else ' ' fi, /* 35-37 */ if a(v64) then '|||' else if nocc(v64)>1 then 'mul' else if l(['IDIO']v64) > 0 then ref(['IDIO']l(['IDIO']v64),v2), else, 'xxx' /* A REVISAR */ fi, ,fi, ,fi, /* 38 */ '|', /* 39 */ '|', '%', /* =============================================================== * Campo 020 (CEPAL v47) * ISBN * =============================================================== */ if p(v47) then ,(, 'a020% ^a',v47,'%', ,), fi, /* =============================================================== * Campo 040 * Biblioteca catalogadora * =============================================================== */ 'a040% ^aBNM','%', /* =============================================================== * Campo 080 (CEPAL v03) * CDU * =============================================================== */ if p(v03) then if l(['DIGITOS']v3.1) > 0 AND NOT v3*1.2='-E' then 'a080%', ' ^a',mid(v3,1,instr(v03,' ')-1), '%', else if l(['PREFST']mid(v03,1,instr(v03,' ')-1)) > 0 then 'a080%', ' ^a', mid(mid(v03,instr(v03,' ')+1,size(v03)), 1, instr(mid(v03,instr(v03,' ')+1,size(v3)),' ')-1 ), '%', ,fi, ,fi, fi, /* =============================================================== * Campo 100 (CEPAL v10/v16) * Autor personal * * Corregir manualmente (luego de migrar): Papas, Santos, Abates, * Kirk-Greene (al v700) * =============================================================== */ if v7000='100' then /* ¨Qu‚ ocurrencia de v9016 va al v100 ? La primera que no posea ^f */ proc('a7002%',(if v9016^f='' then f(iocc,1,0), break, fi),'%'), 'a100%', ,(, if iocc<>val(v7002[1]) then continue else if v9016^*:',' then '1' else '0', fi, ' ^a', /* ¨M s de una coma? A partir de la segunda se reemplazan por ^c */ if v9016^*:',' AND mid(v9016^*,instr(v9016^*,',')+2,size(v9016^*)):',' then mid(v9016^*,1,instr(v9016^*,',')) replace(mid(v9016^*,instr(v9016^*,',')+1,size(v9016^*)),', ','^c'), else v9016^*, ,fi, replace(v9016,v9016^*,''), if v9016^f>'' then ,if v9016^f:' y ' then ref(['ROLES']l(['ROLES'] mid(v9016^f,1,instr(v9016^f,' y ')-1)), '^e'v2), ref(['ROLES']l(['ROLES'] mid(v9016^f,instr(v9016^f,' y ')+3,1000)), '^e'v2), else ref(['ROLES']l(['ROLES'] v9016^f), '^e'v2), fi, fi, fi, ,), '%', fi, /* =============================================================== * Campo 110 (CEPAL v11, v17) * Autor institucional * * Actualizar la base JURISD al momento de la migracion * =============================================================== */ if v7000='110' then 'a110%', if v9017[1]:'^b' AND l(['JURISD']v9017^*[1]) > 0 then '1', else '2', ,fi, ' ', '^a',v9017[1], '%', fi, /* =============================================================== * Campo 111 (CEPAL v53, v54, v55, v56) * Conferencia * =============================================================== */ if v7000='111' then 'a111% ^a', if v53:', ' AND l(['DIGITOS']mid(v53,instr(v53,', ')+2,1)) > 0 then replace(v53,', ','^n'), /* numero */ else if v53:'. ' AND l(['DIGITOS']mid(v53,instr(v53,'. ')+2,1)) > 0 then replace(v53,'. ','^n'), /* numero */ else v53, fi,fi, /* lugar (ciudad, pais) */ if p(v54) OR p(v55) then '^c', v54, if p(v55) then ', ',ref(['PAIS']l(['PAIS']v55),v3), fi, fi, /* fecha */ if p(v56) then v56, fi, '%', fi, /*=============================================================== * Campo 130 (ya migrado manualmente a v130) * T¡tulo uniforme * =============================================================== */ if v7000='130' then 'a130% ^a',v130,'%', fi, /*=============================================================== * Campo 240 (ya migrado manualmente a v240) * T¡tulo uniforme * =============================================================== */ if p(v240) then ,(, 'a240% ^a',v240,'%', ,), fi, /* =============================================================== * Campo 245 (CEPAL v10, v11, v12, v16, v17, v18) * T¡tulo y menci¢n de responsabilidad * * ^n, ^p: * Ej: En busca del tiempo perdido. 5: la prisionera --> ^n5^pla prisionera * Buscar: * /[Tomo|Tome|T[.|:]|Parte|Part|P[.|:]|Volumen|Vol|V[.|:]|Secci[o|¢]n|Section] ?[\d|I|V|X|L|C]/i * * Candidatos al v111: * /[conf.r.nc|sal.n|congr.s|jornada|reuni.n|simposio|encuentro|taller|workshop|]/ * =============================================================== */ if p(v9018) then 'a245%00^a', /* ******* SUSPENDIDO POR EL MOMENTO EL USO DE ^n ******* */ /* v1201 : primera posicion donde aparece '. '+digito */ /* if v9018[1]:'. 0' then proc('a1200%',f(instr(v9018[1],'. 0'),1,0),'%'), fi, if v9018[1]:'. 1' then proc('a1200%',f(instr(v9018[1],'. 1'),1,0),'%'), fi, if v9018[1]:'. 2' then proc('a1200%',f(instr(v9018[1],'. 2'),1,0),'%'), fi, if v9018[1]:'. 3' then proc('a1200%',f(instr(v9018[1],'. 3'),1,0),'%'), fi, if v9018[1]:'. 4' then proc('a1200%',f(instr(v9018[1],'. 4'),1,0),'%'), fi, if v9018[1]:'. 5' then proc('a1200%',f(instr(v9018[1],'. 5'),1,0),'%'), fi, if v9018[1]:'. 6' then proc('a1200%',f(instr(v9018[1],'. 6'),1,0),'%'), fi, if v9018[1]:'. 7' then proc('a1200%',f(instr(v9018[1],'. 7'),1,0),'%'), fi, if v9018[1]:'. 8' then proc('a1200%',f(instr(v9018[1],'. 8'),1,0),'%'), fi, if v9018[1]:'. 9' then proc('a1200%',f(instr(v9018[1],'. 9'),1,0),'%'), fi, */ /* regeneramos el v9018, colocando '^n' */ /* if p(v1200) then proc('a1201%',f(rmin(v1200+| |),1,0),'%'), proc('d9018', 'a9018%',mid(v9018[1],1,val(v1201)-1), '^n', mid(v9018[1],val(v1201)+2,size(v9018[1])), '%', (, if iocc=1 then continue else 'a9018%',v9018,'%' fi ,), ), proc('d1200','d1201'), fi, */ /* v1202 : primera posicion donde aparece un ':' o un '=' */ ,if v9018[1]:':' then proc('a1200%',f(instr(v9018[1],':'),1,0),'%'), /* pos. del 1er ':' */ fi, ,if v9018[1]:'=' then proc('a1201%',f(instr(v9018[1],'='),1,0),'%'), /* pos. del 1er '=' */ fi, proc('a1202%',f(rmin(v1200,x1,v1201),1,0),'%'), /* pos. del primero de ambos */ /* colocamos '^b' en la posici¢n indicada por v1202 (el signo '=' se conserva) */ if v1202=v1201 then mid(v9018[1],1,val(v1202)-1), else mid(v9018[1],1,val(v1202)-2), fi, if s(v1200,v1201)>'' then '^b', mid(v9018[1], val(v1202)+2, size(v9018[1])), else v9018[1], fi, /* y si hay m s de un t¡tulo... */ if nocc(v9018)>1 then ' ;', if val(v1202)=0 then '^b' else ' ', fi, ,(, if iocc>1 then v9018+| ; |, else continue fi ,), fi, proc('d1200','d1201','d1202'), /* ========== MENCIONES DE RESPONSABILIDAD ========== */ /* if s(v9016,v9017) > '' AND ( a(v130) AND a(v240) OR a(v130) AND p(v240) AND nocc(v9017) > 1 OR a(v130) AND p(v240) AND p(v9016) ) then '^c', if p(v9016) then ,@v245c-p.pft, fi, if p(v9017) AND a(v240) OR p(v240) AND nocc(v9017) > 1 then ,if p(v9016) then ' ; ', fi, ,@v245c-i.pft, fi, fi, */ /* Begin porcion extraida de la version de nov/01 */ if p(v16) or p(v17) then ' /^c[' ,fi if p(v16) then ( if iocc>1 then ', ', fi, if v16^*:', ' then mid(v16^*,instr(v16^*,', ')+2,size(v16^*)), ' ', mid(v16^*,1,instr(v16^*,', ')-1), ,else v16^*, fi, /* if p(v16^f) then ', ', ref(['ROLES']l(['ROLES']v16^f),v2), fi, */ ), fi, if p(v17) and a(v16) then ( if iocc>1 then ', ', fi, v17^*, ), ,fi, if p(v16) or p(v17) then ']' ,fi /* End porcion de nov/01 */ '%', fi, /* p(v9018) */ /* =============================================================== * Campo 250 (CEPAL v41) * Edici¢n * =============================================================== */ if p(v41) then 'a250% ^a',v41,'%', fi, /* =============================================================== * Campo 260 (CEPAL v39, v38, v43) * Publicaci¢n: Lugar, editor y fecha * =============================================================== */ /* Revisar luego el archivo 260efg.txt */ if v6.1='m' OR a(v12) AND p(v18) then 'a260% ', if s(v39,v38)='[S.l.][s.n.]' OR s(v39,v38)='' then '^a[S.l.^bs.n.]' else if a(v39) then '^a[S.l.]', else if nocc(v38)=1 AND v38:'^f' AND nocc(v39)=1 then '^e', v39, else if nocc(v39)=1 OR nocc(v38) > 1 then |^a|v39, /* quedan todas */ else /* Varios lugares & una editorial: * Si Bs. As. es la 1ra occ --> queda s¢lo Bs.As. * Si Bs. As. est en otra occ --> queda la 1ra + Bs. As. y nada m s * Si Bs. As. est ausente --> queda s¢lo la 1ra. * */ if not v39:'Buenos Aires' or v39[1]:'Buenos Aires' then '^a',v39[1] else '^a',v39[1], ,(, if v39:'Buenos Aires' then '^a',v39, break, fi, ,), fi, fi, fi, fi, if a(v38) then '^b[s.n.]', else ,(, if v38^f='' then '^b' fi, v38 ,), fi, fi, if nocc(v38)=1 AND v38:'^f' then '^g' else '^c', fi, if a(v43) then '[s.f.]' else v43 fi, '%', fi, /* =============================================================== * Campo 300 (CEPAL v14, v20, v42) * P ginas y descripci¢n f¡sica * =============================================================== */ if p(v20) or p(v14) or p(v42) then 'a300% ', if p(v14) then '^a',v14, else if p(v20) then '^a',v20, fi, fi, if p(v42) then if v42.1<>'+' then '^b', fi, replace(replace(v42,' + ','^e'),'+ ','^e'), ,fi, '%', fi, /* =============================================================== * Campo 440 (CEPAL v21, v25, v30, v32) * Colecci¢n/serie: t¡tulo, subt¡tulo, volumen * * ¨¨¨ v30, v32 ??? * =============================================================== */ /* atencion: estamos suponiendo que nocc(v25)=nocc(v21), pero p.ej. en 104169, 107697, esto no ocurre */ if p(v25) then (, 'a440% 0', '^a',replace(v25,'^s','^p'), if p(v21) then '^v',v21, fi, '%', ), fi, if p(v30) then (, 'a440% 0', '^a',replace(v30,'^s','^p'), if p(v32) then '^v',v32, fi, '%', ), fi, /* =============================================================== * Campos 500, 504 (CEPAL v68) * Nota general, nota de bibliograf¡a * =============================================================== */ if p(v68) then (, if v68:'ibliograf' then 'a504' else 'a500' fi, '% ^a',v68,'%', ), fi, /* =============================================================== * Campo 521 (CEPAL v81) * Nivel de audiencia * * Los subcampos de v81 deben desaparecer? * =============================================================== */ if p(v81) then ,(, 'a521% ^a',v81,'%', ,), fi, /* =============================================================== * Campo 530 (CEPAL v95) * Digitalizaci¢n * =============================================================== */ if p(v95) then 'a530% ^a',v95,'%', fi, /* =============================================================== * Campo 536 (CEPAL v52) * Nota de patrocinador /* =============================================================== if p(v52) then ,(, 'a536% ^a',replace(v52,'^b','. '),'%', ,), fi /* =============================================================== * Campo 600 (Cepal v99) * Nombres personales como identificadores * =============================================================== */ if p(v99) then ,(, 'a600%', if v99^*:',' then '1' else '0', fi, ' ^a',v99, '%', ,), fi, /* =============================================================== * Campo 610 * Nombres institucionales como identificadores * =============================================================== */ if p(v610) then (, 'a610%', if v610:'^b' AND l(['JURISD']v610^*) > 0 then '1' else '2' ,fi, ' ^a',v610,'%', ), fi, /* =============================================================== * Campo 650 (CEPAL v76) * Descriptores * =============================================================== */ if p(v76) then ,(, 'a650%', if NOT p(v76^p) then ' 4^a',v76^*, else ' ^9',v76^p, fi, '%', ,), fi, /* =============================================================== * Campo 659 (CEPAL v80, ya migrado a v659) * Categor¡a tem tica (Cat logo) * =============================================================== */ if p(v659) then ,(, 'a659%',' ',' ',v659,'%' ,), fi, /* =============================================================== * Campo 700 (CEPAL v10, v16) * Entrada secundaria: Autor personal * =============================================================== */ if p(v9016) then ,(, if iocc=val(v7002[1]) then continue, else 'a700%', if v9016^*:',' then '1' else '0' fi, ' ^a', /* ¨hay doble coma? ponemos ^c en el lugar de la segunda */ if v9016^*:',' AND mid(v9016^*,instr(v9016^*,',')+2,size(v9016^*)):',' then mid(v9016^*,1,instr(v9016^*,',')) replace(mid(v9016^*,instr(v9016^*,',')+1,size(v9016^*)),', ','^c'), else v9016^*, ,fi, replace(replace(v9016,v9016^*,''),s('^f',v9016^f),''), /* ATENCION: ESTA PORCION DE CODIGO HACE QUE EL GRUPO REPETIBLE SE * EJECUTE AL MENOS DOS VECES, AUN CUANDO SOLO HAY UNA OCC DEL CAMPO * 9016. PARA ELIMINAR LOS CAMPOS 700 VACIOS QUE SE CREAN POR ESTE * PROBLEMA, AGREGAMOS "proc=(if v700^a='' then 'd700/'f(iocc,1,0), fi)" */ if v9016^f>'' then ,if v9016^f:' y ' then ref(['ROLES']l(['ROLES'] mid(v9016^f,1,instr(v9016^f,' y ')-1)), '^e'v2), ref(['ROLES']l(['ROLES'] mid(v9016^f,instr(v9016^f,' y ')+3,1000)), '^e'v2), else ref(['ROLES']l(['ROLES'] v9016^f), '^e'v2), fi, fi, '%', ,fi, ,), ,fi, /* =============================================================== * Campo 710 (CEPAL v11, v17) * Entrada secundaria: Autor institucional * =============================================================== */ if p(v9017) then ,(, if iocc>1 OR v7000[1]<>'110' then 'a710%', if v9017:'^b' AND l(['JURISD']v9017^*) > 0 then '1', else '2', ,fi, ' ^a',v9017, '%', ,fi, ), ,fi, /* =============================================================== * Campo 711 (CEPAL v53, v54, v55, v56) * Entrada secundaria: Conferencia * =============================================================== */ if p(v53) AND v7000<>'111' then 'a711% ^a', if v53:', ' AND l(['DIGITOS']mid(v53,instr(v53,', ')+2,1))>0 then replace(v53,', ','^n'), /* numero */ else v53, fi, /* lugar (ciudad, pais) */ if p(v54) OR p(v55) then '^c',v54,", "v55, fi, /* fecha */ if p(v56) then v56, fi, '%', fi, /* =============================================================== * Campo 800 (CEPAL v23) * Autor personal - Colecci¢n * =============================================================== */ if p(v23) then ,(, 'a800%', if v23^*:',' then '1' else '0' fi, ' ^a',v23^*, replace(replace(v23,v23^*,''),s('^f',v23^f),''), if v23^f>'' then ,if v23^f:' y ' then ref(['ROLES']l(['ROLES'] mid(v23^f,1,instr(v23^f,' y ')-1)), '^e'v2), ref(['ROLES']l(['ROLES'] mid(v23^f,instr(v23^f,' y ')+3,1000)), '^e'v2), else ref(['ROLES']l(['ROLES'] v23^f), '^e'v2), fi, fi, '%', ,), fi, /* =============================================================== * Campo 810 (CEPAL v24) * Autor institucional - Colecci¢n * =============================================================== */ if p(v24) then ,(, 'a810%', if v24:'^b' AND l(['JURISD']v24^*) > 0 then '1', else '2', ,fi, ' ^a',replace(v24,'^f','^e'), '%', ,), fi, /* =============================================================== * Campo 845 (CEPAL v62) * Disponibilidad * * Ver listado con los valores presentes en el campo 62 (hay rarezas) * =============================================================== */ if v62='P' OR v62='S' then 'a845% ^a',v62,'%', fi, /* =============================================================== * Campo 859 (CEPAL v02, v03, v62, v120) * Datos de cada ejemplar: inventario, volumen, ubicacion, estado, * donaci¢n, disponibilidad. * * ¨ Ad¢nde van las ocurrencias adicionales de v3 ? * =============================================================== */ if p(v02) then /* una ocurrencia de v859 por cada ejemplar */ ( 'a859%', ' ', '^a',v02^*, /* inventario */ if p(v02^a) then '^c',v02^a, /* volumen */ fi, if p(v02^b) OR v03[1]>'' then '^b', if p(v02^b) then v02^b else v03[1], fi, /* ubicacion */ fi, if p(v02^c) then '^k',v02^c, /* estado */ fi, if p(v02^d) OR v120[1]>'' then '^g', if p(v02^d) then v02^d else v120[1] fi, /* donacion */ fi, if v62[1]>'' then '^d',v62[1], fi, /* disponibilidad */ /* nuevos subcampos : l,m,n */ if v03:' ' AND l(['PREFCDU']mid(v3,1,instr(v3,' ')-1)) > 0 then '^l', mid(v3, 1, instr(v3,' ')-1), '^m', mid(v3, instr(v3,' ')+1, instr(mid(v3,instr(v3,' ')+1,size(v3)),' ')-1) '^n', mid(v3, instr(mid(v3,instr(v3,' ')+1,size(v3)),' ')+1, size(v3)) else if l(['DIGITOS']v3.1) > 0 then '^m', mid(v3, 1, instr(v3,' ')-1), '^n', mid(v3,instr(v3,' ')+1,size(v3)), else '^l',v3, fi,fi, '%', ), fi, /* =============================================================== * Campo 959 (CEPAL v91, v97) * Catalogador, fecha de catalogaci¢n. * * ¨Con qu‚ ocurrencia del v91 asociamos el v97? Con la ultima. * =============================================================== */ if p(v91) OR p(v97) then ( 'a959% ', '^e',v91, /* catalogador */ if p(v97) AND iocc=nocc(v91) then '^f',v97 fi, /* fecha de catalogaci¢n */ '%', ), fi, /* =============================================================== * Campo 960 (Notas internas [ex-Marcas]) * =============================================================== */ if p(v102) then ,(, 'a960% ^i',v102,'%', ,), fi, /* =============================================================== * Campo 900 * MFN al momento de la migraci¢n (link con el backup de CEPAL) * =============================================================== */ 'a900%',mfn(6),'%', /*break,*/ /* =============================================================== * Campo 901 * LINK a MONOGRAFIA (para ANALITICAS) * =============================================================== */ if v6.1='a' OR p(v12) then 'a901%', if l(['g:\ptec\binam\migra\binam']'ST='v3[1]'~M')=0 OR v3[1]:'NO DISPONIBLE' then '!MONOGRAFIA NO ENCONTRADA', else ref(['g:\ptec\binam\migra\binam']l(['g:\ptec\binam\migra\binam']'ST='v3[1]'~M'),mfn(6)), fi, '%', fi, /* ============================= THE END ============================= */
migracion marc cepal
notas/cepal2marc.txt · Última modificación: por 127.0.0.1