En général, l'erreur Tentative de franchissement d'un membre NULL dans la fonction [@X]
apparaît dans les règles métier qui utilisent une fonction @concatenate
ou une fonction de sous-chaîne pour créer un nom de membre et que le membre obtenu n'est pas présent dans la base de données dans laquelle la règle métier est exécutée.
Considérez l'exemple "Begbalance"=@member(@concatenate(@name(@parent(@currmbr("Company"))),"_Input"));
, qui écrit la valeur BegBalance
dans le membre Company
avec un suffixe _Input
pour chaque membre Company
.
Si le membre est nommé Company1
, il doit également exister un membre Company1_Input
pour que cette formule fonctionne. Si, par exemple, un membre Company2
est créé mais qu'aucun membre Company2_Input
correspondant ne l'est, la règle métier échoue avec une erreur Tentative de franchissement d'un membre NULL dans la fonction [@X]
.
Pour résoudre ce problème, l'instruction FIX autour de la syntaxe @concatenate
ou @sibling
doit être modifiée afin d'exclure les membres qui n'ont pas de membre _Input
correspondant. Dans cet exemple, vous devez trouver et exclure les membres de la dimension Company
qui ne comporte pas de membre Company_Input
correspondant ou ajouter les membres Company_Input
aux membres de la dimension Company
qui ne les contiennent pas.