Passa al contenuto principale
Adaptive Planning
Ultimo aggiornamento: 2023-06-23
Aggiornamento in blocco dei metadati

Aggiornamento in blocco dei metadati

Supportato nell'API v17 +
Il vantaggio principale delle API di aggiornamento in blocco dei metadati è che consentono la sincronizzazione di livelli, dimensioni e conti CoGe
Adaptive Planning
con controparti in un sistema esterno a intervalli regolari e pianificati. Invece di richiamare i singoli elementi uno per uno, queste API consentono di inoltrare un file XML non elaborato o un file XML compresso (compresso) per aggiornare, riordinare e creare elementi.
Con le API in blocco di metadati, la nuova versione della struttura ad albero degli elementi esistenti viene importata in
Adaptive Planning
.
API di aggiornamento in blocco dei metadati:
  • Non eliminare mai. Gli elementi mancanti nella versione caricata rimangono invariati.
  • Creare eventuali nuovi elementi trovati nel caricamento, se possibile.
  • Aggiornare le proprietà di tutti gli elementi caricati, comprese le relative proprietà di parentela.
  • Aggiornare le assegnazioni degli attributi in fase di caricamento.
  • Consentono in particolare il caricamento parziale della struttura ad albero (poiché l'eliminazione non viene mai eseguita, i caricamenti parziali non sono distruttivi).
  • Consentono di identificare gli elementi esistenti in una struttura ad albero in base al numero ID interno o al campo ID univoco "originale" (pre-aggiornamento).
  • Interrompere gli errori irreversibili ed eseguire il rollback. Gli errori irreversibili includono:
    • Tenta di creare un ciclo in una gerarchia
    • Tenta di creare un nuovo elemento il cui campo identificativo è in conflitto con uno già presente nel sistema (ad esempio, la creazione di un nuovo conto con un codice in uso)
    • Tenta di aggiornare il campo di identificazione di un elemento in modo che entri in conflitto con uno già presente nel sistema.
  • Procedere con gli errori ignorabili che non interrompono l'importazione e riportare nella risposta del risultato come avvisi. Gli errori ignorabili includono quelli che è improbabile che producano effetti a cascata, ad esempio:
    • Tenta di modificare l'assegnazione di un attributo in un valore che non esiste.
    • Tenta di impostare un nome livello troppo lungo per il campo.

Caricamento in blocco utilizzando XML compresso (zippato)

Per i payload di grandi dimensioni, è possibile caricare contenuto compresso come file ZIP contenente solo l'xml degli aggiornamenti senza sottodirectory, cartelle o altri contenuti. Se le cartelle o le sottodirectory vengono rilevate nello ZIP al momento della registrazione, la richiesta viene rifiutata.

Allegare un esempio di arricciatura file XML compresso (zippato).

curl -i -X POST -H "Content-Type: multipart/form-data" -F "request=<C:/temp/requestUpdateDimVal.xml" -F "content=@C:/temp/updateDimensions.zip" https://api.adaptiveplanning.com/api/v20
requestUpdateDimVal.xml content
<?xml version='1.0' encoding='UTF-8'?> <call method="updateDimensions" callerName="Steve C"> <credentials login="sampleuser@company.com" password="my_password"/> </call>
updateDimVal.zip/content.xml
<?xml version='1.0' encoding='UTF-8'?> <dimensions> <dimension id="7" name="Education" shortName="" autoCreate="0" listDimension="1" keepSorted="0" useOnLevels="0"> <dimensionValue id="32" name="Graduate" description="Modified Graduate degree" /> </dimension> </dimensions>
È comunque possibile effettuare richieste API nel corpo di una chiamata API senza utilizzare allegati.
<?xml version='1.0' encoding='UTF-8'?> <call method="updateDimensions" callerName="Steve C"> <credentials login="sampleuser@company.com" password="my_password"/> <dimensions> <dimension id="7" name="Education" shortName="" autoCreate="0" listDimension="1" keepSorted="0" useOnLevels="0"> <dimensionValue id="32" name="Graduate" description="Modified Graduate degree" /> </dimension> </dimensions> </call>

API di aggiornamento in blocco dei metadati: