Passer au contenu principal
Adaptive Planning
Dernière mise à jour : 2025-10-03
updateLevels

updateLevels

Pris en charge dans l'API v19 +
Catégorie
Modification de métadonnées
Description
Mettez à jour un ensemble de niveaux existants ou créez de nouveaux niveaux et leurs propriétés. Plusieurs niveaux avec plusieurs valeurs peuvent être mis à jour en un seul appel. En cas de réussite, l’API renvoie les détails des niveaux qui ont été mis à jour/créés. Si l’API échoue, une liste complète des erreurs et de leurs causes est retournée.
Autorisations obligatoires pour pouvoir être appelées
Modèle et autorisations à chaque niveau
Paramètres requis sur demande
Identifiants
La demande de cette méthode contient un marqueur d’identifiants pour désigner et autoriser l’utilisateur auteur de l’appel. L'utilisateur doit avoir le « Modèle » Concept : ensembles d’autorisations et l’autorisation requise pour administrer les niveaux mis à jour.
Meilleure pratique : Invoquer exportLevels pour récupérer les identifiants de niveaux Adaptive Planning nécessaires pour votre demande updateLevels. Aucune modification ne doit être apportée aux niveaux Planning via l'interface utilisateur ou les API Adaptive Planning par d'autres personnes avant que vous soumettiez 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 de 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 charges utiles importantes, 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 niveaux sont désignés pour mise à jour au moyen de leur numéro d’identifiant interne.
  • Pour créer de nouveaux niveaux, attribuez-leur une propriété d’identifiant vide ou manquante.
    • Vous pouvez déplacer un élément existant (qui n’est pas un nouveau) pour qu’il devienne un enfant d’un nouvel élément. Cela crée le nouvel élément et déplace l’élément existant en tant qu’enfant.
  • La disponibilité de la feuille et l'accès utilisateur ne peuvent pas être mis à jour au moyen de
    updateLevels
    .

Format de demande pour la création d'un nouveau niveau

Pour créer un nouveau niveau, incluez son parent par son identifiant. Par exemple, pour ajouter un nouveau niveau enfant sous le
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
id 7
. Il crée un nouvel enfant nommé
Documnentation
pour
id 7
. Tous les enfants non précisés de
Engr
passer à la fin de la liste des enfants. Cela équivaut à "définir le parent" pour le nouveau niveau.

Format d’entrée 1 : la charge utile inclut l’arbre entier

L’API updateLevels fonctionne mieux lorsqu’un demandeur souhaite fournir le nouvel état de l’arborescence sans se soucier des changements.
L’API updateLevels calcule les changements apportés à la structure de niveaux et seuls les niveaux nouvellement ajoutés ou modifiés sont mis à jour. Notez que
levels
l'élément ne contient qu'un 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 d'entrée 2 : Structure de sous-arborescence de niveau

Ce format prend en charge les cas d’utilisation lorsque les changements sont limités à une seule partie de la structure de l’arborescence de niveau.
Par exemple, les changements se situent au niveau Ingénierie. À nouveau, la
levels
l'élément ne contient qu'un enfant direct
level
élément. Ce niveau contient les autres niveaux de la structure sous-arborescence. Le plus petit sous-arborescence pour ce format comprend 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 : mise à jour d’un niveau unique

Ce format prend en charge le traitement du cas d’utilisation lorsque les changements se limitent à un seul niveau. Le
levels
l'élément ne contient qu'un enfant direct
level
élément.
Utilisez uniquement le format d’entrée 3 lors de la mise à jour d’un seul niveau. Le format d’entrée 3 n’est pas le format privilégié pour la mise à jour de plusieurs niveaux. Vous ne pouvez pas créer un nouveau niveau avec ce format. Utilisez le format d’entrée 2 pour ajouter de nouveaux niveaux 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 fixe contenant tous les marqueurs de niveau sous le marqueur de niveaux

Ce format contient
level
marqueurs sous
levels
marqueur dans un format fixe sans hiérarchie. Vous mettez uniquement à jour les propriétés de chaque niveau répertorié, sans modifier les hiérarchies de niveaux.
Utilisez le format fixe uniquement pour les deltas ou les changements incrémentiels apportés à de très petites parties de la hiérarchie. Le format d’entrée 1 offre les meilleures performances pour le chargement de l’ensemble de la hiérarchie de niveaux.
<?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>

Traitement de plusieurs changements dans un seul appel updateLevels

Plusieurs renouvellements de noms de la même entité peuvent avoir lieu dans un système distant entre
updateLevels
les appels. Les noms des entités du système distant peuvent être échangés pour les mêmes identifiants d’entité. Quand
updateLevels
les appels ont lieu après l’échange de noms, les
updateLevels
appel gère ces changements en suivant les identifiants pour tous les changements de nom. L’appel peut également traiter l’introduction d’un nouvel identifiant qui utilise un nom existant.
Pour que chacun des exemples réussisse, l’échange complet des identifiants doit avoir lieu avec des valeurs uniques.
Exemple 1 : un simple échange de noms dans le système distant.
ID Unique Value New Unique Value 1 AA BB 2 BB AA
Exemple 2 : une séquence de trois 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 de données d'identification
Nom du marqueur
données d'identification
Description
Tous les appels d’API doivent contenir un élément d’identification unique pour identifier l’utilisateur qui invoque l’API. L’appel d’API est alors effectué en tant que cet utilisateur (toute piste d’audit ou tout historique des actions dans le système indiquera que cet utilisateur a effectué l’action). Par conséquent, l’utilisateur doit disposer des autorisations requises pour effectuer l’action afin que l’appel d’API puisse être exécuté réussir.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
login
Y
Le nom de connexion de l’utilisateur qui invoque la méthode API. Cet utilisateur doit disposer des autorisations requises pour invoquer la méthode.
sampleuser@company.com
mot de passe
Y
Le mot de passe de l’utilisateur qui invoque la méthode API.
my_password
locale
N
Indiquez les paramètres régionaux à utiliser pour interpréter les numéros et les dates entrants et pour mettre en forme les numéros et les dates sortants (à l’aide du séparateur des milliers, des noms de mois et du format de date appropriés). Les paramètres régionaux sont également utilisés pour préciser la langue dans laquelle tous les messages de système de la réponse doivent être affichés. Si cette valeur n’est pas précisée, la valeur en_US (rubrique en anglais américain) est utilisée.
fr_FR
instanceCode
N
Si l’utilisateur indiqué dans les données d’identification a accès à plusieurs instances de Adaptive Planning, cet attribut peut être utilisé pour indiquer que l’utilisateur a l’intention d’accéder à une instance autre que celle par défaut. Si elle n’est pas précisée, l’instance par défaut de l’utilisateur sera utilisée. Pour déterminer les codes d’instances disponibles, utilisez l’API exportInstances.
MYINSTANCE1
Contenu de l'élément
(aucun)
élément niveaux
Nom du marqueur
niveaux
Description
Une seule demande d'élément Niveaux est autorisée par charge utile. Elle contient un ou plusieurs éléments de niveau.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
retainExisitingOrder
Disponible dans l'API v26+
N
MaintainExistingOrder="1" indique que l’API updateLevels doit ignorer l’ordre des éléments dans les données utiles XML, et que l’ordre défini existant sera conservé.
MaintainExistingOrder="0" indique que l’API updateLevels doit mettre à jour l’ordre des éléments en fonction de la position du marqueur par rapport aux autres enfants de mêmes parents dans la charge utile XML.
L'attribut MaintainExistingOrder est ignoré dans la version API antérieure à l'API v26.
La valeur par défaut pour MaintainExistingOrder est « 0 » pour v26. Pour la version API v27 et les versions ultérieures, la valeur par défaut pour MaintainExistingOrder est « 1 ».
1
displayNameEnabled
Disponible uniquement dans l’API v30+ 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 de l’API antérieure à la version 30, 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 niveau.
élément de niveau
Nom du marqueur
niveau
Description
Indique un niveau à créer.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
identifiant
Y
L'identifiant du niveau mis à jour.
34
code
Disponible uniquement dans l’API v30+ pour les instances qui activent le nom d’affichage.
N
Le code unique du niveau.
Cette propriété n’est disponible que lorsque l’option Activer le nom d’affichage est activée pour l’instance.
NewLevelName
nom
N
Le nom du niveau. Lorsque l’option Activer le nom d’affichage est activée pour une instance avec l’API v30 ou une version plus récente, 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 affiché de la colonne, comme on le voit sur la feuille.
NewLevelShortName
devise
N
Le code de devise pour la devise affectée à ce niveau de l’organisation. La devise sera l’une des devises configurées pour l’instance, qui se trouve dans l’appel exportActiveDevises.
USD
publishCurrency
Disponible dans l'API v24+
N
PublierDevise définit la devise de la société Workday lors de la publication d’un plan financier. La devise de publication est chargée via le chargeur de niveau Planning dans l'intégration Workday Adaptive Planning comme attribut de devise supplémentaire pour un niveau. Publierdevise indique l’une des devises configurées pour l’instance, qui se trouve dans l’appel exportActiveCurrencies et l’interface utilisateur Niveaux administrateurs.
Disponible uniquement lorsque vous avez configuré Adaptive Planning pour Workday. Consultez la section Publier des plans dans Étapes : configurer Adaptive Planning pour HCM et la gestion financière.
CAD
inWorkflow
N
Indique si ce niveau participe à un flux des travaux.
1
propagateToDescendants
N
Indique si les changements se répercutent dans les enfants de ce niveau. 0 pour non, 1 pour oui.
Les propriétés du niveau ne sont pas toutes couvertes par propre à PropagateToDescendants.
Pour obtenir la liste des propriétés concernées par
propagateToDescendants
, voir Comportement de PropagateToDescendants pendant les demandes UpdateLevels.
0
eliminationLevel
N
Indique si ce niveau est un niveau d’élimination à utiliser dans les éliminations intersociétés. Un niveau peut être un niveau d’élimination ou un partenaire commercial d’élimination, mais pas les deux.
1
eliminationTradingPartner
N
Indique si ce niveau est un partenaire commercial d’élimination. Un niveau peut être un partenaire commercial d’élimination ou un niveau d’élimination, mais pas les deux.
0
actualsStart
N
Indique le début des chiffres réels pour ce niveau. Doit être un code d'heures existant provenant de l'administration des heures dans la strate de temps par défaut.
May-2013
actualsEnd
N
Indique la fin des chiffres réels pour ce niveau. Doit être un code d'heures existant provenant de l'administration des heures dans la strate de temps par défaut.
Dec-2018
description
Disponible uniquement dans l’API v30+ pour les instances qui activent le nom d’affichage.
N
Description du niveau.
Cette propriété n’est disponible que 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 niveau associés au niveau.
élément de version
Nom du marqueur
version
Description
Indique la disponibilité de la version d’un niveau. Nécessite une version préexistante.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Exemple
nom
Y
Le nom de la version, tel qu’il apparaît dans l’administration des versions.
Budget 2015
disponible
Y
Si une de cette version est disponible dans ce niveau.
1
Contenu de l'élément
Un ou plusieurs éléments de version pour chaque niveau
élément d'attribut
Nom du marqueur
attribut
Description
Indique un attribut à mettre à jour.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
nom
mis à jour dans l’API v30
Y
Le nom de l'attribut.
Emplacement
valeur
mis à jour dans l’API v34
Y
La valeur d'attribut pour cet attribut.
Pour les API v32 et v33, cet attribut n’est significatif que lorsque le paramètre Nom d’affichage est désactivé pour l’instance.
Pour l’API v34 et les versions plus récentes :
  • Pris en charge lorsque le paramètre Nom d'affichage en vigueur est ACTIVÉ.
  • La présence de valueCode et de valueName générera une erreur.
  • Lorsque l’importation de niveau crée automatiquement des valeurs d’attributs est activée dans l’interface utilisateur de l’administrateur des attributs, la chaîne de valeurs devient le code et le nom si la valeur n’existe pas déjà.
Définissez value="" pour supprimer le marquage de cet attribut.
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.
Y
Le code de valeur d'attribut pour cet attribut.
L’entrée valueCode n’est significative que lorsque DisplayNameEnabled=1 et que le paramètre Nom d’affichage est ACTIVÉ pour l’instance dans l’API v32 et l’API v33.
Définissez valueCode="" pour supprimer le marquage de cet attribut.
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 est significatif uniquement quand :
  • valueCode contient une valeur d'attribut qui n'existe pas.
  • Le paramètre Nom d’affichage est ACTIVÉ pour l’instance.
  • displayNameEnabled=1
  • En appel d’API v32 et d’API v33.
valueName est ignoré lorsque valueCode contient une valeur d'attribut existante.
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 niveau.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
nom
mis à jour dans l’API v30
Y
Le nom de la dimension.
Budget 2015
valeur
mis à jour dans l’API v34
Y
La valeur de dimension pour cette dimension est disponible dans ce niveau.
Pour les API v32 et API v33, la valeur n’est significative que lorsque le paramètre Nom d’affichage est désactivé pour l’instance.
Pour l’API v34 et les versions plus récentes :
  • Pris en charge lorsque le paramètre Nom d'affichage en vigueur est ACTIVÉ.
  • La présence de valueCode et de valueName générera une erreur.
  • Lorsque l’importation de données crée automatiquement des valeurs de dimension est activée dans l’interface utilisateur de l’administrateur des dimensions, la chaîne de valeur devient le code et le nom si la valeur n’existe pas déjà.
Lahore
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.
Y
Le code de valeur de dimension pour cette dimension est disponible dans ce niveau.
Pour les API v32 et API v33, valueCode n’a de sens que lorsque :
  • Le paramètre Nom d’affichage est ACTIVÉ pour l’instance.
  • displayNameEnabled=1
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 les API v32 et API v33, valueName n’a de sens que lorsque
  • valueCode contient une valeur de dimension inexistante.
  • Le paramètre Nom d’affichage est ACTIVÉ pour l’instance.
  • displayNameEnabled=1
Lahore
Contenu de l'élément
(aucun)

Traitement des données utiles de haut en bas

Les attributs pour les niveaux regroupent les valeurs et les niveaux de marqueur de manière logique. Étant donné que l’API updateLevels traite les données utiles XML de haut en bas, affectez un attribut de niveau pour le niveau parent avant de changer les valeurs du niveau d’attribut enfant. Les niveaux enfants peuvent être marqués avec n’importe quelle valeur d’attribut lorsque la valeur d’attribut du niveau parent est vide. Si les attributs de niveau ne sont pas alignés avec l’attribut parent, une erreur de validation de compatibilité se produit.
Tenez compte de la structure arborescente ci-dessous où le parent « Califoria » a deux niveaux enfants « P client Alto » et « Pleasanton ». Les attributs de niveau « Palo Alto » et « Pleasanton » sont des congés.
Location
|__USA |__California |__Palo Alto |__Pleasanton

Exemple de fichier XML de demande initial avec attributs de niveau

Notez que la valeur d’attribut d’emplacement « 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 de la charge utile de haut en bas considère que le niveau parent « Ingénieur » a la valeur d’attribut d’emplacement « Palo Alto » du bloc de code précédent et traite « Pleasanton » comme l’enfant de « Palo Alto ». L'erreur est générée parce que l'attribut de niveau enfant « Développement » peut uniquement avoir la valeur 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

Le fait de réorganiser l’ordre de positionnement de l’attribut "Califoria" sous "Ingénierie" permet à l’API de traiter d’abord l’attribut de niveau parent, ce qui permet au niveau enfant "Développement" d’avoir la valeur d’attribut d’emplacement de Palo Alto ou de "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é des versions d’un niveau fonctionne de la même manière. Définissez la disponibilité de la version d’un niveau avant de modifier les niveaux enfants pour éviter les erreurs de compatibilité.

Exemple XML de demande initiale avec versions

Notez que la disponibilité de la version « Budget 2020 » pour les niveaux « Ingénierie » et « Développement » est définie à « 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

Les données utiles au format XML ci-dessous génèrent une erreur, car le traitement des données utiles de haut en bas considère que le parent « Engageing » n’est pas disponible « 
available=0")
pour la version « Budget 2020 » du bloc de codes précédent et traite la disponibilité du niveau enfant « Développement » comme « 1 ». Le niveau enfant "Développement" ne peut pas être disponible lorsque le niveau 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

La réorganisation de l’ordre de positionnement pour la version « Bunget 2020 » sous le niveau parent « Ingénierie » permet à l’API de traiter d’abord la disponibilité du parent, ce qui 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 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 niveau requis. Ce filtre de sortie est standard sur toutes les réponses d’API et enveloppe la sortie valide de tout appel d’API réussi.
élément niveaux
Nom du marqueur
niveaux
Description
Conteneur pour un ou plusieurs éléments de niveau.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
ConserverOrder existant
N
0  L’API updateLevels doit mettre à jour l’ordre de tri en fonction du contenu de la charge utile XML.
Une API updateLevels doit conserver l’ordre de tri existant.
1
displayNameEnabled
Disponible uniquement dans l’API v30+ 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 niveau. Si la demande comprend des niveaux inaccessibles, il n’y aura qu’un élément de niveau, qui représentera le niveau supérieur de l’organisation.
élément de niveau
Nom du marqueur
niveau
Description
Représente un niveau d’organisation unique retourné en réponse à un appel de l’API updateLevels.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
identifiant
Y
Le numéro d’identifiant de système interne pour le niveau.
7
code
Disponible uniquement dans l’API v30+ pour les instances qui activent le nom d’affichage.
N
Le code unique du niveau.
Cette propriété n’est disponible que lorsque l’option Activer le nom d’affichage est activée pour l’instance.
Siège social
nom
Y
Le nom du niveau, tel qu’il apparaît sur les rapports et les feuilles.
Développement
devise
Y
Le code de devise pour la devise affectée à ce niveau de l’organisation. La devise sera l’une des devises configurées pour l’instance, qui se trouve dans l’appel exportActiveDevises.
INR
publishCurrency
Disponible dans l'API v24+
N
PublierDevise définit la devise de la société Workday lors de la publication d’un plan financier. La devise de publication est chargée via le chargeur de niveau Planning dans l'intégration Workday Adaptive Planning comme attribut de devise supplémentaire pour un niveau. La devise de publication indique l’une des devises configurées pour l’instance, qui se trouve dans l’appel exportActiveCurrencies et indiquée dans l’interface utilisateur de niveau Administrateur.
Requiert que Workday Power of One soit activé par l’attribution de fournitures.
CAD
shortName
N
L’abréviation du niveau, le cas échéant, telle qu’elle est entrée dans l’administration des niveaux.
Dév.
eliminationLevel
N
Indique si le niveau est un niveau d’élimination. 0 pour non, 1 pour oui.
1
eliminationTradingPartner
N
*description*
1
inWorkflow
N
Indique si le niveau fait partie d’un flux des travaux. 0 pour non, 1 pour oui.
1
propagateToDescendants
N
Indique si les changements se répercutent dans les enfants de ce niveau. 0 pour non, 1 pour oui.
Pour en savoir plus sur le comportement de PropagateToDescendants, voir Comportement de PropagateToDescendants pendant les demandes UpdateLevels.
1
actualsStart
N
Le code d’entrée des heures tel que défini dans l’administration des heures pour le début de la version des chiffres réels pour ce niveau.
05/2013
actualsEnd
N
Le code d’entrée des heures tel que défini dans l’administration des heures pour la fin de la version des chiffres réels pour ce niveau.
12/2018
description
Disponible uniquement dans l’API v30+ pour les instances qui activent le nom d’affichage.
N
Description du niveau.
Cette propriété n’est disponible que lorsque l’option Activer le nom d’affichage est activée pour l’instance.
Le service le plus élevé.
status
Y
Le statut du niveau suivant est mis à jour. Pour les avertissements et les erreurs, l’élément de message contient le contenu du message. Le statut Mis à jour ne renvoie aucun contenu de message.
  • Erreur : une erreur a été repérée dans l'entité
  • Avertissement : un avertissement a été repéré dans l'entité
  • Créé : l'entité a été créée avec succès
  • Mis à jour : l'entité a été mise à jour
Mis à jour
message
N
Message d'erreur pour une entrée de niveau non valide
Le niveau UKregion2 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 niveau imbriqué pour chaque niveau enfant direct de ce niveau. Un élément d’attributs si ce niveau est associé à un ou à plusieurs attributs.
élément d'attribut
Nom du marqueur
attribut
Description
Conteneur pour un élément d'attribut de niveau.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
nom
Y
Nom de l'attribut de niveau
Emplacement
valeur
Y
La valeur de l'attribut de niveau.
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.
Y
Le code de valeur d'attribut pour cet attribut.
Pour l’API v32 et les versions plus récentes, valueCode n’a de sens que lorsque :
  • Le paramètre Nom d’affichage est ACTIVÉ pour l’instance.
  • displayNameEnabled=1
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 est significatif uniquement quand :
  • valueCode contient une valeur d'attribut qui n'existe pas.
  • Le paramètre Nom d’affichage est ACTIVÉ pour l’instance.
  • displayNameEnabled=1value
Le nom est ignoré lorsque valueCode contient une valeur d'attribut existante.
San Francisco
status
Y
Le statut de l’attribut suivant est mis à jour. Pour les avertissements et les erreurs, l’élément de message contient le contenu du message. Le statut Mis à jour ne renvoie aucun contenu de message.
  • Erreur : une erreur a été repérée dans l'entité
  • Avertissement : un avertissement a été repéré dans l'entité
  • Créé : l'entité a été créée avec succès
  • Mis à jour : l'entité a été mise à jour
mis à jour
message
N
Le message d'erreur pour une entrée d'attribut non valide.
Le niveau UKregion2 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é de la version d’un niveau.
Attributs de l'élément
Nom de l’attribut
Obligatoire?
Valeur
Exemple
nom
Y
Le nom de la version, tel qu’il apparaît dans l’administration des versions.
Budget 2015
valeur
Y
Si une, ce niveau est disponible dans cette version.
1
status
Y
Le statut de la version suivant la mise à jour. Pour les avertissements et les erreurs, l’élément de message contient le contenu du message. Le statut Mis à jour ne renvoie aucun contenu de message.
  • Erreur : une erreur a été repérée dans l'entité
  • Avertissement : un avertissement a été repéré dans l'entité
  • Créé : l'entité a été créée avec succès
  • Mis à jour : l'entité a été mise à jour
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
Y
Le nom de la dimension, tel qu’il apparaît sur les rapports et les feuilles.
Région
valeur
N
La valeur de dimension disponible pour ce niveau.
C-USA
valueCode
Disponible uniquement dans l’API v32+ pour les instances qui activent le nom d’affichage.
Y
Le code de valeur de dimension pour cette dimension.
Pour l’API v32 et les versions plus récentes, valueCode n’a de sens que lorsque :
  • Le paramètre Nom d’affichage est ACTIVÉ pour l’instance.
  • displayNameEnabled=1
CUS
valueName
Disponible uniquement dans l’API v32+ 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 plus récentes, valueName n’est significative que lorsque :
  • valueCode contient une valeur de dimension inexistante.
  • Le paramètre Nom d’affichage est ACTIVÉ pour l’instance.
  • displayNameEnabled=1
valueName est ignoré lorsque valueCode contient une valeur de dimension existante.
C-USA
status
N
Le statut de la version suivant la mise à jour. Pour les avertissements et les erreurs, l’élément de message contient le contenu du message. Le statut Mis à jour ne renvoie aucun contenu de message.
  • Erreur : une erreur a été repérée dans l'entité
  • Avertissement : un avertissement a été repéré dans l'entité
  • Créé : l'entité a été créée avec succès
  • Mis à jour : l'entité a été mise à jour
Mis à jour
Contenu de l'élément
(aucun)

Descriptions des messages d'erreur et d'avertissement

Type
Message
Exemple/Description
Erreur
Une erreur du système s'est produite afin de contacter le service de soutien pour avoir plus d'informations.
Erreur du système
Erreur
Le fichier content.xml est introuvable.
existe déjà dans l'API updateDimensions
Erreur
L'entrée fournie ne contient aucun marqueur de niveau.
Marqueur de niveau manquant pour la charge utile.
Erreur
{0} n'est pas reconnu comme un {1} défini.
Utilisé lorsque le nom ou la valeur de la version est inconnu.
Erreur
{0} ne peut pas être vide.
Le nom de la version est vide.
Erreur
La disponibilité de la version ne peut pas être modifiée pour les chiffres réels.
Lorsque l’utilisateur tente de modifier la visibilité de la version des chiffres réels.
Erreur
La disponibilité de la version ne peut pas être modifiée pour le niveau racine {0}.
Lorsque l’utilisateur tente de modifier la visibilité des versions pour le niveau racine.
Erreur
La visibilité de la version {0} au niveau {1} n'est pas compatible avec le parent de {1}.
Lorsque la visibilité de la version fournie du niveau n’est pas compatible avec le niveau parent.
Erreur
Vous n'êtes pas autorisé à mettre à jour des niveaux ou des versions dans la demande.
Lorsque l’utilisateur tente de mettre à jour des renseignements de niveau non accessibles.
Erreur
{0} n'est pas reconnu comme un {1} défini.
Utilisé lorsque le nom ou la valeur de la dimension est inconnu.
Erreur
{0} ne peut pas être vide.
Le nom de la dimension est vide.
Erreur
La dimension de liste ne peut pas être utilisée dans le niveau.
L'utilisateur tente de mapper une valeur de dimension fixe pour un niveau.
Erreur
La dimension {0} est désactivée pour le niveau.
La dimension est désactivée pour ce niveau.
Erreur
La valeur de dimension {0} n'est pas compatible avec la valeur de dimension du parent.
Lorsque le mappage de dimensions de niveau fourni n'est pas compatible avec le niveau parent.
Erreur
{0} n'est pas reconnu comme un {1} défini.
Utilisé lorsque le nom ou la valeur de l'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 niveau fournie n'est pas compatible avec le niveau parent.
Erreur
{0} ne peut pas être vide.
Le nom de l'attribut est vide.
Erreur
Une exception s'est produite lors du traitement de la demande API updateLevels.
Erreur du système
Erreur
L'identifiant {0} n'existe pas.
Identifiant de niveau inexistant fourni dans les données utiles de la demande.
Erreur
Un {0} ne peut pas avoir la même ID que son parent.
Les niveaux enfant et parent ont le même identifiant.
Erreur
{0} ne peut pas être l'enfant de {1}.
Un niveau donné ne peut pas être l’enfant d’un autre niveau donné.
Erreur
L'identifiant de niveau racine est manquant.
L'identifiant du niveau racine n'a pas été fourni.
Erreur
L'identifiant de niveau racine {0} avec le nom de niveau {1} ne peut pas devenir un niveau enfant.
Le niveau racine ne peut pas devenir un niveau enfant.
Erreur
La devise du niveau racine ne peut pas être modifiée.
La devise ne peut pas être changée pour le niveau racine.
Erreur
La devise {0} n'est pas valide.
Nom de devise inconnu fourni dans le marqueur de niveau.
Erreur
Le niveau {0} est en double pour les identifiants {1}.
Le nom du niveau en double a été fourni.
Erreur
Le niveau {0} est en double dans la charge utile {1} {2} des données utiles.
Plusieurs nouveaux niveaux contiennent le même nom.
Erreur
Le flux des travaux du niveau racine ne peut pas être modifié.
Le statut InWorkflow ne peut pas être modifié pour le niveau racine.
Erreur
L'affectation d'attributs au niveau {0} n'est pas compatible avec la valeur d'attribut parent.
La valeur d'attribut de niveau fournie pour le niveau n'est pas compatible avec le niveau parent.
Erreur
Le niveau avec l'identifiant {0} n'existe pas.
Il n'existe aucun niveau dans Planning avec l'identifiant fourni.
Erreur
Vous n'êtes pas autorisé à mettre à jour des niveaux ou des versions dans la demande.
Autorisation utilisateur manquante pour un niveau indiqué dans les données utiles.
Erreur
La visibilité des versions du niveau {0} n'est pas compatible avec le parent {0} {1}.
La visibilité de la version fournie du niveau n'est pas compatible avec le niveau parent.
Erreur
Le niveau {0} dispose d'une disponibilité de chiffres réels contenant plus de périodes que son parent {1}.
La fourchette des chiffres réels de niveau actuel a été modifiée. La plage de chiffres réels modifiés la rend plus petite que la plage de chiffres réels de son descendant.
Erreur
Vous ne pouvez pas désactiver le flux des travaux pour le niveau ({0}) si supprimeWorkflowSilently, 0. Si vous définissez supprimerWorkFflowSilently, 1, toutes vos tâches de flux des travaux associées à ce niveau seront supprimées.
Lorsque la suppression silencieuse du flux des travaux est désactivée, vous ne pouvez pas désactiver le flux des travaux. Si la suppression silencieuse du flux des travaux est activée, toutes les tâches du flux des travaux pour le niveau sont supprimées.
Erreur
Impossible de mettre à jour les dates de début et de fin des chiffres réels pour {0}, car l'intervalle de dates est plus petit que les dates de début et de fin définies pour la version des chiffres réels, et supprimerActuelsSilently est défini à Faux afin d'empêcher la suppression des chiffres réels pour {1}.
L'utilisateur tente de réduire la plage des chiffres réels sans définir l'indicateur DeleteActualsSilently.
Erreur
Le flux des travaux ne peut pas être activé pour le niveau {0} car le flux des travaux parent est désactivé.
Le flux des travaux ne peut pas être activé pour le niveau parce que le flux des travaux de son parent est désactivé.
Erreur
TradingPartner ou EliminationLevel ne peut pas être activé pour le niveau {0}, car TradingPartner est activé pour son parent.
Lorsque le partenaire commercial est déjà activé pour un parent, le partenaire commercial ou le niveau 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 niveau parent.
Erreur
Le nœud parent {0} devient un 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 niveau ne peut pas être son propre parent.
Un niveau ne peut pas devenir son propre parent dans une charge utile.
Erreur
Il n'existe aucun niveau avec l'identifiant {0}.
L'entité fournie n'existe pas dans Planning.
Erreur
Elimination et TradingPartner ne peuvent pas être tous deux définis à vrai en même temps.
Un niveau peut être un niveau d’élimination ou un partenaire commercial, mais pas les deux en même temps.
Erreur
Vous pouvez uniquement modifier Élimination à ce niveau lorsque TradingPartner est désactivé pour son parent.
La modification de l’élimination d’un niveau ne peut avoir lieu que lorsque le partenaire commercial du parent de ce niveau est désactivé.
Erreur
Un sous-niveau de ce niveau est un niveau d'élimination; par conséquent, ce niveau ne peut pas être marqué comme partenaire commercial.
Le niveau actuel ne peut être marqué comme partenaire commercial, car le niveau en dessous est un niveau d'élimination.
Erreur
Vous ne pouvez pas activer le flux des travaux sur ce niveau lorsqu'il est désactivé pour son parent.
Le flux des travaux du parent du niveau est désactivé.
Erreur
{0} ne peut être activé que pour un nœud et ses descendants. Pour y apporter des modifications, définissez PropagateToDescendants=1.
Pour en savoir plus sur le comportement de PropagateToDescendants, voir Comportement de PropagateToDescendants pendant les demandes UpdateLevels.
Erreur
Impossible de faire du niveau ''{0}'' un niveau d'élimination car il contient des données dans un ou plusieurs comptes intersociétés.
Un niveau ne peut pas devenir un niveau d’élimination s’il contient des données dans des comptes intersociétés.
Erreur
actualsStart ou actualsEnd ne peut pas être modifié pour le niveau racine {0}.
L'utilisateur tente de modifier la plage des chiffres réels pour le niveau racine.
Erreur
Vous ne pouvez pas ajouter des enfants à un niveau lié.
L'utilisateur tente d'ajouter un niveau enfant pour un niveau associé.
Erreur
Le code d'entrée des heures {0} n'existe pas.
Le code d'entrée des heures fourni n'existe pas.
Erreur
La date de début des chiffres réels {0} ne peut pas être postérieure à la date de fin des chiffres réels {1}.
L’heure de début des chiffres réels fournis est postérieure à l’heure de fin. L'heure de début des chiffres réels doit être antérieure à l'heure de fin.
Erreur
Code d'entrée des heures "{0}" non valide. Les codes de temps définis pour actualsStart et actualsEnd doivent correspondre à la strate la plus basse disponible dans Administration des temps.
Le code d'entrée des heures fourni n'est pas au niveau de strate le plus bas.
Erreur
Code d'entrée des heures "{0}" non valide. La valeur actualsStart {0} est antérieure à la valeur actualsStart {1} des parents.
L’heure de début des chiffres réels fournie est antérieure à l’heure de début des chiffres réels du niveau parent.
Erreur
Code d'entrée des heures "{0}" non valide. La valeur actualsEnd {0} est postérieure à actualsEnd {1} pour les parents.
L'heure de fin des chiffres réels fournie dépasse l'heure de fin des chiffres réels du niveau parent.
Erreur
La valeur actualsStart de {0} est antérieure au début de la version des chiffres réels de {1}. La valeur actualsStart doit intervenir après {1}.
L'heure de début actualsStart fournie est antérieure à l'heure de début de la version des chiffres réels.
Erreur
La valeur actualsEnd de {0} est postérieure à la fin de la version des chiffres réels de {1}. La valeur actualsEnd doit précéder {1}.
L'heure actualsEnd fournie dépasse l'heure de fin de la version des chiffres réels.
Erreur
Valeur "{0}" "{1}" non valide. La valeur doit être "1" ou "0".
L'utilisateur a fourni 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 autorisé comme nom.
Le mot réservé "This", un mot se terminant par "(+)" ou "(-)" a été fourni comme nom de niveau.
Erreur
L'identifiant "{0}" n'existe pas.
L'entité fournie n'existe pas dans Planning.
Avertissement
Le niveau {0} ne peut pas être déplacé vers un autre parent lorsque proceedWithWarnings=0.
L'utilisateur tente de déplacer le niveau sans proceedWithWarning="1". proceedWithWarning="1" signifie que la visibilité des versions, le mappage des attributs et les données seront ajustés pour correspondre au nouveau niveau parent.
Avertissement
La plage de disponibilité des chiffres réels a été réduite pour le niveau {0}. Les données de chiffres réels exclues de la plage ont été supprimées.
L'intervalle de disponibilité des chiffres réels a été réduit. Les données en dehors de la plage sont supprimées.
Avertissement
deleteWorkflowSilently est un indicateur global. Il doit se trouver dans le marqueur des niveaux.
Supprimer le flux des travaux en silencieuse est un indicateur global. Il appartient au marqueur niveaux, et non à un autre marqueur.
Avertissement
deleteActualsSilently est un indicateur global. Il doit se trouver dans le marqueur des niveaux.
Supprimer les chiffres réels en mode silencieuse est un indicateur global. Il appartient au marqueur niveaux, et non à un autre marqueur.
Avertissement
Les niveaux ne peuvent pas être modifiés, car il reste des modifications non publiées.
Planning comporte des modifications en attente pour publication en tant qu'administrateur.