updateLevels
Prise en charge dans API v19 et supérieure
Catégorie
| Modification des métadonnées |
Description
| Mettez à jour un ensemble de périmètres existants ou créez de nouveaux périmètres et leurs propriétés. Plusieurs périmètres avec plusieurs valeurs peuvent être mis à jour en un seul appel. Si elle fonctionne, l'API renvoie le détail des périmètres qui ont été mis à jour/créés. Si l'API échoue, une liste complète des erreurs et de leurs causes s'affiche. |
Autorisations requises pour appeler
| Modèle et autorisations à chaque périmètre |
Paramètres obligatoires à la demande
| Identifiants |
La demande de ce mode contient un marqueur d'identifiant pour identifier et autoriser l'utilisateur appelant. L'utilisateur doit avoir le "Modèle" Concept : ensembles d'autorisations et l'autorisation requise pour gérer les périmètres en cours de mise à jour.
Bonne pratique : Invoquer exportLevels pour récupérer les identifiants des périmètres Adaptive Planning nécessaires à votre demande updateLevels. Aucune modification ne doit être apportée aux périmètres Planning via l'interface utilisateur ou les API Adaptive Planning par d'autres personnes avant de soumettre votre demande updateLevels.
HTTP | Description |
|---|---|
Method
| Post
|
Content-Type
| text/xml |
Exemple de boucle
curl -H "Content-Type: text/xml" -d @C:/temp/updateLevels.xml -X POST https://api.adaptiveplanning.com/api/v19
Contenu updateLevels.xml
Format de demande
<?xml version='1.0' encoding='UTF-8'?> <call method="updateLevels" callerName="a string that identifies your client application"> <credentials login="sampleuser@company.com" password="my_pwd"/> <levels> <level id="1" name="HQ"> <level id="2" name="Engineering" currency="USD" shortName="Engr"> <level id="8" name="Development" currency="USD" shortName="Dev" inWorkflow="0"/> <level id="9" name="QA" currency="INR" eliminationTradingPartner="1"/> <level id="10" name="Documentation" currency="PKR" shortName="Doc" actualsStart="05/2013" actualsEnd="12/2018" inWorkflow="1" propagateToDescendants="1"> <version name="Budget 2011" available="1"/> <version name="Budget 2012" available="0"/> <version name="Budget 2013" available="1"/> </level> </level> <level id="3" name="Professional Services" currency="USD" shortName="Prof.Srv" eliminationLevel="1"> <attribute name="Corporate Discount" value="Available"/> <attribute name="Transfers Restricted" value="Yes"/> <dimension name="Region" value="C-US"/> </level> </level> </levels> </call>
Pour les données utiles volumineuses, vous pouvez publier des fichiers XML compressés (zip). Voir Mise à jour en bloc des métadonnées.
Les conditions suivantes s'appliquent à updateLevels :
- Les périmètres sont identifiés pour mise à jour via leur numéro d'identifiant interne.
- Pour créer de nouveaux périmètres, attribuez-leur une propriété d'identifiant vide ou manquante.
- Vous pouvez déplacer un élément existant (non nouveau) afin qu'il devienne un enfant d'un nouvel élément. Ainsi, le nouvel élément est créé et l'élément existant est transféré sous ce dernier en tant qu'enfant.
- La disponibilité des feuilles et l'accès utilisateur ne peuvent pas être mis à jour viaupdateLevels.
Format de demande pour la création d'un nouveau périmètre
Pour créer un nouveau périmètre, incluez son parent avec son identifiant. Par exemple, pour ajouter un nouveau périmètre enfant en dessous du
Engr
valeur qui a id 7
, vous pouvez utiliser :<?xml version='1.0' encoding='UTF-8'?> <call method="updateLevels" callerName="Steve C"> <credentials login="stevec@greenco.com" password="password"/> <levels> <level id="7"> <level id="" name="Documentation" description="docs" shortName="" > </level> </level> </levels> </call>
Cette méthode ne change rien au niveau du périmètre
id 7
. Elle crée un nouvel enfant nommé Documnentation
pour id 7
. Tous les enfants non mentionnés de Engr
déplacer en fin de liste enfant. C'est l'équivalent de "définir le parent" pour le nouveau périmètre.Format d'entrée 1 : les données utiles comprennent une arborescence entière
L'API updateLevels fonctionne mieux lorsqu'un appelant souhaite fournir le nouvel état de l'arborescence sans se concentrer sur les modifications.
L'API updateLevels détecte les modifications apportées à la structure de périmètres et seuls les périmètres nouvellement ajoutés ou modifiés sont mis à jour. Notez que
levels
l'élément contient un seul enfant direct level
élément. Cet élément enfant contient alors le reste de la hiérarchie.<?xml version="1.0" encoding="UTF-8"?> <call method="updateLevels" callerName="a string that identifies your client application"> <credentials login="sampleuser@company.com" password="my_pwd" /> <levels> <level id="1" name="HQ"> <level id="2" name="Engineering" currency="USD" shortName="Engr"> <level id="8" name="Development" currency="USD" shortName="Dev" inWorkflow="0" /> <level id="9" name="QA" currency="INR" eliminationTradingPartner="1" /> <level id="10" name="Documentation" currency="PKR" shortName="Doc" actualsStart="05/2013" actualsEnd="12/2018" inWorkflow="1" propagateToDescendants="1" /> </level> <level id="3" name="Professional Services" currency="USD" shortName="Prof.Srv" eliminationLevel="1" /> </level> </levels> </call>
Format de saisie 2 : les données utiles incluent la structure de sous-arbre du périmètre
Ce format prend en charge les cas d'utilisation lorsque les modifications sont limitées à une seule partie de l'arborescence de périmètres.
Par exemple, les changements se trouvent dans le périmètre Ingénierie. De nouveau, la
levels
l'élément contient un seul enfant direct level
élément. Ce périmètre contient les autres périmètres de la structure de sous-arbre. Le plus petit sous-arbre de ce format inclut uniquement un parent et un enfant.<?xml version="1.0" encoding="UTF-8"?> <call method="updateLevels" callerName="a string that identifies your client application"> <credentials login="sampleuser@company.com" password="my_pwd" /> <levels> <level id="2" name="Engineering" currency="USD" shortName="Engr"> <level id="8" name="Development" currency="USD" shortName="Dev" inWorkflow="0" /> <level id="9" name="QA" currency="INR" eliminationTradingPartner="1" /> <level id="10" name="Documentation" currency="PKR" shortName="Doc" actualsStart="05/2013" actualsEnd="12/2018" inWorkflow="1" propagateToDescendants="1" /> </level> </levels> </call>
Format d'entrée 3 : Mettre à jour un périmètre unique
Ce format permet de gérer le cas d'utilisation lorsque les modifications sont limitées à un seul périmètre. Le
levels
l'élément contient un seul enfant direct level
élément.
Utilisez uniquement le format d'entrée 3 lors de la mise à jour d'un périmètre unique. Le format de saisie 3 n'est pas le format privilégié pour mettre à jour plusieurs périmètres. Vous ne pouvez pas créer un nouveau périmètre avec ce format. Utilisez le format d'entrée 2 pour ajouter de nouveaux périmètres enfants.
<?xml version="1.0" encoding="UTF-8"?> <call method="updateLevels" callerName="a string that identifies your client application"> <credentials login="sampleuser@company.com" password="my_pwd" /> <levels> <level id="10" name="Documentation" currency="PKR" shortName="Doc" actualsStart="05/2013" actualsEnd="12/2018" inWorkflow="1" propagateToDescendants="1" /> </levels> </call>
Format d'entrée 4 : Format plat contenant tous les marqueurs de périmètre sous le marqueur de périmètre
Ce format contient
level
marqueur sous le levels
Marquer au format plat sans hiérarchie. Les propriétés de chaque périmètre répertorié sont uniquement mises à jour, sans modifier les hiérarchies de périmètres.
Utilisez uniquement le format plat pour les deltas ou des modifications incrémentielles pour de très petites parties de la hiérarchie. Le format de saisie 1 offre les meilleures performances pour charger l'ensemble de la hiérarchie de périmètres.
<?xml version="1.0" encoding="UTF-8"?> <call method="updateLevels" callerName="a string that identifies your client application"> <credentials login="steve@steveco.com" password="" /> <levels> <level id="2" name="Engineering" currency="USD" shortName="Engr" /> <level id="8" name="Development" currency="USD" shortName="Dev" inWorkflow="0" /> <level id="9" name="QA" currency="INR" eliminationTradingPartner="1" /> <level id="10" name="Documentation" currency="PKR" shortName="Doc" actualsStart="05/2013" actualsEnd="12/2018" inWorkflow="1" propagateToDescendants="1"> <version name="Budget 2011" available="1" /> <version name="Budget 2012" available="0" /> <version name="Budget 2013" available="1" /> </level> </levels> </call>
Gérer plusieurs changements de nom dans un seul appel updateLevels
Plusieurs changements de nom de la même entité peuvent avoir lieu dans un système distant entre
updateLevels
des appels. Les noms des entités sur le système distant peuvent être remplacés par ceux des mêmes identifiants d'entité. Période updateLevels
Les appels ont lieu après l'échange de noms, les updateLevels
L'appel gère ces modifications en effectuant le suivi des identifiants dans les changements de nom. L'appel peut également gérer l'introduction d'un nouvel identifiant qui utilise un nom existant.Pour garantir la réussite de chacun des exemples, l'échange complet des identifiants doit avoir lieu avec les valeurs uniques.
Exemple 1 : un échange de noms simple dans le système distant.
ID Unique Value New Unique Value 1 AA BB 2 BB AA
Exemple 2 : une séquence de 3 noms dans le système distant.
ID Unique Value New Unique Value 1 AA BB 2 BB CC 3 CC AA
Exemple 3 : une nouvelle entité utilisant une valeur unique existante.
ID Unique Value New Unique Value 4 AA 1 AA BB 2 BB Old BB
élément identifiants
| |||
Nom du marqueur
| identifiants | ||
Description
| Tous les appels d'API doivent contenir un seul élément identifiants pour identifier l'utilisateur qui a appelé l'API. L'appel d'API est ensuite effectué en tant qu'utilisateur ( n'importe quelle piste d'audit ou historique d'actions dans le système indique que cet utilisateur a effectué l'action) et, par conséquent, l'utilisateur doit avoir les autorisations requises pour effectuer l'action afin que l'appel d'API s'appelle réussir. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
login | O | Le nom de connexion de l'utilisateur appelant la méthode API. Cet utilisateur doit avoir les autorisations requises pour appeler la méthode. | sampleuser@company.com |
mot de passe | O | Mot de passe de l'utilisateur appelant la méthode API. | my_password |
locale | N | Indiquez les paramètres régionaux à utiliser pour interpréter les chiffres et les dates entrants, et pour formater les chiffres et les dates sortants (en utilisant le séparateur des milliers, les noms de mois et la mise en forme de date appropriés). Les paramètres régionaux sont également utilisés pour indiquer la langue dans laquelle doivent s'afficher les messages système figurant dans la réponse. Si aucune option n'est indiquée, l'expression en_US (anglais américain) est utilisée. | fr_FR |
instanceCode | N | Si l'utilisateur indiqué dans les identifiants a accès à plusieurs instances Adaptive Planning, cet attribut peut être utilisé pour indiquer qu'il a l'intention d'accéder à une instance différente de son instance par défaut. Si aucune option n'est indiquée, l'instance par défaut de l'utilisateur sera utilisée. Pour déterminer les codes d'instance disponibles, utilisez l'API exportInstances. | MYINSTANCE1 |
Contenu de l'élément
| |||
(aucun) | |||
élément périmètres
| |||
Nom du marqueur
| périmètre(s) | ||
Description
| Une seule demande d'élément de périmètre est autorisée par données utiles. Il contient un ou plusieurs éléments de périmètre. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
retainExisitingOrder
Disponible dans API v26 et supérieure | N | confidenceExistingOrder="1" indique que l'API updateLevels doit ignorer l'ordre des éléments dans la charge de données XML et que l'ordre défini existant sera conservé. Rapport de mise à jour de l'API de mise à jour des éléments en fonction de la position du marqueur par rapport aux autres frères/sœurs de la charge de travail XML. L'attribut retainExistingOrder est ignoré dans la version de l'API antérieure à l'API v26. La valeur par défaut de retainExistingOrder est "0" pour v26. Pour l'API version v27 et supérieure, la valeur par défaut de l'élément de la retenueExistingOrder est "1". | 1 |
displayNameEnabled
Uniquement disponible dans API v30 et supérieure pour les instances qui activent le nom d'affichage. | N | displayNameEnabled=1 indique que updateLevels doit respecter les propriétés du nom d'affichage de code , displayNameType , et description lorsque l'option Activer le nom d'affichage est activée pour l'instance.displayNameEnabled=0 indique que l'API updateLevels doit continuer à suivre le contrat API pré-v30, même lorsque l'option Activer le nom d'affichage est activée pour l'instance. L'API updateLevels ignore les propriétés du nom d'affichage code , displayNameType et description .La valeur par défaut pour displayNameEnabled est "0". | 1 |
Contenu de l'élément
| |||
Contient un ou plusieurs éléments de périmètre. | |||
élément de périmètre
| |||
Nom du marqueur
| level | ||
Description
| Indique un périmètre à créer. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
id | O | Identifiant du périmètre en cours de mise à jour. | 34 |
code
Uniquement disponible dans API v30 et supérieure pour les instances qui activent le nom d'affichage. | N | Le code unique du périmètre.
Cette propriété est uniquement disponible lorsque l'option Activer le nom d'affichage est activée pour l'instance. | NewLevelName |
nom
| N | Nom du périmètre. Lorsque l'option Activer le nom d'affichage est activée pour une instance avec API v30 ou ultérieure, le nom autorise les valeurs en double. Lorsque l'option Activer le nom d'affichage est désactivée pour une instance, le code n'est pas disponible et le nom doit être unique.
| NewLevelName |
shortName
mis à jour dans l'API v30 | N | Titre affichable de la colonne, tel qu'il apparaît sur la feuille. | NewLevelShortName |
devise | N | Le code de la devise affectée à ce niveau de l'organisation. La devise sera l'une des devises configurées pour l'instance, trouvées dans l'appel exportActiveCurrencies. | USD |
publishCurrency
Disponible dans API v24 et supérieure | N | PublishCurrency définit la devise de l'unité légale Workday lors de la publication d'un plan financier. La devise de publication est chargée via le chargeur de périmètres Planning dans Workday Adaptive Planning en tant qu'attribut de devise supplémentaire pour un périmètre. PublierCurrency indique l'une des devises configurées pour l'instance, trouvée dans l'appel d'exportActiveCurrencies et dans l'IU d'administration des périmètres. Disponible uniquement lorsque vous configurez Adaptive Planning pour Workday. Voir la section Publier les plans de Étapes : configurer Adaptive Planning pour HCM et Finances. | CAD |
inWorkflow | N | Indique si ce périmètre participe à un workflow. | 1 |
propagateToDescendants | N | Indique si les modifications se propagent aux enfants de ce périmètre. 0 pour non, 1 pour oui.
Les propriétés de périmètre ne sont pas toutes couvertes par les propriétés propageToDescendants. Pour obtenir la liste des propriétés affectées par propagateToDescendants , voir Comportement propageToDescendants lors des demandes UpdateLevels. | 0 |
eliminationLevel | N | Indique si ce périmètre est un périmètre d'élimination à utiliser dans les éliminations intercompagnies. Un périmètre peut être un périmètre d'élimination ou un partenaire commercial d'élimination, mais pas les deux. | 1 |
eliminationTradingPartner | N | Indique si ce périmètre est un partenaire commercial d'élimination. Un périmètre peut être un partenaire commercial d'élimination ou un périmètre d'élimination, mais pas les deux. | 0 |
actualsStart | N | Indique le début des montants réels pour ce périmètre. Doit être un code de saisie des temps existant de l'administration des temps pour la strate de temps par défaut. | May-2013 |
actualsEnd | N | Indique la fin des montants réels pour ce périmètre. Doit être un code de saisie des temps existant de l'administration des temps pour la strate de temps par défaut. | Dec-2018 |
description
Uniquement disponible dans API v30 et supérieure pour les instances qui activent le nom d'affichage. | N | Description du périmètre.
Cette propriété est uniquement disponible lorsque l'option Activer le nom d'affichage est activée pour l'instance. | Le service le plus élevé. |
Contenu de l'élément
| |||
Un ou plusieurs éléments d'attribut si vous souhaitez définir un ou plusieurs attributs de périmètre associés au périmètre. | |||
élément de version
| |||
Nom du marqueur
| version | ||
Description
| Indique la disponibilité des versions d'un périmètre. Une version préexistante est obligatoire. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Exemple
| |
nom | O | Le nom de la version, tel qu'il apparaît dans Administration des versions. | Budget 2015 |
disponible | O | Si 1, cette version est disponible dans ce périmètre. | 1 |
Contenu de l'élément
| |||
Un ou plusieurs éléments de version pour chaque périmètre | |||
élément d'attribut
| |||
Nom du marqueur
| attribut | ||
Description
| Spécifie un attribut à mettre à jour. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
nom
mis à jour dans l'API v30 | O | Le nom de l'attribut. | Location |
valeur
mis à jour dans l'API v34 | O | Valeur d'attribut de cet attribut.
Pour les API v32 et v33, cet attribut n'a de sens que lorsque le paramètre Nom d'affichage est désactivé pour l'instance. Pour l'API v34 et les versions ultérieures :
| 170 |
valueCode
Disponible uniquement dans API v32 et API v33 pour les instances qui activent le nom d'affichage. Non pris en charge dans l'API v34. | O | Le code de la valeur d'attribut pour cet attribut.
L'entrée valueCode est explicite uniquement lorsque displayNameEnabled=1 et que le paramètre Nom d'affichage est activé pour l'instance dans API v32 et API v33. | SFO |
valueName
Disponible uniquement dans API v32 et API v33 pour les instances qui activent le nom d'affichage. Non pris en charge dans l'API v34. | N | L'attribut valueName n'a de sens que dans les cas suivants :
| San Francisco |
Contenu de l'élément
| |||
(aucun) | |||
élément de dimension
| |||
Nom du marqueur
| dimension | ||
Description
| Indique les affectations de valeurs de dimension de périmètre. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
nom
mis à jour dans l'API v30 | O | Nom de la dimension. | Budget 2015 |
valeur
mis à jour dans l'API v34 | O | Valeur de cette dimension disponible dans ce périmètre.
Pour API v32 et API v33, la valeur n'a de sens que lorsque le paramètre Nom d'affichage est désactivé pour l'instance. Pour l'API v34 et les versions ultérieures :
| Laboure |
valueCode
Disponible uniquement dans API v32 et API v33 pour les instances qui activent le nom d'affichage. Non pris en charge dans l'API v34. | O | Le code de la valeur de dimension pour cette dimension disponible dans ce périmètre.
Pour API v32 et API v33, valueCode n'a de sens que lorsque :
| LHE |
valueName
Disponible uniquement dans API v32 et API v33 pour les instances qui activent le nom d'affichage. Non pris en charge dans l'API v34. | N | Le nom d'une valeur de dimension nouvellement créée automatiquement.
Pour l'API v32 et l'API v33, valueName n'a de sens que lorsque
| Laboure |
Contenu de l'élément
| |||
(aucun) | |||
Traitement des données utiles de haut en bas
Les attributs des périmètres regroupent logiquement les valeurs et marquent les périmètres. Comme l'API updateLevels traite les données utiles XML de haut en bas, affectez un attribut de périmètre pour le périmètre parent avant de modifier les valeurs de périmètre d'attributs enfants. Les périmètres enfants peuvent être marqués avec n'importe quelle valeur d'attribut lorsque la valeur d'attribut du périmètre parent est vide. Si les attributs de périmètre ne s'alignent pas avec l'attribut parent, une erreur de validation de compatibilité se produit.
Examinez la structure d'arbre ci-dessous, où le parent "Californie" a deux périmètres enfants "Pulo Alto" et "Pleasanton". Les attributs de périmètre "Palo Alto" et "pleasanton" sont des frères/sœurs.
Location|__USA |__California |__Palo Alto |__Pleasanton
Exemple de fichier XML d'origine de la demande avec des attributs de périmètre
Notez que la valeur d'attribut de site Palo Alto est affectée à la fois à Ingénierie et à Développement.
<levels deleteWorkflowSilently="0" deleteActualsSilently="0"> <level id="1" name="HQ" proceedWithWarnings="0"> <attribute name="Location" value="" /> <level id="2" name="Engineering"> <attribute name="Location" value="Palo Alto" /> <level id="8" name="Development"> <attribute name="Location" value="Palo Alto" /> </level> </level> </level> </levels>
Exemple d'ordre incorrect pour le traitement des données utiles
Les données utiles XML ci-dessous génèrent une erreur, "
The attribute value Pleasanton is not compatible with the parent's attribute value
". Le traitement du chargement de la paie de haut en bas considère que le périmètre parent "Ingénierie" a la valeur d'attribut de site "P paie Alto" du bloc de code précédent et traite "Pleasanton" comme enfant de "Pôle Alto". L'erreur est générée car le périmètre enfant "Développement" peut uniquement avoir l'attribut de site "Palo-Alto", comme indiqué dans l'arborescence. <levels deleteWorkflowSilently="0" deleteActualsSilently="0"> <level id="1" name="HQ" proceedWithWarnings="0"> <level id="2" name="Engineering"> <level id="8" name="Development"> <attribute name="Location" value="Pleasanton" /> </level> <attribute name="Location" value="California" /> <!-- Level Attribute change ignored due to placement order--> </level> <attribute name="Location" value="" /> </level> </levels>
Exemple d'ordre valide pour le traitement des données utiles
Réorganiser l'ordre de positionnement de l'attribut "Californie" sous "Ingénierie" permet à l'API de traiter d'abord l'attribut de périmètre parent, et permet au périmètre enfant "Développement" d'avoir la valeur de l'attribut de site "Palo Alto" ou "Pleasanton" .
<levels deleteWorkflowSilently="0" deleteActualsSilently="0"> <level id="1" name="HQ" proceedWithWarnings="0"> <attribute name="Location" value="" /> <!-- Level Attribute change processed due to correct placement order--> <level id="2" name="Engineering"> <attribute name="Location" value="California" /> <level id="8" name="Development"> <attribute name="Location" value="Pleasanton" /> </level> </level> </level> </levels>
La disponibilité de versions d'un périmètre fonctionne de la même manière. Indiquez la disponibilité de la version d'un périmètre avant de modifier les périmètres enfants pour éviter les erreurs de compatibilité.
Exemple de document original de demande XML avec versions
Notez que la disponibilité de la version "Budget 2020" pour les périmètres "Ingénierie" et "Développement" est définie sur "0".
<levels deleteWorkflowSilently="0" deleteActualsSilently="0"> <level id="1" name="HQ" proceedWithWarnings="0"> <version name="Budget 2020" available="0" /> <level id="2" name="Engineering"> <version name="Budget 2020" available="0" /> <level id="8" name="Development"> <version name="Budget 2020" available="0" /> </level> </level> </level> </levels>
Exemple d'ordre incorrect pour le traitement des données utiles
Le chargement XML ci-dessous génère une erreur car le traitement du traitement de haut en bas considère que le parent "Engineering" n'est pas disponible ("
available=0")
pour la version "Budget 2020" du bloc de code précédent, et traite la disponibilité du périmètre enfant "Développement" comme "1". Le périmètre enfant "Développement" ne peut pas être disponible si le périmètre parent "Ingénierie" n'est pas disponible. <levels deleteWorkflowSilently="0" deleteActualsSilently="0"> <level id="1" name="HQ" proceedWithWarnings="0"> <level id="2" name="Engineering"> <level id="8" name="Development"> <version name="Budget 2020" available="1" /> </level> <version name="Budget 2020" available="1" /><!-- Parent version availability change ignored due to placement order--> </level> <version name="Budget 2020" available="1" /> </level> </levels>
Exemple d'ordre valide pour le traitement des données utiles
Le fait de réorganiser l'ordre de positionnement pour la version "Budget 2020" sous le niveau parent "Ingénierie" permet à l'API de traiter en premier la disponibilité du parent, et permet à "Développement" d'avoir la valeur de disponibilité de la version "1" ou "0".
<levels deleteWorkflowSilently="0" deleteActualsSilently="0"> <level id="1" name="HQ" proceedWithWarnings="0"> <version name="Budget 2020" available="1" /> <level id="2" name="Engineering"><!-- Parent Version availability change processed due to correct placement order--> <version name="Budget 2020" available="1" /> <level id="8" name="Development"> <version name="Budget 2020" available="1" /> </level> </level> </level> </levels>
Format de la réponse
<?xml version='1.0' encoding='UTF-8'?> <response success="true"> <output> <levels> <level id="1" name="HQ" currency="CAD" shortName="" eliminationLevel="1" eliminationTradingPartner="0" inWorkflow="0" status=""> <level id="2" name="Engineering" currency="USD" shortName="Engr" eliminationLevel="0" eliminationTradingPartner="1" inWorkflow="0" status="updated"> <level id="8" name="Development" currency="USD" shortName="Dev" eliminationLevel="0" eliminationTradingPartner="0" inWorkflow="0" status="updated" /> <level id="9" name="QA" currency="INR" shortName="" eliminationLevel="0" eliminationTradingPartner="0" inWorkflow="0" status="updated" /> <level id="10" name="Documentation" currency="PKR" shortName="Doc" eliminationLevel="0" eliminationTradingPartner="0" inWorkflow="1" propagateToDescendants="1" actualsStart="05/2013" actualsEnd="12/2018" status="updated"> <version name="Budget 2011" available="1" status="" /> <version name="Budget 2012" available="0" status="updated" /> <version name="Budget 2013" available="1" status="" /> </level> </level> <level id="3" name="Professional Services" currency="USD" shortName="Prof.Srv" eliminationLevel="1" eliminationTradingPartner="0" inWorkflow="0" status="updated"> <attribute name="Corporate Discount" value="Available" status="" /> <attribute name="Transfers Restricted" value="Yes" status="" /> <dimension name="Region" value="C-US" status="" /> </level> </level> </levels> </output> </response>
élément de sortie
| |
Nom du marqueur
| sortie |
Attributs de l'élément
| |
(aucun) | |
Contenu de l'élément
| |
Un seul élément de périmètre obligatoire. Ce filtre de sortie est standard sur toutes les réponses d'API et contient la sortie valide de tout appel d'API réussi. | |
élément périmètres
| |||
Nom du marqueur
| périmètre(s) | ||
Description
| Conteneur pour un ou plusieurs éléments de périmètre. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
conserverOrdre existant | N | L'API updateLevels 0 doit mettre à jour l'ordre de tri en fonction du contenu des données de la paie XML. L'API updateLevels 1 doit conserver l'ordre de tri existant. | 1 |
displayNameEnabled
Uniquement disponible dans API v30 et supérieure pour les instances qui activent le nom d'affichage. | N | displayNameEnabled=1 indique que updateLevels doit respecter les propriétés du nom d'affichage de code , displayNameType , et description lorsque l'option Activer le nom d'affichage est activée pour l'instance. | 1 |
Contenu de l'élément
| |||
Un ou plusieurs éléments de périmètre. Si la demande inclut des périmètres inaccessibles, il n'y aura qu'un seul élément de périmètre qui représente le niveau supérieur de l'organisation. | |||
élément de périmètre
| |||
Nom du marqueur
| level | ||
Description
| Représente un périmètre d'organisation unique renvoyé en réponse à un appel d'API updateLevels. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
id | O | Le numéro d'identifiant système interne du périmètre. | 7 |
code
Uniquement disponible dans API v30 et supérieure pour les instances qui activent le nom d'affichage. | N | Le code unique du périmètre.
Cette propriété est uniquement disponible lorsque l'option Activer le nom d'affichage est activée pour l'instance. | Siège social |
nom | O | Le nom du périmètre, tel qu'il apparaît sur les rapports et les feuilles. | Développement |
devise | O | Le code de la devise affectée à ce niveau de l'organisation. La devise sera l'une des devises configurées pour l'instance, trouvées dans l'appel exportActiveCurrencies. | INR |
publishCurrency Disponible dans API v24 et supérieure | N | PublishCurrency définit la devise de l'unité légale Workday lors de la publication d'un plan financier. La devise de publication est chargée via le chargeur de périmètres Planning dans Workday Adaptive Planning en tant qu'attribut de devise supplémentaire pour un périmètre. La devise de publication indique l'une des devises configurées pour l'instance. Elle se trouve dans l'appel d'exportActiveCurrencies et indiquée dans l'interface utilisateur d'administration du périmètre. Nécessite Workday Power of One activé par provisionnement. | CAD |
shortName | N | L'abréviation du périmètre, le cas échéant, telle qu'elle est saisie dans Administration des périmètres. | Développeur |
eliminationLevel | N | Indique si le périmètre est un périmètre d'élimination. 0 pour non, 1 pour oui. | 1 |
eliminationTradingPartner | N | *description* | 1 |
inWorkflow | N | Indique si le périmètre est dans un workflow. 0 pour non, 1 pour oui. | 1 |
propagateToDescendants | N | Indique si les modifications sont consécutives jusqu'aux enfants de ce périmètre. 0 pour non, 1 pour oui. Pour plus d'informations sur le comportement propriétaire de l'propage aux descendants, voir Comportement propageToDescendants lors des demandes UpdateLevels. | 1 |
actualsStart | N | Le code de saisie des temps tel que défini dans Administration des temps pour le début de la version des montants réels de ce périmètre. | 05/2013 |
actualsEnd | N | Le code de saisie des temps tel que défini dans Administration des temps pour la fin de la version des montants réels de ce périmètre. | 12/2018 |
description
Uniquement disponible dans API v30 et supérieure pour les instances qui activent le nom d'affichage. | N | Description du périmètre.
Cette propriété est uniquement disponible lorsque l'option Activer le nom d'affichage est activée pour l'instance. | Le service le plus élevé. |
status | O | Le statut du périmètre après mise à jour. Pour les avertissements et les erreurs, l'élément de message contient le contenu du message. Le statut de mise à jour ne renvoie aucun contenu de message.
| Mis à jour |
message | N | Message d'erreur en cas de saisie de périmètre non valide | Le périmètre UKregion 2 est en double dans les données utiles ou existe déjà dans le système avec l'identifiant 6. |
Contenu de l'élément
| |||
Un élément de périmètre imbriqué pour chaque périmètre enfant direct de ce périmètre. Un élément d'attribut si ce périmètre est associé à un ou plusieurs attributs. | |||
élément d'attribut
| |||
Nom du marqueur
| attribut | ||
Description
| Conteneur pour un élément d'attribut de périmètre. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
nom | O | Le nom de l'attribut de périmètre | Location |
valeur | O | La valeur de l'attribut de périmètre. | SFO |
valueCode
Disponible uniquement dans API v32 et API v33 pour les instances qui activent le nom d'affichage. Non pris en charge dans l'API v34. | O | Le code de la valeur d'attribut pour cet attribut.
Pour les API v32 et les versions ultérieures, valueCode n'a de sens que lorsque :
| SFO |
valueName
Disponible uniquement dans API v32 et API v33 pour les instances qui activent le nom d'affichage. Non pris en charge dans l'API v34. | N | Le nom d'une valeur d'attribut nouvellement créée automatiquement.
L'attribut valueName n'a de sens que dans les cas suivants :
| San Francisco |
status | O | Le statut de l'attribut après mise à jour. Pour les avertissements et les erreurs, l'élément de message contient le contenu du message. Le statut de mise à jour ne renvoie aucun contenu de message.
| mis à jour |
message | N | Message d'erreur pour une saisie d'attribut non valide. | Le périmètre UKregion 2 est en double dans les données utiles ou existe déjà dans le système avec l'identifiant 6. |
Contenu de l'élément
| |||
(aucun) | |||
élément de version
| |||
Nom du marqueur
| version | ||
Description
| Indique la disponibilité des versions d'un périmètre. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
nom | O | Le nom de la version, tel qu'il apparaît dans Administration des versions. | Budget 2015 |
valeur | O | Si 1 ce périmètre est disponible dans cette version. | 1 |
status | O | Statut de la version après mise à jour. Pour les avertissements et les erreurs, l'élément de message contient le contenu du message. Le statut de mise à jour ne renvoie aucun contenu de message.
| mis à jour |
Contenu de l'élément
| |||
Un ou plusieurs éléments de version pour chaque valeur de dimension. | |||
élément de dimension
| |||
Nom du marqueur
| dimension | ||
Description
| Représente une dimension personnalisée unique renvoyée en réponse à un appel d'API updateLevels. | ||
Attributs de l'élément
| |||
Nom de l'attribut
| Obligatoire ?
| Valeur
| Exemple
|
nom | O | Nom de la dimension tel qu'il apparaît sur les rapports et les feuilles. | Région |
valeur | N | Valeur de dimension disponible pour ce périmètre. | C-USA |
valueCode
Uniquement disponible dans API v32 et supérieure pour les instances qui activent le nom d'affichage. | O | Le code de la valeur de cette dimension.
Pour les API v32 et les versions ultérieures, valueCode n'a de sens que lorsque :
| CUS |
valueName
Uniquement disponible dans API v32 et supérieure pour les instances qui activent le nom d'affichage. | N | Le nom d'une valeur de dimension nouvellement créée automatiquement.
Pour l'API v32 et les versions ultérieures, valueName n'a de sens que lorsque :
| C-USA |
status | N | Statut de la version après mise à jour. Pour les avertissements et les erreurs, l'élément de message contient le contenu du message. Le statut de mise à jour ne renvoie aucun contenu de message.
| Mis à jour |
Contenu de l'élément
| |||
(aucun) | |||
Descriptions des messages d'erreur et d'avertissement
Type | Message | Exemple/Description |
|---|---|---|
Erreur | Une erreur système est survenue. Contactez le support pour plus d'informations. | Erreur système |
Erreur | Le fichier content.xml est introuvable. | Déjà dans l'API updateDimensions |
Erreur | L'entrée fournie ne contient aucun marqueur de périmètre. | Marqueur de périmètre manquant dans les données utiles. |
Erreur | {0} n'est pas reconnu comme un {1} défini. | Utilisé lorsque le nom ou la valeur de la version est inconnu. |
Erreur | Le {0} ne peut être vide. | Le nom de la version est vide. |
Erreur | La disponibilité de la version ne peut pas être modifiée pour les montants réels. | Lorsque l'utilisateur tente de modifier la visibilité de la version de montants réels. |
Erreur | La disponibilité de la version ne peut pas être modifiée pour le périmètre racine {0}. | Lorsque l'utilisateur tente de modifier la visibilité de la version pour le périmètre racine. |
Erreur | La visibilité de la version {0} dans le périmètre {1} n'est pas compatible avec le parent de {1}. | Lorsque la visibilité de la version du périmètre fournie n'est pas compatible avec le périmètre parent. |
Erreur | Vous n'êtes pas autorisé à mettre à jour un(e) ou plusieurs périmètres ou versions indiqué(es) dans la demande. | Lorsque l'utilisateur tente de mettre à jour les informations du périmètre non accessible. |
Erreur | {0} n'est pas reconnu comme un {1} défini. | Utilisée lorsque le nom ou la valeur de la dimension est inconnu. |
Erreur | Le {0} ne peut être vide. | Le nom de la dimension est vide. |
Erreur | La dimension en liste ne peut pas être utilisée dans Périmètre. | L'utilisateur tente de mapper une valeur de dimension plate pour un périmètre. |
Erreur | La dimension {0} est désactivée pour le périmètre. | La dimension est désactivée pour ce périmètre. |
Erreur | La valeur de dimension {0} n'est pas compatible avec la valeur de dimension parent. | Lorsque le mappage de dimensions de périmètre fourni n'est pas compatible avec le périmètre parent. |
Erreur | {0} n'est pas reconnu comme un {1} défini. | Utilisé lorsque le nom ou la valeur d'attribut est inconnu. |
Erreur | La valeur d'attribut {0} n'est pas compatible avec la valeur d'attribut du parent. | Lorsque la valeur d'attribut de périmètre fournie n'est pas compatible avec le périmètre parent. |
Erreur | Le {0} ne peut être vide. | Le nom de l'attribut est vide. |
Erreur | Une exception s'est produite lors du traitement de la demande API updateLevels. | Erreur système |
Erreur | Le code {0} n'existe pas. | Identifiant de périmètre inexistant fourni dans les données utiles de la demande. |
Erreur | Un {0} ne peut avoir le même code que son parent. | Les périmètres enfant et parent ont le même identifiant. |
Erreur | {0} ne peut pas être un enfant de {1}. | Un périmètre spécifique ne peut pas être l'enfant d'un autre périmètre spécifique. |
Erreur | Le code du périmètre racine est manquant. | L'identifiant du périmètre racine n'a pas été fourni. |
Erreur | L'identifiant du périmètre racine {0} avec le nom de périmètre {1} ne peut pas devenir un périmètre enfant. | Le périmètre racine ne peut pas devenir un périmètre enfant. |
Erreur | La devise du périmètre racine ne peut pas être modifiée. | La devise ne peut pas être modifiée pour le périmètre racine. |
Erreur | La devise {0} n'est pas valide. | Le nom de la devise fourni dans le marqueur de périmètre est inconnu. |
Erreur | Le périmètre {0} est en double pour les identifiants {1}. | Le nom du périmètre en double est fourni. |
Erreur | Le périmètre {0} est en double dans les données utiles {1} {2}. | Plusieurs nouveaux périmètres contiennent le même nom. |
Erreur | Le workflow du périmètre racine ne peut pas être modifié. | Le statut Dans le workflow ne peut pas être modifié pour le périmètre racine. |
Erreur | L'affectation de l'attribut du périmètre {0} n'est pas compatible avec la valeur d'attribut du parent. | La valeur d'attribut de périmètre fournie n'est pas compatible avec le périmètre parent. |
Erreur | Le périmètre avec l'identifiant {0} n'existe pas. | Aucun périmètre avec l'identifiant fourni n'existe dans Planning. |
Erreur | Vous n'êtes pas autorisé à mettre à jour un(e) ou plusieurs périmètres ou versions indiqué(es) dans la demande. | Autorisation utilisateur manquante pour un périmètre mentionné dans les données utiles. |
Erreur | La visibilité de la version du périmètre {0} n'est pas compatible avec le parent {0} {1}. | La visibilité de la version du périmètre fournie n'est pas compatible avec le périmètre parent. |
Erreur | Le périmètre {0} a une disponibilité de montants réels contenant plus de périodes que son parent {1}. | La plage de montants réels du périmètre actuel a été modifiée. La plage de montants réels modifiée devient plus petite que celle de l'une des plages de montants réels de son descendant. |
Erreur | Vous ne pouvez pas désactiver le workflow pour le périmètre ({0}) si deleteWorkflowSilently, 0. Si vous activez supprimerWorkFlowSilently, 1, toutes vos tâches de workflow associées à ce périmètre seront supprimées. | Lorsque la suppression du workflow est désactivée, vous ne pouvez pas désactiver le workflow. Si l'option Supprimer le workflow en mode veille est activée, toutes les tâches du workflow pour le périmètre sont supprimées. |
Erreur | Impossible de mettre à jour les dates de début et de fin des montants réels pour {0} car la fourchette de dates est inférieure aux dates de début et de fin définies pour la version des montants réels, et deleteActualsSilently est défini sur false (faux) empêchant la suppression des montants réels pour {1}. | L'utilisateur tente de réduire la plage des montants réels sans que l'indicateur deleteActualsSilently soit défini. |
Erreur | Le workflow ne peut pas être activé pour le périmètre {0} car son workflow parent est désactivé. | Le workflow ne peut pas être activé pour le périmètre car le workflow de son parent est désactivé. |
Erreur | TradingPartner ou eliminationLevel ne peut pas être activé pour le périmètre {0} car son parent a activé le paramètre TradingPartner. | Lorsque le partenaire commercial est déjà activé pour un parent, le partenaire commercial ou le périmètre d'élimination ne peut pas être activé pour ses enfants. |
Erreur | Il n'existe aucun parent associé à l'identifiant {0}. | Un identifiant inexistant a été fourni pour un périmètre parent. |
Erreur | Le nœud parent {0} devient l'enfant de son nœud enfant direct/indirect actuel {1}. | Une relation cyclique entre un parent et des enfants est en cours de création. |
Erreur | Un périmètre ne peut pas être son propre parent. | Un périmètre ne peut pas devenir son propre parent dans des données utiles. |
Erreur | Aucun périmètre avec le code {0} n'existe. | L'entité fournie n'existe pas dans Planning. |
Erreur | Elimination et TradingPartner ne peuvent pas être tous deux définis sur true en même temps. | Un périmètre peut être un périmètre d'élimination ou un partenaire commercial, mais pas les deux en même temps. |
Erreur | Vous pouvez uniquement modifier l'élimination sur ce périmètre lorsque TradingPartner est désactivé sur son parent. | La modification de l'élimination d'un périmètre ne peut avoir lieu que lorsque le partenaire commercial du parent de ce périmètre est désactivé. |
Erreur | Un sous-périmètre de ce périmètre est un périmètre d'élimination ; par conséquent ce périmètre ne peut pas être marqué comme partenaire commercial. | Le périmètre actuel ne peut pas être marqué comme partenaire commercial car un périmètre en dessous est un périmètre d'élimination. |
Erreur | Vous ne pouvez pas activer le workflow sur ce périmètre lorsqu'il est désactivé pour son parent. | Le workflow du parent du périmètre est désactivé. |
Erreur | {0} ne peut être activé qu'ensemble pour un nœud et ses descendants. Pour y apporter des modifications, définissez propageToDescendants=1. | Pour plus d'informations sur le comportement propriétaire de l'propage aux descendants, voir Comportement propageToDescendants lors des demandes UpdateLevels. |
Erreur | Impossible de faire du périmètre '{0}' un périmètre d'élimination car il contient des données dans un ou plusieurs comptes intercompagnies. | Un périmètre ne peut pas devenir un périmètre d'élimination s'il contient des données dans des comptes intercompagnies. |
Erreur | actualsStart ou actualsEnd ne peut pas être modifié pour le périmètre racine {0}. | L'utilisateur tente de modifier la plage de montants réels pour le périmètre racine. |
Erreur | Vous ne pouvez pas ajouter des enfants à un périmètre lié. | L'utilisateur tente d'ajouter un périmètre enfant à un périmètre lié. |
Erreur | Le code horaire {0} n'existe pas. | Le code de saisie des temps fourni n'existe pas. |
Erreur | La date de début des montants réels {0} ne peut pas être postérieure à la date de fin des montants réels {1}. | L'heure de début des montants réels indiquée est postérieure à l'heure de fin. L'heure de début des montants réels doit être antérieure à l'heure de fin. |
Erreur | Code horaire "{0}" non valide. Les codes horaires définis pour actualsStart et actualsEnd doivent correspondre à la strate la plus basse disponible dans Administration des temps. | Le code de saisie des temps fourni n'est pas au niveau de la strate la plus basse. |
Erreur | Code horaire "{0}" non valide. La valeur actualsStart {0} est antérieure à la valeur actualsStart {1} du parent. | L'heure actualsStart indiquée est antérieure à l'heure de début des montants réels du périmètre parent. |
Erreur | Code horaire "{0}" non valide. La valeur actualsEnd {0} est postérieure à la valeur actualsEnd {1} du parent. | L'heure actualsEnd indiquée va au-delà de l'heure de fin réelle du périmètre parent. |
Erreur | La valeur actualsStart de {0} est antérieure au début de la version de montants réels de {1}. La valeur actualsStart doit intervenir après {1}. | L'heure actualsStart indiquée est antérieure à l'heure de début de la version Montants réels. |
Erreur | La valeur actualsEnd de {0} est postérieure à la fin de la version de montants réels de {1}. La valeur actualsEnd doit intervenir avant {1}. | L'heure actualsEnd indiquée va au-delà de l'heure de fin de la version de montants réels. |
Erreur | Valeur "{0}" "{1}" non valide. La valeur doit être "1" ou "0". | L'utilisateur a indiqué autre chose que "0" ou "1" comme valeur pour une propriété booléenne. |
Erreur | {0} {1} non valide. | L'utilisateur a fourni une valeur non valide. |
Erreur | {0} n'est PAS un nom autorisé. | Le terme réservé "this", un terme se terminant par "(+)" ou "(-)" a été utilisé comme nom de périmètre. |
Erreur | L'identifiant "{0}" n'existe pas. | L'entité fournie n'existe pas dans Planning. |
Avertissement | Le périmètre {0} ne peut pas être déplacé vers un autre parent tant que proceedWithWarnings=0. | L'utilisateur tente de déplacer le périmètre sans proceedWithWarning="1". proceedWithWarning="1" signifie visibilité de la version, le mappage d'attributs et les données seront ajustés pour correspondre au nouveau périmètre parent. |
Avertissement | La plage de disponibilité des montants réels a été réduite pour le périmètre {0}. Les montants réels exclus de la plage ont été supprimées. | La plage de disponibilité des montants réels a été réduite. Les données en dehors de la plage sont supprimées. |
Avertissement | deleteWorkflowSilently est un indicateur global. Il doit se trouver dans la balise des périmètres. | Supprimer le workflow en mode veille est un indicateur global. Il se trouve dans le marqueur des périmètres, et non dans un autre marqueur. |
Avertissement | deleteActualsSilently est un indicateur global. Il doit se trouver dans la balise des périmètres. | Supprimer les montants réels en mode veille est un indicateur global. Il se trouve dans le marqueur des périmètres, et non dans un autre marqueur. |
Avertissement | Les périmètres ne peuvent pas être modifiés car il reste des modifications non publiées. | Planning comporte des modifications en attente pour une publication en masse. |