Liaison à une procédure de persistence WebFOCUS

Comment :

Vous pouvez fournir des capacités de mise à jour directement de votre rapport en le liant à une procédure Maintain WebFOCUS. Le lien est une adresse URL pour le Servlet WebFOCUS et comporte la commande IBIF_cmd avec la syntaxe MNTCON RUN ou MNTCON EX pour appeler une procédure formulaire Maintain WebFOCUS existante. Le lien peut envoyer le contrôle à un formulaire Maintain, ou exécuter une procédure Maintain en mode de traitement par lot qui n'affiche pas d'interface utilisateur.


Haut de page

x
Syntaxe : créer un lien vers une procédure Maintain de WebFOCUS
TYPE=type, [subtype, ] URL=/ibi_apps/WFServlet? IBIF_cmd='MNTCON
  {RUN|EX} procname' IBIS_passthru='on' IBIS_connect='on'
  [(parameters...)], $

où :

type
Identifiez le composant de rapport que vous sélectionnez dans le navigateur web pour exécuter le lien. L'attribut TYPE et sa valeur doivent apparaître au début de la déclaration.
subtype
sont des attributs supplémentaires, tels que COLUMN, LINE ou ITEM, nécessaires pour identifier le composant de rapport que vous formatez. Pour en savoir plus au sujet de l'identification de composants de rapport, consultez Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS.
procname
Est le nom de la procédure de persistence WebFOCUS.
GET
Sont les valeurs envoyées à la procédure de persistence WebFOCUS. Pour plus d'informations, consultez Création de paramètres.


Exemple : Liaison à une procédure de persistence WebFOCUS

Le rapport ci-après vous permet de mettre à jour le prix d'unité d'un produit directemment à partir du rapport qui relie le rapport à la procédure de persistence appropriée.

Voici la requête de rapport :

TABLE FILE GGPRODS
PRINT PRODUCT_DESCRIPTION VENDOR_CODE VENDOR_NAME UNIT_PRICE 
BY PRODUCT_ID
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=DATA, COLUMN=N1,
    URL=/ibi_apps/WFServlet?(PRODUCT_ID=N1 IBIF_cmd='MNTCON RUN GGUPD1' 
IBIS_passthru=\
     'on' IBIS_connect='on'), $
ENDSTYLE
END

Voici la procédure de persistence WebFOCUS :

MAINTAIN FILE ggprods
module import(mntuws FOCCOMP)
$$Declarations
Declare pcode/a4;
Case Top
compute timechk/a0=HHMMSS();
document.referer='/ibi_apps/WFServlet?IBIF_ex=ggprod&IBIS_connect
=on'||
'&timechk='|timechk;
compute pcode = IWC.getAppCGIValue("PRODUCT_ID");
Infer ggprods.prods01.product_id into ggstk1;
Reposition PRODUCT_ID
Stack clear ggstk1 ;
For all next ggprods.prods01.product_id into ggstk1
 where product_id eq pcode;
Winform Show Form1;
EndCase
Case Updte1
for all Update ggprods.prods01.unit_price from ggstk1(1) ;
EndCase
END

Remarque : ceci est un formulaire interactif qui affiche des données ; il est créé dans Developer Studio.

Voici le rapport :

Lorsque vous cliquez sur un code de produit, la procédure de persistence ggupd1 est appelé, ce qui utilise la fonction IWC.getAppCGIValue afin de récupérer la valeur correcte.

Le formulaire 1 de la procédure de persistence WebFOCUS ggupd1 s'affiche et vous pouvez mettre à jour le prix d'unité du produit :


WebFOCUS