# 690 · salesquotesfrombcdelete

> Technisches Mapping des Jobs `salesquotesfrombcdelete` (`BCSalesQuotesDelete`).

---

LLMS index: [llms.txt](/llms.txt)

---

| Eigenschaft | Wert |
|---|---|
| Order | 690 |
| Job | `salesquotesfrombcdelete` |
| Mapping | `BCSalesQuotesDelete` |
| Richtung | BC → CE |
| Quellverbindung | BC_Test |
| Zielverbindung | CRM_Test |
| Quelltabelle (API) | `acdlogentries` aus `singhammerITConsulting/dyce/v2.0` |
| Zieltabelle | `quote` |
| Zeitplan | 0 */2 * * * * |
| Filter | `{{lastModifiedDateTime gt %watermark%}} and tableId eq 36 and operation eq 'DELETE'` |
| Watermark | `lastModifiedDateTime` (Typ `datetime`) |
| Response-Job | — |
| Action | `NewUpdate` (kein `Delete`) |
| Fachliche Doku | [Stornierung Angebot aus BC](../angebot/bcsalesquotesdelete/) |

## Feldzuordnung

| Quellfeld | Zielfeld | Operation | Details |
|---|---|---|---|
| `recordId` | `wysa_bcsystemid` | — · **Schlüssel** | — |
| — | `statecode` | DefaultValue | = `3` (Geschlossen) |
| — | `statuscode` | DefaultValue | = `6` (Storniert) |

## Alternate Key

```json
{
  "keyType": "CustomKey",
  "keyName": "wysa_bcsystemidkey",
  "keyValues": [
    {
      "attributeName": "recordId",
      "keyName": "wysa_bcsystemid",
      "rank": 1
    }
  ],
  "ignoreEmptySourceKey": false,
  "keyRank": 0
}
```

## Weitere technische Details

### Vergleich mit anderen Jobs

| Order | Job | Zieltabelle | `Action` | Wirkung |
|---|---|---|---|---|
| 420 | `accountsfrombcdelete` | `account` | — | deaktivieren |
| 440 | `contactsfrombcdelete` | `contact` | — | deaktivieren |
| 450 | `productsfrombcdelete` | `product` | — | deaktivieren |
| 621 | `salescalculationelementsfrombcdelete` | `quotedetail` | `Delete` | **löschen** |
| 690 | `salesquotesfrombcdelete` | `quote` | — | **schließen** (Storniert) |

Nur noch die Angebotspositionen werden hart gelöscht. Das Angebot selbst wird seit der
Überarbeitung der Mappings nicht mehr gelöscht, sondern über zwei Festwerte auf
*Geschlossen / Storniert* gesetzt.

### Festwerte für den Status

`statecode` und `statuscode` haben kein Quellfeld (`Default`) und werden fest gesetzt —
`3` = Geschlossen, `6` = Storniert (Standard-Statusgrund des Angebots in Dataverse):

```json
{
  "Operations": [{
    "Name": "DefaultValue",
    "Parameters": { "DefaultValue": "3" }
  }]
}
```

```json
{
  "Operations": [{
    "Name": "DefaultValue",
    "Parameters": { "DefaultValue": "6" }
  }]
}
```

### Beobachtungen

Adressiert wird über die BC System-ID, nicht über die Angebotsnummer wie in
[`salesquotesfrombc`](../salesquotesfrombc/) — das Änderungsprotokoll kennt nur die
System-ID. Voraussetzung ist also, dass der Abgleich 610 sie am Angebot gefüllt hat.
