Query - Fonction récapitulatives avec date

RPG (3 et 4, free), CL, SQL, etc...
Répondre
Ponpon
Messages : 20
Enregistré le : mer. 15 févr. 2017, 23:31:16

Query - Fonction récapitulatives avec date

Message par Ponpon »

Bonjour,

je rencontre un problème dans l'exploitation d'un fichier créé par query contenant une ligne récapitulative. Celle-ci sert notamment à effectuer des totaux ou des comptages pour avoir le résultat en dernière ligne.

Le soucis est que ce query contient une zone date et que celle-ci contient une valeur étrange dans cette ligne récapitulative, visible par des symboles "+" en consultation de query. On obtient par ailleurs un message CPF5035 avec code erreur 16 en DSPPFM ou le caractère '-' par consultation SQL via ACS. Ce n'est pas une valeur vraiment définie et ce n'est même pas une valeur nulle (IS NULL ne renvoie pas NULL) et CHAR ne renvoie rien.

J'ai des problèmes d'exploitation de ce fichier par SQL ou autre par la suite à cause de cette valeur.

Avez-vous une idée pour résoudre le problème pour bien lire cette ligne récapitulative ou transformer la valeur de cette ligne pour pouvoir lire le fichier correctement ?

Merci d'avance.

nbonnet
Messages : 197
Enregistré le : mar. 11 sept. 2018, 08:20:13
Localisation : Lyon

Re: Query - Fonction récapitulatives avec date

Message par nbonnet »

Bonjour,

2 solutions :
+ soit la date est incorrecte
+ soit plus probablement la date n'est pas affichable !

Si on a un - avec ACS c'est certainement une valeur nulle

Sinon, cela signifie que la date n'est pas interprétable dans le format du job (c'est le cas de +++ par STRSQL lorsque le format du job a des années sur 2 positions alors que la date dans le fichier est sur 4 positions par exemple)

Message CPF5035 : Reason Code 16 - Data Mapping Error When Using a Date Field

Le plus simple : tetser par ACS en mettant un format de date iso dans la configuration JDBC
Nathanaël

Ponpon
Messages : 20
Enregistré le : mer. 15 févr. 2017, 23:31:16

Re: Query - Fonction récapitulatives avec date

Message par Ponpon »

Bonjour,

c'est exactement ça, en passant les propriétés de connexion avec la date au format *ISO, j'arrive à voir la date qui est en réalité le 0001-01-01, d'où l'erreur d'affichage et traitement quand le job est en *DMY par exemple.

Je peux donc tester directement la date pour gérer mon cas de figure sans avoir besoin de changer les propriétés.

Merci beaucoup.

Georgesnott
Messages : 3
Enregistré le : lun. 05 févr. 2024, 21:53:16
Localisation : Russia
Contact :

Optimisation des performances d'un programme RPGLE.

Message par Georgesnott »

Je suis confronté à des problèmes de performances dans mon programme RPGLE et je souhaite l'optimiser. Quelles sont les meilleures pratiques et techniques que je peux utiliser pour améliorer les performances de mon programme ? J'aimerais également savoir s'il existe des outils ou des conseils spécifiques pour identifier les parties du code qui ralentissent l'exécution et les optimiser efficacement. Merci d'avance pour vos suggestions et vos retours d'expérience.
ограничители перенапряжения опн https://energy-21.ru/katalog/opn/catego ... niya-35-kv опн 110

nbonnet
Messages : 197
Enregistré le : mar. 11 sept. 2018, 08:20:13
Localisation : Lyon

Re: Query - Fonction récapitulatives avec date

Message par nbonnet »

Bonjour,

Il existe des outils, mais cela demande des compétences assez particulières (iDoctor, job watcher ...)

Sinon soyons pragmatiques :
- la meilleure optimisation = un bon algorithme
- concentrez vous sur la gestion des fichiers : ouverture / fermeture, opération de manipulation des enregistrements

Vous pouvez :
- commenter des blocs de code pour voir l'impact sur les perf
- ajouter des variables timestamp à l'entrée et sortie de vos sous-routines/procédures pour mesurer le temps unitaire de chacune
- ...

Je n'ai pas de méthode clé en main
Nathanaël

Hurri
Messages : 38
Enregistré le : lun. 02 nov. 2020, 16:04:59

Re: Query - Fonction récapitulatives avec date

Message par Hurri »

Il faudrait surtout ouvrir un sujet pour çà, et ne pas se greffer sur un sujet existant qui n'a rien à voir...

Et comme çà sans explication, difficile de dire ce qui fait qu'un programme est lent.
Mauvais code, mauvaise structure fichiers, mauvais choix d'accès, il y a une tonne de possibilités !

Répondre