none
Problem bei einem Mapping Biztalk 2009

    Frage

  • Hallo alle zusammen,

    ich habe in einem Mapping die "Herausforderung" auf der Zielseite folgendes abzubilden:

    <PartnerDescription type="Buyer">

    <PartnerNumber type="Distributor">12345678</PartnerNumber>

    </PartnerDescription>

     <PartnerDescription type="DeliveryParty">

    <PartnerNumber type="Distributor">12345678</PartnerNumber>

    </PartnerDescription>

    in dem Schema habe ich logischerweise das nur 1x. Wie bekomme ich es hin, das beide Dinge komplett abgebildet werden.

    Besten Dank im Voraus für jeden Tip

    Michael 

    Mittwoch, 28. März 2012 14:53

Antworten

  • Hi,

    so funktioniert das mit einem Table Looping Functoid:

    Dem Table Looping Functoid folgende parameter geben:

    • 1
    • 3
    • Buyer
    • Distributor
    • DeliveryParty
    • 12345678

    Der erste ist ein Scope (brauchst Du nicht) - sollte eigentlich ein Link aus der Quelle sein, muss es aber nicht.

    Der zweite gibt an wie viele Spalten dein Table Looping haben soll: 3

    Der Rest sind Werte, die du verwenden willst in der Tabelle. Das könnten auch Werte aus der Quelle sein.

    Als nächstes öffnet man das Kontext Menü vom Functoid und wählt "Configure Table Looping Grid". Das Grid hat jetzt 3 Spalten und man kann beliebig viele Zeilen hinzufügen. In deinem Fall 2.

    Dort wählt man per Drop Down die Werte aus und danach verbindet man das Table Looping Functoid mit 3 Table Extractor Functoiden. In diesen gibt man als 2. Parameter die Spalte an, also 1 für die erste Spalte, 2.. etc.

    Nun zieht man den Table Looping Functoid auf das was man wiederholen will, also "PartnerDescription" und die Table Extractor Functoide auf die Felder, also PartnerDescription/@type, PartnerNumber/@type und PartnerNumber.

    Das war es schon!

    Beste Grüße,

    Leo Martens


    Please mark it as Answer if this answers your question.

    • Als Antwort markiert heynem Montag, 21. Mai 2012 12:13
    Donnerstag, 5. April 2012 12:15

Alle Antworten

  • Hallo Michael,

    ein paar mehr Informationen wären nett. Was genau hast du denn als Ausgangsbasis für die Nachricht? Erstellst du sie komplett von Hand oder hast du eine Eingangsnachricht, die du in die oben stehende transformieren möchtest?

    Grundsätzlich ist es nicht schwer die Nachricht zu erstellen, es ist nur stark abhängig von deinen Gegebenheiten.


    If you like my post or consider it as a valid answer, please use the buttons to show me - Oliver

    Microsoft Most Valuable Professional for BizTalk Server
    http://i.evolved.cc

    Montag, 2. April 2012 10:30
  • Hallo Oliver,

    ich habe für alle 4 Tags kein Input von der empfangs XML Datei - ich muss also alle 4 Werte manuell in dem Mapping füllen können.

    Im Moment habe ich das mit einem Script Functoid gelöst, als Inline VisualBasic folgendes :

    Function MyFunction1 (p_strParm0)
      MyFunction1 = p_strParm0
    End Function

    Bei eingaben konfigurieren habe ich dann der Wert "DeliveryParty" und die Nummer eingetragen. Soweit klappt das perfekt aber nur für die zweite PartnerDescription. Ich benötige

    ja noch die erste : ((. ==>> ich hoffe, ich habe mich halbwegs verständlich ausgedrückt...

    Danke & Gruß

    Michael

    Montag, 2. April 2012 14:08
  • Hallo,
     
    Für das Befüllen einer Struktur auch mit Konstanten kann man den Table Looping Functoid heranziehen. Er sollte auch in diesem Fall m. E. nach passen.
     
    Grüße
     
    Jörg Fischer
     
     
    "heynem" schrieb im Newsbeitrag news:d53eabdc-bb97-4aeb-8a9c-1fd3d4eceed1...

    Hallo Oliver,

    ich habe für alle 4 Tags kein Input von der empfangs XML Datei - ich muss also alle 4 Werte manuell in dem Mapping füllen können.

    Im Moment habe ich das mit einem Script Functoid gelöst, als Inline VisualBasic folgendes :

    Function MyFunction1 (p_strParm0)
      MyFunction1 = p_strParm0
    End Function

    Bei eingaben konfigurieren habe ich dann der Wert "DeliveryParty" und die Nummer eingetragen. Soweit klappt das perfekt aber nur für die zweite PartnerDescription. Ich benötige

    ja noch die erste : ((. ==>> ich hoffe, ich habe mich halbwegs verständlich ausgedrückt...

    Danke & Gruß

    Michael


    Jörg Fischer
    Montag, 2. April 2012 19:43
    Moderator
  • Hallo Jörg,

    ...das hört sich nicht schlecht an - nur habe ich keine Ahnung wie ich das nutzen soll, damit ich die o.g. vier

    Werte hinbekomme :-(

    Kannst Du mir einen Tip geben......

    DANKE
    Michael

    Dienstag, 3. April 2012 07:35
  • Hi,

    so funktioniert das mit einem Table Looping Functoid:

    Dem Table Looping Functoid folgende parameter geben:

    • 1
    • 3
    • Buyer
    • Distributor
    • DeliveryParty
    • 12345678

    Der erste ist ein Scope (brauchst Du nicht) - sollte eigentlich ein Link aus der Quelle sein, muss es aber nicht.

    Der zweite gibt an wie viele Spalten dein Table Looping haben soll: 3

    Der Rest sind Werte, die du verwenden willst in der Tabelle. Das könnten auch Werte aus der Quelle sein.

    Als nächstes öffnet man das Kontext Menü vom Functoid und wählt "Configure Table Looping Grid". Das Grid hat jetzt 3 Spalten und man kann beliebig viele Zeilen hinzufügen. In deinem Fall 2.

    Dort wählt man per Drop Down die Werte aus und danach verbindet man das Table Looping Functoid mit 3 Table Extractor Functoiden. In diesen gibt man als 2. Parameter die Spalte an, also 1 für die erste Spalte, 2.. etc.

    Nun zieht man den Table Looping Functoid auf das was man wiederholen will, also "PartnerDescription" und die Table Extractor Functoide auf die Felder, also PartnerDescription/@type, PartnerNumber/@type und PartnerNumber.

    Das war es schon!

    Beste Grüße,

    Leo Martens


    Please mark it as Answer if this answers your question.

    • Als Antwort markiert heynem Montag, 21. Mai 2012 12:13
    Donnerstag, 5. April 2012 12:15
  • Hallo alle zusammen,

    leider bin ich in dieser Woche noch nicht dazu gekommen den Tipp von Leo zu versuchen. Ich bin die

    gesammte zeit auf einer MS Schulung exterrn.....

    In der kommenden Woche werde ich das auf jeden Fall machen!!!!

    Schönes WE

    Michael

    Freitag, 13. April 2012 06:40
  • Hallo Leo,

    1000x entschuldigung, aber aus Gesundheitlichen Gründen kann ich erst heute damit weitermachen : ((((

    Ich habe jetzt Deine Anleitung befolgt und das sieht soweit schon Mal super aus. ABER leider fehlt noch eine Kleinigkeit - ich habe jetzt die

    Inhalte der "unteren Tags" doppelt :-(( - die fett markierten Inhalte will aber nicht haben

    <PartnerDescription type="Buyer">
    <PartnerNumber type="Distributor">123456789</PartnerNumber>
    <PartnerName1>August Rüggeberg GmbH Co.KG</PartnerName1>
    <PartnerName2/>
    <PartnerAddress>Hauptstraße 13</PartnerAddress>
    <PartnerPostalCode>51709</PartnerPostalCode>
    <PartnerCity>Marienheide</PartnerCity>
    </PartnerDescription>
    <PartnerDescription type="DeliveryParty">
    <PartnerNumber type="Distributor">123456789</PartnerNumber>
    <PartnerName1>August Rüggeberg GmbH Co.KG</PartnerName1>
    <PartnerName2/>
    <PartnerAddress>Hauptstraße 13</PartnerAddress>
    <PartnerPostalCode>51709</PartnerPostalCode>
    <PartnerCity>Marienheide</PartnerCity>
    </PartnerDescription>
    Montag, 21. Mai 2012 09:46