Vous êtes sur la page 1sur 5

Les invites BO part III Utilisation sous Designer

On a vu la dfinition des invites dans le rapport, mais on peut aussi les crer directement dans lunivers, pour pouvoir les utiliser dans les requtes et pour assurer la cohrence des noms des invites du parc des documents dentreprise. La syntaxe est donne comme dhabitude dans laide, mais on peut rcuprer facilement la formule dfinitive en visualisant le sql gnr dans lditeur de requte. Bizarrement les 2 clients donnent des rsultats diffrents, deski gnre 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 acceptes, mais il vaut mieux utiliser la fonction @prompt qui est plus restrictive et apporte plus doptions que @variable. La syntaxe de @prompt est la suivante : @Prompt('message','type',[{'value1'[,'value2',...]},class_nameobject_name'],mono/multi,fre e/constrained [,Persistent/Not_Persistent,[{'value1'[,'value2',...]} [, [User:#] [, Optional ]] ] )

Les paramtres sont :


message / libell de linvite type de donne : A=Alpha, D=Date, N=Numrique valeurs affiches : on peut prendre celles dun objet de lunivers ( LOV ) en donnant le nom complet de lobjet ou les lister en les enclosant entre accolades mono/multi : mono si on ne peut prendre quune seule valeur, multi si on peut en prendre plusieurs (pour loprateur dans liste ) free/constrained : free si lutilisateur peut saisir ce quil veut, constrained sil ne peut choisir que dans les valeurs affiches.

Les paramtres suivants ne sont pas documents dans laide BO :


Persistent/Not_Persistent : Persistent garde la dernire valeur slectionne lors de laffichage de linvite, Not_Persistent non. Par dfaut cest Not_Persistent Valeur par dfaut : si ce paramtre est laiss vide aucune valeur par dfaut nest utilise, si on a plusieurs valeurs il faut les encadrer par des { } et sparer par des , Attention, il faut que la valeur existe dans les valeurs affiches ( 3me paramtre ) User:#: Ordre de linvite dans laffichage, pour viter de prfixer les invites par 1), 2), 3) Optional : indique si linvite est facultative ( partir de XI r3 )
Exemples : @Prompt(Entrez le code pays,'A,'Zones\Code Pays,mono,free) Invite de type Caractre ne permettant de slectionner quune valeur, saisie possible @Prompt(Entrez le code pays,'A,'Zones\Code Pays,multi,constrained,Not_Persistent,{US,'FR},User:1) Invite de type Caractre ne permettant de slectionner plusieurs valeurs, saisie impossible., ne slectionne pas par dfaut les dernires valeurs choisies mais prend US et FR, affichage en 1re position.

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

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_CLIENT where RGIM.Regid=reg.regid and RGIM.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_CLIENT where RGIM.Regid=reg.regid and and codeCLT in @Prompt('Acteur/client','A',,,Multi,constrained) +++++++++++++++++++++++++++++++++++++++++++++++++
CREATE OR REPLACE FUNCTION SOF_Get_Client(nRegid IN reglement.regid%TYPE) RETURN VARCHAR2 IS nActid 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 priode JJ/MM/AAAA ?'),'DD/MM/YYYY') @Prompt('Exclure les mouvements lettrs des comptes avec lettrage ?','A',{'Non','Oui'},,)

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

(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'), 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(+) AND F_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-Socit(s) de gestion :') AND AUDITECRITURE.AECTACCODE IN @variable('4-Catgorie(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'))

)
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.TPGLIBELLE FROM 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_CLIENT WHERE ( AUDITECRITURE.AECDOSNUM=DOSSIER.DOSNUM(+) AND AUDITECRITURE.AECDOSAVENANT = DOSSIER.DOSAVENANT(+) AND F_PLIDSOCGEST(AUDITECRITURE.AECACTCODESOC) = DOSSIER.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-Socit(s) de gestion :') AND AUDITECRITURE.AECTACCODE IN @variable('4-Catgorie(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')) ) )

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

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 and RGIM.rubid =314 and SOF_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,,,) || '%') +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++