A MAPPER data report is typically line oriented, where a line represents a record, and fields within a line occur in columns. The fields are named in one or more heading lines at the top of the report and have a fixed size defined by a divider line that follows the last heading line. The number of equal signs allocated to a field in the divider line specifies the size of the field. Fields are separated by a delimiter, which is a period in heading and divider lines and a tab in data lines.
In some instances, records may span multiple lines and contain fields not arranged in columns, or even be free-form. The asterisk, trailer lines that appear after an order line in the Footwear Orders sample report shown below is an example of a multiline record which is not column-formatted.
To migrate a MAPPER data report, MJ first identifies the domain entity (or entities) represented by the report. Field names and sizes are divined by examining heading and divider lines. Tab lines are then parsed as tuples (rows) of entity data, from which fields are extracted as entity attributes. MJ can also parse tuples of entity data from trailer lines.
Sample Footwear Orders Report
Consider RID 12D3954, the sample Footwear - Orders Information MAPPER report:
After the heading and divider lines, the report contains tab data lines and asterisk, trailer lines. The tab lines contain order data, while the trailer lines contain inline customer contact information such as name, address and phone. Therefore, there are two kinds of entity data in the Footwear Orders report: order line item and associated addressee.