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 deupdateLevels.
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 :
| 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. | 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 :
| 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 :
| 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 :
| 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
| 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.
| 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 :
| 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 :
| 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.
| 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.
| 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 :
| 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 :
| 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.
| 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. |