-
[FORMS] parameter_list
Bonjour,
Pour me simplifier la vie lors de la migration de formS en 3/3, je souhaite itérer dynamiquement sur une parameter_list chargée avant un run_product ('REPORT' )
Comment puis-je acceder à la collection de l'objet ? ( count, index, clés, values, type )
Merci
-
GET_PARAMETER_ATTR
La fonction GET_PARAMETER_ATTR devrait faire ce que vous une partie de ce que vous désirez. Ce n'est cependant pas possible de boucler dans une parameter list. Vous devez savoir ce que vous désirez y mettre avant.
Une solution serait peut-être de travailler dans un array, y faire vos manipulations (boucles par exemple, et supprimer du l'array ceux qui ne vous intéressent pas...) et ensuite, avec les éléments restant, créer la parameter list.
En espérant répondre à votre demande
-
Cela ne correspond pas vraiement à ce que je souhaite faire ...
Sur un projet charette que l'on vient de me confier , je dois porter en archi 3/3 une appli d'environ 300 formS 6I C/S....
Pour ne pas me planter et évaluer la tâche de travail , j'ai identifié les forms faisant appel en autres au TEXT_IO , DDE, OLE2 et RUN_PRODUCT ( qui ne fonctionnement pas en 3/3 ) à l'aide de JDAPI.
J'ai une 50aine de forms qui font appel à des reports par run_product et je n'ai pas les ressources pour modifier l'ensemble de ces formes!
L'idée est donc de replacer le code RUN_PRODUCT par un WEB.SHOW en lui passant les paramètres concaténés de la param_list d'origine. ( Ca je sais identifier et replacer ce code au moyen de JDAPI ).
L'objectif est de créer une fonction capable de prendre en entrée une param_list et de me retourner du varchar2.
Voila le PB ... je ne sais pas s'i c'est possible sous forms ..
En attendant je vais essayer d'écriir un bean auquel je passerais en parametre le pl_id et voir ce que je vais pouvoir en tirrer !
Je ne suis pas convaincu .. je pense que je vais passer un pointeur en non une collection ...
A suivre .. Si qqun à une idée , elle serait la bienvenue .
-
Vous ne pouvez pas parcourir le contenu d'une liste de paramètres, par contre vous pouvez intercepter les ordres ADD_PARAMETER_LIST .....
-
Bonjour,
En fait, avec un peu de recul, c'est ce que pense être le + simple ... ( tu as raison !)
Je pense procéder de la façon suivante :
1. Lecture dans une StringBuffer du contenu texte de la procédure ou du trigger,
2. Recherche des chaines de caractères dont le début sera : add_parameter :
Code:
Add_Parameter(list_id,'P_STE',TEXT_PARAMETER,to_char(:fcdfent.ste));
3. Append dans un StringBuffer des valeurs trouvées ( P_STE= to_char(:fcdfent.ste) & ...
4. remplacer la ligne run_product par la méthode d'impression utilisée en 3/3 : web_showdocument ( ....., StringBuffer , ...)
Merci ...