MDXLIMITFORMULARECURSION

Vous pouvez utiliser le paramètre de configuration MDXLIMITFORMULARECURSION pour supprimer les limitations du serveur Essbase sur le nombre de niveaux d'exécution autorisés pour les membres ou formules calculés MDX.

Lorsque la valeur est définie sur False, MDXLIMITFORMULARECURSION n'empêche pas le serveur Essbase de dépasser 128 niveaux d'exécution de formule MDX. Vous pouvez l'utiliser si vous savez qu'une exécution récursive dans une formule/un membre calculé finira par s'arrêter et que vous souhaitez qu'Essbase continue à la traiter.

Syntaxe

MDXLIMITFORMULARECURSION [appname [dbname]] TRUE | FALSE
  • appname : facultatif. Spécifie l'application pour laquelle définir ou supprimer la limite. Si vous indiquez une valeur pour appname et que vous n'indiquez pas de valeur pour dbname, le paramètre s'applique à tous les cubes de l'application indiquée. Pour activer le paramètre pour un cube spécifique, vous devez spécifier une application et un cube.

  • dbname : facultatif. Spécifie la base de données (cube), dans l'application indiquée par appname, pour laquelle définir la limite. Si vous indiquez une valeur pour dbname mais que vous n'indiquez pas de valeur pour appname, votre spécification est ignorée.

  • TRUE : impose une limite de 128 au nombre de niveaux d'exécution de la formule MDX. La valeur par défaut est TRUE.

  • FALSE : n'impose aucune limite au nombre de niveaux d'exécution de formule MDX.

Description

L'exécution d'un membre calculé MDX ou d'une formule peut être récursive (par exemple, une formule peut se référer à elle-même ou un membre calculé peut se référer à elle-même). Par défaut, Essbase limite le nombre de niveaux d'exécution de formule MDX, car les formules avec des niveaux d'exécution excessifs peuvent entraîner des erreurs de débordement de pile et entraîner l'échec du serveur. Toutefois, la définition de MDXLIMITFORMULARECURSION sur FALSE empêche Essbase d'imposer la limitation. Vous pouvez utiliser ce paramètre lorsque vous savez qu'une exécution récursive dans une formule/un membre calculé finira par se terminer et que vous souhaitez avoir une profondeur de récursion supérieure à 128.

Si une formule MDX atteint 128 niveaux d'exécution et que MDXLIMITFORMULARECURSION n'est pas défini ou est défini sur TRUE, Essbase arrête le traitement de cette formule et écrit les messages d'erreur dans le journal de l'application. Si une formule atteint 128 niveaux d'exécution et que MDXLIMITFORMULARECURSION est défini sur FALSE, Essbase poursuit le traitement de cette formule.

Attention :

Avant de définir MDXLIMITFORMULARECURSION sur FALSE, assurez-vous que les formules MDX de l'outline ne sont pas récursives à l'infini. Par exemple, assurez-vous que les formules ne dépendent pas les unes des autres.