One source instance maps to many target instances
One source instance creating many (three) map instances. The map instances will always be of the same type, i.e., type target::EntA, target::EntB, and target::EntC. This specification cannot be defined by map entities in a MAP declaration. All map instances must be created by the xpxCreateMapInstance() function
Â
MAP; – No map entity specification
FROM (s_e:source::sourceEntity)
WHEN ( . . .);
BEGIN_MAP
 LOCAL
  mapInstA: GENERIC;   -- Holds actual map instance of any type
  mapInstB: target::EntB; -- Holds map instance of type target::EntB
  mapInstC: GENERIC;   -- Holds actual map instance of any type.
 END_LOCAL;
Â
 (* Creating the set of map instances *)
 xpxCreateMapInstance(target::EntA, mapInstA);
 xpxCreateMapInstance(target::ENTB, mapInstB);
 xpxCreateMapInstance(target::EntC, mapInstC);
 (* Attribute mapping for mapInstA *)
 mapInstA.intAttr := 12345;
 . . .
 (* Attribute mapping for mapInstB *)
 mapInstB.anAttribute.aReal := s_e.aRealValue;
 (* Rest of attribute mapping *)
 . . .
END_MAP;