Vous êtes sur la page 1sur 25

Oracle e-business Suite

Form Personalization

FORM PERSONNALISATION

Projet:
Oracle E-business Suite

Author: Tatyana ROSSI

Creation date: 20/5/2009

Last updated: 20/5/2009

Version: 1.0
Contents

Objectives..................................................................................................................................3
Introduction.......................................................................................................................3
Exemple d’utilisation Form Personalization sur panneau OEXOETEL.........................4
Initialisation de valeur par défaut ................................................................................4
Contrôle du format numérique......................................................................................4
Contrôle de la longeurt maximum.................................................................................5
Masquer les boutons........................................................................................................6
Interdire la modification du champ...............................................................................7
Champ obligatoire............................................................................................................7
Modification LOV ............................................................................................................8
Alimentation des CUFs par défaut sur le même panneau ......................................11
Application des CUFs par défaut dans la table ........................................................14
Interdire modification du CUFs avec la condition ..................................................14
Interdiction de modification du certaine des attributs CUF avec la condition ...15
Synchronisation des données ......................................................................................17
Exemple d’utilisation Form Personnalisation sur panneau CSXSRISR........................20
Contrôle de la modification du champ.......................................................................20
Synchronisation informations.......................................................................................20
Initialisation de valeur par défaut ..............................................................................24
Oracle e-business Suite

Form Personalization

Objectives
Ce document décrit mes expériences de la mise en œuvre Form
Personnalisation sur le projet client.

Introduction
Le form personnalisation est accessible depuis les écrans oracle:
Aide -> Diagnostic> Code Personnalisé -> Personnaliser
Cela permet de modifier certains évènements (afficher des messages,
modifier des variables, ...) sans être obligé de passer par une
modification de la custom.pll.

Page 3 / 25
Oracle e-business Suite

Form Personalization

Exemple d’utilisation Form Personalization sur panneau OEXOETEL


Nom de la fonction Nom du Mode Diagnost.
panneau
ONT_OEXOETEL OEXOETEL Désactivé
Initialisation de valeur par défaut
Seq Description Niveau Activé
1 N° de cde clt: CUF entête, seg: Classe de Fonction X
commande (INTENTION-COMMANDE /
COMMANDE-FERME)1

L’onglet Condition

Event Déclencheur WHEN-VALIDATE-RECORD


Obj. Déclencher ORDER
Condition ${item.order.attribute8.database_value} is not null and
nvl(${item.order.cust_po_number.database_value},'X') !
= nvl(${item.order.cust_po_number.value},'X')
Mode de Pas en mode saisie interrogation
traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété All X
Type d’objet Elément
Objet cible ORDER.DF
Nome de propriété VALUE
Valeur ${item.order.df.value},1,instr(${item.order.df.value},'.',1,
6))||
decode(${item.order.cust_po_number.value},null,'INTE
NTION-COMMANDE','COMMANDE-FERME')
Seq Type Description Langue Activé
11 Propriété All X
Type d’objet Elément
Objet cible ORDER.ATTRIBUTE8
Nome de propriété VALUE
Valeur decode(${item.order.cust_po_number.value},null,'INTE
NTION-COMMANDE','COMMANDE-FERME')

Contrôle du format numérique


Seq Description Niveau Activé
1 Contrôle du numéro de ligne de la commande Fonction X
client

L’onglet Condition

Event Déclencheur WHEN-NEW-ITEM-INSTANCE


Obj. Déclencher LINE.CUSTOMER_LINE_NUMBER
Condition

Page 4 / 25
Oracle e-business Suite

Form Personalization

Mode de Les deux


traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété Numérique All X
Type d’objet Elément
Objet cible LINE.CUSTOMER_LINE_NUMBER
Nome de propriété FORMAT_MASK
Valeur 99
Seq Type Description Langue Activé
11 Propriété Message All X
Type d’objet Elément
Objet cible LINE.CUSTOMER_LINE_NUMBER
Nome de propriété TOOLTIP_TEXT
Valeur Valeur numérique 99
Seq Type Description Langue Activé
11 Propriété Champ obligatoire All X
Type d’objet Elément
Objet cible LINE.CUSTOMER_LINE_NUMBER
Nome de propriété REQUIRED
Valeur VRAI

Contrôle de la longeurt maximum


Seq Description Niveau Activé
30 Contrôle de la longueur maximum du numéro de Fonction X
commande client

L’onglet Condition

Event Déclencheur WHEN-NEW-ITEM-INSTANCE


Obj. Déclencher ORDER.CUST_PO_NUMBER
Condition
Mode de Pas en mode saisie interrogation
traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété Contrôle All X
Type d’objet Elément
Objet cible ORDER.CUST_PO_NUMBER
Nome de propriété TOOLTIP_TEXT
Valeur Attention 14 caractères maximum pour l'interface
QUARTZ
Seq Type Description Langue Activé
11 Propriété Obligatoire All X
Type d’objet Elément

Page 5 / 25
Oracle e-business Suite

Form Personalization

Objet cible ORDER.CUST_PO_NUMBER


Nome de propriété REQUIRED
Valeur FALSE
Seq Type Description Langue Activé
11 Propriété Format All X
Type d’objet Elément
Objet cible ORDER.CUST_PO_NUMBER
Nome de propriété FORMAT_MASK
Valeur ='FMXXXXXXXXXXXXXX'

Masquer les boutons


Seq Description Niveau Activé
1 Masquer tous les boutons sauf: Enreg. cde Fonction X

L’onglet Condition

Event Déclencheur WHEN-NEW-BLOCK-INSTANCE


Obj. Déclencher ORDER
Condition
Mode de Pas en mode saisie interrogation
traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété Bouton: Actions All X
Type d’objet Elément
Objet cible ORDER_CONTROL.ACTIONS
Nome de propriété DISPLAY
Valeur VRAI
Seq Type Description Langue Activé
11 Propriété Bouton: Configurateur All X
Type d’objet Elément
Objet cible ORDER_CONTROL.CONFIGURATOR
Nome de propriété DISPLAY
Valeur FALSE
Seq Type Description Langue Activé
12 Propriété Bouton: Disponibilité All X
Type d’objet Elément
Objet cible ORDER_CONTROL.AVAILABILITY
Nome de propriété DISPLAY
Valeur FALSE
Seq Type Description Langue Activé
13 Propriété Bouton: Articles All X
Type d’objet Elément
Objet cible ORDER_CONTROL.CONFIGURATOR
Nome de propriété DISPLAY
Valeur FALSE

Page 6 / 25
Oracle e-business Suite

Form Personalization

Interdire la modification du champ


Seq Description Niveau Activé
1 Interdire la modification du montant sur la ligne Fonction X
de commande dès que l'OF est créé

L’onglet Condition

Event Déclencheur WHEN-NEW-RECORD-INSTANCE


Obj. Déclencher LINE
Condition exists ( Select 1
From fnd_lookup_values flv
Where flv.lookup_type = 'LINE_FLOW_STATUS'
And flv.language = UserEnv ('LANG')
and substr(flv.meaning,1,instr(flv.meaning,'-')-1)>='12'
and length(substr(flv.meaning,1,instr(flv.meaning,'-')-
1))=2
and flv.tag='ESA'
and
flv.lookup_code=${item.line.flow_status_code.database_
value})
Mode de Pas en mode saisie interrogation
traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété All X
Type d’objet Elément
Objet cible LINE.UNIT_SELLING_PRICE_DSP
Nome de propriété ALTERABLE (APPLICATIONS COVER)
Valeur FALSE

Champ obligatoire
Seq Description Niveau Activé
1 Date commande obligatoire et à défaut à vide Fonction X

L’onglet Condition

Event Déclencheur WHEN-NEW-RECORD-INSTANCE


Obj. Déclencher ORDER
Condition
Mode de Pas en mode saisie interrogation
traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé

Page 7 / 25
Oracle e-business Suite

Form Personalization

10 Propriété Date obligatoire All X


Type d’objet Elément
Objet cible ORDER.ORDERED_DATE_MIR
Nome de propriété REQUIRED
Valeur VRAI
Seq Type Description Langue Activé
11 Propriété Init date mir (vide) All X
Type d’objet Elément
Objet cible ORDER.ORDERED_DATE_MIR
Nome de propriété INITIAL_VALUE
Valeur
Seq Type Description Langue Activé
12 Propriété Init date (vide) All X
Type d’objet Elément
Objet cible ORDER.ORDERED_DATE
Nome de propriété INITIAL_VALUE
Valeur

Modification LOV
Description de besoins :

Pour éviter les erreurs de saisie de commandes, il est nécessaire d'avoir une liste de vendeurs
(équipe) gérée par affaire).

Solution : modifier le filtre de la liste des vendeurs dans l'écran commande


pour proposer la liste des membres de l'équipe attachée à l'affaire.

Pour trouver la requête SQL de Group d’enregistrement utilisant dans LOV, je n’ai pas trouvé
d’autre moyen que d’ouvrir FORMS et regarder la proprieté de Group d’enregistrement.
Pour modifier LOV du type ‘Recherche’, dans la requête SQL, je n’ai pas réussi à utiliser les
données du panneau du type :BLOC.ITEM, dans mon exemple ${item.order.agreement_id.value}.
C’est donc pour ça que j’ai créé l’option profile 'TRO_ESA_AGREEMENT_ID'. C’est ma solution.
Peut-être il y a une autre façon de résoudre le probleme, trouvez le!

Page 8 / 25
Oracle e-business Suite

Form Personalization

Définir d’une option profil TRO_ESA_AGREEMENT_ID


Responsabilité : Développeur d’applications
Menu : Profil
Ajout :

Nom TRO_ESA_AGREEMENT_ID
Application TRO OM
Nom de profil utilisateur TRO_ESA_AGREEMENT_ID
Description
Type de hiérarchie Sécurité

Responsabilité : TRO-ESA : Gestionnaire des prestations


Menu : Commandes client

Modification avec Form Personnalisation


Menu : Aide / Diagnostique / Code Personnalisé / Personnaliser

Créée :

Seq Description Niveau Activé


13 Initialisation TRO_ESA_AGREEMENT_ID Panneau X
(Option Profil utilisée dans LOV Vendeur)

L’onglet Condition

Event Déclencheur WHEN-NEW-ITEM-INSTANCE


Obj. Déclencher ORDER.SALESREP_MIR
Condition
Mode de traitement Pas en mode saisie interrogation
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé

Page 9 / 25
Oracle e-business Suite

Form Personalization

10 Intégré All X
Type intégré Exécuter une procédure
Argument ='begin
fnd_profile.put(''TRO_ESA_AGREEMENT_ID'',''' ||
${item.order.agreement_id.value} || ''');
end'

Seq Description Niveau Activé


14 LOV Vendeur (équipe rattachée Panneau X
à l affaire)

L’onglet Condition

Event Déclencheur WHEN-NEW-ITEM-INSTANCE


Obj. Déclencher ORDER.SALESREP_MIR
Condition
Mode de traitement Pas en mode saisie interrogation
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Intégré All X
Type intégré Créer group enrigistr. Depuis interrog
Argument SELECT DISTINCT d.NAME, d.salesrep_id,
d.salesrep_number
FROM jtf_rs_teams_vl a,
jtf_rs_team_members b,
jtf_rs_salesreps d,
(SELECT dfv.TRO_esa_equipe_affaire,
oa.agreement_num,
oa.agreement_id
FROM oe_agreements_b oa,
oe_agreements_b_dfv dfv
WHERE oa.ROWID = dfv.ROWID
AND oa.agreement_id = NVL
(FND_PROFILE.VALUE('TRO_ESA_AGREEMENT_ID'),
oa.agreement_id)) t
WHERE a.team_id = b.team_id
AND b.team_resource_id = d.resource_id
AND b.delete_flag = 'N'
AND ( ( t.TRO_esa_equipe_affaire IS NOT
NULL
AND a.team_id = t.TRO_esa_equipe_affaire
)
OR ( t.TRO_esa_equipe_affaire IS NULL
AND d.NAME NOT LIKE 'TRO%'
AND d.NAME NOT LIKE '0%'
)
)
ORDER BY d.NAME
Nom du group TRO_SALESREP

Seq Type Description Langue Activé


11 Propriété All X
Type d’objet LdV
Objet cible SALESREP

Page 10 / 25
Oracle e-business Suite

Form Personalization

Nome de propriété GROUP_NAME


Valeur TRO_SALESREP

Alimentation des CUFs par défaut sur le même panneau


Description de besoins : Defaulting Région TRO et Région Client CUF en-tête de la commande
vers CUF lignes de la commande
Seq Description Niveau Activé
90 Alimentation des CUFs de la ligne de Fonction X
commande par les CUFs facultatifs de l'en-tête
de commande

L’onglet Condition

Event Déclencheur WHEN-NEW-ITEM-INSTANCE


Obj. Déclencher LINE.ORDERED_ITEM_DSP
Condition ${item.line.attribute4.value} Is Null
Mode de Pas en mode saisie interrogation
traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété Alimentation du contexte All X
Type d’objet Elément
Objet cible LINE.CONTEXT
Nome de propriété VALUE

Page 11 / 25
Oracle e-business Suite

Form Personalization

Valeur TRO-PI-LIGNE
Seq Type Description Langue Activé
15 Propriété Site origine All X
Type d’objet Elément
Objet cible LINE.ATTRIBUTE4
Nome de propriété VALUE
Valeur ${item.order.attribute9.value}
Seq Type Description Langue Activé
20 Propriété Groupe chef de projet All X
Type d’objet Elément
Objet cible LINE.ATTRIBUTE3
Nome de propriété VALUE
Valeur ${item.order.attribute10.value}
Seq Type Description Langue Activé
25 Propriété Responsable All X
Type d’objet Elément
Objet cible LINE.ATTRIBUTE10
Nome de propriété VALUE
Valeur ${item.order.attribute11.value}
Seq Type Description Langue Activé
26 Propriété Région client All X
Type d’objet Elément
Objet cible LINE.ATTRIBUTE14
Nome de propriété VALUE
Valeur ${item.order.attribute1.value}
Seq Type Description Langue Activé
27 Propriété Région TRO All X
Type d’objet Elément
Objet cible LINE.ATTRIBUTE15
Nome de propriété VALUE
Valeur ${item.order.attribute7.value}

Page 12 / 25
Oracle e-business Suite

Form Personalization

Page 13 / 25
Oracle e-business Suite

Form Personalization

Application des CUFs par défaut dans la table

Seq Description Niveau Activé


91 Application des CUFs par défaut sur les lignes Fonction X
enregistrées

L’onglet Condition

Event Déclencheur WHEN-NEW-RECORD-INSTANCE


Obj. Déclencher ORDER
Condition
Mode de Pas en mode saisie interrogation
traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Intégré All X
Type intégré Exécuter une procédure
Argument ='Begin
update oe_order_lines_all
set attribute3 = Nvl ('''|| ${item.order.attribute10.value}
|| ''', attribute3)
,attribute4 = Nvl ('''|| ${item.order.attribute9.value} ||
''', attribute4)
,attribute10 = Decode (''' ||
${item.order.attribute10.value} || ''', Null,
attribute10, ''' ||
${item.order.attribute11.value} || ''')
,attribute14 = Nvl ('''|| ${item.order.attribute1.value} ||
''', attribute14)
,attribute15 = Nvl ('''|| ${item.order.attribute7.value} ||
''', attribute15)
where header_id = '''||${item.order.header_id.value}||'''
and flow_status_code = ''ENTERED'';
end'

Interdire modification du CUFs avec la condition

Seq Description Niveau Activé


25 Interdire modification du CUF Panneau X

L’onglet Condition

Event Déclencheur WHEN-NEW-ITEM-INSTANCE


Obj. Déclencher LINE.DF
Condition ${item.line.flow_status_code.database_value} not in
('ENTERED','BOOKED','TRO_ESA_SR_CREEE')

Page 14 / 25
Oracle e-business Suite

Form Personalization

Mode de Pas en mode saisie interrogation


traitement
Niveau Site
Valeur

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété All X
Type d’objet Bloc
Objet cible LINE
Nome de propriété UPDATE_ALLOWED
Valeur FALSE

Interdiction de modification du certaine des attributs CUF avec la condition

Description de besoins : Les CUF « Groupe chef de projet », « Site client origine », « Région
TRO », « Région client » et « Responsable » doivent toujours être saisissable si la ligne de
commande est au statut « 3-SR Créée »

Page 15 / 25
Oracle e-business Suite

Form Personalization

Explication : On ne peut pas autoriser de modification de certain sdes attributs CUF avec
l’interdiction de modification d’autre. Donc, on n’interdit pas la modification du CUF mais chaque
fois que le mauvais attribut sera modifié on affiche le message d’erreur.

Seq Description Niveau Activé


28 Interdire modification des attributs CUF des Panneau X
lignes de commande avec
status_code='TRO_ESA_SR_CREEE'

L’onglet Condition

Event Déclencheur WHEN-VALIDATE-RECORD


Obj. Déclencher LINE
Condition ${item.line.flow_status_code.database_value} =
('TRO_ESA_SR_CREEE')
and exists
(select 1
from oe_order_lines_all ol
where ol.line_id = :line.line_id
and ((nvl(ol.attribute1,'@') != nvl(:line.attribute1,'@'))
or (nvl(ol.attribute2,'@') != nvl(:line.attribute2,'@'))
or (nvl(ol.attribute5,'@') != nvl(:line.attribute5,'@'))
or (nvl(ol.attribute9,'@') != nvl(:line.attribute9,'@'))
or (nvl(ol.attribute7,'@') != nvl(:line.attribute7,'@'))
or (nvl(ol.attribute8,'@') != nvl(:line.attribute8,'@'))
or (nvl(ol.attribute11,'@') !=
nvl(:line.attribute11,'@'))
or (nvl(ol.attribute12,'@') !=
nvl(:line.attribute12,'@'))
or (nvl(ol.attribute13,'@') !=
nvl(:line.attribute13,'@'))
))
Mode de Pas en mode saisie interrogation
traitement
Niveau Responsabilité
Valeur TRO-ESA : Gestionnaire des prestations (exemple)

L’onglet Actions

Seq Type Description Langue Activé


10 Message All X
Type de message Erreur
Texte du message Vous ne pouvez modifier que les attributs "Groupe
Chef de Projet", "Site client origine", "Région client" ,
"Région TRO" et "Responsable".
Seq Type Description Langue Activé
11 Intégré All X
Type intégré RAISE FORM_TRIGGER_FAILURE

Page 16 / 25
Oracle e-business Suite

Form Personalization

Synchronisation des données


Description de besoins : Si les CUF sur la ligne de commande « Groupe chef de projet », « Site client
origine », « Région TRO », « Région client » et « Responsable » sont modifiés et si le statut de la ligne de
commande est « 3-SR Créée », alors il faut mettre à jour l’en-tête de la prestation.

Seq Description Niveau Activé


29 MAJ l'en-tête de la prestation et les opérations Panneau X
en statut "créée"

L’onglet Condition

Event Déclencheur WHEN-VALIDATE-RECORD


Obj. Déclencher LINE
Condition ${item.line.flow_status_code.database_value} =
('TRO_ESA_SR_CREEE')
and exists
(select 1
from oe_order_lines_all ol
where ol.line_id = :line.line_id
and ((nvl(ol.attribute3,'@') != nvl(:line.attribute3,'@'))
or (nvl(ol.attribute4,'@') != nvl(:line.attribute4,'@'))
))
Mode de Pas en mode saisie interrogation
traitement
Niveau Responsabilité
Valeur TRO-ESA : Gestionnaire des prestations (exemple)

L’onglet Actions

Seq Type Description Langue Activé


10 Intégré MAJ de la prestation All X
Type intégré Exécuter une procédure

Page 17 / 25
Oracle e-business Suite

Form Personalization

Argument ='Begin
update cs_incidents_all_b
set owner_group_id = '''|| ${item.line.attribute3.value} || '''
,incident_owner_id = '''|| ${item.line.attribute10.value} || '''
,resource_type = decode('''|| ${item.line.attribute10.value} ||
''', null, null, ''RS_EMPLOYEE'')
,external_reference = (select external_reference
from csi_item_instances

where instance_number='''||
${item.line.attribute4.value} || ''')
,last_update_date = Sysdate
,last_updated_by = fnd_global.user_id
where incident_number = '''|| ${item.line.attribute6.value} || '''
;

UPDATE cs_incidents_all_tl t
SET owner = (select resource_name from
TRO_esa_resource_v where resource_id = '''||
${item.line.attribute10.value} || ''' and group_id = '''||
${item.line.attribute3.value} || '''),
group_owner = (select group_name from
JTF_RS_GROUPS_VL where group_id = '''||
${item.line.attribute3.value} || '''),
last_update_date = Sysdate,
last_updated_by = fnd_global.user_id
WHERE exists (select 1
from cs_incidents_all_b b
where
t.incident_id =b.incident_id
and
incident_number = '''|| ${item.line.attribute6.value} || ''')
;
update cs_incidents_b_sec
set
(CUSTOMER_PRODUCT_ID,INSTALL_SITE_ID,INCIDENT
_LOCATION_ID) = (select instance_id, location_id,
location_id
from csi_item_instances

where instance_number='''||
${item.line.attribute4.value} || ''')
,last_update_date = Sysdate
,last_updated_by = fnd_global.user_id
where incident_number = '''|| ${item.line.attribute6.value} || '''
;
end'
Seq Type Description Langue Activé
11 Intégré MAJ les operations All X
Type intégré Exécuter une procédure
Argument ='Begin
update jtf_tasks_b t
set owner_id = nvl('''|| ${item.line.attribute10.value} || ''','''||
${item.line.attribute3.value} || ''')
,attribute1 = '''|| ${item.line.attribute4.value} || '''
,owner_type_code = decode ('''||
${item.line.attribute10.value} || ''',null,
''RS_GROUP'',''RS_EMPLOYEE'')
,object_version_number = object_version_number + 1

Page 18 / 25
Oracle e-business Suite

Form Personalization

,last_update_date = Sysdate
,last_updated_by = Fnd_Global.user_id
where task_status_id =10005
and exists (select 1
from cs_incidents_all_b i
where t.source_object_id = i.incident_id
and i.INCIDENT_NUMBER = '''||
${item.line.attribute6.value} || ''')
;
end'

Page 19 / 25
Oracle e-business Suite

Form Personalization

Exemple d’utilisation Form Personnalisation sur panneau CSXSRISR


Nom de la fonction Nom du Mode Diagnost.
panneau
CSXSRISV CSXSRISR Désactivé

Contrôle de la modification du champ


Description de besoin : Création d’un forms perso sur l'écran des demandes de services, qui
génère un message warning si on change le statut de l'opération à "BT exportable" et si la
commande client n'est pas renseignée sur la prestation

Responsabilité : TRO-ESA : Gestionnaire des prestations


Menu : Recherche des prestations

Modification avec Form Personnalisation


Menu : Aide / Diagnostique / Code Personnalisé / Personnaliser

Créée :

Seq Description Niveau Activé


74 Contrôle sur statut : BT Exportable avec N° Cde Panneau X
Client (not null)

L’onglet Condition

Event Déclencheur WHEN-VALIDATE-RECORD


Obj. Déclencher CREATE_TASK
Condition :CREATE_TASK.TASK_STATUS='BT Exportable'
and :INCIDENT_TRACKING.PROJECT_NUMBER is
null
Mode de Pas en mode saisie interrogation
traitement
Niveau Responsabilité
Valeur TRO-ESA : Gestionnaire des prestations (exemple)

L’onglet Actions

Seq Type Description Langue Activé


10 Message All X
Type du message Avertissement
Texte du message Le numéro de commande client n'est pas renseigné.
Veuillez le demander avant d'envoyer le technicien sur
site

Synchronisation informations
Description de besoin
Il est demandé de pouvoir synchroniser certaines données entre tâches.
A partir du moment où la tâche parent est renseignée, la tâche fille héritera de certaines
informations de la tâche parent :

1. Si la tâche parent est une tâche « Terrain » (type de tâche : PI – Terrain)

La tâche fille héritera des valeurs des champs :

Page 20 / 25
Oracle e-business Suite

Form Personalization

- dates programmées (début et fin)


- type resp. action
- technicien
- Créneau horaire (ATTRIBUTE4)
- N° OT (ATTRIBUTE8)

2. Si la tâche parent est une tâche « Ingénierie » (type de tâche : PI – Ingénierie)

La tâche fille héritera des valeurs des champs :


- N° OT

La synchronisation doit se faire :


- lorsque le n° de tâche parent est renseigné
- à chaque fois qu’une des données identifiée ci-dessus est modifiée sur la tâche parent, selon
le type de la tâche parent.
-

Seq Description Niveau Activé


3 Héritassions d'informations de la tâche parent Panneau X
(Type= `PI Terrain')

L’onglet Condition

Event Déclencheur WHEN-VALIDATE-RECORD


Obj. Déclencher CREATE_TASK
Condition :CREATE_TASK.PARENT_TASK_NUMBER is not null
and exists (
SELECT 1
FROM jtf_tasks_b t, jtf_task_types_vl tt
WHERE t.task_type_id = tt.task_type_id
AND tt.NAME = 'PI - Terrain'
AND t.task_id = :create_task.parent_task_id)
Mode de Pas en mode saisie interrogation
traitement
Niveau Responsabilité
Valeur TRO-ESA : Gestionnaire des prestations (exemple)

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété sheduled_start_date All X
Type d’objet Elément
Objet cible CREATE_TASK.SCHEDULED_START_DATE
Nome de propriété VALUE
Valeur =(select to_char((scheduled_start_date),'DD-MON-
YYYY HH24:MI:SS')
from jtf_tasks_b
where
task_id=${item.create_task.parent_task_id.value})
Seq Type Description Langue Activé
11 Propriété sheduled_end_date All X
Type d’objet Elément
Objet cible CREATE_TASK.SCHEDULED_END_DATE
Nome de propriété VALUE
Valeur =(select to_char((scheduled_end_date),'DD-MON-
YYYY HH24:MI:SS')
from jtf_tasks_b where
task_id=${item.create_task.parent_task_id.value})
Seq Type Description Langue Activé

Page 21 / 25
Oracle e-business Suite

Form Personalization

12 Propriété attribute4 All X


Type d’objet Elément
Objet cible CREATE_TASK.ATTRIBUTE4
Nome de propriété VALUE
Valeur =(select attribute4
from jtf_tasks_b
where
task_id=${item.create_task.parent_task_id.value})
Seq Type Description Langue Activé
13 Propriété Attribute8 All X
Type d’objet Elément
Objet cible CREATE_TASK.ATTRIBUTE8
Nome de propriété VALUE
Valeur =(select attribute8
from jtf_tasks_b
where
task_id=${item.create_task.parent_task_id.value})

Seq Description Niveau Activé


4 Mise à jour des données de la tâche fille (Type Panneau X
de tâche parent = 'PI Terrain')

L’onglet Condition

Event Déclencheur WHEN-VALIDATE-RECORD


Obj. Déclencher CREATE_TASK
Condition :create_task.TASK_TYPE = 'PI - Terrain'
and exists (select 1
from jtf_tasks_b t
where t.parent_task_id
=:create_task.task_id)
Mode de Pas en mode saisie interrogation
traitement
Niveau Responsabilité
Valeur TRO-ESA : Gestionnaire des prestations (exemple)

L’onglet Actions

Seq Type Description Langue Activé


10 Intégré All X
Type d’intégré Elément
Argument ='begin
update jtf_tasks_b
set scheduled_start_date =to_date('''||
${item.create_task.scheduled_start_date.value}||''', ''yyyy/mm/dd
HH24:MI:SS''),
scheduled_end_date =to_date('''||
${item.create_task.scheduled_end_date.value}||''', ''yyyy/mm/dd
HH24:MI:SS''),
attribute4 = '''||${item.create_task.attribute4.value}||''',
attribute8 = '''||${item.create_task.attribute8.value}||'''
where parent_task_id='||${item.create_task.task_id.value}||'
and 1=1;
end 'and 1=1;
end '

Page 22 / 25
Oracle e-business Suite

Form Personalization

Seq Description Niveau Activé


5 Héritassions d'informations de la tâche parent Panneau X
(Type= 'PI - Ingénierie')

L’onglet Condition

Event Déclencheur WHEN-VALIDATE-RECORD


Obj. Déclencher CREATE_TASK
Condition :CREATE_TASK.PARENT_TASK_NUMBER is not null
and exists (select 1
from jtf_tasks_b t,jtf_task_types_vl tt
where t.task_type_id = tt.task_type_id
and tt.name = 'PI - Ingénierie'
and t.task_id =
:create_task.parent_task_id)
Mode de Pas en mode saisie interrogation
traitement
Niveau Responsabilité
Valeur TRO-ESA : Gestionnaire des prestations (exemple)

L’onglet Actions

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété ATTRIBUTE8 All X
Type d’objet Elément
Objet cible CREATE_TASK.ATTRIBUTE8
Nome de VALUE
propriété
Valeur =(select attribute8
from jtf_tasks_b
where
task_id=${item.create_task.parent_task_id.value})

Seq Description Niveau Activé


6 Mise à jour des données de la tâche fille (Type Panneau X
de tâche parent = ‘PI – Ingénierie’)

L’onglet Condition

Event Déclencheur WHEN-VALIDATE-RECORD


Obj. Déclencher CREATE_TASK
Condition :create_task.TASK_TYPE = 'PI - Ingénierie'
Mode de Pas en mode saisie interrogation
traitement
Niveau Responsabilité
Valeur TRO-ESA : Gestionnaire des prestations (exemple)

L’onglet Actions

Seq Type Description Langue Activé


10 Intégré All X
Type d’intégré Elément
Argument ='DECLARE

Page 23 / 25
Oracle e-business Suite

Form Personalization

p_parent_task_id NUMBER := '||${item.create_task.task_id.value}||' ;


l_attribute8 VARCHAR2 (50) := '''||
${item.create_task.attribute8.value}||''';
l_resource_type_code VARCHAR2 (20);
l_resource_id NUMBER;
l_new_task_id NUMBER;
BEGIN
WHILE p_parent_task_id != 0
LOOP
UPDATE jtf_tasks_b
SET attribute8 = l_attribute8
WHERE parent_task_id = p_parent_task_id;

COMMIT;

BEGIN

SELECT task_id
INTO l_new_task_id
FROM jtf_tasks_b
WHERE parent_task_id = p_parent_task_id;

EXCEPTION
WHEN NO_DATA_FOUND
THEN
l_new_task_id :=0;
END;

IF l_new_task_id IS NULL
THEN
p_parent_task_id := 0;
ELSE
p_parent_task_id := l_new_task_id;
END IF;
END LOOP;
END'

Initialisation de valeur par défaut

Seq Description Niveau Activé


21 Onglet Tache: Type resp. action par défaut Fonction X

L’onglet Condition

Event Déclencheur WHEN-NEW-ITEM-INSTANCE


Obj. Déclencher CREATE_TASK.ASSIGNEE_TYPE
Condition ${item.create_task.assignee_type.value} Is Null
Mode de Pas en mode saisie interrogation
traitement
Niveau Responsabilité
Valeur TRO-ESA : Gestionnaire des prestations (exemple)

L’onglet Actions

Seq Type Description Langue Activé


10 Propriété ASSIGNEE_TYPE_CODE All X
Type d’objet Elément
Objet cible CREATE_TASK.ASSIGNEE_TYPE_CODE

Page 24 / 25
Oracle e-business Suite

Form Personalization

Nome de VALUE
propriété
Valeur =Select
Fnd_Profile.Value('INC_DEFAULT_INCIDENT_TASK_A
SSIGNEE_TYPE')
From dual
Seq Type Description Langue Activé
11 Propriété ASSIGNEE_TYPE All X
Type d’objet Elément
Objet cible CREATE_TASK.ASSIGNEE_TYPE
Nome de VALUE
propriété
Valeur =Select o.name
From jtf_objects_vl o
Where o.object_code =
Fnd_Profile.Value('INC_DEFAULT_INCIDENT_TASK_A
SSIGNEE_TYPE')

Page 25 / 25