version 11.3 (Modifiée)
FIXER PARAMETRE BASE ({table; }sélecteur; valeur)
Paramètre | Type | Description | |
table | Table | Table à paramétrer ou | |
Table par défaut si ce paramètre est omis | |||
sélecteur | Entier long | Code du paramètre de la base à modifier | |
valeur | Entier long | Alpha | Valeur du paramètre |
Description
La commande FIXER PARAMETRE BASE permet de modifier divers paramètres internes de la base de données 4D.
sélecteur désigne le paramètre à modifier. 4D vous propose des constantes prédéfinies, placées dans le thème "Paramètres de la base". Le tableau suivant liste chaque constante, décrit sa portée et indique si les éventuelles modifications effectuées sont conservées entre deux sessions :
Constante sélecteur | Valeur | Portée | Conservation |
Ratio de tri séq | 1 | **** Sélecteur inactivé **** | |
Optimisation accès séq | 2 | **** Sélecteur inactivé **** | |
Ratio valeurs distinctes séq | 3 | **** Sélecteur inactivé **** | |
Compression index | 4 | **** Sélecteur inactivé **** | |
Ratio chercher dans sélec séq | 5 | **** Sélecteur inactivé **** | |
Minimum process Web | 6 | 4D local, 4D Server (*) | Oui |
Maximum process Web | 7 | 4D local, 4D Server (*) | Oui |
Mode conversion Web | 8 | Process courant | - |
Taille cache données | 9 | Application 4D (*) (**) | - |
Appels système 4D mode local | 10 | Application 4D (*) | Oui |
Appels système 4D Server | 11 | Application 4D (*) | Oui |
Appels système 4D mode distant | 12 | Application 4D (*) | Oui |
Timeout 4D Server | 13 | Application 4D sauf si valeur négative (***) | Oui |
Timeout 4D Client | 14 | Application 4D sauf si valeur négative (***) | Oui |
Numéro du port | 15 | 4D local, 4D Server (*) | - |
Adresse IP d'écoute | 16 | 4D local, 4D Server (*) | Oui |
Jeu de caractères | 17 | 4D local, 4D Server (*) | Oui |
Process Web simultanés maxi | 18 | 4D local, 4D Server (*) | Oui |
Client Minimum process Web | 19 | Tous postes 4D distants (*) | Oui |
Client Maximum process Web | 20 | Tous postes 4D distants (*) | Oui |
Client Taille max requêtes Web | 21 | Tous postes 4D distants (*) | Oui |
Client Numéro de port | 22 | Tous postes 4D distants (*) | Oui |
Client Adresse IP d'écoute | 23 | Tous postes 4D distants (*) | Oui |
Client Jeu de caractères | 24 | Tous postes 4D distants (*) | Oui |
Client Proc Web simultanés maxi | 25 | Tous postes 4D distants (*) | Oui |
Mode écriture cache | 26 | **** Sélecteur inactivé **** | |
Taille maximum requêtes Web | 27 | 4D local, 4D Server (*) | Oui |
Enreg requêtes 4D Server | 28 | 4D Server, 4D distant (*) | - |
Enreg requêtes Web | 29 | 4D local, 4D Server (*) | Oui |
Client Enreg requêtes Web | 30 | Tous postes 4D distants (*) | Oui |
Numéro automatique table | 31 | Application 4D | Oui |
Précision affichage réels | 32 | Application 4D | - |
TCP_NODELAY | 33 | Application 4D (*) | - |
Enreg événements debogage | 34 | Application 4D (*) | - |
Numéro du port client serveur | 35 | Base de données (*) | Oui |
Signature WEDD | 36 | Base de données (*) | Oui |
Inversion des objets | 37 | Base de données (*) | Oui |
Numéro de port HTTPS | 39 | 4D local, 4D Server (*) | Oui |
Client Numéro de port HTTPS | 40 | Tous postes 4D distants (*) | Oui |
Mode Unicode | 41 | Base de données (*) | Oui |
Taille mémoire temporaire | 42 | Application 4D (*) | - |
SQL Autocommit | 43 | Base de données (*) | Oui |
Casse caractères moteur SQL | 44 | Base de données (*) | Oui |
Enreg requêtes client | 45 | Poste 4D distant (*) | - |
Chercher par formule serveur | 46 | Table et process courants | - |
Trier par formule serveur | 47 | Table et process courants | - |
Synchro auto dossier Resources | 48 | Poste 4D distant (*) | - |
Jointures CHERCHER PAR FORMULE | 49 | Process courant (*) | - |
Niveau de compression HTTP | 50 | Application 4D (*) | - |
Seuil de compression HTTP | 51 | Application 4D (*) | - |
(*) Dans ce cas, le paramètre table est ignoré s'il est passé.
(**) Ce sélecteur ne peut être utilisé qu'en lecture (voir commande Lire parametre base).
(***) Si le paramètre valeur est négatif, le paramétrage est local au process courant et réinitialisé à la requête suivante.
valeur désigne la valeur du paramètre. La valeur à passer dépend du paramètre que l'on souhaite modifier. Voici les valeurs possibles pour chaque sélecteur :
Sélecteur = 1 (Ratio de tri séq)
Ce sélecteur correspond à un mécanisme ayant été optimisé dans 4D version 11, il est désormais inactivé.
Sélecteur = 2 (Optimisation accès séq)
Ce sélecteur correspond à un mécanisme ayant été optimisé dans 4D version 11, il est désormais inactivé.
Sélecteur = 3 (Ratio valeurs distinctes séq)
Ce sélecteur correspond à un mécanisme ayant été optimisé dans 4D version 11, il est désormais inactivé.
Sélecteur = 4 (Compression index)
Ce sélecteur correspond à un mécanisme ayant été optimisé dans 4D version 11, il est désormais inactivé.
Sélecteur = 5 (Ratio chercher dans sélec séq)
Ce sélecteur correspond à un mécanisme ayant été optimisé dans 4D version 11, il est désormais inactivé.
Sélecteur = 6 (Minimum process Web)
Valeurs possibles : 0 -> 32 767
Description : Nombre minimum de process Web à maintenir en mode sans contexte avec 4D en mode local et 4D Server. Par défaut, la valeur est 0 (cf. ci-dessous).
Sélecteur = 7 (Maximum process Web)
Valeurs possibles : 0 -> 32 767
Description : Nombre maximum de process Web à maintenir en mode sans contexte avec 4D en mode local et 4D Server. Par défaut, la valeur est 10.
Afin que le serveur Web soit réactif, en mode sans contexte, 4D maintient endormis les process Web pendant 5 secondes, et les réutilise pour traiter les éventuelles requêtes HTTP suivantes. En termes de performances, ce principe est en effet plus avantageux que la création d'un nouveau process à chaque requête. Une fois un process Web réutilisé, il est à nouveau endormi pour 5 secondes, sauf si le nombre maximum de process Web est dépassé (auquel cas il est tué). Si aucune requête n'a été attribuée à un process Web durant les 5 secondes, il est tué, sauf si un nombre minimum de process Web a été fixé et est atteint (auquel cas il est à nouveau endormi).
Ces paramètres vous permettent d'ajuster le fonctionnement de votre serveur Web en fonction du nombre de requêtes, de la mémoire disponible, etc.
Sélecteur = 8 (Mode conversion Web)
Valeurs possibles : 0, 1, 2 ou 3
0 (mode par défaut) = Conversion au format HTML 4.0 si le browser le permet. Sinon, format HTML 3.2 + usage de tableaux.
1 = Conversion au format HTML 2.0 (mode 6.0.x),
2 = Conversion au format HTML 3.2 (mode 6.5),
3 = Conversion au format HTML 4.0 + CSS-P (depuis version 6.5.2).
Description : Mode de conversion des formulaires 4D pour le Web avec 4D en mode local et 4D Server.
Par défaut, le serveur Web 4D utilise les feuilles de style en cascade (CSS1) pour générer des pages HTML dont l'apparence est très proche de celle des formulaires obtenus dans 4D.
Dans le cas des bases créées avec des versions de 4D antérieures à la 6.7, ce fonctionnement peut perturber la conversion correcte des formulaires. Vous pouvez donc modifier le mode de conversion des formulaires.
Ce mode n'est utilisé que pour le process (contexte Web) dans lequel la commande FIXER PARAMETRE BASE est appelée. Elle peut être placée dans la Méthode base Sur connexion Web pour assurer la conversion des formulaires de la base, ou juste avant l'appel d'un formulaire particulier. Hors du mode contextuel ou d'un process Web, la commande est sans effet.
Note : La fonction Lire parametre base admet un sélecteur supplémentaire, Taille cache données (9). Ce paramètre ne peut pas être utilisé avec la commande FIXER PARAMETRE BASE. Pour plus d'informations, reportez-vous à la description de la fonction Lire parametre base.
Sélecteur = 10 (Appels système 4D mode local)
Sélecteur = 11 (Appels système 4D Server)
Sélecteur = 12 (Appels système 4D mode distant)
Valeurs possibles : pour ces trois sélecteurs, le paramètre valeur est de la forme hexadécimale 0x00aabbcc dans laquelle :
aa = nombre minimum de ticks par appel au système (de 0 à 100 inclus)
bb = nombre maximum de ticks par appel au système (de 0 à 100 inclus)
cc = nombre de ticks entre deux appels au système (de 0 à 20 inclus).
Si une des valeurs est hors de son intervalle, 4D la fixe à son maximum.
Vous pouvez également passer dans valeur une des trois valeurs suivantes, correspondant à un ensemble de réglages standard :
valeur = -1 : priorité maximum allouée à 4D,
valeur = -2 : priorité moyenne allouée à 4D,
valeur = -3 : priorité minimum allouée à 4D.
Description : Ce sélecteur vous permet de fixer dynamiquement les réglages des appels système de 4D. En fonction du Sélecteur, le gestionnaire d'appels système sera défini pour :
- 4D mode local lorsque la commande est appelée depuis 4D monoposte (sélecteur=10).
- 4D Server lorsque la commande est appelée depuis 4D Server (sélecteur=11).
- 4D mode distant lorsque la commande est appelée depuis 4D connecté à 4D Server (sélecteur=12).
Note : Le fonctionnement du sélecteur 12 (Appels système 4D mode distant) diffère suivant que la commande FIXER PARAMETRE BASE est exécutée sur le poste serveur ou sur un poste client :
- si la commande est exécutée sur le poste serveur, la nouvelle valeur sera appliquée à tous les postes clients se connectant ultérieurement.
- si la commande est exécutée sur un poste client, la nouvelle valeur est appliquée immédiatement au poste client ainsi qu'à tous les postes clients se connectant par la suite au serveur.
Vous pouvez utiliser ce fonctionnement pour mettre en place une gestion dynamique et individualisée de la priorité pour chaque poste client. Le principe consiste à exécuter la commande une première fois sur le poste client à configurer puis une seconde fois sur le poste serveur avec la valeur par défaut, qui sera alors utilisée pour les postes client se connectant par la suite.
Ce fonctionnement est effectif dans 4D à partir des versions 6.8.6, 2003.3 et 2004.
Attention : Paramétrer ces sélecteurs de façon inappropriée peut conduire à une forte dégradation des performances de l'application. Il est conseillé de ne modifier les valeurs par défaut qu'en parfaite connaissance de cause.
Sélecteur = 13 (Timeout 4D Server)
Description : Ce paramètre permet de modifier la valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.
Par défaut, la valeur du délai avant déconnexion utilisée par 4D Server est définie dans la page "Client-Serveur/Configuration" de la boîte de dialogue des Préférences, sur le poste serveur.
Le sélecteur Timeout 4D Server vous permet de fixer, à l'aide du paramètre valeur, un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d'augmenter la valeur du timeout avant l'exécution sur le poste client d'une opération bloquante et de longue durée, risquant d'entraîner une déconnexion ; par exemple, l'impression d'un grand nombre de pages.
Vous disposez en outre de deux possibilités :
- effectuer une modification globale et permanente : la nouvelle valeur s'applique à tous les process et est stockée dans les préférences de l'application (équivaut à une modification de la valeur dans la boîte de dialogue des Préférences). Pour cela, passez une valeur positive dans le paramètre valeur.
- effectuer une modification restreinte et temporaire : la nouvelle valeur ne s'applique qu'au process appelant (les autres process conservant la valeur d'origine), et est abandonnée dès que le serveur reçoit un signe d'activité du poste client par exemple, dès que l'opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur négative dans le paramètre valeur.
Pour définir une connexion "Ouverte en permanence", passez 0 dans valeur.
Reportez-vous à l'exemple (1).
Sélecteur = 14 (Timeout 4D Client)
Description : Ce paramètre permet de modifier la valeur du délai avant déconnexion (timeout) accordé par le poste 4D Client au poste 4D Server.
Par défaut, la valeur du délai avant déconnexion utilisée par 4D Client est définie dans la page "Client-Serveur/Configuration" de la boîte de dialogue des Préférences, sur le poste client.
Pour plus d'informations sur le fonctionnement de ce sélecteur, reportez-vous ci-dessus à la description du sélecteur Timeout 4D Server (13).
Le sélecteur Timeout 4D Client est à utiliser dans des cas très spécifiques.
Sélecteur = 15 (Numéro du port)
Description : Ce paramètre permet de modifier par programmation le numéro du port TCP utilisé par le serveur Web 4D avec 4D en mode local et 4D Server. Par défaut, la valeur est 80.
Le numéro de port TCP est défini dans la page "Web/Configuration" de la boîte de dialogue des Préférences. Vous pouvez utiliser les constantes du thème "Numéros de port TCP" pour le paramètre valeur.
Le sélecteur Numéro du port est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d'accès au mode Développement). Pour plus d'informations sur le numéro de port TCP, reportez-vous à la section Paramétrages du serveur Web.
Sélecteur = 16 (Adresse IP d'écoute)
Description : Ce paramètre permet d'indiquer par programmation l'adresse IP sur laquelle le serveur Web doit recevoir les requêtes HTTP avec 4D en mode local et 4D Server. Par défaut, aucune adresse particulière n'est spécifiée (valeur = 0). Ce paramètre est défini dans les Préférences de la base.
Le sélecteur Adresse IP d'écoute est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop (pas d'accès au mode Développement).
Passez dans le paramètre valeur l'adresse IP sous forme hexadécimale. Ainsi, pour désigner une adresse du type "a.b.c.d", le code sera de la forme :
C_ENTIER LONG($addr) $addr:=($a<<24)|($b<<16)|($c<<8)|$d FIXER PARAMETRE BASE(Adresse IP d'écoute;$addr)
Reportez-vous également à l'exemple (2). Pour plus d'informations sur la désignation de l'adresse IP, reportez-vous à la section Paramétrages du Serveur Web.
Sélecteur = 17 (Jeu de caractères)
Description : Ce paramètre permet d'indiquer par programmation le jeu de caractères que le serveur Web 4D (avec 4D en mode local et 4D Server) doit utiliser pour communiquer avec les navigateurs Web qui se connectent à la base. La valeur par défaut dépend de la langue du système d'exploitation.
Ce paramètre est défini dans les Préférences de la base. Le sélecteur Jeu de caractères est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Desktop(pas d'accès au mode Développement).
Valeurs : Les valeurs possibles dépendent du mode d'exécution de la base relatif au jeu de caractères.
Mode Unicode : Lorsque l'application est exécutée en mode Unicode, les valeurs à passer pour ce paramètre sont des identifiants de jeux de caractères (MIBEnum, identifiants définis par l'IANA, cf. http://www.iana.org/assignments/character-sets). Voici la liste des identifiants correspondant aux jeux de caractères pris en charge par le serveur Web de 4D :4 = ISO-8859-1 12 = ISO-8859-9 13 = ISO-8859-10 17 = ShiftJIS 2026 = Big5 38 = euc-kr 106 = UTF-8 2250 = Windows-1250 2251 = Windows-1251 2253 = Windows-1253 2255 = Windows-1255 2256 = Windows-1256
Note : Dans le cadre du sélecteur Jeu de caractères, la commande Lire parametre base retourne le nom IANA du jeu de caractères dans le paramètre facultatif valeurAlpha.
Mode compatibilité ASCII :
0 : Occidental 1 : Japonais 2 : Chinois 3 : Coréen 4 : Défini par l'utilisateur 5 : Réservé 6 : Europe Centrale 7 : Cyrillique 8 : Arabe 9 : Grec 10 : Hébreu 11 : Turc 12 : Nordique
Note : Pour plus d'informations sur le mode Unicode, reportez-vous à la description du sélecteur 41.
Sélecteur = 18 (Process Web simultanés maxi)
Valeurs : Vous pouvez passer toute valeur incluse entre 10 et 32 000. La valeur par défaut est 32 000.
Description : Ce paramètre permet de définir la limite strictement supérieure du nombre de process Web de tout type (contextuels, non contextuels ou appartenant à la réserve de process cf. à ce sujet le sélecteur 7, Maximum process Web) acceptés par le serveur Web avec 4D en mode local et 4D Server. Lorsque ce nombre limite (moins un) est atteint, 4D ne crée plus de nouveau process et retourne le message "Serveur non disponible" (statut HTTP 503 - Service Unavailable) à toute nouvelle requête.
Ce paramètre permet de prévenir la saturation du serveur Web 4D pouvant se produire lors d'un envoi massif de requêtes ou d'une demande excessive de création de contextes. Il peut également être défini dans la boîte de dialogue des Préférences (cf. section Paramétrages du serveur Web).
En théorie, le nombre maximum de process Web est le résultat de la division Mémoire disponible / Taille de la pile d'un process Web. Une autre solution consiste à visualiser les informations sur les process Web affichées dans l'Exporateur d'exécution : le nombre courant de process Web et le nombre maximum atteint depuis le démarrage du serveur Web sont indiqués.
Note : Si vous passez une valeur inférieure à la limite supérieure de la "réserve" de process (sélecteur 7), cette limite est réduite à la valeur du sélecteur 18. Si nécessaire, la limite inférieure de la réserve (sélecteur 6) est également ajustée.
Sélecteur = 19 (Client Minimum process Web)
Sélecteur = 20 (Client Maximum process Web)
Sélecteur = 21 (Client Taille max requêtes Web)
Sélecteur = 22 (Client Numéro de port)
Sélecteur = 23 (Client Adresse IP d'écoute)
Sélecteur = 24 (Client Jeu de caractères)
Sélecteur = 25 (Client Process Web simultanés maxi)
Valeurs possibles : Identiques à celles des sélecteurs 4D en mode local ou 4D Server correspondants (cf. sélecteurs 6 à 8, 15 à 18 et 27).
Description : Ces sélecteurs permettent de spécifier les paramètres de fonctionnement des postes 4D Client utilisés en tant que serveurs Web.
Les valeurs définies via ces sélecteurs sont appliquées à tous les postes 4D Client utilisés comme serveurs Web. Si vous souhaitez définir des valeurs pour certains postes 4D Client uniquement, utilisez la boîte de dialogue des Préférences de 4D Client.
Sélecteur = 26 (Mode écriture cache)
Ce sélecteur correspond à un mécanisme ayant été optimisé dans 4D version 11, il est désormais inactivé.
Sélecteur = 27 (Taille maximum requêtes Web)
Valeurs possibles : 500 000 à 2 147 483 648.
Description : Taille maximale (en octets) des requêtes HTTP entrantes (POST) que le serveur Web est autorisé à traiter. Par défaut, la valeur est 2 000 000, c'est-à-dire un peu moins de 2 Mo.
La valeur maximale (2 147 483 648) signifie en pratique qu'aucune limite n'est fixée.
Ce paramétrage permet d'empêcher la saturation du serveur Web à cause de requêtes entrantes de trop grande taille. Lorsqu'une requête atteint la limite, le serveur Web de 4D la refuse.
Sélecteur = 28 (Enreg requêtes 4D Server)
Valeurs possibles : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier).
Description : Démarrage ou arrêt de l'enregistrement des requêtes standard reçues par 4D Server (hors requêtes Web). Par défaut, la valeur est 0 (pas d'enregistrement de requêtes).
4D Server vous permet d'enregistrer dans un fichier d'historique chaque requête reçue par le poste serveur. Lorsque ce mécanisme est activé, le fichier d'historique est créé à côté du fichier de structure de la base. Son nom est "4DRequestsLogN", où N est le numéro séquentiel de l'historique. Une fois que le fichier atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre valeur.
Ce fichier texte stocke dans un format tabulé simple diverses informations concernant chaque requête : heure, numéro de process, utilisateur, taille de la requête, durée de traitement, etc. Ces informations sont particulièrement utiles en phase de mise au point de l'application ou à des fins statistiques. Elles peuvent être importées par exemple dans un logiciel tableur afin d'être traitées.
Note : Il est possible d'activer ou d'inactiver manuellement l'enregistrement des requêtes via le raccourci Ctrl+Alt+L sous Windows ou Commande+Option+L sous Mac OS.
Sélecteur = 29 (Enreg requêtes Web)
Valeurs possibles : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
Description : Démarrage ou arrêt de l'enregistrement des requêtes Web reçues par le serveur Web de 4D en mode local ou de 4D Server. Par défaut, la valeur est 0 (pas d'enregistrement des requêtes).
L'historique des requêtes Web est stocké sous la forme d'un fichier texte nommé "logweb.txt" automatiquement placé à côté du fichier de structure de la base. Le format de ce fichier est déterminé par la valeur que vous passez. Pour plus d'informations sur les différents formats d'historique des requêtes, reportez-vous à la section Informations sur le site Web. L'activation de ce fichier peut également être définie dans la page "Web/Avancé" des Préférences de 4D.
ATTENTION : Les formats 3 et 4 sont des formats personnalisés, dont le contenu doit être défini au préalable dans les Préférences de l'application, page "Web/Format du journal". Si vous utilisez l'un de ces formats sans que ses champs n'aient été sélectionnés, le fichier des requêtes n'est pas généré.
Sélecteur = 30 (Client Enreg requêtes Web)
Valeurs possibles : 0 = Ne pas enregistrer (défaut), 1 = Enregistrer au format CLF, 2 = Enregistrer au format DLF, 3 = Enregistrer au format ELF, 4 = Enregistrer au format WLF.
Description : Démarrage ou arrêt de l'enregistrement des requêtes Web reçues par les serveurs Web de tous les postes clients. Par défaut, la valeur est 0 (pas d'enregistrement des requêtes).
Le fonctionnement de ce sélecteur est identique à celui du sélecteur 29 ; il s'applique toutefois à tous les postes 4D Client utilisés en tant que serveurs Web. Si vous souhaitez définir des valeurs pour certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D Client.
Sélecteur = 31 (Numéro automatique table)
Valeurs possibles : Toute valeur de type entier long.
Description : Ce sélecteur permet de modifier ou de lire le numéro unique courant des enregistrements de la table passée en paramètre. "Numéro courant" signifie "dernier numéro utilisé" : si vous modifiez cette valeur à l'aide de FIXER PARAMETRE BASE, le prochain enregistrement sera créé avec comme numéro la valeur passée + 1 (ce nouveau numéro est, lui, retourné par la commande Numerotation automatique).
Par défaut, le numéro unique est défini par 4D et correspond à l'ordre de création des enregistrements.
Pour des informations supplémentaires, reportez-vous à la documentation de la commande Numerotation automatique.
Sélecteur = 32 (Précision affichage réels)
Valeurs possibles : Toute valeur de type entier long positif.
Description : Ce sélecteur permet de modifier ou de lire le nombre de chiffres non significatifs tronqués à partir de la droite par l'algorithme d'affichage des réels à l'écran. Cette valeur est définie pour l'application et la session courantes.
Par défaut, la valeur de cette option est 4. La valeur 0 indique que la valeur par défaut est utilisée et que le paramètre n'a pas été modifié durant la session.
Pour des raisons historiques, 4D travaille avec des nombres réels stockés sur 10 octets et les convertit sur 8 octets lors de leur traitement (cf. section Affichage des nombres réels). Ce principe est entièrement transparent et n'affecte pas les calculs, toutefois certains résultats peuvent ne pas donner à l'affichage le résultat escompté. Par exemple, l'opération 4,1-4,09 affiche comme résultat 0,009999999999999780000, mais la recherche de 0,01 retrouve la bonne valeur.
Voici comment 4D procède pour afficher un réel : prenons par exemple la valeur 8,97499999999996158 obtenue par un calcul (la valeur 8,975 étant normalement le résultat attendu). L'algorithme permettant d'arrondir au plus juste enlève par défaut les 4 derniers chiffres (6158) puis vérifie si le dernier chiffre restant est un 0 ou un 9. Si c'est 0, l'algorithme remonte jusqu'au premier 0 et supprime tous les 0. Si la valeur est 9, l'algorithme remonte jusqu'au premier 9 et arrondit la partie décimale à la valeur supérieure. Dans notre exemple, la valeur 8,974999999999996158 se transforme donc en 8,975.
Il peut arriver que certains résultats finissent par 5 chiffres non significatifs, comme par exemple 8,9749999999999986158. Dans ce cas, l'algorithme ne pourra pas arrondir correctement la valeur car il trouvera 8 comme valeur et ne fera alors rien.
Vous pouvez souhaiter que l'algorithme de précision tronque plus ou moins de chiffres en fonction des spécificités de votre base. Dans ce cas, passez une valeur personnalisée. Hormis pour le zéro (choix de la valeur interne de 4D), cette valeur indiquera le nombre de chiffres tronqués par l'algorithme de précision.
Rappelons que ce paramétrage n'influe que sur l'affichage des numériques, non sur leur traitement interne.
Sélecteur = 33 (TCP_NODELAY)
Valeurs possibles : 0 ou 1 (0 = inactiver, 1 = activer)
Description : Activation ou inactivation de l'option réseau TCP_NODELAY. Cette option, interne au protocole TCP/IP, contrôle un mécanisme d'optimisation des communications réseau. Elle peut être fixée séparément pour le poste serveur et les postes clients. Par défaut, la valeur est 1 (option activée) sur tous les postes (serveur et clients).
Dans des cas spécifiques, en particulier dans le cadre de connexions client/serveur par ADSL ou par réseau privé virtuel (VPN), la désactivation de cette option peut améliorer sensiblement les performances de l'application. Cette opération doit être effectuée avec précaution et doit s'accompagner de tests de charge dans différentes configurations client/serveur.
Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer l'application afin que la nouvelle valeur soit prise en compte.
Sélecteur = 34 (Enreg événements debogage)
Valeurs possibles : 0, 1 ou 2 (0 = ne pas enregistrer, 1 = enregistrer, 2 = enregistrer en mode détaillé)
Description : Démarrage ou arrêt de l'enregistrement séquentiel des événements de programmation de 4D, destiné au débogage de l'application. Par défaut, la valeur est 0 (pas d'enregistrement des événements).
Lorsque ce mode est activé, diverses informations sont enregistrées, notamment :
- pour chaque événement, le nombre de millisecondes depuis la création du fichier et le numéro de process ([n])
- l'exécution de chaque commande 4D (cmd) et chaque appel de plug-in (plugInName) ; le niveau de la pile est indiqué dans ce cas (n) ,
- chaque appel de méthode projet (meth), de méthode objet (obj) et de méthode formulaire (form).
- lorsque le mode détaillé est activé (valeur = 2), des informations supplémentaires relatives aux plug-ins sont enregistrées : événements dans les zones de plug-ins (EventCode) et appels de 4D par les plug-ins (externCall).
Les événements sont stockés dans un fichier nommé "4DDebugLog.txt" automatiquement placé à côté du fichier de structure de la base. Chaque événement est systématiquement inscrit dans le fichier avant son exécution, ce qui garantit sa présence dans le fichier même lorsque l'application quitte inopinément. A noter que le fichier est effacé et réécrit à chaque lancement de l'application.
L'option peut être activée dans tout type d'application 4D (4D tous modes, 4D Server, 4D Volume Desktop), en interprété ou en compilé.
Note : Cette option est proposée uniquement à des fins de débogage, elle ne doit pas être utilisée en production car elle peut entraîner une dégradation des performances de l'application ainsi que la saturation du disque dur.
Sélecteur = 35 (Numéro du port client serveur)
Valeurs possibles : 0 à 65535
Description : Ce paramètre permet de modifier par programmation le numéro de port TCP sur lequel 4D Server publie la base de données (à destination des postes 4D Client). Par défaut, la valeur est 19813.
La personnalisation de cette valeur permet d'utiliser plusieurs applications 4D client-serveur sur la même machine avec le protocole TCP ; dans ce cas, vous devez spécifier un numéro de port différent pour chaque application.
La valeur est stockée dans le fichier de structure de la base. Elle peut être définie avec 4D en mode local mais n'est prise en compte qu'en configuration client-serveur.
Lorsque vous modifiez cette valeur, il est nécessaire de redémarrer le poste serveur afin que la nouvelle valeur soit prise en compte.
Sélecteur = 36 (Signature WEDD)
Valeurs possibles : Chaîne de 1 à 255 caractères.
Description : Ce paramètre permet de modifier la signature WEDD de la base de données ouverte (fichier de structure et fichier de données). Par défaut, cette signature est vide (le paramètre n'est pas défini). A noter que la signature tient compte de la casse des caractères.
La signature WEDD permet d'associer un fichier de structure à un fichier de données. Un fichier de structure contenant une signature WEDD ne pourra être ouvert qu'avec un fichier de données contenant la même signature WEDD et inversement. Pour plus d'informations sur la signature WEDD, reportez-vous au manuel Mode Développement.
La définition de cette valeur par programmation facilite la diffusion de mises à jour d'applications comportant une signature personnalisée.
Note : Lorsque vous utilisez ce sélecteur avec la commande Lire parametre base, la chaîne définie comme signature WEDD est retournée dans le paramètre facultatif valeurAlpha et la commande retourne 0.
Sélecteur = 37 (Inversion des objets)
Valeurs possibles : 0, 1 ou 2 (0 = mode désactivé, 1 = mode automatique, 2 = mode activé).
Description : Configuration du mode "inversion des objets". Ce mode permet d'inverser en mode Application les formulaires, objets, menus, etc. lorsque la base est affichée sous Windows dans une langue de droite à gauche. Ce mode peut également être configuré dans la page Base de données/Script Manager des Préférences de l'application.
- La valeur 0 indique que le mode n'est jamais activé, quelle que soit la configuration du système (correspond à la valeur Non dans les Préférences).
- La valeur 1 indique que le mode est activé ou non en fonction de la configuration du système (correspond à la valeur Automatique dans les Préférences).
- La valeur 2 indique que le mode est activé, quelle que soit la configuration du système (correspond à la valeur Oui dans les Préférences).
Pour plus d'informations, reportez-vous au manuel Mode Développement de 4D.
Sélecteur = 39 (Numéro de port HTTPS)
Valeurs possibles : 0 à 65535
Description : Ce sélecteur permet de modifier par programmation le numéro du port TCP utilisé par le serveur Web de 4D en mode local et de 4D Server pour les connexions sécurisées via SSL (protocole HTTPS). Le numéro de port HTTPS est défini dans la page "Web/Configuration" de la boîte de dialogue des Préférences. Pour plus d'informations, reportez-vous à la section Paramétrages du serveur Web.
Par défaut, la valeur est 443 (valeur standard). Vous pouvez utiliser les constantes du thème "Numéros de port TCP" pour le paramètre valeur.
Sélecteur = 40 (Client Numéro de port HTTPS)
Valeurs possibles : 0 à 65535
Description : Ce paramètre permet de modifier par programmation le numéro du port TCP utilisé par les serveurs Web des postes clients pour les connexions sécurisées via SSL (protocole HTTPS). Par défaut, la valeur est 443 (valeur standard).
Le fonctionnement de ce sélecteur est identique à celui du sélecteur 39 ; il s'applique toutefois à tous les postes 4D Client utilisés en tant que serveurs Web. Si vous souhaitez modifier la valeur de certains postes clients uniquement, utilisez la boîte de dialogue des Préférences de 4D Client.
Sélecteur = 41 (Mode Unicode)
Valeurs possibles : 0 (mode compatibilité) ou 1 (mode Unicode)
Description : Mode d'exécution courant de la base, relatif au jeu de caractères. 4D prend en charge le jeu de caractères Unicode mais peut fonctionner en mode "compatibilité" (basé sur le jeu de caractères ASCII Mac). Par défaut, les bases de données converties sont exécutées en mode compatibilité (0) et les bases créées à partir de la version 11 sont exécutées en mode Unicode. Le mode d'exécution est contrôlé via une option des préférences et peut également être lu ou (à des fins de test) modifié via ce sélecteur. La modification de cette option nécessite le redémarrage de la base pour être prise en compte. A noter que, dans le cadre d'un composant, il n'est pas possible de modifier cette valeur, mais uniquement de la lire.
Sélecteur = 42 (Taille mémoire temporaire)
Valeurs possibles : Entier long positif > 50 000 000
Description : Taille de la mémoire temporaire exprimée en octets. Par défaut, cette taille est de 50 000 000 (50 Mo).
4D utilise une mémoire temporaire spéciale dédiée aux opérations d'indexation et de tri. Cette mémoire a pour but de préserver la mémoire cache "classique" lors d'opérations massives. Lorsque la taille maximale de la mémoire temporaire est atteinte (cas critique), 4D interrompt automatiquement la dernière opération demandée afin que cela ne pénalise pas les autres traitements. Dans la plupart des cas, la configuration par défaut de la mémoire temporaire sera parfaitement suffisante. Toutefois, dans certaines applications spécifiques effectuant des tris ou des indexations de façon très intensive, l'augmentation de la taille de cette mémoire pourra contribuer à améliorer sensiblement les performances. La valeur idéale sera à déterminer de façon empirique en fonction des spécificités de l'application et résultera généralement de tests en volumétrie réelle.
Sélecteur = 43 (SQL Autocommit)
Valeurs possibles : 0 (désactivation) ou 1 (activation)
Description : Activation ou désactivation du mode SQL auto-commit. Par défaut, la valeur est 0 (mode désactivé)
Le mode auto-commit permet de renforcer l'intégrité référentielle de la base. Lorsque ce mode est actif, les requêtes SELECT, INSERT, UPDATE et DELETE (SIUD) sont automatiquement incluses dans des transactions lorsqu'elles sont exécutées en-dehors de toute transaction. Ce mode peut également être défini dans les préférences de la base.
Sélecteur = 44 (Casse caractères moteur SQL)
Valeurs possibles : 0 (casse non prise en compte) ou 1 (casse prise en compte)
Description : Activation ou désactivation de la prise en compte de la casse des caractères pour les comparaisons de chaînes effectuées par le moteur SQL.
Par défaut, la valeur est 1 (casse prise en compte) : le moteur SQL établit une différence entre les majuscules et les minuscules lors des comparaisons de chaînes (tris et recherches). Par exemple "ABC"= "ABC" mais "ABC" # "Abc". Dans certains cas, par exemple pour aligner le fonctionnement du moteur SQL sur celui du moteur 4D, vous pourrez souhaiter que les comparaisons de chaînes ne tiennent pas compte de la casse ("ABC"="Abc").
Cette option peut également être définie dans la page SQL/Configuration des Préférences de l'application.
Sélecteur = 45 (Enreg requêtes client)
Valeurs possibles : 0 ou de 1 à N (0 = ne pas enregistrer, 1 à N = numéro séquentiel, accolé au nom du fichier).
Description : Démarrage ou arrêt de l'enregistrement des requêtes standard effectuées par le poste client 4D ayant exécuté la commande (hors requêtes Web). Par défaut, la valeur est 0 (pas d'enregistrement des requêtes).
4D vous permet d'enregistrer l'historique des requêtes effectuées par le poste client. Lorsque ce mécanisme est activé, deux fichiers sont créés sur le poste client, dans le sous-dossier Logs du dossier local de la base. Il sont nommés 4DRequestsLog_N et 4DRequestsLog_ProcessInfo_N où N est le numéro séquentiel de l'historique. Une fois que le fichier 4DRequestsLog atteint une taille de 10 Mo, il est refermé et un nouveau fichier est généré, avec un numéro séquentiel incrémenté. Si un fichier du même nom existe déjà, il est directement remplacé. Vous pouvez définir le numéro de départ de la séquence à l'aide du paramètre valeur.
Ces fichiers texte stockent dans un format tabulé simple diverses informations concernant chaque requête : heure, numéro de process, taille de la requête, durée de traitement, etc. Ces informations sont particulièrement utiles en phase de mise au point de l'application ou à des fins statistiques.
Sélecteur = 46 (Chercher par formule serveur)
Valeurs possibles : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
Description : Emplacement de l'exécution des commandes CHERCHER PAR FORMULE et CHERCHER PAR FORMULE DANS SELECTION pour la table passée en paramètre.
Dans le cadre de l'exploitation d'une base en client-serveur, les commandes de recherche "par formule" peuvent exécutées soit sur le serveur soit sur le client :
- dans les bases de données créées avec 4D v11 SQL, ces commandes sont exécutées sur le serveur.
- dans les bases de données converties, ces commandes sont exécutées sur le client, comme dans les versions précédentes de 4D.
- dans les bases de données converties, une préférence spécifique (page Développement/ Compatibilité) permet de modifier globalement le lieu d'exécution de ces commandes.
Cette différence de lieu d'exécution influe sur les performances de l'application (l'exécution sur le serveur est généralement plus rapide) mais également sur la programmation. En effet, la valeur des composantes de la formule (notamment les variables appelées via une méthode) diffère suivant le contexte d'exécution. Vous pouvez utiliser ce sélecteur pour adapter ponctuellement le fonctionnement de votre application.
Si vous passez 0 dans le paramètre valeur, l'emplacement d'exécution des commandes de recherche "par formule" dépendra de la configuration de la base : dans les bases créées avec 4D v11 SQL, les commandes seront exécutées sur le serveur. Dans les bases converties, elles seront exécutées sur le client ou le serveur en fonction des préférences de la base. Passez 1 ou 2 dans valeur pour "forcer" l'exécution des commandes respectivement sur le client ou sur le serveur.
Reportez-vous à l'exemple 4.
Sélecteur = 47 (Trier par formule serveur)
Valeurs : 0 (utiliser le paramétrage de la base), 1 (exécuter sur le client) ou 2 (exécuter sur le serveur)
Description : Emplacement de l'exécution de la commande TRIER PAR FORMULE pour la table passée en paramètre.
Dans le cadre de l'exploitation d'une base en client-serveur, la commande TRIER PAR FORMULE peut être exécutée soit sur le serveur soit sur le client. Ce sélecteur permet de définir l'emplacement de l'exécution de cette commande (serveur ou client). Ce mode peut également être défini dans les préférences de la base. Pour plus d'informations, reportez-vous à la description du sélecteur 46, Chercher par formule serveur.
Sélecteur = 48 (Synchro auto dossier Resources)
Valeurs : 0 (pas de synchronisation), 1 (synchronisation auto) ou 2 (demander).
Description : Mode de synchronisation dynamique du dossier Resources du poste client 4D ayant exécuté la commande avec celui du serveur.
Lorsque le contenu du dossier Resources sur le serveur a été modifié ou qu'une demande de synchronisation a été émise (via l'explorateur de ressources ou suite à l'exécution de la commande NOTIFIER MODIFICATION DOSSIER RESOURCES), le serveur notifie les clients connectés.
Trois modes de synchronisation sont alors possibles côté client. Le sélecteur Synchro auto dossier Resources vous permet de définir le mode à utiliser pour le poste client et la session courante :
- valeur = 0 (valeur par défaut) : pas de synchronisation dynamique (la demande de synchronisation est ignorée)
- valeur = 1 : synchronisation dynamique automatique
- valeur = 2 : affichage d'une boîte de dialogue sur les postes clients, avec possibilité d'effectuer ou de refuser la synchronisation.
Le mode de synchronisation peut également être défini globalement dans les Préférences de l'application.
Sélecteur = 49 (Jointures CHERCHER PAR FORMULE)
Valeurs possibles : 0 (utiliser paramétrages de la base), 1 (toujours utiliser les liens auto) ou 2 (utiliser les jointures SQL si possible).
Description : Mode de fonctionnement des commandes CHERCHER PAR FORMULE et CHERCHER PAR FORMULE DANS SELECTION relatif à l'utilisation de "jointures SQL".
Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, ces commandes effectuent des jointures sur le modèle des jointures SQL. Ce mécanisme permet de modifier la sélection d'une table en fonction d'une recherche effectuée sur une autre table sans que les tables soient reliées par un lien automatique (condition nécessaire dans les versions précédentes de 4D).
Le sélecteur Jointures CHERCHER PAR FORMULE vous permet de définir le mode de fonctionnement des commandes de recherche par formule pour le process courant :
- valeur = 0 : utiliser les paramètres courants de la base (valeur par défaut). Dans les bases de données créées à compter de la version 11.2 de 4D v11 SQL, les "jointures SQL" sont toujours activées pour les recherches par formule. Dans les bases de données converties, ce mécanisme est inactivé par défaut pour des raisons des compatibilité mais peut être mis en oeuvre via une préférence.
- valeur = 1 : toujours utiliser les liens auto (= fonctionnement des versions précédentes de 4D). Dans ce mode, un lien est nécessaire pour définir la sélection d'une table en fonction de recherches effectuées dans une autre table. 4D n'effectue pas de "jointures SQL".
- valeur = 2 : utiliser les jointures SQL si possible (= fonctionnement par défaut des bases créées en version 11.2 et suivantes de 4D v11 SQL). Dans ce mode, 4D établit des "jointures SQL" pour les recherches par formule lorsque la formule s'y prête (à deux exceptions près, voir la description de la commande CHERCHER PAR FORMULE ou CHERCHER PAR FORMULE DANS SELECTION.
Sélecteur = 50 (Niveau de compression HTTP)
Valeurs possibles : 1 à 9 (1 = plus rapide, 9 = plus compressé) ou -1 = meilleur compromis.
Description : Fixe le niveau de compression pour tous les échanges HTTP compressés effectués pour des Web Services (requêtes client ou réponses serveur). Les échanges compressés sont une optimisation que vous pouvez mettre en oeuvre lorsque vous faites communiquer deux applications 4D via des Web services (cf. commande FIXER OPTION WEB SERVICE). Ce sélecteur vous permet d'optimiser les échanges en privilégiant la rapidité d'exécution (compression moindre) ou la quantité de compression (vitesse moindre). Le choix d'une valeur dépend de la taille et de la nature des données échangées. Passez de 1 à 9 dans le paramètre valeur, 1 étant la compression la plus rapide et 9 la plus élevée. Vous pouvez également passer -1 pour obtenir un compromis entre vitesse et taux de compression. Par défaut le niveau de compression est 1 (compression rapide).
Sélecteur = 51 (Seuil de compression HTTP)
Valeurs possibles : Toute valeur de type Entier long.
Description : Dans le cadre d'échanges Web Services inter-4D en mode optimisé (cf. ci-dessus), fixe le seuil de taille de requête au-dessous de laquelle les échanges ne doivent pas être compressés. Ce paramétrage est utile pour éviter de perdre du temps machine à compresser les petits échanges.
Passez dans valeur une taille exprimée en octets. Par défaut, le seul de compression est fixé à 1024 octets.
Exemples
(1) L'instruction suivante permet d'anticiper un éventuel problème de timeout :
`Augmentation du timeout à 3 heures pour le process courant FIXER PARAMETRE BASE(Timeout 4D Server;-60*3) `Exécution d'une opération longue hors du contrôle de 4D ... WR MAILING (LaZone;3;0) ...
(2) L'adresse IP 192.193.194.195 sera fixée avec l'instruction suivante :
FIXER PARAMETRE BASE(Adresse IP d'écoute;0xC0C1C2C3)
(3) Ce code permet de permuter le jeu de caractères courant et de redémarrer la base :
Mode_unicode_courant:=Lire parametre base(Mode Unicode) FIXER PARAMETRE BASE(Mode Unicode;1-Mode_unicode_courant) OUVRIR FICHIER DONNEES(Fichier donnees)(4) Cet exemple force temporairement l'exécution sur le client d'une commande de recherche par formule :
valCourante:= Lire parametre base([table1];Chercher par formule serveur) `Stocker le paramétrage courant FIXER PARAMETRE BASE([table1];Chercher par formule serveur;1) `Forcer l'exécution sur le client CHERCHER PAR FORMULE([table1];maformule) FIXER PARAMETRE BASE([table1];Chercher par formule serveur;valCourante) `Rétablir le paramétrage courant
Référence
CHERCHER DANS SELECTION, Lire parametre base.