Mapping

Mapping is defined in the logic block of the XML definition and is a flexible, structured approach to processing the exported data. These options are mapping properties and features of the standard Payroll Export Interface:

  • There is no limit on the number of mapping rules to be applied.
  • The standard Payroll Export process sorts through each mapping rule in chronological order. When a match is found, the process stops sorting through the remaining mapping rules.
  • Several values in one field can be matched for output (for example, tcode_name that equals WRK, VAC, or SICK can be selected for output).
  • Matching wild cards are specified by the '%' character.
  • Output can be suppressed for a particular match (for example, data for a salaried employee does not need to be in the output file).
  • One record can be split into several output records. This is useful to map one input field to many output fields.
  • Data grouping is available.
  • Operations such as percentage, division, and multiplication can be performed to the mapped data in the format block.

For example, a logic block:

<logic>
  <match_output>
    <match field="tcode_name" />
      <value>VAC</value>
      <value>SICK</value>
      <value>W%</value>
    </match>
    <output_row>
      <map field="earn_code" value="001">
    </output_row>
  </match_output>
  <match_output>
    <match field="htype_name" value="OT%" />
    <output_row>
      <map field="earn_code" value="002"/>
    </output_row >
  </match_output>
  <match_output>
    <match field="tcode_name" value="WRK" />
    <match field="htype_name" value="UNPAID" />
  </match_output>
  <match_output>
    <output_row>
      <map field="earn_code" value="999"/>
    </output_row >
  </match_output>
</logic>

For this example:

  • The first <match_output> block maps all records with tcode_name as VAC, SICK, or W% to an earning code of 001.
  • In the next <match_output> block, any overtime is mapped to earning code of 002.
  • In the next <match_output> block, tcode_name with value of WRK and htype_name with value of UNPAID are not mapped because there is no <output_row> block.
  • Finally, the last block catches all records that do not match the previous match criteria and outputs their earning code as 999 (notice that there is no <match> block).