Uno a uno

Repetición de elemento hoja de un solo nivel simétrica

Nota: Los grupos modelo de estos ejemplos no se repiten.
Origen:
Person
  FullName
  CreditCardNo[]
Destino:
Consumer
  Name
  Bill[]
Antes de la correlación:
<Consumer>
Después de la correlación: Paso 1.
<Consumer>
  <Name>
    <MapFrom>
  <Bill>
    <MapFrom>
Paso 2.
<Consumer>
  <Name>
    <MapFrom>
  <Bill>
    <MapFrom CreditCardNo>
Paso 3.
<Consumer>
  <Name>
    <MapFrom>
  <ForEach CreditCardNo>
    <Bill>
      <MapFrom CreditCardNo>
  1. Llenar
  2. MapFrom: MapFrom adoptará una FunctionCallExpression si CreditCardNo o Bill (o ambos) son complejos.
  3. ForEach que empieza en CreditCardNo - Bill, buscar destino de repetición (Bill) y origen de repetición (CreditCardNo), crear un origen de ForEach como blockOpen para el destino.

Repetición de elemento hoja a no repetición asimétrica

Origen:
Person
  FullName
  CreditCardNo[]
Destino:
Consumer
  Name
  Liability
Antes de la correlación:
<Consumer>
Después de la correlación:
<Consumer>
  <Name>
    <MapFrom>
  <ForEach CreditCardNo>
    <Qualify>
      <Condition occur(CreditCardNo)=1>
        <Liability>
          <MapFrom CreditCardNo>
  1. Llenar
  2. MapFrom: MapFrom adoptará una FunctionCallExpression si CreditCardNo o Bill (o ambos) son complejos.
  3. Empezado en CreditCardNo - Liability, sin repetición para Liability y en adelante. CreditCardNo de repetición sin pareja. Insertar ForEach con Qualify. Invocar Accumulate para el total.

No repetición a repetición de elemento hoja asimétrica

Origen:
Person
  FullName
  CreditCardNo
Destino:
Consumer
  Name
  Purchase[]
Antes de la correlación:
<Consumer>
Después de la correlación:
<Consumer>
  <Name>
    <MapFrom>
  <Purchase>
    <MapFrom CreditCardNo>
  1. Populate
  2. MapFrom: MapFrom iniciaría una FunctionCallExpression si CreditCardNo o Bill (o ambos) son complejos.
  3. Empezando en CreditCardNo - Purchase, Purchase se repite, pero no hay ninguna repetición coincidente en el origen de CreditCardNo y en adelante.
  4. No hay ningún ForEach.

Repetición de un solo nivel simétrica

Origen:
Inventory
  Item[]
    ItemName
    ItemNumber
    ItemPrice
Destino:
Warehouse
  Product[]
    ProductID
    ProductName
    UnitPrice
Antes de la correlación:
<Warehouse>
Después de la correlación:
<Warehouse>
  <ForEach Item>
    <Product>
      <ProductID>
        <MapFrom>
      <ProductName>
        <MapFrom ItemName>
      <UnitPrice>
        <MapFrom>
  1. Empezando en ItemName - ProductName.
  2. Se encuentra repetición de Product, un candidato a ForEach está fuera de Product.
  3. Encontrado elemento de repetición.
  4. El elemento pasa a ser la expresión de ForEach.
  5. Nota: Los hermanos del destino correlacionado terminan en el mismo ForEach.

Repetición de un solo nivel asimétrica

Origen:
Association
  Member[]
    Address
      PhoneNumber
      Street
      City
      Province
Destino:
Phonebook
  Subscriber[]
    Name
    Number
Antes de la correlación:
<Phonebook>
Después de la correlación:
<PhoneBook>
  <ForEach Member>
    <Subscriber>
      <Name>
        <MapFrom>
      <Number>
        <MapFrom PhoneNumber>
  1. Similar al ejemplo anterior.
  2. Empezando en PhoneName - Number.
  3. ForEach está fuera del destino de repetición Subscriber.
  4. La expresión de ForEach es Member.

Niveles de repetición impares asimétricos (a)

Origen:
Company
    Department[]
        Employee[]
            Salary
            Bonus
Destino:
Employer
  Worker[]
    Compensation
Antes de la correlación:
<Employer>
Después de la correlación:
<Employee>
  <ForEach Department>
    <Qualify>
      <Condition occur(Department)=1>
        <ForEach Employee>
          <Worker>
            <Compensation>
              <MapFrom Salary>
  1. Repetición coincidente de Salary a Compensation, colocar en una ForEach.
  2. No se puede emparejar el origen de repetición Department, por tanto, sin ForEach para el mismo.
  3. Nota: decisión arbitraria para ir de dentro hacia afuera. Si es de fuera hacia adentro, se utilizará Qualify occur(Employee).

Niveles de repetición impares asimétricos (b)

Origen:
Employer
  Worker[]
    Compensation
Destino:
Company
  Department[]
    Employee[]
      Salary
      Bonus
Antes de la correlación:
<Company>
Después de la correlación:
<Company>
  <Department>
    <ForEach Worker>
      <Employee>
        <Salary>
          <MapFrom Compensation>
        <Bonus>
          <MapFrom>
  1. Repetición coincidente de Salary a Compensation.
  2. Colocar en una ForEach.
  3. No se puede emparejar el destino de repetición Department, sin ForEach para el mismo.

Repetición de varios niveles simétrica (a)

Origen:
Company
  Department[]
    Employee[]
      Salary
      Bonus
Destino:
University
  Faculty[]
    Professor[]
      Compensation
      Grant
Antes de la correlación: Vea la nota 1:
<University
Vea la nota 2:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
Vea la nota 3:
<University>
  <ForEach Employee>
    <Faculty>
      <ForEach Department>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
Después de la correlación: Vea la nota 1:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
Vea la nota 2:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom Bonus>
Vea la nota 3:
<University>
  <ForEach Employee> (antiguo)
    <ForEach Department> (nuevo)
      <Faculty>
        <ForEach Department> (antiguo)
          <ForEach Employee> (nuevo)
            <Professor>
              <Compensation>
                <MapFrom Salary>
              <Grant>
                <MapFrom Bonus>
  1. Empareje los elementos origen y destino, empezando por Salary - Compensation y continúe a partir de ahí. Se han encontrado dos ubicaciones para ForEach y dos expresiones para ForEach.
  2. Empareje los elementos origen y destino, empezando por Grant - Bonus y continúe a partir de ahí. Se han encontrado dos ubicaciones para ForEach y dos expresiones para ForEach. En ambos casos, exactamente el mismo ForEach ya está allí. No inserte otros nuevos.
  3. No se ha podido encontrar el ForEach esperado con la expresión esperada en las ubicaciones esperadas. Inserte ForEach como si no hubiese uno. Limpie la operación.

Repetición de varios niveles simétrica (b)

Origen:
Organization
  Company[]
    Department[]
      Employee[]
        Salary
        Bonus
  CEO
Destino:
Country
  University[]
    Principle
    Faculty[]
      Professor[]
        Compensation
        Grant
Antes de la correlación:
<Country>
  <ForEach Company>
    <University>
      <Principle>
        <MapFrom CEO>
      <Faculty>
        <MapFrom>
Después de la correlación:
<Country>
  <ForEach Company>
    <University>
      <Principle>
        <MapFrom CEO>
      <ForEach Department>
        <Faculty>
          <ForEach Employee>
            <Professor>
              <Compensation>   
                <MapFrom Salary>  
              <Grant>   
                <MapFrom>

Inserte dos ForEaches, para el ForEach exterior, y conserve el existente.

Descendiente de repetición remoto en destino

Origen:
S
  S1[]
    S2[]
      S3
  S4
Destino:
T
 T1
 T2[]
    T3
      T4
         T5[]
           T6
Antes de la correlación: Vea la nota 1:
<T>
  <T1>
    <MapFrom S4>
  <T2>
    <MapForm>
Vea la nota 2:
<T>
  <T1>
    <MapFrom S4>
  <T2>
    <T3>
      <T4>
        <T5>
          <T6>
            <MapForm>
Después de la correlación:
<T>
  <T1>
    <MapFrom S4>
  <ForEach S1>
    <T2>
      <T3>
        <T4>
        <ForEach S2>
          <T5>
            <T6>
              <MapForm S3>
  1. Una ramificación larga sustituye dos sentencias.
  2. Una ramificación más larga sustituye una ramificación larga existente.
Tareas relacionadas
Desarrollo de correlaciones de mensajes
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2005 Última actualización: 11/11/2005
ar25235_2_