Difference between revisions of "Lenguaje de formatos"

From ABCD Wiki
Jump to: navigation, search
(Página creada con «==Extractores de campos== El lenguaje de formatos permite extraer información de un registro CDS/Isis, prepararla y presentarla al usuario por pantalla o enviarla a i...»)
(No difference)

Revision as of 11:26, 21 December 2013

Extractores de campos

El lenguaje de formatos permite extraer información de un registro CDS/Isis, prepararla y presentarla al usuario por pantalla o enviarla a impresoras u otros medios de salida. Para extraer información de un registro se usan los extractores de campos, los cuales, en su forma más sencilla se forman con la letra v (en mayúscula o minúscula, indistintamente), seguida por la etiqueta del campo cuyo contenido se desea extraer: Vxx Incluye en la salida el campo cuya etiqueta representa el valor xx Ej: v10 Si el campo posee subcampos, en la extracción del campo se debe indicar el subcampo que se desea acceder Vxx^a Incluye en la salida el subcampo (^a) o equivalente presente en campo con etiqueta xx Ej: v10^a, v10^r

Cuando el primer subcampo de un elemento de datos es obligatorio, como en el caso de los nombres personales los cuales se forman con el apellido y el nombre propiamente dicho estando siempre presente el apellido; entonces, en este caso no es necesario identificar el apellido con un delimitar de subcampos ya que es un elemento obligarorio. El ingreso se podrá realizar de la siguiente forma: Ascencio^nGuilda. El primer subcampo del campo es Ascencio y para referenciarse al mismo se usa la construcción ^* lo cual es equivalente a primer subcampo del campo, entendiendose como primer subcampo la cadena de caracteres existente desde el inicio del campo hasta que se encuentre un delimitador de subcampos (^..) o el fin del campo. Bajo este concepto, si la etiqueta del campo nombre es 10, el comando v10^*,", "v10^n producirá como salida Ascencio, Guilda

Extractores virtuales de campo Estos elementos del lenguaje de formatos se utilizan para generar un literal en el formato de salida, dependiendo de si un campo está presente o ausente. Son los siguientes: Dxx Presenta en la salida el literal asociado, si el campo con etiqueta xx está presente en el registro: Ej: "El campo tiene materias. "d76 En la salida se incluye el rótulo El campo tiene materias. si el campo 76 está presente en el registro. Si el campo 76 está ausente, no se genera el literal correspondiente Nxx Coloca en la salida el literal asociado si el campo con etiqueta xx está ausente. Ej: "S/F"n43 En la salida aparecerá el literal S/F si el campo 43 está ausente. Si el campo está presente no se genera salida ninguna En ninguno de estos casos se coloca el contenido del campo en la salida generada.

Extractores parciales de campo El lenguaje de formatos permite extraer una subcadena de caracteres de un campo especificando el inicio de la cadena a extraer y la longitud de la misma. La ilustrar este aspecto, consideremos el caso de un campo de fecha tratado bajo la norma ISO, la cual establece que el ingreso debe realizarse de la siguiente manera: AAAAMMDD, o sea, que el ańo simpre será el primer elemento del campo y constará de dos dígitos, a continuación se colocará el mes, siempre con dos dígitos y al final del día, también con dos dígitos. El ańo, al ser el primer elemento del campo, está desplazado 0 (cero) caracteres respecto al inicio del campo; el mes está desplazado 4 caracteres respecto al inicio del campo y el día está desplazado 6 caracteres respecto al inicio del campo. Gráficamente, ésto corresponde a la siguiente situación:

Contenido del campo20011001 Desplazamientos respecto al orígen del campo01234567 Para extraer porciones de un campo, el lenguaje de formatos permite expresar una porción de un campo en términos de su posición respecto al orígen (desplazamiento) y de la cantidad de caracteres a tomar en cuenta a partir de esa posicion inicial (longitud). El símbolo para identificar el valor del desplazamiento es el * (asterisco) y la longitud se expresa con símbolo . (punto). Entonces, la construcción Vxx*D.L extraerá L caracteres del campo xx tomados a partir del desplazamiento D respecto al inicio del campo.

		Ej. Si el campo 44 se ingresó con el valor 20010915, tendremos:		
         v44*6.2 = 15          v44*4.2 = 09          v44*0.4 = 2001				

Si el desplazamiento es cero, esto es, la porción que deseamos obtener se encuentra al inicio del campo, entonces, no es necesario especificar es desplazamiento sino lo solo la longitud del segmento a extraer. Ejm: v44*0.4 = v44.4 Si la longitud del segmento que deseamos extraer se ubica a partir de un desplazamiento x hasta el final del campo, no es necesario especificar la longitud a extraer. Ejm: v44*6.2 = v44*6 .Al ommitirse la longitud se toma desde la posición 6 el resto de caracteres presentes en el campo (2)