Muestra el contenido de un archivo IPM en un formato legible.
Sintaxis
$ cardak help print
usage: cardak print [<flags>] <files>...
print the contents of the file record by record
Flags:
--help Show context-sensitive help (also try --help-long and --help-man).
-v, --verbose Add more information displayed on some commands.
--mono Supress color on output.
--ignore Try to ignore some errors and continue processing the file
-W, --width Ignore small terminal width check and force execution
-z, --silent Suppress all output (banner, headers, summary) except the results. Specially useful for DESCRIBE command piped to a search
utility like fzf
-T, --file-type=FILE-TYPE Filter by file type when supplying several files. File types are represented by a single letter as: I-IPM files, M-MPE files
-R, --records=RECORDS List of record numbers to be printed. Values are separated by comma (,) and ranges are indicated by the starting and ending
record separated by a hyphen (-)
-F, --fields=FIELDS List of IPM fields to be listed (can use a filter name)
-d, --detailed Print detailed information showing the contents of the fields
-s, --subfields Show subfields contents
-C, --code=CODE Filter by Function Code DESCRIPTION
-l, --last Use the record numbers returned on the last GREP command
Args:
<files> File names to print
Descripción
Este comando permite visualizar contenido de archivos IPM en forma legible. Tiene opciones para filtrar la información a desplegar de acuerdo a las necesidades, y es un buen complemnto al comando GREP ya que permite seleccionar la información a mostrar de los registros que cumplan con las condiciones de búsqueda realizadas con ese otro comando.
Se recibe como parámetro el nombre del archivo a visualizar, y si no se incluye ningún flag, va a mostrar todos los registros del archivo, desplegando el número de registro, su MTI y Function Code, y la lista de campos DE y PDS presentes en cada registro.
Esta vista de por si no es de mucha utilidad, especialmente en archivos con muchos registros, por lo que normalmente va acompañada del uso de flags para limitar el volumen de la salida. Es posible redireccionar la salida a un archivo de texto para después abrirlo con un editor y visualizar los datos.
Opciones de visualización
El primer filtro que podemos utilizar es el flag --records (-R) para especificar una lista o rango de registros a mostrar. Si anteriormente utilizamos el comando GREP para seleccionar registros, podemos utilizar en su lugar el flag --last que usará los registros devueltos por ese comando de búsqueda para mostrar con este comando.
Esta salida sigue siendo poco informativa ya que solamente nos muestra los campos que contiene cada registro pero no su valor. Si queremos ver el contenido de los campos, debemos especificar el flag --detailed (-d). Si además agregamos el flag --subfields (-s), se va a mostrar el contenido de los subfields en aquellos campos que los contenga.
La cantidad de información desplegada puede crecer rápidamente, por lo que también se suele incluir la lista de campos que nos interesa mediante el flag --fields (-F)
Otra opción de filtrado que también se puede utilizar en algunos otros comandos, es la de filtrar los registros por Function Code utilizando el flag --code (-C) y agregando un texto que se usara como filtro en la descripción del Function Code.
Usos
Este comando es útil para visualizar rapidamente el contenido de uno o más registros sin tener que abrir el archivo completo. Como ya mencionamos, es un buen complemento al comando de búsqueda GREP.
Comom alternativa para ver información de registros, podemos utilizar el comando EXPORT y luego visualizar esos datos ya sea en una Planilla de Datos (si lo exportamos como CSV)
Ejemplos
En su forma mas simple, podemos ver qué campos contienen los registros 3 y 5:

Esa información puede ser útil ya que nos muestra el MTI y el tipo de transacción, junto con la lista de campos presentes. Pero si queremos ver el contenido del registro, podemos agregar el flag --detailed. Veamos el contenido del registro 5:

Supongamos que no nos interesa ver el registro entero, sino que solo queremos ver algunos campos, por ejemplo el importe (DE004), Function Code (DE024), Código de Aprobación (DE038), Ubicación (DE043) y detalles de la moneda utilizada (DE054). Podemos indicar que nos muestre solamente esos campos, pero además queremos ver el detalle de los que contengan subfields.
