Features
CardAK offers an extensive list of tools to handle MasterCard IPM files.
Although this product is not intended to substitute other official tools, it offers many of their functionalities as an alternative, while generally being much more performant.
Characteristics
Among its key features we find:
- Multiplataform (available for both Linux and Windows)
- No installation required. This is just a binary and it is enough to put it in a directory present in the PATH
- This is a command line application, so it is to be used in a terminal. This allows the tool to be easily extecuted on remote servers
- It can be executed in three different ways:
- As a simple command in the terminal
- As an interactive Terminal User Interface (TUI)
- As a batch command to be included in automated processes
- Being a compiled program that runs in a terminal, its performance is usually significantly better than other alternatives
- Automatic detection of file types and formats
- It does not require additional configuration, but it accepts saving some preferences and data
- It contains embedded information directly accesible that can be used as an alternative to other manuals
- It can handle very big files and most of the operations do not limit the number of records that a file can contain.
- All file operations are non-destructive, so, when using commands that modify the data, this is performed in a copy of the file so the originial is never modified.
Functionalities
It has many functionalities, some of them are:
- Identify the file types and formats by their contents and not by their names
- Convert between formats (ASCII/EBCDIC, with/without 1014 blocks, etc.)
- Validate files for format errors and some invalid data
- Print and extract specific data from a file
- Option to correct some errors automatically
- It supports logic files inside physical files (trasnsmissions), allowing to separate them into physical files and also join them
- It allows to export records and data in "readable" form, like plain text files, CSV (to be opened in spreadsheets), or as hexadecimal strings to be later imported in another file
- Import data previously exported into another file
- Detect duplicate records inside a file
- Split the contents of big files into smaller ones for easier handling
- Search for data using flexible criteria in one or more files
- Modify records based on flexible criteria
- Eliminate records from a file
- Interactively open a file contents and apply actions like:
- View the contents of the file by record
- Remove records or fields
- Edit records
- Search and filter records
- Export selected records
- Import records previously exported
- Add fields and records
- Modify sensitive data of a file so it can be used as test files
- Distribute records to different files according to a given criteria
- Query simple information about fields in IPM files and more without using the manuals
Advantages
Which are the main advantages of using CardAK instead of similar products?
1 Ease of use
As the tool does not require instalation, it can be used in restricted environments. Being just an executable without dependencies, and having a version for Linux and another one for Windows, it is very easy and convenient to use.
2 Flexibility
Just one program can be used depending on the different needs and in different environments. From a tool used on demand by a user or as part of an automation chain.
It offers almost the same functionality on the command line and in the interactive mode.
Being a command line utility, it can be executed in remote servers by using a remote terminal (like using SSH)
3 Optimization
Because it does not handle complex graphical interfaces, execution requirements are relatively low consuming few resources
When using the interactive mode where whe full contents of the file has to be loaded in memory, is when we can encounter some limitations, but when using the command line, most of the operations are optimized to consume very little memory. This is achieved by reading the input file by record and processing each one by one without needing to load the full contents of the file in memory. This allows the memory footprint to be nearly constant independently of the size and number of records in the file. This is, of course, not possible for every command, but it is applied to the commands where each record is independent from the rest.
Besides, when applicable, when the order is not important (like when performing searches), records can be processed concurrently, taking advantage of the number of available processors.
4 Performance
When compared to another solutions (many of them using a Web interface), being this a fast, compiled language, performance is generally much better.
5 Adaptable
Even though the basic functionality contains most of the necessary functions to handle the most common operations with these kind of files, there is always the option to adapt its core engine for processing IPM files to specific needs required by other cases. As an example, one of our clients has requested to load the data inside the IPM files into a local database to generate reports and compare its contents with the information returned by their main processing systems, to be able to detect potential problems like records being silently rejected, or differencies in amounts as soon as possible in order to launch the corrective procedures. In this case the tools is useful as another control point and internal use audit.
These extra functionalities are not shown in this document as they are not standard, but they are real use cases of the tools. As it understands and can process individual records and files, almost any data transformation is possible and can be implemented.