Translation with Incomplete Indexes (Complex Example)

This section explains how the translator would process the Output side of the map with the data in the previous table:

  1. The translator initiates the Output side of the map.
    1. The translator processes the first occurrence of the TEMP_SAC segment in the first SLN group of the first IT1 group to verify whether there is any data to be linked across to the Output side of the map.
      • The first occurrence of the TEMP_SAC segment does contain data, so the translator links this information to the Output side.
      • The extended rule wrote the data to the proper occurrence in the array (1,1,1), as noted in the preceding table.
    2. The translator processes the second occurrence of the TEMP_SAC segment in the first SLN group of the first IT1 group to verify whether there is any data to be linked across to the Output side of the map.
      • The second occurrence of the TEMP_SAC segment does contain data, so the translator links this information to the Output side.
      • The extended rule wrote the data to the proper occurrence in the array (1,1,2), as noted in the preceding table.
    3. The translator processes the third occurrence of the TEMP_SAC segment in the first SLN group of the first IT1 group to verify whether there is any data to be linked across to the Output side of the map.
      • The third occurrence of the TEMP_SAC segment does not contain data, so the translator is finished processing the TEMP_SAC segment for this iteration of the SLN group.
    4. The translator processes the first occurrence of the TEMP_SAC segment in the second SLN group of the first IT1 group to verify whether there is any data to be linked across to the Output side of the map.
      • The first occurrence of the TEMP_SAC segment does not contain data, so the translator is finished processing the TEMP_SAC segment for this iteration of the SLN group.
      • The extended rule wrote the data to the improper occurrence in the array (1,2,3), as noted in the preceding table, which is why the translator did not find the data (because it was looking for the data in occurrence 1,2,1).
    5. The translator processes the first occurrence of the TEMP_SAC segment in the first SLN group of the second IT1 group to verify whether there is any data to be linked across to the Output side of the map.
      • The first occurrence of the TEMP_SAC segment does not contain data, so the translator is finished processing the TEMP_SAC segment for this iteration of the SLN group.
      • The extended rule again wrote the data to the improper occurrence in the array (2,3,5), as noted in the preceding table, which is why the translator did not find the data (because it was looking for the data in occurrence 2,1,1).

After running translation with the modified map, only two occurrences of the SAC segment were received, rather than the expected five segment, because the indexes for the SLN group and the TEMP_SAC group were not reset on their parent structure.

Note: When you are working with nested structures and using indexes to map data to temporary structures, the child indexes must be reset to 1 on the start of their parent structure.

In reviewing the array built by the translator in the table, we can see that a missing occurrence of data happened when the translator wrote the third iteration of data to the TEMP_SAC segment. When the If statement found the third SAC segment, which did not have a value of zero in the SAC05, the data was written to the third occurrence of the TEMP_SAC segment (in the second occurrence of the SLN segment in the first occurrence of the IT1 segment). This is the missing occurrence of data. The next section explains how to use complete indexes so there are no occurrences of missing data in the map.