PCS – Ajout d’une dropbox basée sur un service REST

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 :

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)

Création d'une rule pour le remplissage d'une dropbox

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;
}