Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


...

  • Langue standard
    • USER_LANGUAGE
    • USER_LANID, PROCUSER_LANID
    • PC_USELANG_ID, PR_PC_USELANG_ID

La valeur de ces paramètres dépend de

  • l'initialisation de la langue dans la gestion des rapports (cf. Choix de la langue)
  • la langue dĂ©finie dans le lanceur d'impression (PC_inPrintLaunch)
  • Langue d'installation
    • INSTALLATION_LANGUAGE
    • INSTALLATION_LANID
  • Langue de la sociĂ©tĂ©
    • COMPANY_LANGUAGE
    • COMPANY_LANID
  • Autres
    • OUTPUT_MODE, mis Ă  jour par le lanceur d'impression pour le mode (preview, print ou export)

...

Les paramètres individualisés peuvent être défini de deux manière :

  • Ajouter un paramètre dans le rapport qui sera gĂ©rĂ© par Crystal Reports lors de l'exĂ©cution de celui-ci (fenĂŞtre de demande des paramètres Crystal).
  • Ajouter un paramètre standard (PARAMETERX) et le gĂ©rer via la gestion des paramètres de l'objet des Rapports.

...

Wiki Markup
SetOnlyPrinterName = \[True | False\] permet de désactiver la mise à jour du bac et du papier et de conserver les autres valeurs définies.
Utile dans certaines circonstances pour conserver les valeurs par défaut des paramètres d'impression du driver et que le changement de bac ou de papier provoque une modification de ceux-ci.
\\

...

Les services du PrintServer doivent utiliser un fichier de configuration propre pour éviter toutes collisions avec l'ERP. Le paramètre AUTOCONNECT doit être égal à 1 pour éviter l'affichage d'une boîte de dialogue pour la connexion.

...

Comment enregistrer une CRUFL x86 (Crystal Report User Function Library), par exemple pour une font code-barres, pour le client runtime x64. Attention, l'utilisateur doit disposer de droits d'administration pour pouvoir enregistrer des informations dans la Registry Windows

...

Wiki Markup
Exemple : regsvr32 \[path\]\CruflXxx.dll

...

Wiki Markup
Windows Registry Editor Version 5.00 \[HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{*}{_}\{00000000-0000-0000-0000-000000000000\}{_}{*}\] "AppID"="{*}{_}\{00000000-0000-0000-0000-000000000000\}{_}{*}" \[HKEY_CLASSES_ROOT\WOW6432Node\AppID\{*}{_}\{00000000-0000-0000-0000-000000000000\}{_}{*}\] @="{*}{_}CruflFullname_* 64-32 surrogate" "DllSurrogate"=""

...

De manière générale, voici les questions à poser lorsqu'un problème d'impression est remonté par un client :

  • Rapport standard ou individualisĂ©
    • Le rapport fonctionne-t-il dans l'Ă©diteur de rapport ?
  • Si le rapport est individualisĂ©, est-ce que le rapport standard fonctionne (ou un Ă©quivalent) ?
  • Utilisation de Crystal Server ou Crystal Runtime
    • VĂ©rifier la valeur de la configuration PC_REP_PRINTLAUNCH_VERSION
  • Quelles versions de Crystal sont installĂ©es ?
    • Crystal Server
    • Crystal Runtime
    • Crystal Editor
  • Est-ce que le problème est identique pour l'aperçu, l'impression et l'exportation ?
  • Est-ce que le problème est reproductible depuis d'autres objets ?
  • Est-ce que le problème est reproductible avec d'autre utilisateurs ?
  • Est-ce que le problème est reproductible sur d'autres postes pour la version Desktop ?

...

Si le format de papier n'est pas supporté par le bac spécifié (par exemple un format A3 sur un bac A4) alors le pilote de l'imprimante change automatiquement pour un bac adapté, ou celui par défaut.

...

Il faut utiliser une font unicode comme Arial unicode MS. Une font non unicode comme Arial ne fonctionne pas correctement.

...

Si le rapport utilise des fonts 'exotique', l'export PDF peut ne pas fonctionner. Par contre si la font n'est pas installé sur le poste, l'export peut tout de même fonctionner mais CR utiliser une font de remplacement.

...

CR sauvegarde dans le rapport des informations liées à l'imprimante, même si 'No printer' est spécifié dans les options du rapport. Ces informations sont parfois utilisées pour initialiser l'imprimante. Dans certains cas cela provoque des erreurs (Duplex sur imprimante fax). Modifier le rapport en sélectionnant une imprimante qui fonctionne, sauvegarder, puis remettre 'No printer' et sauvegarder à nouveau.

...

Lors du chargement du rapport, CR se connecte à l'imprimante spécifié sur le rapport ou/et sur celle par défaut du poste. Si ces imprimantes ne sont pas accessibles ou hors connexion, il arrive que CR prenne beaucoup de temps pour exécuter le rapport (probablement à cause d'un Timeout). Changer ou supprimer l'imprimante du rapport (No Printer) ou celle par défaut du poste résout ce problème.
Vérifier également les fonctions externes appelées via des CallDBFunctions. Une exportation du rapport depuis le designer au format "Report Definition" permet d'obtenir un texte affichant la plupart des composants du rapport. Cela permet ainsi de faciliter l'identification des formules. Pour davantage de précision, il faut faire des tests à tâtons en supprimant des sections du rapport petit à petit jusqu'à ce qu'on mette le doigt sur celle qui prenait du temps. Une fois identifiée, observer tous les composants de la section, les formules ( y compris celles qui sont utilisées dans les formatages ) ainsi que les sous-rapports.
Après l'identification de la cause, reste à trouver une solution alternative pour améliorer les performances. Selon le cas, adapter la source de données ( procédure, vue ) ou passer de plusieurs tables à une vue ou encore de vérifier que les CallDbFunctions ne se fassent que lorsqu'elles sont nécessaires et pas de manière systématique.

...

Une erreur de la librairie u2lcom.dll à l'exécution d'un rapport peut provenir d'une font pour les codes-barres qui n'est pas installé sur le poste. Si le rapport utilise une formule pour les code-barres et que la font correspondante n'est pas installée, le rapport peut même se planter.

...

La longueur maximale d'un texte en retour d'une fonction UFL est limitée comme suit :

  • 510 pour CR2008 et supĂ©rieur
  • 254 pour CRXI.

La seule solution est de découper le résultat par blocs (par exemple 500 caractères) et reconstruire le texte ensuite

...

Pour des questions de performances, le nombre d'éléments d'une liste de valeurs (LOV) est limité à 1000. Cette limite peut être augmentée en renseignant une valeur dans la base des registres.
Emplacement de base

  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Business Objects\Suite 12.0\Crystal Reports\DatabaseOptions\LOV
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\DatabaseOptions\LOV

Clé de registre

  • MaxRowsetRecords (DWORD) = {integer}

...

Image Removed

  • Installer une nouvelle version du runtime ( CRRuntime_64bit_13_0_24 et le nouveau pc_reportPlugin.dll )
  • Si cela n'est pas possible :
    • Plusieurs options Ă  tester si cela apparaĂ®t en client/serveur avec CR runtime :
      • Changer l'alignement horizontal pour spĂ©cifier "justifiĂ©" dans le format du champ ou,
      • Changer la marge de droite du paragraphe dans le format du champ pour indiquer 0.2 cm p.ex. ou,
      • Indiquer une imprimante au niveau du rapport. Attention, cela peut avoir des effets de bord, notamment concernant l'impression recto-verso.
    • VĂ©rifier que le champ soit suffisamment large pour afficher son contenu.
    • Pour les grands champs comme les CLob ou d'une longueur de 4'000 caractères, cocher l'option Can grow pour qu'il puisse ĂŞtre affichĂ© sur plusieurs lignes.
    • VĂ©rifier si le problème persiste après avoir indiquĂ© une police standard comme Arial.

...

La police de caractère code-barres doit être présent là où le rapport est exécuté :

  • Client lourd (Desktop)
    • ProConcept 11.1
      • Sur le poste client si l'utilisateur dĂ©marre ProConcept localement (par exemple avec un raccourci sur le bureau)
        • MĂŞme si les binaires se trouvent sur un serveur distant, l'exĂ©cution se fait localement
      • Sur le serveur TS si l'utilisateur ouvre une session TS ou RDP
    • ProConcept 11.2
      • DĂ©pend de la valeur de la configuration PC_REP_PRINTLAUNCH_VERSION
        • Default, Crystal12, CrystalWeb: Voir Client lĂ©ger
        • Crystal12_Client : Voir Client lourd > ProConcept 11.1
  • Client lĂ©ger (Web)
    • ProConcept 11.1
      • Sur le serveur oĂą est exĂ©cutĂ© Glassfish
    • ProConcept 11.2
      • Sur le serveur oĂą est exĂ©cutĂ© Crystal Server

Remarque pour l'exportation de documents PDF depuis un rapport :

  • Les polices de caractère ne sont pas incluses dans le document.
  • La police de caractère code-barres doit ĂŞtre prĂ©sente lĂ  oĂą le document est ouvert, sinon une police de substitution sera utilisĂ©e.

...

Wiki Markup
Des erreurs apparaissent systématiquement : 
com.businessobjects.report.web.shared.WebReportingException: Le visualiseur n'a pas pu traiter un évènement. Impossible d'extraire la source du rapport de l'objet état. \[CRSDK00000957\] ---- Error code:0 \[CRWEB00000119\]
\\
Par contre, en desktop, cela fonctionne.
\\
=> Essayer avec un autre browser ou en mode de navigation privé. Si cela fonctionne vider complètement le cache ( cookies et autres ).
\\
Résolution : Il faut vider le cache de Chrome ( F12 et clic droit sur le bouton refresh, sélectionner l'option empty cache and hard reload ).
\\

Erreur The viewer could not process an event. The report source could not be retrieved from the state object. [CRSDK00000957] 

Problème avec le cookie JSESSIONID dans le browser, il est absent ou sa valeur est fausse. 

  1. Supprimer celui-ci dans le browser et relancer un aperçu.
  2. Si celui-ci n’existe pas alors que l’aperçu est affiché, c’est probablement que le browser n’a pas réussi à le créer.
    Il faut que le domaine de l’URL de l’iframe du Viewer CR soit identique à l’URL du browser (en tout cas sur Chrome) sinon le browser refuse de créer le cookie, comparer l’URL de la barre de navigation avec l’URL de l’ifame de l’aperçu.
    Pour corriger, modifier la configuration site PC_REPORT_PUBLIC_URL pour utiliser le même domaine que l’URL du WebErp. On peut éventuellement modifié la redirection du WebErp dans Apache (httpd-pcs-prod-instance1.conf) pour corriger celle-ci si elle n’est pas correct (localhost par ex.). 

...

La configuration PC_REPORT_SERVER_URL doit être renseignée. Ceci peut apparaître quand il y a un problème de DNS / que la machine ne connait pas son propre nom externe.
Exemple de valeur pour cette configuration : http://<server>:<port>/SolvaxisCRServer/

...

Vérifier que le CRAS est lancé par un utilisateur défini ayant les droits sur les imprimantes et pas localsystem. Il faut que cela soit le même que celui de Glassfish pour éviter les malentendus.
Le log peut alors afficher : The server failed to change print options.
Est-ce que l'utilisateur ayant démarré le service CRAS a accès à l'imprimante spécifiée dans le rpt, dans pcs_report, dans le printlaunch ?

...

Vérifier que les regional settings de l'utilisateur qui lance le CRAS sont corrects et redémarrer ce service après tout changement.
En cas d'utilisation de la fonction VAL() pour un CallDBFunction, par exemple dans le cas du DOC_STD_2 et le taux TVA, si les paramètres régionaux susmentionnés et le profil NLS lié à la langue de l'utilisateur sont incompatibles, le taux peut être tronqué.
Les fonctions externes de la Crufl retournent des Strings qui ont un séparateur décimal pour les nombres correspondant à celui de la langue de l'utilisateur. Par contre, Crystal Reports, pour convertir via VAL() la chaîne de caractères en numérique va se baser sur les regional settings. Si l'un utilise la virgule et l'autre le point, ça ne fonctionne pas, idem en cas de séparateur des milliers différent.
Lorsque l'utilisateur travaille avec le runtime standalone ( CrystalRTStandalone ), le problème reste entier : il faut avoir une cohérence entre les regional settings et les NLS parameters faute de quoi les conversions sont incorrectes.
Pour rappel, il existe 3 possibilités pour la gestion des formats dans Crystal :

  • Fixe, en spĂ©cifiant le format voulu dans le rapport
  • Valeur par dĂ©faut du système, en indiquant cela pour le champ. Dans ce cas, ce sont les regional settings du poste qui sont utilisĂ©s avec CrystalRTStandalone, ceux du service CrystalRAS pour CrystalRT et ceux du pays de la sociĂ©tĂ©/langue de l'utilisateur pour CrystalWeb
  • Selon inifile/prĂ©fĂ©rences utilisateurs si on utilise les paramètres ad hoc dans les formules de formattage

...

Pour les formats de papier spéciaux qui ne sont pas ISO ( A4, C5, A3, … ), il est préférable d'indiquer au niveau du rapport que la taille du papier est dissociée. Ainsi c'est la taille indiquée sur le rapport qui est prise en considération et non pas la source qui n'est pas forcément gérée par la machine virtuelle java.

En cas de problème d'orientation en web pour des étiquettes ou qu'aucune autre solution n'est trouvée, il reste la possibilité d'utiliser le printserver pour imprimer ces éléments. Dans ce cas, c'est comme avec l'utilisation de BarTender, Nicelabel ou autre Loftware, c'est une procédure stockée qui doit être appelée pour générer le contenu de l'instruction à envoyer ( donc pas disponible via le bouton Imprimer ).

Si, en client lourd 11.03, l’impression des étiquettes se fait sans difficulté, la solution printserver et crystalRT est à utiliser. Si cela ne fonctionnait pas non plus en client lourd, la seule solution est d’utiliser un logiciel tiers ( barTender, NiceLabel, etc. ). 

Image Removed

Etiquettes / mauvaise orientation

En client lourd, lorsque la configuration PC_REP_PRINTLAUNCH_VERSION = 'CRYSTALRT', en fonction des imprimantes et des étiquettes, il arrive que celles-ci soient mal orientées, portrait à la place de paysage.
En dernier recours, il est possible de désactiver complètement toutes les options de mise en page avec des fichiers de configuration :

  • PC_ExeComObjLauncher.exe.config
  • PC_ExeComObjLauncher_TS.exe.config

La casse des noms des fichiers n'est pas important
Les deux fichiers doivent exister et contenir les mĂŞmes instructions
Contenu :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="DisableApplyPrintOptionsOnReports" value="reportname.rpt" />
</appSettings>
</configuration>
Plusieurs rapports peuvent être renseignés dans l'attribut value, ils doivent être séparés par une virgule. Par Exemple :
value="DOC_ETIQUETTES_POS.rpt,DOC_IND_ETI_POS.rpt"

...

Vérifier la variable d'environnement ORACLE_HOME pour le user utilisé pour lancer le service CRAS. Celle-ci ne doit pas exister ou pointer sur le répertoire du client Oracle 32 bits.
Redémarrer le service après correction.
Solvaxis Crystal Report Server
An error occurred while processing the report, see below for further information.
Exception Message:
com.crystaldecisions.sdk.occa.report.lib.ReportSDKLogonException: Logon failed.

Wiki Markup
Details:  \[Database Vendor Code: 12557 \]

...

Wiki Markup
Details:  \[Database Vendor Code: 12557 \]

...

Wiki Markup
Details:  \[Database Vendor Code: 12557 \]---- Error code:-2147217393 \[CRSDK00000000\] Error code name:dbLogonFailed

...

Activer l'option suivante dans les options du rapport:
Image Removed

...

Un nouveau setup indépendant des autres produits ( CRAS, designer ) doit être installé pour éviter les problèmes de textes tronqués ( 11.02.R.31 ? ).
Si l'on installe le runtime, la PC_ReportPlugin.dll est modifiée. Si on remplace la dll et que celle-ci est incompatible avec le niveau de patch, il y aura des erreurs liées à Hydra qui apparaissent :
2.3 Module Name : Hydra_Core_D22.bpl
2.4 Module Version: 6.0.93.1189
2.5 Type : EOleException
2.6 Message : Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
En cas de problème, il faut remettre la dll originale en place qui n'utilisera pas le nouveau runtime.

...

Ceci apparaît fréquemment lorsque le format du papier n'est pas correct. Si l'imprimante a une taille de papier au format Letter par défaut et que rien n'est spécifié dans PC_REPORT, on arrive à cette situation.
Dans ce cas, soit modifier le format par défaut de l'imprimante ou spécifier PaperSize=A4 au niveau de PC_REPORT.
Entre la version runtime et la version java, il y a des comportements légèrement différents notamment en regard avec les marges. De ce fait, les formulaires BVR doivent souvent être retouchés pour adapter le positionnement des champs de quelques millimètres.

Caractères non imprimés, mais aperçu correct

Problème identifié en utilisant une jvm 11 (possible uniquement en conjonction avec Tomcat)
Seuls les champs qui ont un format dans lequel sont spécifiées des indentations au niveau du paragraphe apparaissent. Concerne des rapports Finance ( document, balance.Remonté par Tronico en test Tomcat ).

...

Dès 11.02.R.31, un nouveau WAR a été déployé qui permet d'avoir davantage d'informations. Les logs se trouvent dans <PCS_ROOT_PATH\\Web\Server\glassfish\glassfish\domains\<INSTANCE_NAME>\logs\proconcept.
Pour définir le niveau de log souhaité, il faut, dans la console Glassfish, au niveau Logger Settings de server-config, ajouter un logger ch.proconcept.report.ReportLogger et spécifier le niveau ( par défaut INFO, mettre FINEST pour avoir tout le détail de debug ).
Les erreurs suivantes peuvent apparaître :

  • ReportRecord.init Ex: The server failed to change print options
    • VĂ©rifier la configuration du rpt dans le designer, un paramètre est peut-ĂŞtre en cause, comme une imprimante mal dĂ©finie ou des Ă©lĂ©ments manquants

...

Wiki Markup
com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Le document est en cours de fermeture.---- Error code:-2147215349 \[CRSDK00000005\] Error code name:docNotReady. Probablement que l'utilisateur a fermé la fenêtre de crystal avant la fin du traitement
Wiki Markup
com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: L'agent serveur a dépassé le délai d'attente.---- Error code:-2147217401 \[CRSDK00000000\] Error code name:agentTimeout. L'utilisateur a certainement trop tardé à effectuer une action dans son browser.

Erreur de connexion au serveur

Wiki Markup
\{DATE\} \{HOUR\}:00|AVERTISSEMENT\[\{2AD35A50-EC1C-4F43-92E5-22A45E8CABC5\} \{USER\} \{$PCS\}\appl\ACS_ACCOUNTING_STRUCTURE\RPT\ACS_ACCOUNTING_PLAN.rpt\] ReportRecord.checkMissingParameters Ex: Unable to log on: Could not connect to server \{servername\}.  Please check that the server name is correct, and that the server is running.
Pour déterminer l'origine et la source de l'erreur, il faut démarre le CRAS en ligne de commande à la place du service. Voir le chapitre _Lancement du CRAS en ligne de commande{_}.

...

  • RĂ©solutions :
    • SAP recommande de redĂ©marrer le service CRAS rĂ©gulièrement
    • Installer le CRAS SP7
  • Temporairement :
    • Configurer une tâche planifiĂ©e pour redĂ©marrer le CRAS quotidiennement

...

En cas de problème avec le CRAS (par exemple avec les licences), l'exécution en ligne de commande permet d'avoir un message d'erreur indiquant plus précisément le problème.

  1. Lancer le "Central Configuration Manager" depuis le menu de Windows.
  2. Stopper si nécessaire le service avec le bouton ou via un clic droit.
  3. Ouvrir les Properties du service.
  4. Copier la ligne de commande du lancement du service. Image Removed
  5. Ouvrir un CMD en mode administrateur.
  6. Exécuter la ligne de commande en supprimant préalablement le param. -service: "\\200WS265DWA\C$\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\crystalras.exe" -service -name 200WS265DWA.RAS -ipport 1566 -restart devient: "\\200WS265DWA\C$\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\crystalras.exe" -name 200WS265DWA.RAS -ipport 1566 -restart
  7. Une icône apparaît dans la zone de notification en bas à droite.

...

A la ligne de commande du service, ajouter "-trace" voire "-crpetrace7" ( prud
ence, le volume de logs est impressionnant ).

Timeout

En cas de plantage après 10 minutes d'exécution d'un rapport volumineux, modifier la commande de lancement du CRAS pour ajouter le paramètre -requesttimeout nnnnnn.

  • ArrĂŞter le service depuis ProConcept CrystalServer ou Central Configuration Manager
  • Modifier la commande de lancement en ajoutant Ă  la fin : -requesttimeout
    • La valeur est indiquĂ©es en millisecondes 1200000 => 20 minutes
  • DĂ©marrer le service

...

Des clés dans la base de registres de versions précédentes existent. Procéder à la désinstallation complète et nettoyer la registry, principalement les clés KeycodeDefinitions qui pointent vers des répertoires obsolètes.
Voir dans :

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Suite XI 4.0\Report Application Server
  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SAP BusinessObjects\Suite XI 4.0\Report Application Server\Keycode
  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\Keycodes
  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Suite XI 4.0\Report Application Server\Keycode
  • etc.

HTTPS

Blocage de l’aperçu avant l’affichage du rapport en HTTPS 

Si l’accès au WebErp se fait via une URL sécurisée HTTPS, il faut que l’accès au Viewer CR dans l’iframe soit également en HTTPS sinon le browser refuse de l’afficher (erreur dans la console). 

Vérifier/modifier la configuration site PC_REPORT_PUBLIC_URL pour spécifier une URL en HTTPS, la solution standard est d’utiliser l’URL d’Apache pour passer par son proxy. 

executeDocument

Il est possible, en web, d'utiliser cette fonctionnalité. Elle est réalisée après impression depuis 11.03R9

...

Version minima

11.02

Theme/Function

Environnement/Rapports

Object

PC_REPORT Services/Environnement/Rapports)

View file
nameFAQ Crystal Report Vis220 OperationDocumentation.pdf
height250

Â