Lors d’un récent cours Administration Système de la eBusiness Suite R12 un client a exprimé le besoin suivant :
– Le client veut qu’un CUF (Champs Utilisateurs Flexibles) soit actif avec un ou plusieurs segments obligatoires si la devise de saisie de sa facture dans AP (Oracle Account Payables) n’est pas la devise fonctionnelle (disons USD)
– Si la devise de saisie est la devise fonctionnelle aucun segment ne doit être affiché.
Voici la solution retenue et réalisée en direct lors de la formation :
1… On déclare comme champ de référence pour la partie contextuelle la colonne ATTRIBUTE1 afin de tester son contenu
2… On détecte la devise, si c’est une devise autre que USD on renvoie le littéral NOT, ce résultat est stocké dans la colonne ATTRIBUTE1 associée à un segment de la partie Eléments Standard du CUF (Global Data Element) qui ne sera pas affichée
3… On ajoute autant de segments que voulu pour la valeur NOT en tant que valeur de contexte
– Voici le détail avec les copies d’écrans :
1… (Responsabilité) Développeur d’Application, (Menu) Champs flexibles > Champs utilisateurs flexibles > Enregistrer
Rechercher le CUF avec :
Application = Payables
Titre = Invoice
Dans Champs de référence (Reference Fields) déclarer la colonne ATTIBUTE1…
2… Dans la partie Eléments Standard (Global Data Element) on ajoute un segment pour alimenter la colonne ATTRIBUT1, ce segment n’a pas de jeu de valeurs (Value Set) associé, par contre il a la propriété suivante :
Type par défaut = Instruction SQL
Valeur par défaut = SELECT ‘NOT’ FROM DUAL WHERE :INV_SUM_FOLDER.INVOICE_CURRENCY_CODE <> ‘USD’
Avec :
:INV_SUM_FOLDER correspond au BLOCK Forms de l’en-tête de facture AP
.INVOICE_CURRENCY_CODE correspond au FIELD du BLOCK qui aliment la colonne contenant la devise de la facture saisie
3… (Responsabilité) Développeur d’Application, (Menu) Champs flexibles > Champs utilisateurs flexibles > Enregistrer
Rechercher le CUF avec :
Application = Payables
Titre = Invoice
Faire la mise ne correspondance entre le champ contextuel et le champ de référence
Champs de référence = ATTRIBUTE1
Le champ contextuel n’est pas affiché…
Configurer le(s) segment(s) pour la valeur NOT qui correspond au contenu du champ contextuel et donc au contenu de ATTRIBUTE1 :
4… Au final nous obtenons le comportement souhaité :
Et voilà…
Blog
Menu
- le
- Noel Schneider
- Applications @fr, E-Business Suite @fr, institute @fr, Page d'accueil