> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Importeer activiteiten in Onderhouden

> Leer hoe u activiteiten kunt importeren met de gebruikersinterface (APM-modus), Cognite Toolkit of Transformations.

Onderhouden ondersteunt drie methoden voor het importeren van activiteiten:

* **CSV-upload**: Importeer activiteiten met de gebruikersinterface (alleen APM-modus).
* **Cognite Toolkit**: Ingest activiteiten met [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) datamodellering (APM- en IDM/CDM-modus).
* **Transformations**: Converteer gegevens van RAW-tabellen of andere bronnen met [CDF Transformations](/cdf/integration/) (APM- en IDM/CDM-modus).

## Importeer via CSV-upload (APM-modus)

<Info>
  **Beschikbaarheid van modus**: Alleen APM-modus. IDM/CDM-modus ondersteunt geen CSV-import in de gebruikersinterface.
</Info>

Activiteiten die via CSV zijn geïmporteerd, kunnen worden gevisualiseerd en gewijzigd als activiteiten die in Onderhouden zijn aangemaakt.

<Steps>
  <Step title="Download het CSV-bestand sjabloon">
    Het geïmporteerde CSV-bestand moet voldoen aan uw projectspecifieke sjabloon. Om **maintain-import-template.csv** te downloaden:

    1. Navigeer naar **Activiteiten** en selecteer **Activiteit toevoegen**.
    2. Selecteer **Importeer activiteiten**.
    3. Selecteer **Download sjabloon**.
  </Step>

  <Step title="Vul het CSV-bestand sjabloon in">
    De CSV-sjabloon bevat alleen een enkele rij waarden die de mogelijke waarden vertegenwoordigen die u kunt opgeven voor een geïmporteerde activiteit. Deze rij wordt de koprij genoemd en mag niet worden verwijderd bij het invullen van de sjabloon.

    <Tip>
      Hoewel de kop **rij** niet mag worden verwijderd, kunt u specifieke waarden uit de kop verwijderen of de volgorde van de waarden wijzigen. Bijvoorbeeld, als een bepaald veld niet relevant is om te importeren in een specifieke situatie, kunt u het uit de kop en de daaropvolgende rijen verwijderen. Dit resulteert erin dat het veld leeg blijft bij alle geïmporteerde activiteiten.
    </Tip>

    Om een enkele activiteit te importeren, voegt u een nieuwe rij toe aan de sjabloon en voert u de juiste waarden in, gescheiden door komma's. Elke waarde in de nieuwe rij moet de waarde bevatten die u wilt invullen op de respectieve koprij die in de sjabloon is gegeven.
    Bijvoorbeeld, als uw sjabloon de volgende koprij bevat: `titel,status,afdeling`, maak dan een CSV-bestand met een extra rij:

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titel,status,afdeling
    Steigers opzetten,Voltooid,Rigging
    ```

    U zult een activiteit creëren met de titel "Steigers opzetten", status "Voltooid" en afdeling "Rigging" wanneer deze wordt geïmporteerd.

    <a id="format-date-fields" />

    ### Formateer datumvelden

    Sommige activiteitvelden in **Onderhouden** vertegenwoordigen data en moeten een specifiek formaat hebben om correct te worden geïmporteerd. Datumvelden kunnen in de CSV-sjabloon worden geïdentificeerd aan de hand van een speciale kopwaarde in de vorm `startTijd (DD/MM/JJJJ)`. In dit voorbeeld is `startTijd` de naam van het veld, terwijl `DD/MM/JJJJ` het datumformaat is dat moet worden gebruikt in de daaropvolgende rijen van het CSV-bestand.
    Bijvoorbeeld, het importeren van het volgende bestand zal resulteren in de activiteit die wordt aangemaakt met `startTijd` ingesteld op 10 december 2023.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titel,startTijd (DD/MM/JJJJ)
    Steigers opzetten,10/12/2023
    ```

    <a id="format-boolean-fields" />

    ### Formateer boolean-velden

    Sommige activiteitvelden in **Onderhouden** vertegenwoordigen boolean-waarden, zoals `waar` of `onwaar`. Boolean-velden kunnen in de CSV-sjabloon worden geïdentificeerd aan de hand van een speciale kopwaarde in de vorm `isActief (waar/onwaar)`. Deze velden hebben slechts twee geldige waarden, `waar` of `onwaar`.
    Bijvoorbeeld, het importeren van het volgende bestand zal resulteren in de activiteit die wordt aangemaakt met `isActief` ingesteld op `onwaar`.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titel,isActief (waar/onwaar)
    Steigers opzetten,valse
    ```

    <a id="format-values-containing-commas" />

    ### Formatteer waarden die komma's bevatten

    Vanwege het CSV-formaat dat waarden scheidt met komma's, wees voorzichtig wanneer een activiteit veld ook een komma moet bevatten. **Onderhouden** processen CSV-bestanden volgens de [RFC 4180 standaard](https://www.rfc-editor.org/rfc/rfc4180), die vereist dat waarden met komma's in dubbele aanhalingstekens worden geplaatst.
    Bijvoorbeeld, het importeren van het volgende bestand resulteert in de activiteit die wordt aangemaakt met `stad` ingesteld op `Boston, MA`.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titel,stad
    Steigers opzetten,"Boston, MA"
    ```

    <a id="unset-values" />

    ### Unset waarden

    U kunt het veld leeg laten op niet-verplichte activiteit velden om ontbrekende of irrelevante waarden voor de specifieke activiteit weer te geven.
    Bijvoorbeeld, het importeren van het volgende bestand resulteert in de activiteit die wordt aangemaakt met `staat` ingesteld op `New York`, maar het zal geen waarde hebben in het `stad` veld.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titel,stad,staat
    Steigers opzetten,New York
    ```

    <a id="connect-an-activity-to-an-asset" />

    ### Verbind een activiteit met een activum

    **Onderhouden** ondersteunt het koppelen van activiteiten aan CDF-activa, die worden gebruikt om de activiteit te contextualiseren in 3D-modellen, documenten, PSN, en meer. Voor **Onderhouden** om de juiste link naar een activum in CDF te creëren, moet u de externe ID van het CDF-actief in de importtemplate opgeven.
    Als u activumcontextualisatie in uw project heeft, zal er een speciaal `activumExterneId` veld in de template zijn dat u moet invullen met de externe ID van het activum van de activiteit.
    Bijvoorbeeld, wanneer u het volgende bestand importeert en ervan uitgaat dat er een CDF-actief bestaat met externe ID `NY_BUILDING_23`, zal de activiteit worden gecontextualiseerd naar dit activum wanneer het in Onderhouden wordt ingevoerd.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    titel,activumExterneId
    Steigers opzetten,NY_BUILDING_23
    ```

    Als de opgegeven externe ID niet exporteert, zal de gebruiker een fout zien tijdens de import.

    <Tip>
      Eindgebruikers weten mogelijk niet de externe ID van het activum waaraan de activiteit is gekoppeld. Als het nodig is om eindgebruikers een lijst van de mogelijke activa en hun externe ID's te geven, raden we aan deze gegevens op te halen met CDF's [activum API](/api-reference/concepts/20230101/assets) of andere gegevensextractors.
    </Tip>
  </Step>

  <Step title="Importeer een ingevuld CSV-bestand">
    Zodra u een ingevulde CSV-template heeft, kunt u deze importeren in **Onderhouden**:

    1. Navigeer naar **Activiteiten** > **Activiteit toevoegen**.
    2. Selecteer **Importeer activiteiten**.
    3. Selecteer het **Klik om CSV-bestand te selecteren voor import** veld.
    4. Selecteer en upload het ingevulde CSV-bestand van uw computer.
    5. Verifieer dat u het bestand hebt geïmporteerd door de **Bestandsinspecteur** sectie te controleren. Een groene boodschap zou het aantal rijen dat geïmporteerd moet worden tonen en of u waarschuwingen of fouten heeft.
    6. Als er geen fouten zijn, selecteer dan **Importeren** om het importproces te starten.
    7. Wanneer de import succesvol is, ziet u een groene succesboodschap met de **Toon activiteiten** knop.
    8. Optioneel. Selecteer **Toon activiteiten** om naar de geïmporteerde activiteiten te navigeren en te controleren of ze correct zijn volgens het CSV-bestand.
  </Step>
</Steps>

## Importeren via Cognite Toolkit

<Info>
  **Beschikbaarheid van modus**: APM- en IDM/CDM-modi. Dit is de aanbevolen aanpak voor programmatic activiteitinvoer.
</Info>

Gebruik de [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) om activiteiten in te voeren via de datamodelmogelijkheden van CDF. Deze methode werkt voor beide implementatiemodi en biedt versiebeheer en reproduceerbare implementaties.

### Vereisten

Voordat u activiteiten via de Cognite Toolkit importeert, zorg ervoor dat u heeft:

* Een aangepaste activiteitweergave geconfigureerd in uw datamodelruimte (of gebruik de standaard `CogniteMaintenanceOrder` weergave van `cdf_idm`)
* De activiteitweergave gemapt in uw Onderhoud-configuratie onder `viewMappings`
* Toegang tot de [Cognite Toolkit](/cdf/deploy/cdf_toolkit/)

### Configureer de mapping van de activiteitweergave

Controleer in uw Onderhoud-configuratie of de sectie `viewMappings` naar uw activiteitweergave verwijst:

```json theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
{
  "viewMappings": {
    "activity": {
      "type": "view",
      "space": "cdf_idm",
      "version": "v1",
      "externalId": "CogniteMaintenanceOrder"
    }
  }
}
```

Als u een aangepaste activiteitweergave hebt gemaakt (bijvoorbeeld `APM_Activity` of `ExtendedActivity`), werk dan de mapping bij om naar uw aangepaste weergave te verwijzen:

```json theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
{
  "viewMappings": {
    "activity": {
      "type": "view",
      "space": "maintain_schema_extention",
      "version": "v1",
      "externalId": "APM_Activity"
    }
  }
}
```

Leer meer over [het uitbreiden van datamodellen](/cdf/maintain/guides/config#extend-data-models) en [het configureren van weergave-mappingen](/cdf/maintain/guides/config#view-mappings).

### Implementeer activiteiten met de Cognite Toolkit

Gebruik de [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) als de aanbevolen aanpak voor het implementeren van activiteiten in IDM-modus.

<Steps>
  <Step title="Creëer de activiteit gegevensstructuur">
    Als u dit nog niet heeft gedaan, maak dan Container-, Weergave- en Node-YAML-bestanden voor uw activiteiten. Volg de standaard datamodelstructuur:

    * `APM_Activity.Container.yaml` - Definieert het containerschema
    * `APM_Activity.View.yaml` - Definieert de weergave-eigenschappen en relaties
    * `apmActivities.Node.yaml` - Bevat uw activiteitinstanties
      Zie de [Cognite Toolkit-documentatie](/cdf/deploy/cdf_toolkit/) voor gedetailleerde voorbeelden en sjablonen.
  </Step>

  <Step title="Configureer de veldkoppelingen">
    Zorg ervoor dat uw activiteitknopen de vereiste velden voor Onderhoud bevatten:

    | Veld              | Beschrijving                                                           | Vereist    |
    | ----------------- | ---------------------------------------------------------------------- | ---------- |
    | `externalId`      | Unieke identificatie voor de activiteit                                | Ja         |
    | `title`           | Activiteitstitel                                                       | Ja         |
    | `status`          | Activiteitsstatus (bijvoorbeeld, "Open", "In Behandeling", "Voltooid") | Aanbevolen |
    | `startTime`       | Startdatum/tijd                                                        | Aanbevolen |
    | `endTime`         | Einddatum/tijd                                                         | Aanbevolen |
    | `rootLocation`    | Identificatie van de hoofdlocatie                                      | Aanbevolen |
    | `assetExternalId` | Externe ID van gekoppeld activum                                       | Optioneel  |
    | `mainAsset`       | Directe relatie met activum                                            | Optioneel  |

    <Tip>
      Voeg extra velden toe op basis van uw [Veldconfiguratie](/cdf/maintain/guides/config#field-configuration) instellingen in Onderhoud.
    </Tip>
  </Step>

  <Step title="Implementeer de activiteiten">
    Implementeer uw activiteitgegevens met behulp van de Cognite Toolkit:

    ```bash theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    cdf deploy --env dev
    ```

    Gebruik de `--drop-data` vlag als u bestaande activiteiten moet vervangen:

    ```bash theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    cdf deploy --env dev --drop-data
    ```

    Leer meer over de [Cognite Toolkit implementatievlaggen](/cdf/maintain/guides/config#critical-deployment-flags).
  </Step>

  <Step title="Verifieer in Maintain">
    1. Log in op [Onderhouden](https://maintain.cogniteapp.com). 2. Navigeer naar **Activiteiten**. 3. Controleer of uw geïmporteerde activiteiten met de juiste gegevens verschijnen.
  </Step>
</Steps>

### Implementeer activiteiten met Transformaties

<Info>
  **Beschikbaarheid van modus**: APM- en IDM/CDM-modi. Dit is de aanbevolen aanpak voor bulkgegevens.
</Info>

Alternatief kunt u [CDF Transformaties](/cdf/integration/) gebruiken om gegevens van RAW-tabellen of andere bronnen om te zetten in activiteitknopen.

### Probleemoplossing

Als u problemen ondervindt met activiteiten na inname, zie dan de tabel voor oorzaken en oplossingen.

| Probleem                    | Oplossing                                                                                    |
| --------------------------- | -------------------------------------------------------------------------------------------- |
| Activiteiten niet zichtbaar | Controleer of de `viewMappings` configuratie naar de juiste ruimte, weergave en versie wijst |
| Ontbrekende velden          | Controleer of uw Veldconfiguratie alle velden bevat die u aan het inbrengen bent             |
| Verbroken assetlinks        | Zorg ervoor dat `assetExternalId` of `mainAsset` relaties naar bestaande activa wijzen       |
| Verkeerde rootlocatie       | Controleer of `rootLocation` overeenkomt met uw locatieconfiguratie                          |
