Lors de la réalisation d’un formulaire Freevo (webfom) dans PCS, il faut savoir que l’ajout d’un champs de type Dropbox nécessite l’écriture d’un peu de Javascript. Le plus souvent, il faut aller alimenter les données du champs à partir d’un appel de service REST.
J’ai créé les services REST suivants qui sont accessibles en https (mode GET seulement) )et qui ne nécessitent pas d’authentification particulière :
- https://apex.oracle.com/pls/apex/teamfr/hr/country (liste de 35 pays)
- https://apex.oracle.com/pls/apex/teamfr/hr/country/{code} (détail sur un pays à partir de son code sur deux lettres en majuscule)
- https://apex.oracle.com/pls/apex/teamfr/hr/empinfo/ (liste de 14 employée)
Le service REST est fourni ici par une instance APEX à partir de la vénérable table EMP.
Source: Documentation Oracle PCS exemples de Rules)
Il faut ajouter un champs de type dropbox dans la webform et ajouter une Rules avec le code suivant:
(on suppose que le champs s’appelle userlist)
/*member empno, ename, items*/ var emp; if(form.load) { var x = ''; eval('x=' + http.get('https://apex.oracle.com/pls/apex/teamfr/hr/empinfo/')); var opts1 = []; var opts2 = []; for (var i=0; i < x.items.length; i++) { if (x.items[i]) { opts1[i] = x.items[i].ename; opts2[i] = x.items[i].empno; } } userlist.options=opts1; userlist.value=opts2; }