Benutzer mit den meisten Antworten
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.ccMontag, 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 FunctionBei 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üßeJö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 FunctionBei 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 FischerMontag, 2. April 2012 19:43 -
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 Michael,
hast Du Dir den letzten Tipp von Leo schon angeschaut?
Gruss,
RaulRaul Talmaciu, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.Donnerstag, 12. April 2012 15:08 -
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