일대일

리프 단일 레벨 반복 대칭

주: 이 예에 있는 모델 그룹은 반복되지 않습니다.
소스:
사용자
  FullName
  CreditCardNo[]
대상:
Consumer
  Name
  Bill[]
맵핑 전:
<Consumer>
맵핑 후: 1단계.
<Consumer>
  <Name>
    <MapFrom>
  <Bill>
    <MapFrom>
2단계.
<Consumer>
  <Name>
    <MapFrom>
  <Bill>
    <MapFrom CreditCardNo>
3단계.
<Consumer>
  <Name>
    <MapFrom>
  <ForEach CreditCardNo>
    <Bill>
      <MapFrom CreditCardNo>
  1. 채우기
  2. MapFrom: MapFrom은 CreditCardNo 또는 Bill(또는 둘 다)이 복합인 경우 FunctionCallExpression을 가져옵니다.
  3. CreditCardNo - Bill에서 시작되는 ForEach, 반복 대상(Bill)과 반복 소스(CreditCardNo)를 찾아서 ForEach-source를 대상의 blockOpen으로 만드십시오.

리프 반복 대 비반복 비대칭

소스:
Person
  FullName
  CreditCardNo[]
대상:
Consumer
  Name
  Liability
맵핑 전:
<Consumer>
맵핑 후:
<Consumer>
  <Name>
    <MapFrom>
  <ForEach CreditCardNo>
    <Qualify>
      <Condition occur(CreditCardNo)=1>
        <Liability>
          <MapFrom CreditCardNo>
  1. 채우기
  2. MapFrom: MapFrom은 CreditCardNo 또는 Bill(또는 둘 다)이 복합인 경우 FunctionCallExpression을 가져옵니다.
  3. CreditCardNo - Liability에서 시작하여 Liability 위부터 반복하지 마십시오. 일치하지 않는 반복 CreditCardNo. ForEach를 Qualify와 함께 삽입하십시오. 전체 Accumulate를 호출하십시오.

비반복 대 리프 반복 비대칭

소스:
Person
  FullName
  CreditCardNo
대상:
Consumer
  Name
  Purchase[]
맵핑 전:
<Consumer>
맵핑 후:
<Consumer>
  <Name>
    <MapFrom>
  <Purchase>
    <MapFrom CreditCardNo>
  1. 채우기
  2. MapFrom: MapFrom은 CreditCardNo 또는 Bill(또는 둘 다)이 복합인 경우 FunctionCallExpression을 가져옵니다.
  3. CreditCardNo - Purchase에서 시작하여 Purchase가 반복되지만 CreditCardNo 위부터 소스에 일치하는 반복이 없습니다.
  4. ForEach가 없습니다.

단일 레벨 반복 대칭

소스:
Inventory
  Item[]
    ItemName
    ItemNumber
    ItemPrice
대상:
Warehouse
  Product[]
    ProductID
    ProductName
    UnitPrice
맵핑 전:
<Warehouse>
맵핑 후:
<Warehouse>
  <ForEach Item>
    <Product>
      <ProductID>
        <MapFrom>
      <ProductName>
        <MapFrom ItemName>
      <UnitPrice>
        <MapFrom>
  1. ItemName - ProductName에서 시작됩니다.
  2. 반복되는 Product가 있음, ForEach가 Product를 벗어납니다.
  3. 반복되는 Item이 있습니다.
  4. Item은 ForEach의 표현식이 됩니다.
  5. 주: 맵핑된 대상의 동위로 인해 ForEach가 같아집니다.

단일 레벨 반복 비대칭

소스:
Association
  Member[]
    Address
      PhoneNumber
      Street
      City
      Province
대상:
Phonebook
  Subscriber[]
    Name
    Number
맵핑 전:
<Phonebook>
맵핑 후:
<PhoneBook>
  <ForEach Member>
    <Subscriber>
      <Name>
        <MapFrom>
      <Number>
        <MapFrom PhoneNumber>
  1. 앞의 예와 유사합니다.
  2. PhoneName - Number에서 시작됩니다.
  3. ForEach는 반복 대상 Subscriber를 벗어납니다.
  4. ForEach의 표현식은 Member입니다.

고르지 않은 반복 레벨 비대칭(a)

소스:
Company
    Department[]
        Emplyee[]
            Salary
            Bonus
대상:
Employer
  Worker[]
    Compensation
맵핑 전:
<Employer>
맵핑 후:
<Employee>
  <ForEach Department>
    <Qualify>
      <Condition occur(Department)=1>
        <ForEach Employee>
          <Worker>
            <Compensation>
              <MapFrom Salary>
  1. Salary와 Compensation의 일치하는 반복, ForEach에 넣으십시오.
  2. 소스 반복 Department를 일치시킬 수 없으므로 ForEach가 없습니다.
  3. 주: 반대로 하도록 임의로 결정합니다. 반대로 하면 Qualify가 발생합니다(Employee).

고르지 않은 반복 레벨 비대칭(b)

소스:
Employer
  Worker[]
    Compensation
대상:
Company
  Department[]
    Emplyee[]
      Salary
      Bonus
맵핑 전:
<Company>
맵핑 후:
    <Company>
  <Department>
    <ForEach Worker>
      <Employee>
        <Salary>
          <MapFrom Compensation>
        <Bonus>
          <MapFrom>
  1. Salary와 Compensation의 일치하는 반복
  2. ForEach에 넣으십시오.
  3. 대상 반복 Department를 일치시킬 수 없으므로 ForEach가 없습니다.

다중 레벨 반복 대칭(a)

소스:
Company
  Department[]
    Emplyee[]
      Salary
      Bonus
대상:
University
  Faculty[]
    Professor[]
      Compensation
      Grant
맵핑 전: 주 1 참조:
<University
주 2 참조:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
주 3 참조:
<University>
  <ForEach Employee>
    <Faculty>
      <ForEach Department>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
맵핑 후: 주 1 참조:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom>
주 2 참조:
<University>
  <ForEach Department>
    <Faculty>
      <ForEach Employee>
        <Professor>
          <Compensation>
            <MapFrom Salary>
          <Grant>
            <MapFrom Bonus>
주 3 참조:
<University>
  <ForEach Employee> (old)
    <ForEach Department> (new)
      <Faculty>
        <ForEach Department> (old)
          <ForEach Employee> (new)
            <Professor>
              <Compensation>
                <MapFrom Salary>
              <Grant>
                <MapFrom Bonus>
  1. Salary - Compensation 위부터 반복 소스와 대상을 쌍으로 만드십시오. ForEach의 두 위치를 찾아서 ForEach의 두 표현식을 가져옵니다.
  2. Grant - Bonus 위부터 반복 소스와 대상을 쌍으로 만드십시오. ForEach의 두 위치를 찾아서 ForEach의 두 표현식을 가져옵니다. 두 경우 모두 똑같은 ForEach가 이미 있습니다. 새 ForEach를 삽입하지 마십시오.
  3. 예상 표현식이 있는 예상 ForEach를 예상 위치에서 찾을 수 없습니다. ForEach가 없는 것처럼 ForEach를 삽입하십시오. 클린업하십시오.

다중 레벨 반복 대칭(b)

소스:
Organization
  Company[]
    Department[]
      Emplyee[]
        Salary
        Bonus
  CEO
대상:
Country
  University[]
    Princeple
    Faculty[]
      Professor[]
        Compensation
        Grant
맵핑 전:
<Country>
  <ForEach Company>
    <University>
      <Principle>
        <MapFrom CEO>
      <Faculty>
        <MapFrom>
맵핑 후:
<Country>
  <ForEach Company>
    <University>
      <Principle>
        <MapFrom CEO>
      <ForEach Department>
        <Faculty>
          <ForEach Employee>
            <Professor>
              <Compensation>   
                <MapFrom Salary>  
              <Grant>   
                <MapFrom>

외부 ForEach에 두 개의 ForEach를 삽입하고 기존 ForEach는 보관하십시오.

대상의 리모트 반복 상위

소스:
S
  S1[]
    S2[]
      S3
  S4
대상:
T
 T1
 T2[]
    T3
      T4
         T5[]
           T6
맵핑 전: 주 1 참조:
<T>
  <T1>
    <MapFrom S4>
  <T2>
    <MapForm>
주 2 참조:
<T>
  <T1>
    <MapFrom S4>
  <T2>
    <T3>
      <T4>
        <T5>
          <T6>
            <MapForm>
맵핑 후:
<T>
  <T1>
    <MapFrom S4>
  <ForEach S1>
    <T2>
      <T3>
        <T4>
        <ForEach S2>
          <T5>
            <T6>
              <MapForm S3>
  1. 긴 분기는 두 개의 명령문을 바꿉니다.
  2. 긴 분기는 기존의 긴 분기를 바꿉니다.
관련 작업
메시지 맵핑 개발
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2005 마지막 갱신 날짜: 11/08/2005
ar25235_2_