Les Invites BO

6
Les invites BO – part III – Utilisation sous Designer On a vu la définition des invites dans le rapport, mais on peut aussi les créer directement dans l’univers, pour pouvoir les utiliser dans les requêtes et pour assurer la cohérence des noms des invites du parc des documents d’entreprise. La syntaxe est donnée comme d’habitude dans l’aide, mais on peut récupérer facilement la formule définitive en visualisant le sql généré dans l’éditeur de requête. Bizarrement les 2 clients donnent des résultats différents, deski génère un @variable('Entrez une date :') Alors que webi lui écrit un @prompt('Entrez une date :','D',,Mono,Free,Persistent,,User:0) Les 2 fonctions sont acceptées, mais il vaut mieux utiliser la fonction @prompt qui est plus restrictive et apporte plus d’options que @variable. La syntaxe de @prompt est la suivante : @Prompt('message','type',[{'value1'[,'value2',...]},class_nameobject_name'],mono/ multi,free/constrained [,Persistent/Not_Persistent,[{'value1'[,'value2',...]} [, [User:#] [, Optional ]] ] ) Les paramètres sont : message / libellé de l’invite type de donnée : A=Alpha, D=Date, N=Numérique valeurs affichées : on peut prendre celles d’un objet de l’univers ( LOV ) en donnant le nom complet de l’objet ou les lister en les enclosant entre accolades mono/multi : mono si on ne peut prendre qu’une seule valeur, multi si on peut en prendre plusieurs (pour l’opérateur « dans liste » ) free/constrained : free si l’utilisateur peut saisir ce qu’il veut, constrained s’il ne peut choisir que dans les valeurs affichées. Les paramètres suivants ne sont pas documentés dans l’aide BO : Persistent/Not_Persistent : Persistent garde la dernière valeur sélectionnée lors de l’affichage de l’invite, Not_Persistent non. Par défaut c’est Not_Persistent Valeur par défaut : si ce paramètre est laissé à vide aucune valeur par défaut n’est utilisée, si on a plusieurs valeurs il faut les encadrer par des { } et séparer par des , Attention, il faut que la valeur existe dans les valeurs affichées ( 3ème paramètre ) User:#: Ordre de l’invite dans l’affichage, pour éviter de préfixer les invites par 1), 2), 3) … Optional : indique si l’invite est facultative ( à partir de XI r3 )

Transcript of Les Invites BO

Page 1: Les Invites BO

Les invites BO – part III – Utilisation sous Designer

On a vu la définition des invites dans le rapport, mais on peut aussi les créer directement dans l’univers, pour pouvoir les utiliser dans les requêtes et pour assurer la cohérence des noms des invites du parc des documents d’entreprise.

La syntaxe est donnée comme d’habitude dans l’aide, mais on peut récupérer facilement la formule définitive en visualisant le sql généré dans l’éditeur de requête. Bizarrement les 2 clients donnent des résultats différents, deski génère un

@variable('Entrez une date :')

Alors que webi lui écrit un

@prompt('Entrez une date :','D',,Mono,Free,Persistent,,User:0)

Les 2 fonctions sont acceptées, mais il vaut mieux utiliser la fonction @prompt qui est plus restrictive et apporte plus d’options que @variable.

La syntaxe de @prompt est la suivante :

@Prompt('message','type',[{'value1'[,'value2',...]},class_nameobject_name'],mono/multi,free/constrained [,Persistent/Not_Persistent,[{'value1'[,'value2',...]} [, [User:#] [, Optional ]] ] )

Les paramètres sont :

message / libellé de l’invite type de donnée : A=Alpha, D=Date, N=Numérique valeurs affichées : on peut prendre celles d’un objet de l’univers ( LOV ) en donnant le nom

complet de l’objet ou les lister en les enclosant entre accolades mono/multi : mono si on ne peut prendre qu’une seule valeur, multi si on peut en prendre

plusieurs (pour l’opérateur « dans liste » ) free/constrained : free si l’utilisateur peut saisir ce qu’il veut, constrained s’il ne peut choisir que

dans les valeurs affichées.

Les paramètres suivants ne sont pas documentés dans l’aide BO :

Persistent/Not_Persistent : Persistent garde la dernière valeur sélectionnée lors de l’affichage de l’invite, Not_Persistent non. Par défaut c’est Not_Persistent

Valeur par défaut : si ce paramètre est laissé à vide aucune valeur par défaut n’est utilisée, si on a plusieurs valeurs il faut les encadrer par des { } et séparer par des ,Attention, il faut que la valeur existe dans les valeurs affichées ( 3ème paramètre )

User:#: Ordre de l’invite dans l’affichage, pour éviter de préfixer les invites par 1), 2), 3) … Optional : indique si l’invite est facultative ( à partir de XI r3 )

Exemples :@Prompt(‘Entrez le code pays’,'A’,'Zones\Code Pays’,mono,free)Invite de type Caractère ne permettant de sélectionner qu’une valeur, saisie possible@Prompt(‘Entrez le code pays’,'A’,'Zones\Code Pays’,multi,constrained,Not_Persistent,{‘US’,'FR’},User:1)Invite de type Caractère ne permettant de sélectionner plusieurs valeurs, saisie impossible., ne sélectionne pas par défaut les dernières valeurs choisies mais prend US et FR, affichage en 1ère position.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Page 2: Les Invites BO

select SOF_Get_Client(RGIM.regid) as codeCLT, REG.regreference, REG.regdtreglt as DateREG, REG.regcomment,RGIM.rubid,RGIM.regid,SOF_MT_Debit(RGIM.regid,RGIM.rimordre) as DEBIT, SOF_MT_Credit(RGIM.regid,RGIM.rimordre) as CREDIT, RGIM.rimsens , ACTCODE

from regimputation RGIM, reglement REG , ACTEUR ACTEUR_DOSS_CLIENTwhere RGIM.Regid=reg.regid andRGIM.rubid =@variable( 'Type Acteur')and SOF_Get_Client(@Prompt('Entrez le code pays','A',,multi,free))

+++++++++++++++++++++++++++++++++++++++++++++++++

select SOF_Get_Client(RGIM.regid) as codeCLT, REG.regreference, REG.regdtreglt as DateREG, REG.regcomment,RGIM.rubid,RGIM.regid,SOF_MT_Debit(RGIM.regid,RGIM.rimordre) as DEBIT, SOF_MT_Credit(RGIM.regid,RGIM.rimordre) as CREDIT, RGIM.rimsens , ACTCODE

from regimputation RGIM, reglement REG , ACTEUR ACTEUR_DOSS_CLIENTwhere RGIM.Regid=reg.regid andand codeCLT in @Prompt('Acteur/client','A',,,Multi,constrained)

+++++++++++++++++++++++++++++++++++++++++++++++++

CREATE OR REPLACE FUNCTION SOF_Get_Client(nRegid IN reglement.regid%TYPE) RETURN VARCHAR2ISnActid NUMBER;sNumCLT VARCHAR2(50);

BEGIN SELECT actid into nActid from reglement where regid=nRegid; select actcode || '-' || Actlibcourt into sNumCLT from acteur where actid=nActid;

RETURN sNumCLT;

END;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

TO_DATE(@variable('Date fin période JJ/MM/AAAA ?'),'DD/MM/YYYY')@Prompt('Exclure les mouvements lettrés des comptes avec lettrage ?','A',{'Non','Oui'},,)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++(SELECT AUDITECRITURE.AECPIECENUM,

Page 3: Les Invites BO

PA_BO.F_CONVERSIONDEVISE(AUDITECRITURE.DEVCODECOMPTA,@Prompt('Devise d''édition','A',,,), decode(AUDITECRITURE.AECDEBITCREDIT,'D',AUDITECRITURE.AECMTLIGNECOMPTA/100,0) ,to_date(@Prompt('Date de contre-valeur JJ/MM/AAAA','A',,,),'DD/MM/YYYY')), PA_BO.F_CONVERSIONDEVISE(AUDITECRITURE.DEVCODECOMPTA,@Prompt('Devise d''édition','A',,,), decode(AUDITECRITURE.AECDEBITCREDIT,'C',AUDITECRITURE.AECMTLIGNECOMPTA/100,0),to_date(@prompt('Date de contre-valeur JJ/MM/AAAA','A',,,),'DD/MM/YYYY')), AUDITECRITURE.AECECRLIBELLE, AUDITECRITURE.AECDTEXIGIBILITE, AUDITECRITURE.AECIDLETTRAGE, AUDITECRITURE.AECDOSNUM, AUDITECRITURE.AECDOSAVENANT, AUDITECRITURE.AECDOSNUM || '/' || LPAD(TO_CHAR(AUDITECRITURE.AECDOSAVENANT),2,'0'), IMMOTRANCHE.ITRNOM, ACTEUR_DOSS_CLIENT.ACTNOM, AUDITECRITURE.AECROLCODE, AUDITECRITURE.AECACTCODE, DOSSIER.TPGCODE, LANTPROFILGESTION.TPGLIBELLE

FROM AUDITECRITURE, UTILISATEUR UTILISATEUR_AEC_ACTEUR_SOC, IMMOTRANCHE, ACTEUR ACTEUR_DOSS_CLIENT, UTILISATEUR UTILISATEUR_DOSS_CLIENT, DOSSIER, LANTPROFILGESTION, UNITEGESTION UGE_AEC_ACTEUR_SOC, ACTEUR ACTEUR_SOC, DOSACTEUR, UNITEGESTION UGE_DOSS_CLIENT

WHERE

( AUDITECRITURE.AECDOSNUM=DOSSIER.DOSNUM(+) AND AUDITECRITURE.AECDOSAVENANT = DOSSIER.DOSAVENANT(+) AND F_PLIDSOCGEST(AUDITECRITURE.AECACTCODESOC) = DOSSIER.ACTID(+) )AND ( AUDITECRITURE.AECITRNUM=IMMOTRANCHE.ITRNUM(+) ANDF_PLIDSOCGEST(AUDITECRITURE.AECACTCODESOC) = IMMOTRANCHE.ACTID(+) ) AND ( DOSSIER.DOSID=DOSACTEUR.DOSID ) AND ( DOSACTEUR.ROLCODE IN ('CLIENT','EMPRUNT') AND DOSACTEUR.DACDTFIN IS NULL ) AND ( DOSACTEUR.ACTID=ACTEUR_DOSS_CLIENT.ACTID AND ACTEUR_DOSS_CLIENT.PAYCODE=@variable('Code Pays') ) AND ( AUDITECRITURE.AECACTCODESOC=ACTEUR_SOC.ACTCODE AND ACTEUR_SOC.PAYCODE=@variable('Code Pays') ) AND ( ACTEUR_DOSS_CLIENT.UGECODE=UGE_DOSS_CLIENT.UGECODE AND ACTEUR_DOSS_CLIENT.PAYCODE=@variable('Code Pays') ) AND ( UGE_DOSS_CLIENT.UGECODE=UTILISATEUR_DOSS_CLIENT.UGECODE and UTILISATEUR_DOSS_CLIENT.UTICODE = @variable('BOUSER') ) AND ( ACTEUR_SOC.UGECODE=UGE_AEC_ACTEUR_SOC.UGECODE AND ACTEUR_SOC.PAYCODE=@variable('Code Pays') ) AND ( UGE_AEC_ACTEUR_SOC.UGECODE=UTILISATEUR_AEC_ACTEUR_SOC.UGECODE and UTILISATEUR_AEC_ACTEUR_SOC.UTICODE = @variable('BOUSER') ) AND ( LANTPROFILGESTION.TPGCODE(+)=DOSSIER.TPGCODE AND LANTPROFILGESTION.LANCODE(+) = @Variable('Code langue') ) AND ( LANTPROFILGESTION.TPGCODE IN ('CMT','CBM','CBMIM','EPS') ) AND ( AUDITECRITURE.AECACTCODESOC IN @variable('3-Société(s) de gestion :') AND AUDITECRITURE.AECTACCODE IN @variable('4-Catégorie(s) (activité) :') AND DOSSIER.DOSPOOL IN @variable('5-Montage(s) en pool :') AND substr(AUDITECRITURE.AECCOMPTE,1,1) IN ('2', '4') AND ACTEUR_DOSS_CLIENT.ACTCODE BETWEEN @variable('1- Du tiers') AND @variable('2 - Au tiers') AND AUDITECRITURE.AECTACCODE = 'CBM' AND LANTPROFILGESTION.TPGLIBELLE IN @variable('Profil de gestion?') AND (LANTPROFILGESTION.TPGCODE IN ('CMT','CBM','CBMIM','EPS'))

Page 4: Les Invites BO

)UNION SELECT AUDITECRITURE.AECPIECENUM, PA_BO.F_CONVERSIONDEVISE(AUDITECRITURE.DEVCODECOMPTA,@Prompt('Devise d''édition','A',,,), decode(AUDITECRITURE.AECDEBITCREDIT,'D',AUDITECRITURE.AECMTLIGNECOMPTA/100,0) ,to_date(@Prompt('Date de contre-valeur JJ/MM/AAAA','A',,,),'DD/MM/YYYY')), PA_BO.F_CONVERSIONDEVISE(AUDITECRITURE.DEVCODECOMPTA,@Prompt('Devise d''édition','A',,,),decode(AUDITECRITURE.AECDEBITCREDIT,'C',AUDITECRITURE.AECMTLIGNECOMPTA/100,0),to_date(@prompt('Date de contre-valeur JJ/MM/AAAA','A',,,),'DD/MM/YYYY')), AUDITECRITURE.AECECRLIBELLE, AUDITECRITURE.AECDTEXIGIBILITE, AUDITECRITURE.AECIDLETTRAGE, AUDITECRITURE.AECDOSNUM, AUDITECRITURE.AECDOSAVENANT, AUDITECRITURE.AECDOSNUM || '/' || LPAD(TO_CHAR(AUDITECRITURE.AECDOSAVENANT),2,'0'), F_DOSSTATISTIQUELIBRE(DOSSIER.DOSID,'DESTCREDIT') , ACTEUR_DOSS_CLIENT.ACTNOM, AUDITECRITURE.AECROLCODE, AUDITECRITURE.AECACTCODE, DOSSIER.TPGCODE, LANTPROFILGESTION.TPGLIBELLEFROM AUDITECRITURE, UTILISATEUR UTILISATEUR_AEC_ACTEUR_SOC, DOSSIER, ACTEUR ACTEUR_DOSS_CLIENT, UTILISATEUR UTILISATEUR_DOSS_CLIENT, LANTPROFILGESTION, UNITEGESTION UGE_AEC_ACTEUR_SOC, ACTEUR ACTEUR_SOC, DOSACTEUR, UNITEGESTION UGE_DOSS_CLIENTWHERE ( AUDITECRITURE.AECDOSNUM=DOSSIER.DOSNUM(+) AND AUDITECRITURE.AECDOSAVENANT = DOSSIER.DOSAVENANT(+) ANDF_PLIDSOCGEST(AUDITECRITURE.AECACTCODESOC) = DOSSIER.ACTID(+) ) AND ( DOSSIER.DOSID=DOSACTEUR.DOSID ) AND ( DOSACTEUR.ROLCODE IN ('CLIENT','EMPRUNT') ANDDOSACTEUR.DACDTFIN IS NULL ) AND ( DOSACTEUR.ACTID=ACTEUR_DOSS_CLIENT.ACTID AND ACTEUR_DOSS_CLIENT.PAYCODE=@variable('Code Pays') ) AND ( AUDITECRITURE.AECACTCODESOC=ACTEUR_SOC.ACTCODE AND ACTEUR_SOC.PAYCODE=@variable('Code Pays') ) AND ( ACTEUR_DOSS_CLIENT.UGECODE=UGE_DOSS_CLIENT.UGECODE AND ACTEUR_DOSS_CLIENT.PAYCODE=@variable('Code Pays') ) AND ( UGE_DOSS_CLIENT.UGECODE=UTILISATEUR_DOSS_CLIENT.UGECODE and UTILISATEUR_DOSS_CLIENT.UTICODE = @variable('BOUSER') ) AND ( ACTEUR_SOC.UGECODE=UGE_AEC_ACTEUR_SOC.UGECODE AND ACTEUR_SOC.PAYCODE=@variable('Code Pays') ) AND ( UGE_AEC_ACTEUR_SOC.UGECODE=UTILISATEUR_AEC_ACTEUR_SOC.UGECODE and UTILISATEUR_AEC_ACTEUR_SOC.UTICODE = @variable('BOUSER') ) AND ( LANTPROFILGESTION.TPGCODE(+)=DOSSIER.TPGCODE AND LANTPROFILGESTION.LANCODE(+) = @Variable('Code langue') ) AND ( LANTPROFILGESTION.TPGCODE IN ('CMT','CBM','CBMIM','EPS') ) AND ( AUDITECRITURE.AECACTCODESOC IN @variable('3-Société(s) de gestion :') AND AUDITECRITURE.AECTACCODE IN @variable('4-Catégorie(s) (activité) :') AND DOSSIER.DOSPOOL IN @variable('5-Montage(s) en pool :') AND substr(AUDITECRITURE.AECCOMPTE,1,1) IN ('2', '4') AND ACTEUR_DOSS_CLIENT.ACTCODE BETWEEN @variable('1- Du tiers') AND @variable('2 - Au tiers') AND AUDITECRITURE.AECTACCODE = 'PRET' AND LANTPROFILGESTION.TPGLIBELLE IN @variable('Profil de gestion?') AND (LANTPROFILGESTION.TPGCODE IN ('CMT','CBM','CBMIM','EPS')) ) )

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Page 5: Les Invites BO

select SOF_Get_Client(RGIM.regid) as codeCLT, REG.regreference, REG.regdtreglt as DateREG, REG.regcomment,RGIM.rubid,RGIM.regid,SOF_MT_Debit(RGIM.regid,RGIM.rimordre) as DEBIT, SOF_MT_Credit(RGIM.regid,RGIM.rimordre) as CREDIT, RGIM.rimsens

from regimputation RGIM, reglement REG where RGIM.Regid=reg.regid andRGIM.rubid =314andSOF_Get_Client(RGIM.regid) BETWEEN to_char(@Prompt('1-Saisir code client','A',,,Mono,constrained,,,) || '%') AND to_char(@Prompt('2 les clients','A',,,Mono,constrained,,,) || '%')

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++