Page 1 sur 1

Query - Fonction récapitulatives avec date

Posté : jeu. 28 avr. 2022, 14:03:48
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.

Re: Query - Fonction récapitulatives avec date

Posté : jeu. 28 avr. 2022, 16:08:16
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

Re: Query - Fonction récapitulatives avec date

Posté : mar. 03 mai 2022, 15:05:57
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.

Optimisation des performances d'un programme RPGLE.

Posté : mer. 14 févr. 2024, 22:51:26
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.

Re: Query - Fonction récapitulatives avec date

Posté : jeu. 15 févr. 2024, 11:53:23
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

Re: Query - Fonction récapitulatives avec date

Posté : jeu. 15 févr. 2024, 14:19:05
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 !