Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports > SDK
SDK Forum sur l'utilisation de Crystal Reports par des API (VB, C++, Delphi, Java, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/11/2006, 15h24   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 4
Points : 3
Points : 3
Par défaut CR 11 UFL Java work ou not work?

Bonjour,
je viens d'installer CR 11 avec service pack 2 proposé (version achetée!).

Pour utiliser CR UFL java je lis le document cr_xi_java_ufl.pdf (comme tout le monde je crois!)
et fais exactement ce qu'il dit (mais oui!), mais lorsque je crée un report
en utilisant "formula WorkShop" puis "formula fields new" alors "Additionnal Function" est vide!.


Dans CRConfig.xml
<JavaDir>C:\j2sdk1.4.2_03\bin</JavaDir>
et JAVA_HOME=C:\j2sdk1.4.2_03

dans CLASSPATH j'ai setté les jars nécessaires ainsi que les
deux classes MyLibrary.class MyFunction1.class
et dans "regedit" aussi,(JREPath=C:\Program Files\Java\j2re1.4.2_03\bin\client\jvm.dll)

biensur dans "File Option Formula Editor" j'ai mis: Java UFLs only.

Quels sont les problèmes? faut il installer .NET ou pas ?
ou alors c'est un bug de Crystal Report 11 avec UFL java?

Merci
lyonnaisFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2006, 17h07   #2
Invité de passage
 
Inscription : novembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 4
Points : 3
Points : 3
Par défaut CR XI UFL java: ça marche.

Bonjour,

Voici les étapes nécessaires:

Verifier l'existance de : sp1, sp2, Monthly hot fix (CR XI)

sinon télécharger: crXIwin_sp1.zip, crXIwin_sp2.zip et les installer.


1 ) Controle Panel -> System -> Advanced -> Environment Variables

JAVA_HOME=C:\j2sdk1.4.2_03 (ou C:\j2sdk1.4.2_03\)

2) vérifier:

regedit

JREPath=C:\Program Files\Java\j2re1.4.2_03\bin\client\jvm.dll
ou
JREPath=C:\j2sdk1.4.2_03\jre\bin\client\jvm.dll


3) La classe: MyFunction1.java:

//-- je rajoute le package -------
package com.ufl;

import com.crystaldecisions.reports.formulas.*;
import com.crystaldecisions.reports.common.value.*;

public class MyFunction1 implements FormulaFunction {
//.....
}

La classe MyLibrary.java:

//-- je rajoute le package -------
package com.ufl;

import com.crystaldecisions.reports.formulas.*;
import com.crystaldecisions.reports.common.value.*;

public class MyLibrary implements FormulaFunction {
//.....
}


4) Compiler ces deux classes puis IL FAUT LES METTRE
DAND UN FICHIER JAR, par ex:

jar cvf ./libUfl.jar ./com/ufl/*.class

puis, vérifier le contenue du fichier libUfl.jar:

MyLibrary.class ..... com\ufl\
MyFunction1.class ... com\ufl\

PS: avec JRC j'utilise le meme libUfl.jar.


5) j'ai copié le contenue du repertoire (les jars)
C:\Program Files\Common Files\Business Objects\3.0\java\lib
dans mon répertoire C:\crystalReport_V11.
(pour éviter les espaces des noms de répertoires)


6) Rajouter dans CLASSPATH: (avec libUfl.jar)
Controle Panel -> System -> Advanced -> Environment Variables
CLASSPATH:
C:\crystalReport_V11\lib\CrystalFormulas.jar;
C:\crystalReport_V11\lib\CrystalReportingCommon.jar;
C:\crystalReport_V11\lib\u211java.jar;
C:\crystalReport_V11\external\icu4j.jar;
C:\crystalReport_V11\external\log4j.jar;
C:\crystalReport_V11\lib\libUfl.jar
Note : (sur la meme ligne)


7) dans CRConfig.xml (MyLibrary avec le nom du package)

<ExternalFunctionLibraryClassNames>
<classname>com.ufl.MyLibrary</classname>
</ExternalFunctionLibraryClassNames>

<JavaDir>C:\j2sdk1.4.2_03\bin</JavaDir>

<Classpath>C:\crystalReport_V11\lib\crlovmanifest.jar;
C:\crystalReport_V11\lib\crlovexternal.jar;
C:\crystalReport_V11\lib\CRDBJavaServerCommon.jar;
C:\crystalReport_V11\lib\CRDBJavaServer.jar;
C:\crystalReport_V11\lib\CRDBJDBCServer.jar;
C:\crystalReport_V11\lib\CRDBXMLServer.jar;
C:\crystalReport_V11\lib\CRDBJavabeansServer.jar;
C:\crystalReport_V11\lib\external\CRDBXMLExternal.jar;
C:\crystalReport_V11\lib\external\log4j.jar;
C:\crystalReport_V11\lib\cecore.jar;
C:\crystalReport_V11\lib\celib.jar;C:\crystalReport_V11\lib\ebus405.jar;
C:\crystalReport_V11\lib\CorbaIDL.jar;
C:\crystalReport_V11\lib\external\freessl201.jar;
C:\crystalReport_V11\lib\external\asn1.jar;
C:\crystalReport_V11\lib\external\certj.jar;
C:\crystalReport_V11\lib\external\jsafe.jar;
C:\crystalReport_V11\lib\external\sslj.jar;{CLASSPATH}</Classpath>

(Rem: le nom du répertoire ne contenant pas d'espace).
(sous Linux, faire attention les noms (case sensitive) des fichiers jars)
//-----------------------------------------------------------------------

et ça marche.

Point important, c'est de mettres les classes users dans un fichier jar.
lyonnaisFR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h25.


 
 
 
 
Partenaires

Hébergement Web