importCubeData
Categoria | Inoltro dei dati |
Descrizione | Inserisce o sostituisce i dati in un foglio cubo. Questo metodo può essere utilizzato anche per eliminare i dati da un foglio cubo importando gli zeri nelle posizioni del cubo. L'importazione di uno zero in un foglio cubo cancellerà i dati nella posizione dello zero. |
Autorizzazioni necessarie per richiamare | Importazione |
Parametri obbligatori su richiesta | Credentials, ImportDataOptions, Version, Sheet, RowData |
La richiesta di questo metodo contiene i parametri che verranno utilizzati per determinare quale foglio e quale versione riceveranno le righe di dati fornite. Questo metodo può essere utilizzato anche per eliminare i dati da un foglio cubo importando gli zeri nelle posizioni del cubo. L'importazione di uno zero in un foglio cubo cancellerà i dati nella posizione dello zero.
Formato richiesta
<?xml version='1.0' encoding='UTF-8'?> <call method="importCubeData" callerName="a string that identifies your client application"> <credentials login="sampleuser@company.com" password="my_pwd" instanceCode="INSTANCE1"/> <importDataOptions planOrActuals="Plan" allowParallel="false" moveBPtr="false"/> <version name="Budget 2014" isDefault="false" /> <sheet name="Sales Cube" isUserAssigned="false" /> <rowData> <header>ProductFurniture|CountryRegion|FabricationMachine|Customer|Account|Level|06/2014|07/2014|08/2014|09/2014|01/2015</header> <rows> <row>Coffee table|Argentina|Do-All 15 Vertical|Aeropostale|Price|Corporate Plan|0|0|0|0|0</row> </rows> </rowData> </call>
Ogni chiamata di questa chiamata API deve contenere esattamente un elemento di ciascuno dei tipi elencati:
- credenziali
- importDataOptions
- versione
- foglio
- rowData
Inoltre, quando la modalità è specificata come REPLACE, è necessario specificare l'elemento ambito.
Una mancata corrispondenza tra il numero di caratteri pipe ( | ) nell'intestazione e i dati causerà un errore per l'API v30 o successiva.
Richiesta di esempio che specifica la modalità di sostituzione con ambito:
<?xml version='1.0' encoding='UTF-8'?> <call method="importCubeData" callerName="a string that identifies your client application"> <credentials login="sampleuser@company.com" password="my_pwd" instanceCode="INSTANCE1"/> <version name="Budget 2022" isDefault="true" /> <sheet name="Expense Cube" isUserAssigned="false" /> <importDataOptions planOrActuals="Plan" allowParallel="false" moveBPtr="false" mode="REPLACE" /> <!-- Scope parameter specifying the import scope.--> <scope> <!-- Specifies the time scope for import. All values will be specified as time codes.--> <time mode="EXPLICIT"> <timeRange start="01/2021" end="10/2021" /> </time> <!-- Specifies list of accounts in the scope. All values will be specified as code field.--> <accounts mode="EXPLICIT"> <account includeDescendants="true">Op_Expense_Inputs</account> <account includeDescendants="true">Op_Expense_Drivers</account> </accounts> <!-- Specifies list of levels in the scope. All values will be specified as code field.--> <levels mode="INPUT"/> </scope> <rowData> <header>ProductFurniture|CountryRegion|FabricationMachine|Customer|Account|Level|01/2022|02/2022|03/2022|04/2022|05/2022|06/2022|07/2022|08/2022|09/2022|10/2022|11/2022|12/2022</header> <rows> <row>Coffee Table|Argentina|Do-All 15 Vertical|Aeropostale|Units|Development|44567.33|21345.77|22341.43|65567.32|298145.12|12641.83|77821.53|7766342.09|211441.21|88712.43|61940.41|662341.03|775420.25|800345.17</row> </rows> </rowData> </call>
elemento credenziali | |||
Nome tag | credenziali | ||
Descrizione | Tutte le chiamate API devono contenere una singola chiamatacredenziali per identificare l'utente che richiama l'API. La chiamata API viene quindi eseguita come utente (qualsiasi audit trail o storico delle azioni nel sistema mostrerà che l'azione è stata eseguita dall'utente) e pertanto l'utente deve disporre delle autorizzazioni necessarie per eseguire l'azione affinché la chiamata API avere esito positivo. | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
accedere | S | Il nome di accesso dell'utente che richiama il metodo API. L'utente deve disporre delle autorizzazioni necessarie per richiamare il metodo. | sampleuser@company.com |
password | S | La password dell'utente che richiama il metodo API. | my_password |
impostazioni internazionali | N | Specificare le impostazioni internazionali da utilizzare per interpretare i numeri e le date in entrata e per formattare i numeri e le date in uscita (utilizzando il separatore delle migliaia appropriato,i nomi dei periodi di tempo e la formattazione della data). Le impostazioni internazionali vengono utilizzate anche per specificare la lingua in cui devono essere visualizzati i messaggi di sistema nella risposta. Se non viene specificato, viene utilizzato en_US (inglese americano). | fr_FR |
instanceCode | N | Se l'utente specificato nelle credenziali ha accesso a più istanze di Adaptive Planning, questo attributo può essere utilizzato per specificare che l'utente intende accedere a un'istanza diversa da quella predefinita. Se non viene specificata, verrà utilizzata l'istanza predefinita dell'utente. Per determinare i codici di istanza disponibili, utilizzare l'API exportInstances. | MYINSTANCE1 |
Contenuto dell'elemento | |||
(nessuno) | |||
importDataOptions element | |||
Nome tag | importDataOptions | ||
Descrizione | Specifica le opzioni da utilizzare quando si esegue l'importazione. | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
planOrActuals | S | Impostare su "Piano" o "Importi effettivi" per specificare il tipo di dati da importare. Se questa impostazione è in conflitto con la versione specificata inTag versione,Il valore del tag di versione ha la precedenza e questa impostazione viene ignorata. | Piano |
moveBPtr | N | Utilizzato solo quando ilL'attributo planOrActuals è impostato suImporti effettivi SemoveBPtr è impostato sutrue, l'importazione sposterà il puntatore di disponibilità degli importi effettivi nella versione importi effettivi in modo che sia l'ultimo periodo di tempo trovato nei dati importati. Se impostato sufalse, l'importazione non influirà sui periodi di tempo che mostrano gli importi effettivi in nessuna versione. Questo attributo deve essere impostato su false ifplanOrActuals è impostato suPiano | false |
allowParallel | S | Utilizzato solo quando ilL'attributo planOrActuals è impostato suImporti effettivi Se impostato sutrue, l'importazione procederà anche se è già in corso un'altra importazione di importi effettivi o transazioni per questa istanza. Se impostato sufalse, un tentativo di importazione avrà esito negativo se è già in corso un'importazione di importi effettivi o transazioni per questa istanza. | falso |
useMappings | N | Specifica se utilizzare le mappature di importazione per conti, piani e valori dimensione all'interno degli elementi riga. Consideratovero per impostazione predefinita. Sefalse, devono essere utilizzati gli ID interni: i conti sono identificati da codice, livelli e valori dimensione in base al nome. | falso |
includeContext | N | Specifica se i messaggi possono includere il blocco di contesto. I valori sonofalse (non mostrare mai il contesto) otrue (mostrare il contesto, se appropriato). Se non specificato,si presuppone vero. | falso |
displayNameEnabled
Disponibile solo nell'API v30+ per le istanze che abilitano il nome visualizzato. | N | displayNameEnabled=true indica che importCubeData dovrebbe essere previsto Account Code , Level Code , Dimension Code e Dimension Name Column nel payload quando l'opzione Abilita nome visualizzato è attiva per l'istanza.displayNameEnabled=false indica che l'API importCubeData deve continuare a seguire il contratto API precedente alla versione 30 anche quando l'opzione Abilita nome visualizzato è attiva per l'istanza. L'API importCubeData ignora le proprietà del nome visualizzato Account Code , Level Code , Dimension Code e Dimension Name Column .Il valore predefinito per displayNameEnabled è "false". | falso |
modalità
Disponibile nell'API v32+ | N | Specifica la modalità di importazione, che è APPEND o REPLACE.
APPEND: i fatti esistenti vengono aggiornati o vengono inseriti nuovi fatti. Nessun fatto verrà eliminato. REPLACE: il chiamante deve specificare un elemento di ambito che rappresenti le coordinate del cubo all'interno del quale i dati verranno sostituiti con quelli forniti nel payload. Tutti i dati esistenti nell'ambito verranno sostituiti con i dati nel payload della chiamata. Questa opzione è supportata dalle versioni API v32 e successive. La chiamata dell'API con versioni precedenti genererà un errore. Il valore predefinito per la modalità quando non è specificato è APPEND. | SOSTITUIRE |
Contenuto dell'elemento | |||
(nessuno) | |||
elemento versione | |||
Nome tag | versione | ||
Descrizione | Indica la versione da utilizzare per ricevere i dati richiesti. È necessario specificare una versione per ogni chiamata. | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
nome | N | Il nome della versione da utilizzare per ricevere i dati. È possibile accedere a una sola versione all'interno di una singola chiamata API. Se non viene specificato un nome, il fileIl flag isDefault deve essere impostato sutrue per questo elemento. | Budget 2012 |
isDefault | N | Se il chiamante desidera accedere alla versione predefinita corrente dell'istanza indipendentemente dal nome, questo attributo può essere impostato su true, nel qual caso l'attributo name del tag (se presente) viene ignorato. In caso contrario, se questo valore è false o se questo attributo non è presente, affinché la chiamata abbia esito positivo deve esistere ed essere accessibile all'utente. | falso |
Contenuto dell'elemento | |||
(nessuno) | |||
elemento del foglio | |||
Nome tag | foglio | ||
Descrizione | Indica il foglio che deve ricevere i dati importati. Ogni chiamata API può avere come destinazione solo i dati di un foglio. | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
nome | S | Il nome del foglio in cui verranno importati i dati. | Personale |
isUserAssigned | N | Indica che il foglio è un foglio assegnato da un utente. Se non viene specificato, il valore predefinito è false, a indicare che si tratta di un foglio assegnato a livello. | falso |
Contenuto dell'elemento | |||
(nessuno) | |||
elemento ambito | |||
Nome tag | Ambito | ||
Descrizione | Specifica l'ambito dell'importazione. Applicabile solo quando la modalità di importazione è specificata come REPLACE.
Disponibile nell'API v32+ | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
modalità | S | Specifica se cancellare o meno le note della cella nell'ambito. Deve essere uno dei tre valori enumerati:
Se eraseCellNotes non è specificato, il valore predefinito è NONE. | NESSUNO |
Contenuto dell'elemento | |||
Un elemento temporale, un elemento conti e un elemento livelli, tutti obbligatori. | |||
elemento temporale | |||
Nome tag | Tempo | ||
Descrizione | Specifica uno o più intervalli di tempo che rappresentano l'ambito temporale per l'importazione.
Disponibile nell'API v32+ | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
modalità | S | Specifica la modalità per l'ambito temporale. Deve essere una delle tre opzioni seguenti:
Se la modalità è specificata ed è INPUT o VERSION, non è necessario includere alcun elemento timeRange. Se presente, viene considerata una condizione di errore.
La specifica di VERSION tiene conto della data di inizio della versione anche quando la data di inizio del piano è successiva alla data di inizio della versione. | INGRESSO |
Contenuto dell'elemento | |||
Uno o più elementi timeRange, a meno che la modalità non sia INPUT o VERSION. | |||
elemento timeRange | |||
Nome tag | TimeRange | ||
Descrizione | Specifica un singolo intervallo di tempo per l'ambito temporale.
Disponibile nell'API v32+ | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
inizio | S | Il periodo di inizio per l'intervallo di tempo dell'importazione. | 07/2021 |
fine | S | il periodo di fine per l'intervallo di tempo di importazione. | 08/2021 |
Contenuto dell'elemento | |||
(nessuno) | |||
elemento conti | |||
Nome tag | conti | ||
Descrizione | Specifica i codici conto per l'ambito di importazione. Se esiste un codice conto ma non sono presenti dati per questo conto nei dati di importazione, i dati in questo conto verranno rimossi per l'intervallo di tempo e il resto delle coordinate dell'ambito.
Disponibile nell'API v32+ | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
modalità | S | Specifica la modalità per l'ambito del conto. Deve essere una delle tre opzioni seguenti:
Se la modalità è specificata ed è INPUT o ALL, non è necessario includere alcun sottoelemento del conto. Se presente, verrebbe considerata una condizione di errore. | ESPLICITO |
Contenuto dell'elemento | |||
Uno o più elementi del conto, a meno che la modalità non sia INPUT o ALL. | |||
elemento conto | |||
Nome tag | account | ||
Descrizione | Specifica il codice conto da includere nell'ambito per l'importazione.
Disponibile nell'API v32+ | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
includeDescendants | N | Se il conto è foglia, includeDescendants non ha effetto.
Se il conto è un conto padre, specificare questo attributo come true includerà tutti i discendenti foglia di questo conto nell'ambito. Se il conto è un conto padre e includeDescendants è false, l'elemento del conto verrà considerato come se non fosse specificato. La logica di questo trattamento dei conti padre è che a volte un conto foglia può essere promosso a conto padre e la specifica di importazione potrebbe non essere aggiornata in tempo per riflettere questa modifica. Ignorando un conto padre con includeDescendants=false si impedisce l'eliminazione involontaria dei dati. Questo è un attributo facoltativo e il valore predefinito verrà considerato come falso. | true |
Contenuto dell'elemento | |||
Specifica il codice conto del conto utilizzato nell'ambito dell'importazione. Ad esempio, Operational_Expense. | |||
elemento livelli | |||
Nome tag | livelli | ||
Descrizione | Specifica i codici livello per l'ambito di importazione. Se qui viene specificato un codice livello ma non sono presenti dati per questo livello nei dati di importazione, i dati in questo livello verranno rimossi per l'intervallo di tempo e il resto delle coordinate dell'ambito.
Disponibile nell'API v32+ | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
modalità | S | Specifica la modalità per l'ambito del livello. Deve essere una delle tre opzioni seguenti:
Se la modalità è specificata ed è INPUT o ALL, non è necessario includere alcun sottoelemento di livello. Se presente, verrebbe considerata una condizione di errore. | INPUT |
Contenuto dell'elemento | |||
Uno o più elementi di livello, a meno che la modalità non sia specificata come INPUT o ALL. | |||
elemento livello | |||
Nome tag | level | ||
Descrizione | Specifica il codice livello da includere nell'ambito per l'importazione.
Disponibile nell'API v32+ | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
includeDescendants | N | Se il livello è un livello padre, la specifica di questo attributo come true includerà tutti i discendenti foglia di questo livello, incluso se stesso (il nodo Solo) nell'ambito.
Questo è un attributo facoltativo. Se l'attributo non viene specificato, il valore predefinito sarà false. Se l'attributo non viene fornito o fornito come false e il livello specificato è un livello padre, l'importazione prenderà in considerazione il nodo Solo (ad esempio, solo progettazione) per quel livello come ambito. I figli del livello non verranno considerati nell'ambito, a meno che non siano specificati in modo esplicito con altri elementi di livello. | true |
Contenuto dell'elemento | |||
Specifica il codice livello del livello come parte dell'ambito di importazione. Ad esempio, Sviluppo. | |||
rowData element | |||
Nome tag | rowData | ||
Descrizione | Contenitore per le righe di dati da importare. | ||
Attributi dell'elemento | |||
(nessuno) | |||
Contenuto dell'elemento | |||
Esattamente unoelemento di intestazione ed esattamente unoelemento righe | |||
elemento di intestazione | |||
Nome tag | intestazione | ||
Descrizione | Specifica i nomi e l'ordine delle colonne dei dati nel corrispondenteelemento righe | ||
Attributi dell'elemento | |||
(nessuno) | |||
Contenuto dell'elemento | |||
Una riga di testo con nomi di colonna separati da barre verticali. Questi nomi di colonna devono corrispondere ai nomi delle dimensioni o dei campi del foglio o ai codici periodo che possono contenere dati. Sono identici ai nomi delle colonne presenti nel Modello di importazione per il foglio in cui vengono importati i dati, con ogni intestazione di colonna separata dalla successiva da una barra verticale o da un simbolo di pipe.
Per le istanze che abilitano il Nome visualizzato, l'intestazione non è supportata "<dimension>" in combinazione con "<dimension> Name" o "<dimension> Code" in API v30 o versioni successive per le impostazioni internazionali supportate da Adaptive Planning. | |||
elemento righe | |||
Nome tag | righe | ||
Descrizione | Contenitore per uno o piùelementi riga | ||
Attributi dell'elemento | |||
(nessuno) | |||
Contenuto dell'elemento | |||
Uno o piùelementi riga | |||
elemento riga | |||
Nome tag | riga | ||
Descrizione | Dati per una singola riga in fase di importazione. | ||
Attributi dell'elemento | |||
(nessuno) | |||
Contenuto dell'elemento | |||
I dati dei campi di una singola riga in fase di importazione, il valore di ogni campo separato da una barra verticale o da un simbolo di barra verticale. I campi di dati devono essere nello stesso ordine della riga nell'elemento di intestazione. Se i numeri nei valori utilizzano separatori di migliaia, si presume che siano i separatori di virgole utilizzati nelle impostazioni internazionali specificate nelle credenziali della richiesta. | |||
Formato risposta
Questi sono esempi di risposte relative all'importazione riuscita e non riuscita dei dati cubo.
Esempio di successo
<?xml version='1.0' encoding='UTF-8'?> <response success="true"> <messages> <message key="warning-no-data-imported-dimension-unmapped">Warning: Row 3 was not imported because Coffeee table is unmapped.</message> </messages> </response>
Non riuscito (con contesto)
<?xml version='1.0' encoding='UTF-8'?> <response success="false"> <messages> <message key="err-incomplete-cube-row"> <context> <col header="ProductFurniture" value="Coffee table" /> <col header="CountryRegion" value="" /> <col header="Account" value="Do-All 15 Vertical" /> <col header="Level" value="Aeropostale" /> <col header="06/2014" value="Price" /> <col header="07/2014" value="Corporate Plan" /> <col header="08/2014" value="0.0" /> <col header="09/2014" value="0.0" /> <col header="01/2015" value="0.0" /> </context> Row 1 is missing a value. </message> <message key="err-no-rows">You must import at least one row of data.</message> </messages> </response>
Non riuscito (nessun contesto)
<?xml version='1.0' encoding='UTF-8'?> <response success="false"> <messages> <message key="err-incomplete-cube-row">Row 1 is missing a value.</message> <message key="err-no-rows">You must import at least one row of data.</message> </messages> </response>
elemento di risposta | |||
Nome tag | risposta | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
successo | S | In entrambi i casivero ofalse, che indica se la chiamata API è riuscita o meno. Anche le chiamate riuscite possono contenere messaggi di avviso nella risposta. | vero |
Contenuto dell'elemento | |||
Un singolo facoltativoelemento messaggi | |||
elemento messaggi | |||
Nome tag | messaggi | ||
Descrizione | Contenitore per uno o piùelementi del messaggio | ||
Attributi dell'elemento | |||
(nessuno) | |||
Contenuto dell'elemento | |||
Uno o piùelementi del messaggio | |||
elemento messaggio | |||
Nome tag | messaggio | ||
Descrizione | Rappresenta un messaggio inviato dal sistema al chiamante. I messaggi vengono utilizzati per i messaggi di errore quando le richieste non hanno esito positivo, per i messaggi di avviso quando le richieste hanno esito positivo e per i messaggi di conferma in caso di esito positivo. | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
chiave | N | Quando viene assegnata, una chiave è un modo per identificare un particolare messaggio o tipo di messaggio, utile ai fini della registrazione automatica degli errori e del ripristino nei programmi client. Le chiavi non cambiano nelle diverse impostazioni internazionali delle richieste, anche quando cambia la lingua del messaggio. Inoltre, è improbabile che le chiavi cambino in futuro a causa di rettifiche di testo o modifiche della terminologia. | invalid-attributevalueid |
Contenuto dell'elemento | |||
| |||
context element | |||
Nome tag | contesto | ||
Descrizione | Contenitore per uno o più elementi colonne. | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
nessuno | |||
Contenuto dell'elemento | |||
Uno o più elementi colonne. | |||
elemento col | |||
Nome tag | col | ||
Descrizione | Rappresenta il contesto del messaggio. Fornisce una coppia intestazione/valore per identificare la riga che genera il messaggio. | ||
Attributi dell'elemento | |||
Nome attributo | Obbligatorio? | Valore | Esempio |
intestazione | S | L'intestazione della colonna. | "Account" |
valore | S | Il valore nella colonna. | "GL-29482-38233" |
Contenuto dell'elemento | |||
(nessuno) | |||