> ## 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.

# Importera aktiviteter till Maintain

> Lär dig hur du importerar aktiviteter med hjälp av användargränssnittet (APM-läge), Cognite Toolkit eller Transformationer.

Maintain stöder tre metoder för att importera aktiviteter:

* **CSV-uppladdning**: Importera aktiviteter med hjälp av användargränssnittet (endast APM-läge).
* **Cognite Toolkit**: Ingestera aktiviteter med hjälp av [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) datamodellering (APM- och IDM/CDM-lägen).
* **Transformationer**: Konvertera data från RAW-tabeller eller andra källor med hjälp av [CDF Transformationer](/cdf/integration/) (APM- och IDM/CDM-lägen).

## Importera via CSV-uppladdning (APM-läge)

<Info>
  **Tillgänglighet av lägen**: Endast APM-läge. IDM/CDM-läge stöder inte CSV-import i användargränssnittet.
</Info>

Aktiviteter som importeras via CSV kan visualiseras och modifieras som aktiviteter skapade i Maintain.

<Steps>
  <Step title="Ladda ner CSV-filens mall">
    Den importerade CSV-filen måste följa din projektspecifika mall. För att ladda ner **maintain-import-template.csv**:

    1. Navigera till **Aktiviteter** och välj **Lägg till aktivitet**.
    2. Välj **Importera aktiviteter**.
    3. Välj **Ladda ner mall**.
  </Step>

  <Step title="Fyll i CSV-filens mall">
    CSV-mallen kommer endast att innehålla en enda rad av värden som representerar de möjliga värdena du kan ange för en importerad aktivitet. Denna rad kallas rubrikrad och bör inte tas bort när du fyller i mallen.

    <Tip>
      Medan rubriken **rad** inte får tas bort, kan du ta bort specifika värden från rubriken eller ändra ordningen på värdena. Till exempel, om ett visst fält inte är relevant att importera i ett specifikt scenario, kan du ta bort det från rubriken och de efterföljande raderna. Detta kommer att resultera i att fältet lämnas tomt på alla importerade aktiviteter.
    </Tip>

    För att importera en enda aktivitet, lägg till en ny rad i mallen och ange de lämpliga värdena åtskilda av kommatecken. Varje värde i den nya raden bör innehålla det värde du vill fylla i på den respektive rubrikrad som angavs i mallen.

    Till exempel, om din mall innehåller följande rubrikrad: `titel,status,avdelning`, skapa en CSV-fil med en ytterligare rad:

    ```
    titel,status,avdelning
    Resa ställningar,Klart,Riggning
    ```

    Du kommer att skapa en aktivitet med titeln "Resa ställningar", status "Klart" och avdelning "Riggning" när den importeras.

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

    ### Formatera datumfält

    Vissa aktivitetsfält i **Maintain** representerar datum och måste ha ett specifikt format för att importeras korrekt. Datumfält kan identifieras i CSV-mallen genom ett speciellt rubrikvärde i formen `startTid (DD/MM/YYYY)`. I detta exempel är `startTid` namnet på fältet, medan `DD/MM/YYYY` är datumformatet som måste användas i efterföljande rader i CSV-filen.

    Till exempel, import av följande fil kommer att resultera i att aktiviteten skapas med `startTid` inställt på 10 december 2023.

    ```
    titel,startTid (DD/MM/YYYY)
    Resa ställningar,10/12/2023
    ```

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

    ### Formatera booleanfält

    Vissa aktivitetsfält i **Maintain** representerar booleanvärden, såsom `ja` eller `nej`. Booleanfält kan identifieras i CSV-mallen genom ett speciellt rubrikvärde i formen `ärAktiv (ja/nej)`. Dessa fält har endast två giltiga värden, `ja` eller `nej`.

    Till exempel, import av följande fil kommer att resultera i att aktiviteten skapas med `ärAktiv` inställt på `nej`.

    ```
    titel,ärAktiv (sant/falskt)
    Resa ställningar,false
    ```

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

    ### Formatera värden som innehåller kommatecken

    På grund av CSV-formatet som separerar värden med kommatecken, var försiktig när ett aktivitetsfält också behöver innehålla ett kommatecken. **Maintain** bearbetar CSV-filer enligt [RFC 4180-standarden](https://www.rfc-editor.org/rfc/rfc4180), som kräver att värden som innehåller kommatecken ska omges av citattecken.

    Till exempel, att importera följande fil kommer att resultera i att aktiviteten skapas med `stad` inställt på `Boston, MA`.

    ```
    titel,stad
    Resa ställningar,"Boston, MA"
    ```

    <a id="unset-values" />

    ### Oinställda värden

    Du kan lämna fältet tomt på icke-obligatoriska aktivitetsfält för att representera saknade eller irrelevanta värden för den specifika aktiviteten.

    Till exempel, att importera följande fil kommer att resultera i att aktiviteten skapas med `stat` inställt på `New York`, men det kommer att sakna värde i `stad` fältet.

    ```
    titel,stad,stat
    Resa ställningar,New York
    ```

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

    ### Koppla en aktivitet till en tillgång

    **Maintain** stöder länkning av aktiviteter till CDF-tillgångar, vilket används för att kontextualisera aktiviteten i 3D-modeller, dokument, PSN och mer. För **Maintain** att skapa den lämpliga länken till en tillgång i CDF, måste du ange CDF-tillgångens externa ID i importmallen.

    Om du har tillgångskontextualisering i ditt projekt, kommer det att finnas ett särskilt `assetExternalId` fält i mallen som du behöver fylla i med det externa ID:t för aktivitetens tillgång.

    Till exempel, när du importerar följande fil och förutsätter att en CDF-tillgång finns med det externa ID:t `NY_BUILDING_23`, kommer aktiviteten att kontextualiseras till denna tillgång när den importeras till Maintain.

    ```
    titel,assetExternalId
    Resa ställningar,NY_BUILDING_23
    ```

    Om det angivna externa ID:t inte exporteras, kommer användaren att se ett fel under importen.

    <Tip>
      Slutanvändare kanske inte känner till det externa ID:t för den tillgång som aktiviteten är kopplad till. Om det är nödvändigt att ge slutanvändare en lista över möjliga tillgångar och deras externa ID:n, rekommenderar vi att hämta dessa data med hjälp av CDF:s [asset API](/api-reference/concepts/20230101/assets) eller andra datautdragare.
    </Tip>
  </Step>

  <Step title="Importera en ifylld CSV-fil">
    När du har en ifylld CSV-mall kan du importera den till **Maintain**:

    1. Navigera till **Aktiviteter** > **Lägg till aktivitet**.
    2. Välj **Importera aktiviteter**.
    3. Välj **Klicka för att välja CSV-fil att importera** fältet.
    4. Välj och ladda upp den ifyllda CSV-filen från din dator.
    5. Verifiera att du har importerat filen genom att kontrollera **Filinspektör** avsnittet. Ett grönt meddelande ska visa antalet rader som ska importeras och om du har några varningar eller fel.
    6. Om det inte finns några fel, välj **Importera** för att påbörja importprocessen.
    7. När importen lyckas, kommer du att se ett grönt framgångsmeddelande med **Visa aktiviteter** knappen.
    8. Valfritt. Välj **Visa aktiviteter** för att navigera till de importerade aktiviteterna och kontrollera att de ser korrekta ut enligt CSV-filen.
  </Step>
</Steps>

## Importera via Cognite Toolkit

<Info>
  **Tillgänglighet av lägen**: APM och IDM/CDM-lägen. Detta är den rekommenderade metoden för programmatisk aktivitetstillförsel.
</Info>

Använd [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) för att tillföra aktiviteter genom CDF:s datamodelleringsmöjligheter. Denna metod fungerar för båda distributionslägena och ger versionskontroll och reproducerbara distributioner.

### Förutsättningar

Innan du importerar aktiviteter via Cognite Toolkit, se till att du har:

* En anpassad aktivitetsvy konfigurerad i ditt datamodellutrymme (eller använd den standard `CogniteMaintenanceOrder` vyn från `cdf_idm`)
* Aktivitetsvyn mappad i din Maintain-konfiguration under `viewMappings`
* Tillgång till [Cognite Toolkit](/cdf/deploy/cdf_toolkit/)

### Konfigurera aktivitetsvy-mappningen

I din Maintain-konfiguration, verifiera att `viewMappings` avsnittet pekar på din aktivitetsvy:

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

Om du har skapat en anpassad aktivitetsvy (till exempel `APM_Activity` eller `ExtendedActivity`), uppdatera mappningen för att peka på din anpassade vy:

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

Lär dig mer om [att utöka datamodeller](/cdf/maintain/guides/config#extend-data-models) och [att konfigurera vy-mappningar](/cdf/maintain/guides/config#view-mappings).

### Ingestera aktiviteter med Cognite Toolkit

Använd [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) som den rekommenderade metoden för att ingestera aktiviteter i IDM-läge.

<Steps>
  <Step title="Skapa aktivitetsdatastrukturen">
    Om du inte redan har gjort det, skapa Container-, View- och Node YAML-filer för dina aktiviteter. Följ den standardiserade datamodelleringsstrukturen:

    * `APM_Activity.Container.yaml` - Definierar containerschemat
    * `APM_Activity.View.yaml` - Definierar vyegenskaper och relationer
    * `apmActivities.Node.yaml` - Innehåller dina aktivitetsinstanser
      Se [Cognite Toolkit-dokumentationen](/cdf/deploy/cdf_toolkit/) för detaljerade exempel och mallar.
  </Step>

  <Step title="Konfigurera fältmappningar">
    Se till att dina aktivitetsnoder inkluderar de nödvändiga fälten för Maintain:

    | Fält              | Beskrivning                                                         | Obligatoriskt |
    | ----------------- | ------------------------------------------------------------------- | ------------- |
    | `externalId`      | Unik identifierare för aktiviteten                                  | Ja            |
    | `title`           | Aktivitetens titel                                                  | Ja            |
    | `status`          | Aktivitetens status (till exempel, "Öppen", "Pågående", "Avslutad") | Rekommenderad |
    | `startTime`       | Startdatum/tid                                                      | Rekommenderad |
    | `endTime`         | Slutdatum/tid                                                       | Rekommenderad |
    | `rootLocation`    | Identifierare för rotplats                                          | Rekommenderad |
    | `assetExternalId` | Extern ID för länkad tillgång                                       | Valfritt      |
    | `mainAsset`       | Direkt relation till tillgång                                       | Valfritt      |

    <Tip>
      Inkludera ytterligare fält baserat på dina [Fältkonfiguration](/cdf/maintain/guides/config#field-configuration) inställningar i Maintain.
    </Tip>
  </Step>

  <Step title="Distribuera aktiviteterna">
    Distribuera dina aktivitetsdata med Cognite Toolkit:

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

    Använd `--drop-data` flaggan om du behöver ersätta befintliga aktiviteter:

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

    Lär dig mer om [Cognite Toolkit distributionsflaggor](/cdf/maintain/guides/config#critical-deployment-flags).
  </Step>

  <Step title="Verifiera i Maintain">
    1. Logga in på [Maintain](https://maintain.cogniteapp.com).
    2. Navigera till **Aktiviteter**.
    3. Verifiera att dina importerade aktiviteter visas med korrekt data.
  </Step>
</Steps>

### Ingestera aktiviteter med Transformationer

<Info>
  **Tillgänglighet av lägen**: APM och IDM/CDM-lägen. Detta är den rekommenderade metoden för bulkdata.
</Info>

Alternativt kan du använda [CDF Transformationer](/cdf/integration/) för att konvertera data från RAW-tabeller eller andra källor till aktivitetsnoder.

### Felsökning

Om du stöter på problem med aktiviteter efter ingestion, se tabellen för orsaker och lösningar.

| Problem                 | Lösning                                                                                   |
| ----------------------- | ----------------------------------------------------------------------------------------- |
| Aktiviteter syns inte   | Verifiera att `viewMappings` konfigurationen pekar på rätt utrymme, vy och version        |
| Saknade fält            | Kontrollera att din fältkonfiguration inkluderar alla fält du ingesterar                  |
| Trasiga tillgångslänkar | Se till att `assetExternalId` eller `mainAsset` relationer pekar på befintliga tillgångar |
| Fel rotplats            | Verifiera att `rootLocation` matchar din platskonfiguration                               |
