JOIN
Combina múltiples archivos de intercambio en un solo archivo consolidado.
Sintaxis
$ cardak help join
usage: cardak join [<flags>] <files>...
Join several phisical files as logical files into one file
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
-o, --output=OUTPUT Name of the generated file
-f, --fix Automatically fix the resulting file
-m, --merge Merge the file records instead of generating logical files
Args:
<files> List of files to join
Descripción
Este comando se usa para unir varios archivos IPM en otro. Simplemente se indica una lista de archivos y se genera otro conteniendo los registros de todos esos diferentes archivos en uno solo.
Este comando haría lo opuesto al comando SPLIT
Por defecto, el comando genera un nuevo archivo y coloca los contenidos de los archivos indicados como archivos lógicos (o transmissions), por lo que los registros continúan separados en sus respectivos archivos lógicos.
Podemos cambiar este comportamiento con el flag --merge (-m), donde todos los registros de los diferentes archivos quedaran contenidos en un solo archivos lógico. El header de este archivo lógico sera el mismo que el del primer archivo indicado como parámetro en el JOIN.
Tenemos ademas la posibilidad de utilizar el flag --fix (-f) para corregir automáticamente errores que puedan encontrarse en los archivos a unir.
Ejemplos
Tomaremos tres archivos que deseamos unir en uno solo.

Para unirlos utilizamos el comando JOIN. El archivo conteniendo los registros de los tres archivos tiene por nombre la fecha y hora, mas el sufijo "_J" y la extensión ".ipm"

Observamos dos detalles. Primero, que el contenido de cada archivo físico se ha agregado en un archivo lógico (lo podemos comprobar al analizar los resultados). El otro detalle es que uno de los archivos contenía errores los que se mantuvieron al crear el nuevo archivo. Vamos a cambiar ambos comportamientos agregando un par de flags, el --fix para corregir el error automáticamente, y el --merge para guardar toso los registros en un único archivo lógico.

Observemos que ahora el archivo generado solamente contiene un archivo lógico con todos los registros, y además el error ha sido corregido automáticamente.