1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 458
    Points : 603
    Points
    603

    Par défaut Ouverture mauvais fichier

    Bonjour,

    Je tombe aujourd'hui sur un truc de dingue.
    Donc , si quelqu'un a une idée, je m'agenouille et je lui baise les pieds.

    Dans un programme appelé par une interface Web, j'ouvre des fichiers pour faire apparaitre un document.
    Plusieurs sociétés utilisent le même programme, et elles ont simplement des bibliothèques de fichier différentes.
    A l'entrée du programme, il y a donc établissement de la liste des bibliothèques, ouverture des fichiers, et ensuite traitement avec affichage du document.
    Seulement voilà, depuis quelques temps, on a une partie des fichiers qui s'ouvrent depuis une bibliothèque différente !

    J'ai supposé que la libliste était incorrecte. Debug à l'appui, elle est parfaitement correcte lors de l'ouverture des fichiers.
    J'ai donc supposé qu'une substitution devait être active. Mais debug à l'appui toujours, aucune substitution n'est active durant l'exécution du programme (et surtout au moment de l'ouverture).
    Pourtant, les Open se font, et sur des fichiers qui ne sont pas dans la liste de bibliothèques !

    Si j'arrête le job chargé d'afficher les documents (QZSRCGI), çà fonctionne à nouveau. Pour quelques temps...
    Une idée (à part un magnifique bug système) ?

  2. #2
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    juin 2007
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : juin 2007
    Messages : 2 059
    Points : 4 053
    Points
    4 053

    Par défaut

    Salut.

    Un peu tarabiscoté ton binz, as tu trouvé un lien entre la bibliothèque réellement utilisée et celle qui devrait l'être, genre session précédente, run précédent dans la même session mais avec une autre société.
    Sans debug, essaie de voir avec WRKACTJOB quand un job est désorienté.
    Regarde aussi les infos des logs ou dans les spools s'il n'y a pas d'erreurs qui ne semblent pas bien graves mais où l'OS a pris une mauvaise décision de substitution ou de mauvais index.
    J'ai rien trouvé sur le net.
    A vrai dire je n'ai jamais rencontré ce genre de problèmes et mes objets sont toujours explicitement qualifiés même sur des plateformes multi-sociétés.
    Bon courage et bonne continuation.

  3. #3
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 458
    Points : 603
    Points
    603

    Par défaut

    Non, pas d'erreur dans l'historique du Job.
    Oui, il semble que ce soit une précédente ouverture qui reste 'en mémoire'. Un peu comme un ODP, sauf que vérifications par debug à l'appui, le fichier n'est pas ouvert avant l'appel du programme.
    En fait, une fois que l'erreur est déclenchée, on peut avoir n'importe quelle liste de bibliothèques, il ouvre quand même toujours le fichier de commandes clients de la bibliothèque x.
    Jusqu'à ce qu'on ferme le job.

    Bon, j'avoue que ce genre de souci devrait disparaitre dans le temps. En effet nous utilisions des documents HTML jusqu'à décembre (factures, B.L., commandes clients et fournisseurs, devis, etc...).
    Mais depuis janvier les documents sont en PDF, et ce n'est pas la même routine. C'est donc juste avec les anciens documents qu'on rencontre le problème.
    N'empêche, j'aimerais bien pouvoir solutionner çà, car impossible pour les utilisateurs sans une recherche approfondie, de savoir si le document est correct ou pas.

  4. #4
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 458
    Points : 603
    Points
    603

    Par défaut

    Bien, 2 personnes ont pu examiner le problème et arrivent à la même conclusion. C'est normalement impossible.
    Au moment de l'Open, la Libliste est correcte, et aucune substitution n'est active.
    Il semble donc bien qu'il y ait une erreur dans la manière dont le programme chargé de gérer l'interface Web via Apache (QZSRCGI) gère la BD. Un problème de cache ? Car c'est toujours un fichier précédemment ouvert qui se ré-ouvre alors qu'il n'a rien à faire là.
    Ex:
    - On arrête le pgm QZSRCGI.
    - On appelle la page WebPage pour la société 1, le programme correspondant ouvre le fichier CLIENT de la bibliothèque LIB1 comme demandé.
    - On appelle la page WebPage pour la société 2, le programme correspondant ouvre le fichier CLIENT de la bibliothèque LIB2 comme demandé.
    - etc... Pendant un moment
    - On appelle la page WebPage pour la société 1, le programme correspondant ouvre le fichier CLIENT de la bibliothèque LIB1 comme demandé.
    - On appelle la page WebPage pour la société 2, le programme correspondant ouvre le fichier CLIENT ... de la bibliothèque LIB1.
    - A partir de là, ce sera toujours le fichier client de la bibliothèque LIB1 qui sera ouvert, en dépit de la liste de bibliothèque.

    On a donc modifié les programmes, retiré la gestion de liste de bibliothèques, et implanté une gestion de substitution (OVRDBF) à la place.
    Depuis çà fonctionne.
    Mais on ne s'explique toujours pas pourquoi ce bug est survenu, brusquement cette semaine, sur un système en V5R4 sans modification des programmes et du système, depuis 2012...

  5. #5
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    juin 2007
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : juin 2007
    Messages : 2 059
    Points : 4 053
    Points
    4 053

    Par défaut

    Citation Envoyé par m4k-Hurrican Voir le message
    .../...
    On a donc modifié les programmes, retiré la gestion de liste de bibliothèques, et implanté une gestion de substitution (OVRDBF) à la place.
    Depuis çà fonctionne.
    Salut.
    C'est (était) une de mes normes de production
    Mais on ne s'explique toujours pas pourquoi ce bug est survenu, brusquement cette semaine, sur un système en V5R4 sans modification des programmes et du système, depuis 2012...
    En effet c'est curieux à moins que ça soit l'état du système qui influe sur cette affaire : une valeur système qui a changé, occupation mémoire, l'interface Web qui fait son intelligente et devient flemmarde, etc... mais c'est un peu capillo-tracté.
    En tout cas et pour le retour.
    Bonne continuation.

  6. #6
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 458
    Points : 603
    Points
    603

    Par défaut

    Je vais lancer un RCLSTG dès que possible.
    Il y a peut être un loup dans un objet.

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2018
    Messages : 3
    Points : 4
    Points
    4

    Par défaut

    vérifier la jobd sur laquelle s'exécute le job, bien souvent le pb viens de la.


    Citation Envoyé par m4k-Hurrican Voir le message
    Bonjour,

    Je tombe aujourd'hui sur un truc de dingue.
    Donc , si quelqu'un a une idée, je m'agenouille et je lui baise les pieds.


    Dans un programme appelé par une interface Web, j'ouvre des fichiers pour faire apparaitre un document.
    Plusieurs sociétés utilisent le même programme, et elles ont simplement des bibliothèques de fichier différentes.
    A l'entrée du programme, il y a donc établissement de la liste des bibliothèques, ouverture des fichiers, et ensuite traitement avec affichage du document.
    Seulement voilà, depuis quelques temps, on a une partie des fichiers qui s'ouvrent depuis une bibliothèque différente !

    J'ai supposé que la libliste était incorrecte. Debug à l'appui, elle est parfaitement correcte lors de l'ouverture des fichiers.
    J'ai donc supposé qu'une substitution devait être active. Mais debug à l'appui toujours, aucune substitution n'est active durant l'exécution du programme (et surtout au moment de l'ouverture).
    Pourtant, les Open se font, et sur des fichiers qui ne sont pas dans la liste de bibliothèques !

    Si j'arrête le job chargé d'afficher les documents (QZSRCGI), çà fonctionne à nouveau. Pour quelques temps...
    Une idée (à part un magnifique bug système) ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 458
    Points : 603
    Points
    603

    Par défaut

    Le job est un appel web, pas de JOBD spécial, c'est le système qui gère çà.
    De plus rien n'a changé depuis des années à ce niveau, et çà fonctionnait parfaitement. Le problème est apparu brusquement, et se produisait de manière aléatoire dans le même job (donc sans changement de JOBD).
    Mais du coup, on a changé notre fusil d'épaule, et on utilise plus que des OVRDBF, avec des Open/Close, ce qui a réglé le problème.
    On a fait ensuite seulement, un RCLSTG, et effectivement des objets endommagés ont été détectés, et réparés.

Discussions similaires

  1. ouverture de fichier txt
    Par juguul dans le forum MFC
    Réponses: 11
    Dernier message: 18/12/2003, 09h44
  2. Ouverture de fichier en api
    Par Michaël dans le forum Windows
    Réponses: 9
    Dernier message: 10/12/2003, 16h47
  3. Ouverture de fichier
    Par Ricou.13 dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/10/2003, 08h59
  4. Réponses: 2
    Dernier message: 26/02/2003, 15h18
  5. [VBA-E] Evenement ouverture de fichier
    Par gjeff dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/12/2002, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo