Cegid XRP Ultimate  |  
I3   Actualisé le 06/10/2022
Décisionnel
Les fonctions

Les fonctions
   Libellé mois
   Cumul action
   Cumul annuités
   Calcul date échéance
   Calcul solde pièce à une date
   Calcul solde tiers/client échu/non échu à une date
   Calcul montant Plan de compte suivant fonctions ou calcul de solde à date pour un compte
   Concaténation des textes
   Suppression des tabulations et retour ligne dans un texte
   Stock calcul à une date donnée
   Site ou bâtiment d'une localisation
   Solde de compte à date (toutes écritures)
   Nombre de jours entre deux dates d'un calendrier
   Conversion devise
Les mots-clés
   @Prompt
   @Select
   @Variable

Les fonctions

   Libellé mois
Cette fonction permet d'afficher le libellé d'un mois à partir d'une date en lisant l'intitulé complet ou réduit de l'occurrence correspondante du paramètre MOIS.

Nom de la fonction :
- fngwmoilib ;
- dbo.fngwmoilib sous Sqlserver.

Les paramètres en entrée sont :

1) Etablissement ;

2) Date au format AAAAMMJJ ;

3) Indicateur lié aux occurrences du paramètre MOIS :
    - 1 pour l'intitulé complet suivi de l'année ;
    - 2 pour l'intitulé réduit suivi de l'année ;
    - 3 pour le format mm - aaaa ;
    - 4 pour l'intitulé complet du mois.


Exemple :
Pour transformer la date comptable (ocecr.decocecr) :

- Pour Oracle :
  fngwmoilib ( ocecr.etsocecr , ocecr.decocecr , '2' ) pour "20180915" donnera "Sept 2018".

- Pour Sqlserver :
  dbo.fngwmoilib ( ocecr.etsocecr , ocecr.decocecr , '3' ) pour "20180915" donnera "09 - 2018".


   Cumul action
Cette fonction permet de rechercher les éléments du cumul des actions.

Nom de la fonction :
- fngwcumact ;
- dbo.fngwcumact sous Sqlserver.

Les paramètres en entrée sont :

1) Numéro interne de l'action ;

2) Montant à rechercher :
    - SIDT pour Solde initial débit en devise de référence ;
    - SICT pour Solde initial crédit en devise de référence ;
    - SADT pour Solde actuel débit en devise de référence ;
    - SACT pour Solde actuel crédit en devise de référence ;
    - RIDT pour Solde initial débit en devise de reporting ;
    - RICT pour Solde initial crédit en devise de reporting ;
    - RADT pour Solde actuel débit en devise de reporting ;
    - RACT pour Solde actuel crédit en devise de reporting ;
    - SIDC pour Solde initial débiteur (Débit-Crédit) en devise de référence ;
    - SICD pour Solde initial créditeur (Crédit-Débit) en devise de référence ;
    - SADC pour Solde actuel débiteur (Débit-Crédit) en devise de référence ;
    - SACD pour Solde actuel créditeur (Crédit-Débit) en devise de référence ;
    - RIDC pour Solde initial débiteur (Débit-Crédit) en devise de reporting ;
    - RICD pour Solde initial créditeur (Crédit-Débit) en devise de reporting ;
    - RADC pour Solde actuel débiteur (Débit-Crédit) en devise de reporting ;
    - RACD pour Solde actuel créditeur (Crédit-Débit) en devise de reporting.


Exemple :

- Pour Oracle :
  fngwcumact ( omact.nuiomact , 'SICD' )
  recherche le solde initial créditeur en devise de référence de l'action (Crédit-Débit).


   Cumul annuités
Cette fonction permet de rechercher :
- le cumul des annuités suivant sa nature et son objectif,
- la valeur nette comptable dans le détail des cessions.

Nom de la fonction :
- fngwcumann ;
- dbo.fngwcumann sous Sqlserver.

Les paramètres en entrée sont :

1) Etablissement ;

2) Immobilisation ;

3) Complément immobilisation ;

4) Objectif immobilisation ;

5) Nature annuité :
    - A pour Antérieur ;
    - E pour En cours ;
    - U pour Ultérieure ;
    - M pour Mensuelle ;
    - UM pour Mensuelle ultérieure,
    - AE pour le calcul de la valeur nette comptable.

6) Montant à rechercher :
    - MTA pour Montant amorti ;
    - MTL pour Montant amortissement linéaire ;
    - MTD pour Montant amortissement dégressif ;
    - DDR pour Dotation dérogatoire dégressif ;
    - RDR pour Reprise dérogatoire dégressif,
    - VNC pour la valeur nette comptable.

Exemple :

- Pour Oracle :
  fngwcumann ( ampla.etsampla , ampla.imoampla , ampla.comampla , ampla.objampla , 'A' , 'MTA' )
  recherche le cumul du montant amorti antérieur pour l'établissement (ampla.etsampla), l'immobilisation (ampla.imoampla), le complément (ampla.comampla) et l'objectif (ampla.objampla).

- Pour Sqlserver :
dbo.fngwcumann ( amced.etsamced , amced.imoamced , amced.comamced , amced.objamced , 'AE' , 'VNC' ).


   Calcul date échéance
Cette fonction permet de calculer la date d'échéance à partir d'une date initiale (date de facture, date comptable, ...) en fonction d'un délai de paiement et d'une "date" de règlement.

Nom de la fonction :
- fngwcalech ;
- dbo.fngwcalech sous Sqlserver.

Les paramètres en entrée sont :

1) Date initiale ;
   date au format 'AAAAMMJJ' ;

2) Délai de paiement ;

3) Date de règlement.

Exemple :

- Pour Sqlserver :
convert ( datetime , dbo.fngwcalech ( safaa.datsafaa , sgecd.rgjsgecd , sgecd.rgdsgecd ) , 112 )


   Calcul solde pièce à une date
Cette fonction permet de calculer le solde d'une pièce à une date. Sous une base Oracle, le solde d'un compte de pièce à une date est également possible.

Nom de la fonction :
- psgwpiesld sous Oracle ;
- dbo.fngwpiesld sous Sqlserver.

Les paramètres en entrée sont :

1) Etablissement ;

2) Date à laquelle le calcul du solde est réalisé ;
   date au format 'AAAAMM' ou 'AAAAMMJJ' transformé en début de mois ;

3) Compte des pièces :   facultatif, entrée inexistante pour Sqlserver ;
   permet le calcul d'un solde de compte de pièce ;

4) Type du mouvement des pièces : facultatif, entrée inexistante pour Sqlserver ;
   associé au compte ci-dessus, permet le calcul d'un solde de compte de pièce ;

5) Numéro de la pièce ;

6) Numéro d'échéance de la pièce ;

7) Solde recherché   :

    - SLD pour Solde débit en devise de référence ;
    - SLC pour Solde crédit en devise de référence ;
    - SRD pour Solde débit en devise de reporting ;
    - SRC pour Solde crédit en devise de reporting ;
    - SDD pour Solde débit en devise ;
    - SDC pour Solde crédit en devise ;
    - CLD pour Solde débit - crédit en devise de référence ;
    - CLC pour Solde crédit - débit en devise de référence ;
    - CRD pour Solde débit - crédit en devise de reporting ;
    - CRC pour Solde crédit - débit en devise de reporting ;
    - CDD pour Solde débit - crédit en devise ;
    - CDC pour Solde crédit - débit en devise.

Exemple :

- Pour Oracle :
  psgwpiesld ( ocpie.etsocpie , '201702' , '', '', ocpie.numocpie , ocpie.necocpie , 'CLC' )
  permet de calculer le solde crédit - débit d'une pièce début février 2017.

- Pour Sqlserver :
  dbo.fngwpiesld ( ocpie.etsocpie , '201702' , ocpie.numocpie , ocpie.necocpie , 'SLD' )
  permet de calculer le solde débit d'une pièce début février 2017.


   Calcul solde tiers/client échu/non échu à une date
Cette fonction permet de calculer un solde échu ou non échu d'un tiers, d'un tiers associé ou concerné, d'un client, d'un compte ou classe de compte, d'une pièce toutes échéances confondues ou par échéance ou par compte à une date.

Nom de la fonction :
- fngwpiecal ;
- dbo.fngwpiecal sous Sqlserver.


Les paramètres en entrée sont :

1) Etablissement ;

2) Date à laquelle le calcul du solde est réalisé ;
   Date entrée ou Mois ou Année au format 'AAAAMMJJ' ou 'AAAAMM' ou 'AAAA' ;
   Pour le format année, le complément '0100' permet le calcul du solde avant l'année saisie.
   Pour le format année-mois, le complément '00' permet le calcul du solde avant le mois saisi.

3) Nature du solde avec l'indicateur :
   - TIE pour le calcul du solde d'un tiers ;
   - TIC pour le calcul du solde d'un tiers concerné ;
   - TAS pour le calcul du solde d'un tiers associé ;
   - TIP pour le calcul du solde d'un tiers de paiement ;
   - CPT pour le calcul du solde d'un compte ou d'une classe de compte ;
   - TIE-CPT pour le calcul du solde d'un tiers - compte ;
   - TIA-CPT pour le calcul du solde d'une adresse de tiers - compte ;
   - TIE-TIC-CPT pour le calcul du solde d'un client - compte ;
   - PIE pour le calcul du solde d'une pièce toutes échéances confondues ;
   - PIE-ECH pour le calcul du solde d'une pièce par échéance ;
   - PIE-CPT pour le calcul du solde d'une pièce par compte.

   Avec la notion du compte, vous pouvez saisir :
   - le code du compte ;
   - la classe ou sous-classe de compte avec le mot-clé '%'. Exemple : '41%' pour les clients.

4) Entrée 1 ;

5) Entrée 2 ;

6) Entrée 3 ;

7) Entrée 4 ;

8) Entrée 5 ;

9) Entrée 6 ;

10) Etat des pièces ;

11) Solde recherché.

Dans le tableau ci-dessous, vous trouverez comment renseigner les entrées 1 à 6 en fonction de la nature du solde recherché :


Ci-dessous, vous trouverez quelques exemples :

Solde Tiers Echu
comptable
date du jour
Solde Client Non Echu
à fin octobre 2010
tout type écriture
Solde Compte débiteur échu
pour type comptable et engagement
tout état début 2011
Solde débit Tiers associé
début mois mars 2011
type C, EN, DE
Etablissement Code Ets Code Ets Code Ets Code Ets
Date limite sysdate 20101031 2011 201103
Nature TIE-CPT TIE-TIC-CPT CPT TAS
Entrée 1 Tiers Tiers Compte Tiers associé
Entrée 2 41% Tiers concerné ECH DEC
Entrée 3 ECH 41% C^EN C^EN^DE
Entrée 4 C ECN
Entrée 5 *
Entrée 6
Etat D D A A
Solde demandé CLC CLC CLD SLD


Remarque :

Le terme de échu / non échu n'est pas identique à leur utilisation dans la consultation des tiers sous l'Application Credit Management.
Le terme échu correspond ici au solde de l'édition des pièces avec une date limite (EPIE) avec la condition que la date d'échéance est antérieure ou égale à cette date limite.

De même, pour le calcul du solde à une date limite comptable, ce solde sera identique à EPIE en précisant la date comptable inférieure ou égale à la date limite.


Exemple :

- Calcul du solde créditeur échu du tiers 'IFR' fin septembre 2021 sur écritures comptables et engagements validées :
  sous Oracle :
  fngwpiecal ( ocpie.etsocpie , '20210930' , 'TIE-CPT', 'IFR', '41%', 'ECH', 'C^EN', nul, nul, 'D', 'CLC' )

  sous Sqlserver :
  dbo.fngwpiecal ( ocpie.etsocpie , '20210930' , 'TIE-CPT', 'IFR', '41%', 'ECH', 'C^EN', nul, nul, 'D', 'CLC' )

- Calcul du solde débiteur comptable non échu du client 'COCA' fin septembre 2021 :
  sous Oracle :
  fngwpiecal ( ocpie.etsocpie , '20210930' , 'TIE-TIC-CPT', 'IFR', 'COCA', '41%', 'ECN', nul, nul, nul, 'CLD' )

- Utilisation possible de variable sous Business Objects
  fngwpiecal ( @Select§ Param\Ets_Inv § , @Select§ Param\Mois_Inv § , 'TIE-TIC-CPT', ocpie.tieocpie, ocpie.tasocpie, @Select§ Param_Compte_Inv §, 'ECN', nul, nul, nul, 'CLD' )


   Calcul montant Plan de compte suivant fonctions ou calcul de solde à date pour un compte
Cette fonction permet de calculer :
- un solde pour un plan de compte avec prise en compte de la gestion des fonctions et du calcul de la date comme pour toute balance par plan ;

- le solde d'un compte à une date, utilisation possible du caractère '%'.

La table des cumuls de compte est la table de la base de données sur laquelle s'effectuent les calculs.


Nom de la fonction :
- fngwcalbil ;
- dbo.fngwcalbil sous Sqlserver.


Les paramètres en entrée sont :

1) Etablissement ;
   Code établissement ou * pour tout établissement de la base de données.

2) Mode de calcul ;
   - BT pour le calcul de la valeur "Brute" de l'actif pour l'option plan de compte ;
   - AP pour le calcul de la valeur "A déduire" de l'actif pour l'option plan de compte ;
   - CPT pour le calcul sur un compte.

3) Date à laquelle le calcul du solde est réalisé ;
   Date au format Mois "AAAAMM" pour le calcul du solde fin de mois ;

4) Plan ou compte dont on recherche son montant ;
   Code Plan de dernier niveau dans l'édition qui sera agrégé pour les plans de niveau supérieur dans la hiérarchie.
   Code du compte ou classe de compte avec l'utilisation du caractère '%'.

5) Indicateur hiérarchie plan ;
   Cette valeur obligatoire pour l'option plan de compte, est structurée avec les éléments ci-dessous séparés par le caractère '^' :
   - sommet de la composition du plan de compte ;
   - indicateur de la composition de plan, généralement '*' ;
   - établissement de la composition de plan, facultatif. Si non renseigné, utilisation de l'établissement en entrée 1 ;
   - chemin de la composition de plan, facultatif. Si non renseigné, utilisation du chemin "PLN".

  Valeur sans intérêt pour l'option de calcul sur un compte.

    Exemple : BILAN^*^IFR^PLN

6) Type de cumul ;
    Types de mouvement à rechercher, séparés par le caractère '^'. Seuls 5 types sont possibles.
    Pour les plans, possibilité d'utiliser '^CUMULE' permettant le regroupement sans type pour le calcul de la fonction du détail du plan.

    Exemple : 'C^EN' pour les types comptable et engagement.

7) Option :
    Définit le chemin de la composition d'établissement. Les établissements de la hiérarchie doivent avoir les mêmes dates d'exercices.

8) Solde recherché avec indicateur :
    - DCRF pour Solde débit - crédit en devise de référence ;
    - CDRF pour Solde crédit - débit en devise de référence ;
    - DCRP pour Solde débit - crédit en devise de reporting ;
    - CDRP pour Solde crédit - débit en devise de reporting.

   Gestion de la date
   Calcul par rapport au paramètre CLOEXE, utilisation maintenant possible du Module Archivage.
Recherche des cumuls sur la période comprise entre la date de fin du dernier exercice clôturé précédent et la date saisie en entrée transformée en fin de mois, cumuls avec nature différente de "CL".

   Gestion des fonctions

   La fonction du plan de compte est généralement utilisée pour gérer l'édition d'un bilan pour lequel des comptes basculent de l'actif au passif, ou inversement, selon le solde de ces comptes.
Elle permet d'identifier le sens comptable habituel du plan. La conjonction de cette donnée avec la fonction du détail du plan va permettre le paramétrage de l'édition du compte en fonction de son solde.

   
Règle d'édition du compte selon son solde et le paramétrage des fonctions du plan de compte
Fonction du plan Fonction du détail du plan Edition si solde débit Edition si solde crédit
D SN + Non édité
D SE + -
D Nul + - et erreur
C SN Non édité +
C SE - +
C Nul - et erreur +

   Annexe
   Une ancienne fonction existait avant la release H3_01 sous Oracle uniquement. Cette fonction nommée psgwcalbil sous Oracle

   Les options :
   Le Mode de calcul dans l'entrée 2 peut être :
   - BT pour le calcul de la valeur "Brute" de l'actif ;
   - AP pour le calcul de la valeur "A déduire" de l'actif ;
   - NTPA pour le calcul du passif.

        Si l'entrée 7 débute par "OPT1" (option recommandée), la méthode de calcul pour la valeur "A Déduire" utilise le plan associé du code plan saisi.
    Pour toute autre valeur, une méthode complexe utilisant le rôle du plan de niveau 1 et le genre du plan est utilisée.

       Pas de limitation sur les types de comptes à rechercher.

       Appel sous Oracle : psgwcalbil('IFR','BT','201110','BAAI','BILAN^*^IFR^PLN','C^E','OPT1','DCRF')

   Exemple
   - Calcul du solde débiteur de la valeur Brute du plan "BAAI" dans la composition "BILAN" sur le chemin "PLN" sur l'établissement "IFR" à fin octobre 2018 sur les types comptables et engagements :
  sous Oracle :
fngwcalbil('IFR','BT','201810','BAAI','BILAN^*^IFR^PLN','C^E','','DCRF')

   - Calcul du solde de la classe de compte 606 à fin février 2018 :
  sous Sqlserver :
dbo.fngwcalbil('IFR','CPT','201802','606%','','C^E^EN','','DCRF')


   Concaténation des textes


   Suppression des tabulations et retour ligne dans un texte
Cette fonction permet de supprimer les caractères de saut de lignes, retour à la ligne et tabulations dans un texte afin d'avoir une restitution sous Excel sans décalage de cellules.
Ces caractères sont remplacés par le caractère espace.

Nom de la fonction :
- fngwchrsup ;
- dbo.fngwchrsup sous Sqlserver.

Le paramètre en entrée est :

1) texte : zone de type caractère limité à 2000 caractères.

Exemple :

- Pour Oracle :
  fngwchrsup ( ocecr.libocecr )   pour le libellé de l'écriture.

- Pour Sqlserver :
  dbo.fngwchrsup ( salca.intsalca )   pour l'intitulé de la ligne de commande.


   Stock calcul à une date donnée
Cette fonction permet la recherche du stock à date donnée.

Nom de la fonction :
- fngwstkdeb ;
- dbo.fngwstkdeb sous Sqlserver.

Les paramètres en entrée sont :

1) Recherche :
    - S pour le stock ;
    - Q pour le stock de quarantaine ;
    - D pour les deux.

2) Stock début ou fin de journée :
    - O pour le stock de début de journée ;
    - N pour le stock de fin de journée.

3) Etablissement ;

4) Article ;

5) Date ;

6) Dépôt, si celui-ci n'est pas renseigné, il s'agit du stock tous dépôts confondus ;

7) Emplacement, si celui-ci n'est pas renseigné, il s'agit du stock tous emplacements confondus ;

8) Lot de production, si celui-ci n'est pas renseigné, il s'agit du stock tous lots confondus ;

9) Mode de stockage, si celui-ci n'est pas renseigné, il s'agit du stock tous modes de stockage confondus ;

10) Lot supérieur, si celui-ci n'est pas renseigné, il s'agit du stock tous lots supérieurs confondus ;

11) Lot fournisseur, si celui-ci n'est pas renseigné, il s'agit du stock tous lots fournisseur confondus ;

12) Numéro de série, si celui-ci n'est pas renseigné, il s'agit du stock tous numéros de série confondus ;

13) Date de péremption, si celle-ci n'est pas renseignée, il s'agit du stock toutes dates de péremption confondues ;

14) Statut qualité, si celle-ci n'est pas renseignée, il s'agit du stock tous statuts qualité confondus.


Exemple :

- Pour Oracle :
fngwstkdeb ( 'S' , 'O', skdin.etsskdin, skdin.artskdin , @Select§ 121010 §, skdin.depskdin , '' , '' , '' , '' , '' , '' , '' , '' )   pour connaître la valeur du stock d'un article pour un établissement et un dépôt donnés en date de fin de mois précédent.
La colonne 121010 représente la date de fin de mois précédent à partir de la date de calendrier saisie en invite : to_char ( last_day ( add_months ( Qfx_cad.datoecad , -1 ) ) , 'YYYYMMDD' )

fngwstkdeb ( 'Q' , 'O', sklop.etssklop, sgart.naesgart , to_char ( sysdate , 'YYYYMMDD' ) , '' , '' , sklop.numsklop , '' , '' , '' , '' , '' , '' ) pour connaître la valeur du stock quarantaine pour un lot à la date du jour.

-   Pour Sqlserver :
dbo.fngwstkdeb ( 'S' , 'O', sacda.etssacda , salca.artsalca ,sacda.drdsacda, sacda.depsacda , null , null , null , null , null , null , null , null ) pour connaître la valeur du stock pour l'article et le dépôt.


   Site ou bâtiment d'une localisation
Cette fonction permet la recherche du site ou du bâtiment d'une localisation à la date du jour.

Nom de la fonction :
- fngwbathbp ;
- dbo.fngwbathbp sous Sqlserver.

Les paramètres en entrée sont :

1) Recherche :
    - SIT pour le site ;
    - BAT pour le bâtiment.

2) Localisation ou dépôt ;

3) Etablissement ;


Exemple :

- Pour Oracle :
fngwbathbp ( 'SIT' , depamimo , etsamimo )   pour connaitre le site pour le dépôt de l'immobilisation en cours à la date du jour.

-   Pour Sqlserver :
dbo.fngwbathbp ( 'BAT' , skste.depskste , skste.etsskste ) pour connaitre le bâtiment du dépôt de stock.


   Solde de compte à date (toutes écritures)
Cette fonction permet la recherche du solde d'un compte à date pour toutes les écritures validées ou non et pour 5 types de mouvement.
Le compte peut être également le compte d'équilibre du journal passé en entrée.

Nom de la fonction :
- fngwrchsld ;
- dbo.fngwrchsld sous Sqlserver.

Les paramètres en entrée sont :

1) Etablissement ;

2) Mode :
- CPT pour le compte ,
- JRN pour le compte d'équilibre du journal.

3) Code du compte ou du journal ;

4) Date au format 'YYYYMMDD' ou Mois au format 'YYYYMM' ou date fin de mois 'YYYYMMFM' ;
Pour le format date fin de mois 'FM', la date est calculée en fin de mois, dernier jour compris .
Pour le format date standard, le solde est calculé pour cette date - 1 jour, date ramenée au premier jour du mois pour les natures CUMUL et MVC .

5) Nature de la recherche avec   :
- CUMUL, seules les tables de cumuls sont utilisées, ce sont les écritures validées ,
- MVC, en plus de la recherche CUMUL, une recherche sur les écritures non validées au premier jour du mois pour ce compte est réalisée sauf pour le format date fin de mois 'FM',
- MVCJR, la recherche sur les cumuls mois-1, sur les mouvements des écritures non validées à la date-jour demandée et des écritures validées du mois courant avec une date < à la date-jour demandée.

6) Types de mouvement, facultatif ;
Types de mouvement à rechercher séparés par le caractère '^' avec 5 types possibles. Le type comptable sera recherché si la valeur est nulle.
Exemple : 'C^EN' pour les types comptable et engagement.

7) Entrée 1 : non utilisée ;

8) Solde recherché avec indicateur :
    - DCRF pour Solde débit - crédit en devise de référence ;
    - CDRF pour Solde crédit - débit en devise de référence ;
    - DCRP pour Solde débit - crédit en devise de reporting ;
    - CDRP pour Solde crédit - débit en devise de reporting ;
    - DCDV pour Solde débit - crédit en devise pour les comptes suivis en devise ;
    - CDDV pour Solde crédit - débit en devise pour les comptes suivis en devise ;

SI le solde en devise est demandée alors que le compte n'est pas en devise ou non suivi en devise, le solde référence sera proposé.


Exemple :

- Pour Oracle :
fngwrchsld ( oecpt.etsoecpt , 'CPT' , oecpt.numoecpt , to_char ( sysdate , 'YYYYMMDD' ) , 'MVC' , 'C' , '' , 'DCRF' ) pour avoir le solde débiteur en devise de référence du compte en cours au premier jour du mois pour toutes les écritures de type comptable.

fngwrchsld ( oecpt.etsoecpt , 'CPT' , '606100' , '202112FM' , 'MVCJR' , 'C' , '' , 'DCRF' ) pour avoir le solde débiteur en devise de référence du compte '606100' au dernier jour de l'année pour toutes les écritures de type comptable hors clôture.

-   Pour Sqlserver :
dbo.fngwrchsld ( 'IFR', 'CPT' , '512100' , '201805' , 'CUMUL' , 'C^EN' , null , 'CDDV' ) pour avoir le solde créditeur du compte '512100' en devise au début mai 2018, compte suivi en devise 'USD' sous l'établissement 'IFR' pour les types comptable et engagement.


   Nombre de jours entre deux dates d'un calendrier
Cette fonction permet de calculer le nombre de jours entre 2 dates d'un calendrier.

Nom de la fonction :
- fngwcadnbj ;
- dbo.fngwcadnbj sous Sqlserver.


Les paramètres en entrée sont :

1) Etablissement ;

2) Calendrier ;

3) Date de début au format base 'AAAAMMJJ' ;

4) Date de fin au format base 'AAAAMMJJ' ;

5) Indicateur :
- B pour jours ouvrable ;
- R pour jours ouvrés.


Exemple :

- Pour Oracle :
fngwcadnbj ( gtets.numgtets , 'QFX' , '20180501' , to_char ( sysdate , 'YYYYMMDD' ) , 'R' ) pour calculer le nombre de jours ouvrés entre le 1 mai 2018 et la date du jour.


   Conversion devise
Cette fonction permet de convertir un montant en devise, devise de référence ou devise de reporting.

Nom de la fonction :
- psgweurcnv sous Oracle ;
- dbo.fngweurcnv sous Sqlserver.

Les paramètres en entrée sont :

1) Montant en devise ;

2) Les informations de la devise :
   - la devise sur 6 caractères ;
   - l'indicateur In-Out de la devise ;
   - la date du cours.
     Exemple : "USD___I20050915" ;

3) Cours en devise de référence ;

4) Cours en devise de reporting ;

5) Les informations devise de l'établissement :
    - la devise de référence sur 6 caractères ;
    - l'indicateur In-Out de la devise de référence ;
    - la devise de reporting sur 6 caractères ;
    - l'indicateur In-Out de la devise de reporting ;
    - l'établissement sur 6 caractères ;
    - la date de double comptabilisation.
      Exemple : "EUR___ICHF___OXXXX__20010101"
                        où XXXX est le code établissement ;

6) Le nombre de décimales gérées pour la devise de référence ;

7) Le nombre de décimales gérées pour la devise de reporting ;

8) Le nombre de décimales gérées pour la devise ;

9) Le type de devise du montant en entrée :
    - D pour devise ;
    - F pour référence ;
    - R pour reporting.

10) Le type de devise du montant en sortie :
      - D pour devise ;
      - F pour référence ;
      - R pour reporting.

11) Le paramètre PARDEV du dossier "Paramétrage" (voir ci-dessus).


Exemple :
Pour transformer le prix tarif en devise d'une ligne de commande d'achats (salca.pvtsalca) en devise de référence (10ème paramètre)

- Pour BO, Oracle :
  psgweurcnv ( salca.pvtsalca , @Select§ Inf_Dev_Cde\InfDevCde § , sacda.tx1sacda, sacda.tx2sacda , @Select§ Ets\InfDevEts § , Ref.ndcoedev , Rep.ndcoedev , Dev_Cde.ndcoedev , 'D' , 'F' , @Select§ Param\PARDEV § )

- Pour BO, Sqlserver :
  dbo.fngweurcnv ( salca.pvtsalca , @Select§ Inf_Dev_Cde\InfDevCde § , sacda.tx1sacda , sacda.tx2sacda , @Select§ Ets\InfDevEts § , Ref.ndcoedev , Rep.ndcoedev , Dev_Cde.ndcoedev , 'D' , 'F' , @Select§ Param\PARDEV § )


Les mots-clés

   @Prompt
Permet de créer un objet interactif. Dans l'éditeur de requête, ce type d'objet entraîne l'affichage d'un message invitant l'utilisateur à saisir une valeur spécifique.

Cette fonction est définie pour SAP Business Objects.
Elle peut être utilisée dans les filtres, dans les expressions de colonnes (colonnes calculées) et dans les clauses.
La saisie du produit est obligatoire.

L'expression doit être saisie de la manière suivante :

@Prompt§ 'Texte invite' , 'Type' ,,, §
  où le type doit être égal à 'A' pour une valeur de type alphanumérique, 'N' pour une valeur numérique, 'D' pour une valeur date.
  Le message 'GWSQL074' est affiché si l'une de ces trois valeurs n'a pas été précisée.



   @Select
Permet de réutiliser la clause Select d'un objet existant.

Elle peut être utilisée dans les filtres, dans les expressions de colonnes (colonnes calculées) et dans les clauses.

L'expression doit être saisie de la manière suivante :
  @Select§ Nombre §
  où "Nombre" est l'identifiant unique (numéro interne) de la colonne.

  Le message 'GWSQL084' est affiché si l'une de ces deux formes n'est pas respectée.


   @Variable
Permet de récupérer la valeur d'une invite ou d'une variable sous Business Objects (Oracle, Sqlserver).

Elle peut être utilisée dans les filtres, dans les expressions de colonnes (colonnes calculées) et dans les clauses.

L'expression doit être saisie de la manière suivante :
@Variable§ 'Expression invite' §

Exemple :
@Variable§ 'AnnéeMois (au format AAAAMM)' §