260 · opportunitiesnewfromce
Technisches Mapping des Jobs
opportunitiesnewfromce (CEOpportunities).| Eigenschaft | Wert |
|---|---|
| Order | 260 |
| Job | opportunitiesnewfromce |
| Mapping | CEOpportunities |
| Richtung | CE → BC |
| Quellverbindung | CRM_Test |
| Zielverbindung | BC_Test |
| Quelltabelle (API) | opportunity aus BC_Test-seitig, kein API-Pfad |
| Zieltabelle | acdopportunities |
| Zeitplan | 0 */2 * * * * |
| Filter | JSON-Filter: IsNull(wysa_bcsystemid) UND OptionSetValue(wysa_sync2bc=799840000) |
| Watermark | — |
| Response-Job | opportunitiesresponsefrombc |
| Fachliche Doku | Neue Verkaufschance nach BC |
Feldzuordnung
| Quellfeld | Zielfeld | Operation | Details |
|---|---|---|---|
_URL | dynamicsSalesLink | LinkToRecord | Deep-Link (baseUrl konfiguriert) |
description | extendedDescription | — | — |
estimatedclosedate | expectedCloseDate | — | — |
estimatedvalue | expectedRevenue | — | — |
name | description | — | — |
opportunityid | dataverseId | — · Schlüssel | — |
_parentaccountid.wysa_bccontactnumber | contactCompanyNumber | LookupValue | liest wysa_bccontactnumber aus account über parentaccountid |
_parentcontactid.wysa_bccontactnumber | contactNumber | LookupValue | liest wysa_bccontactnumber aus contact über parentcontactid |
_wysa_bcsalespersonid.wysa_code | salespersonCode | LookupValue | liest wysa_code aus wysa_bcsalesperson über wysa_bcsalespersonid |
Alternate Key
{
"keyType": "Filter",
"keyValues": [
{
"attributeName": "id",
"keyName": "dataverseId",
"rank": 1
}
],
"keyAttributeFromExisting": "Id",
"ignoreEmptySourceKey": false,
"keyRank": 0
}
Weitere technische Details
Transformationen im Detail
Deep Link (_URL → dynamicsSalesLink) — die Operation LinkToRecord setzt aus
einer Basisadresse und der GUID des Datensatzes eine aufrufbare URL zusammen. Sie kommt
in der gesamten Integration nur hier vor.
{
"Operations": [{
"Name": "LinkToRecord",
"Parameters": {
"BaseUrl": "https://dsyr-salescentral.crm4.dynamics.com/main.aspx?appid=1fb84e94-89dd-ef11-8ee9-7c1e527610c5&pagetype=entityrecord"
}
}]
}
Umgebungsadresse und App-ID sind fest hinterlegt.
Firma und Kontakt — beide werden über die BC Kontaktnummer des jeweiligen Datensatzes aufgelöst. Business Central kennt Firmen und Personen in derselben Kontakttabelle, deshalb ist das Nachschlagefeld in beiden Fällen dasselbe:
| Quellfeld | Nachschlagetabelle | Nachschlagefeld | Zielfeld |
|---|---|---|---|
parentaccountid | account | wysa_bccontactnumber | contactCompanyNumber |
parentcontactid | contact | wysa_bccontactnumber | contactNumber |
wysa_bcsalespersonid | wysa_bcsalesperson | wysa_code | salespersonCode |
Alle drei mit LookupType: Attribute und UseCache: true. Beispiel Kontakt:
{
"Operations": [{
"Name": "LookupValue",
"Parameters": {
"LookupType": "Attribute",
"SourceField": "parentcontactid",
"LookupTable": "contact",
"LookupField": "wysa_bccontactnumber",
"UseCache": true
}
}]
}
Ist eines der beiden Nachschlagefelder leer, kann die Zuordnung nicht gebildet werden — genau das verhindert die Freigaberegel.
Beobachtungen
keyAttributeFromExistingsteht hier aufIdmit großem I, in den Mappings von Firma und Kontakt aufid. Ob das eine Rolle spielt, hängt davon ab, wie die DataBridge den Wert auswertet.