2011-08-05 2 views
0

Je rencontre des problèmes lors de la création d'un processus pour masquer une région en pl/sql. Quelqu'un peut-il donner un exemple de la façon de le faire?Créer un processus de page pour masquer une région

Réservoirs.

+0

Que voulez-vous dire par "cacher une région en pl/sql"? Vous pouvez le masquer avec JavaScript ou les actions dynamiques, ou vous pouvez ne pas le rendre conditionnellement en définissant une condition sur la région. –

+0

J'essayais de le faire conditionnellement dans la région mais cela ne fonctionne pas. J'ai créé un élément ': P1_HIDDEN' et ensuite, dans un processus, je fais cela pour y mettre une valeur' DECLARE a NUMBER; b NUMÉRO; BEGIN comptage de sélection (1) dans un de TN_HISTORY_ITEMID où itemid en (id sélectionner à partir de TN_TREE où pid = (id sélectionner à partir de tn_tree où pid =: P1_ID)); sélectionnez count (1) dans b de surv_host_data où id_client =: P1_ID; si b <> 0 ET a = 0 alors : P1_HIDDEN: = 3; elsif a = 0 puis : P1_HIDDEN: = 3; elsif b = 0 puis : P1_HIDDEN: = 3; sinon : P1_HIDDEN: = 3; fin Si; End; 'mais ne fonctionne pas. – macwadu

Répondre

1

Le cas échéant, vous pouvez placer le PL/SQL dont vous avez besoin directement dans la condition, en utilisant le type de condition "Corps de fonction PL/SQL renvoyant un booléen". Par exemple (en utilisant votre code d'en haut, qui ne semble pas tout à fait raison de me - tous les chemins mènent à hidden = 3!):

DECLARE 
a NUMBER; 
b NUMBER; 
hidden NUMBER; 
BEGIN 
select count(1) into a from TN_HISTORY_ITEMID where itemid in (select id from TN_TREE where pid = (select id from tn_tree where pid =:P1_ID)); 
select count(1) into b from surv_host_data where id_client = :P1_ID; 
if b <> 0 AND a = 0 then hidden := 3; 
elsif a = 0 then hidden := 3; 
elsif b = 0 then hidden := 3; 
else hidden := 3; 
end If; 

return (hidden = 3); 
End; 

Si vous avez besoin de le faire avec un processus et un élément de page, Ensuite, vous devez vous assurer que l'élément est rendu avant la région et que le processus s'exécute avant que la région à masquer ne soit rendue. Sinon, au moment où l'article est défini, il sera trop tard.

+0

Oui, c'était une erreur lorsque vous avez passé et copié. Mais avec cela je ne peux pas définir la valeur de ': P1_HIDDEN' avec une valeur. – macwadu

+0

Vous ne savez pas ce que vous voulez dire - ': P1_HIDDEN: = 3;' définit la valeur de P1_HIDDEN. –

+0

J'ai cet élément sans aucune valeur et avec un processus que vous voulez lui attribuer une valeur. Est-ce possible? – macwadu

Questions connexes