Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

FAQ Crystal Report
Inventaire des questions et bonne pratique autour de Crystal Report et Crystal Server.
Crystal Report XI runtime n'est plus supporté par les objets, ni par le PrintServer à partir de ProConcept ERP 11.2

Paramètres

Langues

  • 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)


Ajout d'un paramètre individualisé à un rapport

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.


Paramètre caché


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.


PrintServer

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.

Base des registres

Enregistrement d'une CRULF x86 pour le client x64

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

  1. Enregistrer la DLL x86 au moyen de la commande regsvr32
    1. Exemple : regsvr32 [path]\CruflXxx.dll

  2. Rechercher dans la Registry Windows la valeur CLSID de la DLL
  3. Créer un fichier .REG avec les informations d'enregistrement de compatibilité x64 selon le template ci-dessous
    1. 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"=""

  4. Exécuter le fichier .REG pour intégrer l'extension




Investigations

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 ?





FAQ

Problème de sélection de bac, un autre bac est utilisé

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.

Export PDF: Les caractères unicodes apparaissent faux (rectangles)

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

Export PDF: L'export s'arrête en cours d'exécution

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.

Erreur lors du changement d'imprimante au preview de certain rapport (list index error sur une méthode SetDuplex)

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.

Lenteur sur un rapport spécifique

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.

Erreur UFL au lancement d'un rapport

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.

Longueur maximale d'une valeur de retour d'une fonction UFL

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

Mon paramètre dynamique n'affiche pas toutes les valeurs

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}

Des champs texte sont tronqués

  • 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.


Le code-barres ne s'affiche pas correctement

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.


Le site {+}http://www.eticoncept.com/telechargement-polices-codes-a-barres-windows-fonts/+ propose des polices de caractères libre de droits.
En Web, lorsqu'une font est installée sur le serveur, il peut être nécessaire de redémarrer Glassfish. Veillez à installer la font en tant qu'administrateur de manière à ce qu'elle soit valable pour tous les utilisateurs.

Aucun rapport ne fonctionne en web / Impossible d'extraire la source du rapport de l'objet état


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 ).


Aucun rapport ne fonctionne / impossible de récupérer la liste des imprimantes

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/

Format incorrect à l'aperçu

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 ?

Format incorrect des dates et des nombres

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

Etiquettes / formats spéciaux Web

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. ). 

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"

Page blanche supplémentaire à la fin

Les formules de format de section, indiquées dans section expert / suppress d'une section, ne doivent pas contenir d'éléments dynamiques comme TotalPageCount. A remplacer par des formules/variables whileprintingrecords.

Erreur Database Vendor Code: 12557

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.

Details: [Database Vendor Code: 12557 ]


Logon failed.

Details: [Database Vendor Code: 12557 ]


Error in File ACS_ACCOUNTING_PLAN 5896_7508_{BC9410CA-81BA-466A-AC1A-F48593050ED7}.rpt:
Unable to connect: incorrect log on parameters.

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


at com.crystaldecisions.sdk.occa.report.lib.ReportSDKLogonException.throwReportSDKLogonException(ReportSDKLogonException.java:98)
at com.crystaldecisions.proxy.remoteagent.ExceptionHelper.throwResultInfoException(ExceptionHelper.java:184)
at com.crystaldecisions.sdk.occa.report.application.ControllerBase.send(ControllerBase.java:208)
at com.crystaldecisions.sdk.occa.report.application.ActionControllerBase.send(ActionControllerBase.java:119)
at com.crystaldecisions.sdk.occa.report.application.BaseRequestAction.sendRequest(BaseRequestAction.java:112)
at com.crystaldecisions.sdk.occa.report.application.SetTableLocationAction.perform(SetTableLocationAction.java:59)
at com.crystaldecisions.sdk.occa.report.application.SetTableLocationActionBase.perform(SetTableLocationActionBase.java:115)
at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.performDo(UndoUnitBase.java:154)
at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.perform(UndoUnitBase.java:108)
at com.crystaldecisions.sdk.occa.report.application.DatabaseController.perform(DatabaseController.java:2910)


Les images affichés dans le rapport sont de mauvaises qualités (couleurs)

Activer l'option suivante dans les options du rapport:

Installation de CRRuntime_64bit

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.

Problèmes de marges / décalage dans les formulaires

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 ).

Logs Crystal

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


Les erreurs gérées par notre code sont disponibles dans ces logs alors que les erreurs non gérées figurent dans server.log comme auparavant.
Parmi les erreurs non gérées, on trouve :

  • Des erreurs JSON de conversion de String en Integer. Ceci arrive lorsqu'il y a des paramètres manquants ( des paramètres qui sont demandés par une popup Crystal ). Pour éviter ces erreurs, il faut gérer les paramètres dans la gestion des rapports. Ceci apparaît lorsque des paramètres numériques dont la valeur dépasse le plafond integer sont utilisés.
  • Des erreurs missingParameterValueError, voir point précédent
  • 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

  • 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


{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.


CRAS - Crystal Reports Application Server

Problèmes mémoire du CRAS

  • 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



Lancement du CRAS en ligne de commande

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.
  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.


Paramètres de log du CRAS

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


Erreurs de connexions du CRAS, problèmes de licences

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.
  • No labels