IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAP Crystal Reports Discussion :

Crystal Report / Sage X3 formules personnalisées [CR 2013]


Sujet :

SAP Crystal Reports

  1. #1
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut Crystal Report / Sage X3 formules personnalisées
    Bonjour,

    Nous utilisons CR2013 avec SAGE X3 V7. Un ancien collège avait créé une fonction personnalisée pour formater les numéros de téléphone. Cette fonction est présente dans de nombreux rapports.
    Nous sommes en train de passer en SAGE X3 V12 que nous avons installé sur un nouveau serveur. Les rapports ont été copiés sur ce nouveau serveur.

    Par contre lorsque nous imprimons un rapport depuis X3 V12, nous avons le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     Message 1/3 : Erreur à l'ouverture du rapport: xxxxxxxxxx\ZARCCLIENT.rpt
    - Message 2/3 : Echec du chargement du rapport
    - Message 3/3 : Erreur dans le fichier ZARCCLIENT 6976_2964_{B35860BF-F698-4802-8025-B91607C6EBEF}.rpt :
    Erreur dans la formule USR_Tel: 
    'if ({BPADDRESS_USR.TEL_0} <> "") then ZFormatTelephoneFax ({BPADDRESS_USR.TEL_0}, {TABCOUNTRY_USR.TELFMT_0})
    '
    L'UFL u212com.dll qui implémente cette fonction est manquante.
    J'ai réinstallé CR2013 sur le nouveau serveur.
    J'ai copié l'ancienne dll u212com.dll sur le nouveau serveur. J'ai essayé de charger la dll avec regsrv32.exe mais j'ai le message d'erreur suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Le module C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\u212com.dll a été chargé, mais le point d'entrée DllRegisterServer est introuvable.
    Vérifiez que C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\u212com.dll est un fichier DLL ou OCX valide puis réessayez
    Lorsque j'ouvre un état Crystal Reports et que je vais dans l'atelier de formule, aussi bien sur le nouveau que sur l'ancien serveur, je n'ai rien dans les fonctions personnalisées du rapport.
    Je n'arrive pas à accéder aux fonctions personnalisées du référentiel. On me demande des utilisateurs et des mots de passe que je n'ai pas et de toute façon il ne me semble pas avoir de Central Management Server?

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Bonjour
    Pour formater tes numéro de téléphone, tu peux peut être utiliser la fonction picture qui est native
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 23
    Points : 21
    Points
    21
    Par défaut Utilisation fonction "Picture"
    Citation Envoyé par luc_chivas Voir le message
    Bonjour
    Pour formater tes numéro de téléphone, tu peux peut être utiliser la fonction picture qui est native
    Bonjour Luc, pourriez vous nous donner la syntaxe exacte en utilisant "Picture".
    Par contre, il semblerait qu'il soit possible d'utiliser le format des numéros de téléphone présent dans la table des pays dans Sage, comme argument de cette fonction"Picture".
    Mais la syntaxe me manque.
    Merci d'avance

  4. #4
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    exemple

    picture ("123456789","(xxx) xxx-xxxx")
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  5. #5
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    Merci pour cette réponse, mais en fait X3 stock le numéro de téléphone sans indicatif international dans une table et l'indicatif dans une autre. Quelques exemples d'indicatifs internationaux stockés dans X3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Espagne -- > [(+34)]9#
    UK --> [+44 (]1#[)]4#[ ]6#
    France --> [(+33)]#[.]2#[.]2#[.]2#[.]2#
    D'où la fonction personnalisée pour extraire l'indicatif international, le joindre au numéro de téléphone et formater le tout.

    De plus, j'aurais aimé comprendre où sont stockées ces fonctions personnalisées....

    Merci et bonne journée

  6. #6
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    Bonjour

    Pour extraire l'indicatif, utiliser la fonction "extractstring"..
    extractstring(monchamps,"(",")" puis concatener avec le numéro de télephone.

    ou alors la fonction mid et instr pour trouver le plus, calculer le point de départ, enlever 1 pour récupérer le "+" et prendre 3 caractères.

    La fonction personnalisée sans référentiel (server) ne se trouve que dans le rapport qui les utilise, il faut la recopier à chaque nouveau rapport
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  7. #7
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    Merci pour cette réponse, je réécrirai une fonction si je n'ai pas le choix mais nous avons un grand nombre de rapport avec des numéros de téléphones et je préférerai récupérer la fonction existante.

    Où voit-on les fonctions personnalisées? comment peut-on les modifier?

    J'ai ouvert un rapport utilisant cette fonction personnalisée. Dans l'atelier formule, j'ai un écran vide quand je clique sur les fonctions personnalisées du rapport.
    J'imagine donc que c'est une fonction personnalisées du référentiel? Comment savoir si j'ai un Central Management Server?

    Lorsque j'édite une formule, ma fonction est classée dans Fonctions/Fonctions supplémentaires/UFL COM et Net (u212.com.dll) si ça peut aider.

    Merci

  8. #8
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  9. #9
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    j'ai récupéré ma dll u212com.dll de l'ancien serveur et je l'ai copié dans le nouveau serveur dans le répertoire
    J'ai lancé la commande gacutil -i avec ma dll et j'ai le message d'erreur suivant : Échec de l'ajout de l'assembly au cache*: Le module était censé contenir un manifeste de l'assembly.
    idem pour la commande Regasm : RegAsm : error RA0000 : Échec de chargement de 'C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\u212com.dll', car ce n'est pas un assembly .NET valide

    merci

  10. #10
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 941
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 941
    Points : 2 719
    Points
    2 719
    Par défaut
    essaye de la mettre là

    C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  11. #11
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Je n'ai pas ce dossier Crystal Reports for .NET Framework 4.0?

    merci

  12. #12
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    J'ai finalement laissé tombé et réécrit une formule pour formater les numéros de téléphones.

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    stringvar Numero := {BPADDRESS_FCY.FAX_0};
    stringvar Resultat := "";
    stringvar DonneeFixe := "";
    stringvar DonneeVariable := "";
    stringVar array TabTmp;
    numbervar i;
    numbervar Position;
    numbervar Nombre;
    numbervar Debut := 1;
     
    if (Numero <> "") then 
    (
        TabTmp := Split ({TABCOUNTRY_FCY.TELFMT_0},"#");
        for i := 1 to UBound(TabTmp)-1 do 
        (
            DonneeFixe := ExtractString (TabTmp[i],"[","]");
            Position := InStr(TabTmp[i],"]");
            if (Position > 0) then 
            (
                if (Mid(TabTmp[i],Position+1) = "") then Nombre := 1
                else Nombre := ToNumber(Mid(TabTmp[i],Position+1));
                DonneeVariable := Mid(Numero,Debut,Nombre);
                Debut := Debut + Nombre;
            );
            Resultat := Resultat + DonneeFixe + DonneeVariable;
        );
        Resultat
    )
    else ""

  13. #13
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 334
    Points : 687
    Points
    687
    Par défaut
    Bonjour,

    J'avais fait une fonction personnalisée aussi dans le même genre en basic, mes connaissances sont plus que limitées en langage Crystal...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    Function FORMATTEL (FRM As String, NUM As String, PREFIXFR as boolean )
        Dim a as number
        Dim p as number
        Dim z as number
        Dim x as number
        Dim lngf as number
        Dim lngn as number
        Dim c as String
        Dim PREFIX as string
        Dim SEPARATEUR as string
        Dim V as string
        Dim TELFRMP as string
        if FRM="" then 
            FRMTEL=NUM
        elseif NUM<>"" then
            if PREFIXFR then PREFIX="+33" else PREFIX=""
            lngn=len(NUM)
            lngf=len(FRM)
            TELFRMP="" : c="" : V="" : SEPARATEUR=""
            for a=1 to lngf
                c=Mid(FRM,a ,1 )
                Select Case c
                Case "["
                    z=instr(a,FRM,"]")
                    if a=1 then
                        PREFIX = mid(FRM,a+1,z-(a+1))
                    else
                        SEPARATEUR=left(mid(FRM,a+1,z-(a+1)),1)
                    end if
                    a=z
                Case "0","1","2","3","4","5","6","7","8","9"
                    V=V+c
                Case "#", "X" 
                    if V<>"" then
                        if PREFIX="+33" and TELFRMP="" and mid(NUM,p+1,1)="0" then
                            TELFRMP="(0)"    
                            For x=p+2 to p+val(V)
                                TELFRMP=TELFRMP+mid(NUM,x,1)    
                            next x
                            p=val(V)
                            V=""
                        else
                            TELFRMP=TELFRMP+iif(TELFRMP<>"",SEPARATEUR,"")+mid(NUM,p+1,val(V))
                            p=p+val(V)
                            V=""
                        end if
                    end if
                End Select
            next a
            FRMTEL=PREFIX+TELFRMP
        else
            FRMTEL=""
        end if
    End Function
    Votre fonction à l'air plus élégante
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR 2013] Crystal Report / Sage X3 formater numéro de téléphone
    Par sfino33 dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 22/11/2019, 19h00
  2. etat crystal report sage x3
    Par konex3 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 18/12/2017, 15h00
  3. [X3-V6] Formule dans Crystal Report en lien avec SAGE
    Par jlfreon74 dans le forum SAGE
    Réponses: 2
    Dernier message: 25/09/2017, 10h06
  4. Réponses: 0
    Dernier message: 08/04/2015, 16h43
  5. Etat crystal report sage x3
    Par helmiandrouu dans le forum SAGE
    Réponses: 1
    Dernier message: 30/04/2013, 08h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo