lundi 19 février 2018

Oracle : Problème panneau des clefs comptables pour les fournisseurs



Sur notre version Oracle EBS 12.1.3,
Nous avons eu un problème concernant un panneau sur les fournisseurs et le support Oracle n'a pas su nous aider.

Voilà le souci : en arrivant sur le panneau des fournisseurs et en lançant une recherche sur un fournisseur, par exemple 'IATA%'


On obtient une liste de résultats :

On choisit le fournisseur qu'il faut mettre à jour :
On clique pour aller sur le panneau 'comptabilité' (Supplier/Accounting en anglais).
Et là patatras ! On a un sale message
Error Message
You have encountered an unexpected error, Please contact the system administrator for assistance.
Logout
Là il vaut mieux faire un retour arrière au niveau du navigateur...

Pour réparer la fonctionnalité, il est possible de jouer sur les données contenues dans la table FND_LOV_CHOICE_VALUES.

Pour alimenter correctement cette table, nous allons avoir besoin de l'identifiant de l'utilisateur et du livre associés à la fonctionnalité défaillante.

=> Recherche de l'identifiant Ledger_id pour la responsabilité considérée
(contenu dans l'option de de profil GL_SET_OF_BKS_ID rattachée à la responsabilité).
=> et vérification que la responsabilité est liée à l'utilisateur

SELECT distinct(fpov.profile_option_value),u.user_id
FROM  FND_USER_RESP_GROUPS_DIRECT furg,
fnd_responsibility resp ,
fnd_responsibility_tl respt,
fnd_user u,
fnd_profile_options fpo,
fnd_profile_option_values fpov
WHERE 1=1
AND u.user_id = :p_user_id
AND  respt.RESPONSIBILITY_ID = resp.RESPONSIBILITY_ID
AND furg.user_id = u.user_id
AND furg.RESPONSIBILITY_ID = resp.RESPONSIBILITY_ID
AND respt.language = :p_lang
AND respt.responsibility_name = :p_resp_name
AND NVL(u.end_date,sysdate+1)>sysdate
AND fpo.profile_option_name = 'GL_SET_OF_BKS_ID'
AND fpov.profile_option_id = fpo.profile_option_id
AND fpov.application_id =fpo.application_id
AND fpov.level_value = resp.RESPONSIBILITY_ID
ORDER BY fpov.profile_option_value,u.user_id


Que contient la table FND_LOV_CHOICE_VALUES pour cet utilisateur et le code relatif à ce panneau ?

SELECT u.user_name,lov.*
from FND_LOV_CHOICE_VALUES lov
    ,fnd_user u
where lov.user_id = u.user_id
and lov.full_ref_name = '/oracle/apps/pos/supplier/webui/ByrAcctPG.posSOBId'
AND user_name = :p_user
AND value_source = 'USER'
order by u.user_name, lov.value_display_sequence




Il y a deux lignes préexistantes mais pas de ligne pour le livre attaché à la responsabilité.
Pour rétablir la fonctionnalité, nous allons ajouter une ligne dans cette table relative à cet utilisateur et le livre correspondant à la responsabilité.

 

Parallèlement, on ferme la fenêtre Web contenant le panneau fournisseur, que l'on rouvrira après avoir fait la mise à jour.


La fonctionnalité est rétablie !

Aucun commentaire: