2016-05-04 1 views
2

Je suis en train de faire ce qui suit:valeurs Oracle Set Apex avant de passer à une autre page, Les articles sont tous nuls

  • utilisateur anonyme avec une clé unique entre dans une Survey Démarrer code et clique
  • Le bouton doit appeler un processus plsql pour remplir certains éléments de page masqués.
  • Une fois les valeurs définies, connectez-vous à la page d'enquête qui utilisera les éléments masqués pour filtrer les résultats.

Le problème

Peu importe ce que je l'ai essayé jusqu'à présent les éléments fixés par le processus sont nuls quand je reçois à la page suivante. Je suppose que c'est parce qu'il n'a pas soumis. La façon dont je l'ai en ce moment est:

  • bouton accède à la page suivante
  • Nouveau processus mis lorsque le bouton est pressé fixe les valeurs des éléments de page.

Au moment où il arrive à la page suivante, ils sont à nouveau vides.

Je pourrais définir le bouton pour soumettre et faire la branche dans le traitement mais je pense que la soumission se produirait avant que les valeurs soient définies. Je trouve cela déroutant dans quel ordre ces choses se produisent.

Puis-je obtenir de l'aide pour faire ce travail, et y a-t-il un bon article pour mieux comprendre ce domaine?

est ici le code du processus qui met les valeurs:

Begin 
 

 
select id into :P1_pat_id 
 
from lic_paticipent 
 
where unique_id = :P1_unique_code; 
 

 
select sur_id into :P1_sur_id 
 
from lic_paticipent 
 
where unique_id = :P1_unique_code; 
 

 
select id into :P1_first_res_id 
 
    from lic_result r 
 
    where r.pat_id = :P1_pat_id 
 
    and r.sur_id = :P1_sur_id 
 
    and r.qop_id is null 
 
    and rownum = 1; 
 

 
End;

Merci d'avance pour votre aide.

+0

peut vous poster le processus qui peuplait les éléments de page cachés? Veux juste vous assurer que vous peuplez les éléments de page à droite. Si vous remplissez des éléments de page d'une autre page, alors c'est ce qui ne va pas avec votre code. – brenners1302

+0

Je l'ai ajouté à la question ci-dessus, le processus a rempli trois éléments pour la page 1 et le processus est sur la page 1. – AndrewT

+0

alors comment filtrez-vous le rapport dans l'autre page? – brenners1302

Répondre

2

OK je l'ai résolu et il est mon jeu autour d'une autre question qui tubé il. J'avais placé les champs cachés à "toujours remplaçant" au lieu de "seulement quand null" ainsi le processus de plsql a mis à jour la session mais pas l'article ainsi quand j'ai fait un soumettre l'élément nul remplacé ce que le processus de plsql avait placé. Je m'attendais à ce que lorsque la session a été mise à jour, elle mettrait également à jour l'élément. Je l'ai mis au point en rendant le champ caché visible et je pouvais voir qu'il était vide mais avait une valeur lorsque j'ai vérifié l'état de la session.

enter image description here

2

Les éléments de page cachés dans votre page actuelle ne peuvent pas être utilisés dans d'autres pages à moins que votre page actuelle ne soit une page globale. Vous devez transmettre la valeur à un autre élément de page dans l'autre page.

Essayez ceci:

  • Aller à l'autre page et créer des objets cachés pour attraper la valeur à transmettre de la première page.

  • Retour à la première page et conserver votre processus et créer un processus de branche. puis définissez-le pour rediriger vers une autre page. alors vous verrez Réglez les articles ci-dessous. Mettez vos objets cachés dans l'autre page sur le côté gauche puis vos éléments cachés dans votre page actuelle dans le côté droit dans ce format & P1_NEW. (la période)

Il devrait ressembler à ceci

Set Articles

P11_PAT_ID ------------------- ------- & P1_PAT_ID.


P11_SUR_ID -------------------------- & P1_SUR_ID.

etc.

+0

Pouvez-vous s'il vous plaît expliquer cette déclaration plus loin "Les éléments de page cachés dans votre page actuelle ne peuvent pas être utilisés dans d'autres pages sauf si votre page actuelle est une page globale, vous devez la passer à un autre élément de la page. " J'ai filtré le reporting dans une clause where précédemment à partir d'éléments cachés sur les pages, donc je ne suis pas sûr que ce soit vrai. – AndrewT

+0

en fait, ce n'est pas seulement caché, tous les éléments de la page peuvent être exclusivement utilisés uniquement par la même page. Eh bien, je n'ai pas dit que vous ne pouvez pas utiliser des éléments cachés pour filtrer les rapports, j'ai dit que si l'élément est créé à partir d'une autre page et que vous avez essayé de l'utiliser dans une autre page, vous n'obtiendrez aucun résultat. Par exemple, vous avez utilisé P1_NEW pour filtrer le rapport à la page 11. À moins d'avoir un élément nommé P1_NEW à la page 11, lorsque vous soumettez votre page de processus 11, seuls tous les éléments existants sur sa page sont soumis. – brenners1302

+0

Je référence et définir des éléments de page à partir d'autres pages tout le temps et cela fonctionne que voulez-vous dire par "ce n'est pas seulement caché, tous les éléments de la page peuvent être utilisés exclusivement par la même page"? – AndrewT