IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cobol Discussion :

zone montant packée


Sujet :

Cobol

  1. #21
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    D'où ma question "Autre chose, le fichier que tu as en entrée, vient-il du même environnement ? AIX ?" qui sous entendait un pb de conversion ASCII/EBCDIC.

  2. #22
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    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 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Citation Envoyé par Peut-êtreUneRéponse Voir le message
    D'où ma question "Autre chose, le fichier que tu as en entrée, vient-il du même environnement ? AIX ?" qui sous entendait un pb de conversion ASCII/EBCDIC.
    En effet ta question était pertinente.

  3. #23
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 060
    Points
    32 060
    Par défaut
    Je vois qu'on a tous pensé à la même chose. Il est possible de faire "à la main" une conversion ASCII-EBCDIC, mais encore faut-il savoir sur quoi ça s'applique. J'ai l'impression qu'il y a du packé lisible correctement - mais décalé - et des caractères ASCII - à convertir.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  4. #24
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    oui bien sur mais pour le moment j attend de voir ce qui me repond le gars du fichier foireux

    Citation Envoyé par el_slapper Voir le message
    Je vois qu'on a tous pensé à la même chose. Il est possible de faire "à la main" une conversion ASCII-EBCDIC, mais encore faut-il savoir sur quoi ça s'applique. J'ai l'impression qu'il y a du packé lisible correctement - mais décalé - et des caractères ASCII - à convertir.

    j'espere avoir des reponses a tous car pour l instant je suis bien embeté avec mes montants completement illisible

  5. #25
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    Bonjour a tous,

    de retour sur cette discussion;

    je n'ai pas d'autre choix que de recevoir ce fichier tel quel !!!

    y a t il un moyen de convertir cette zone packée pour decripter le contenu ? en cobol ou autre ?

    merci par avance

  6. #26
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    Citation Envoyé par nenekes Voir le message
    Bonjour a tous,

    de retour sur cette discussion;

    je n'ai pas d'autre choix que de recevoir ce fichier tel quel !!!

    y a t il un moyen de convertir cette zone packée pour decripter le contenu ? en cobol ou autre ?

    merci par avance
    A mon avis il ne faut surtout pas que l'appli réceptrice bidouille le fichier, il faut régler le problème à la source : les tables de transco (codepage produit ou autres...) doivent être d'équerre. Voit plutôt avec les équipes transverses, supports, le bureau technique, ou toute personne ayant le lead sur ce point. Imagine qu'un autre projet fasse le nécessaire pour que le mapping ASCII/EBCDIC soit OK, tu devras faire évoluer ton dev du jours au lendemain.

    .

  7. #27
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 060
    Points
    32 060
    Par défaut
    +1

    le problème est probablement au niveau du transfert, pas de l'appli amont. Ne cherche pas à corriger l'appli amont(elle est certainement d'aplomb). Juste, fouille les processus de transfert, il doit y avoir des choses à corriger. Et ensuite, tu pourras travailler.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  8. #28
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Par FTP, j'ai copié l'échantillon d'enregistrements du post #9 de ce fil dans une table (fichier) que j'ai définie conformément à la définition des enregistrements indiquée dans la pièce jointe au post #16 de ce même fil.

    Voici la définition en question.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Rubrique	nbr   type      nbr
    		carat		byte
    Feltnummer	2	N	2	"01 "Mandatory section	   
    Feltlaengde	2	N	2	Standard value “42” bytes
    Dato		8	P	5	Clearing date (YYYYMMDD)	   
    Afs-cld	4	P	3	Registration number of sending clearing participant	 
    Mdt-cld	4	P	3	Registration number of receiving clearing participant	   
    Akk-saldo	15	P	8	Accumulated balance per receiving BFC.	   
    Afs-reg	4	P	3	Sending registration number.	   
    Modt-reg	4	P	3	Receiving registration number.	   
    Modt-kto	10	P	6	Account number at receiving financial	   
    Belob		15	P	8	Amount (positive)	   
    Valuta-type	3	A	3	Currency code ISO 4217
    Voici cette même définition reprise pour créer la table par SQL sur l'AS400.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE MaBib/MaTable 
    ( FELTNUMMER NUMERIC ( 2, 0), 
      FELTLAENGDE NUMERIC ( 2, 0) ,   
      DATO DEC ( 8, 0), 
      AFS_CLD DEC ( 4, 0), 
      MDT_CLD DEC ( 4, 0),      
      AKK_SALDO DEC ( 15, 0), 
      AFS_REG DEC ( 4, 0), 
      MODT_REG DEC (4 , 0), 
      MODT_KTO DEC ( 10, 0), 
      BELOB DEC ( 15, 0), 
      VALUTA_TYPE CHAR ( 3) )
    Voici ce que j'obtiens après FTP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    FFFF0046145004B4444444B45044B54704B560487444414444
    01482100F27F3040000000427F00380F3048F175F000090000
             
    FFFF0046145004B4444444B45044B54704B060240444404444
    01482100F27F2040000000427F00380F20476180F000070000
    
    FFFF0046145004B4444444B45044B54704B782084444414444
    01482100F27F2040000000427F00380F20428664F000020000
     
    FFFF0046145004B4444444B45044146604B047A1B444454444
    01482100F27F3040000000427F00003F304303E84000070000
    Le dump hexadécimal nous permet de voir où se situent les zones packées.

    On peut voir que le format de l'enregistrement n'est pas aligné avec leur contenu à partir de la rubrique MDT_CLD, qui est en position 13 dans le buffer. Cette rubrique est censée être une rubrique packée déclarée sur 4 octets ( occupant donc 3 octets dans la table ) sans décimales et on a de la "choucroute" à la place.
    On ne pourra jamais rien faire de ces données si on n'a pas la définition exacte de chaque zone qui compose l'enregistrement.

    Au passage, mais cela n'a peut-être pas d'incidence sur le problème qui nous préoccupe, j'ai remarqué que la rubrique FELTLAENGDE est censée contenir la valeur "42" si je m'en tiens à la définition donnée, or elle contient "48". Est-ce normal ?

  9. #29
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    oui effectivement un mauvais copié/collé ! mais cela ne change rien au probleme, les lignes sans foutu pareil !

    par contre pour la definition je n'ai pas d'autre car celle que j'ai donné c'est la seule qui m'a ete fourni par le site qui m'envoi le fichier !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Rubrique	nbr   type      nbr
    		carat		byte
    Feltnummer	2	N	2	"01 "Mandatory section	   
    Feltlaengde	2	N	2	Standard value “42” bytes
    Dato		8	P	5	Clearing date (YYYYMMDD)	   
    Afs-cld	            4	P	3	Registration number of sending clearing participant	 
    Mdt-cld	            4	P	3	Registration number of receiving clearing participant	   
    Akk-saldo	15	P	8	Accumulated balance per receiving BFC.	   
    Afs-reg	            4	P	3	Sending registration number.	   
    Modt-reg	            4	P	3	Receiving registration number.	   
    Modt-kto	          10	P	6	Account number at receiving financial	   
    Belob		15	P	8	Amount (positive)	   
    Valuta-type	3	A	3	Currency code ISO 4217
    maintenant reste a savoir comment il transfert le fichier avant de me le fournir !

    j'ai deja demandé mais aucune reponse a ce jour, je relance et je vous reviens.

    en tout cas merci pour l'aide apportee

  10. #30
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Refais un nouveau copié-collé ici mais plus étoffé que le précédent stp.

  11. #31
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    Voici un copié collé d'un fichier type que je suis sencé recevoir;
    les trois premiers caractere num "356 ou 351" donne le type d'enregistrement
    les deux suivant numerique egalement (12, 04 ou 11) donne le nombre de sections de l'enregistrement.

    puis les deux d'apres ("01") c'est la section une, puis deux ......ect
    les deux d'apres ("48" ou "42") caracterique le type d'enreg (valeur par defaut)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    356120148 -âï ©       ©âï  ·ì " ©ìåe"    ŽDKK0218âï -000094014 0302©0403  ©050400190635EFIS EUROPEAN FINANCIAL SERVICES AG0735PESTALOZZISTRASSE 5                08359400 RORSHACH                      0935.                                  1035.                                  1135Transfer                           1735AS PER OUR LETTER DATED 01.06.10
    356120148 -âï ©       ©âï  ·ì " ©Ãˆ     ‰!DKK0218âï -000094015 0302©0403  ©050400190635EFIS EUROPEAN FINANCIAL SERVICES AG0735PESTALOZZISTRASSE 5                08359400 RORSHACH                      0935.                                  1035.                                  1135Transfer                           1735AS PER OUR LETTER DATED 01.06.10
    356120148 -âï ©       ©âï  ·ì " ©Êh†d!    ‚´ñDKK0218âï -000094016 0302©0403  ©050400190635EFIS EUROPEAN FINANCIAL SERVICES AG0735PESTALOZZISTRASSE 5                08359400 RORSHACH                      0935.                                  1035.                                  1135Transfer                           1735AS PER OUR LETTER DATED 01.06.10
    356130148 -âï ©       ©âï   Ä? © ËÞ©    ïìñEUR0218âï -000094144 0302©0403  ©050400190635FORTIS COMMERCIAL FINANCE A/S      0735SLUSEHOLMEN 8A, 3.                 0835DK-2450 KºBENHAVN SV               0935.                                  1035.                                  1135Transfer                           1735DAILY SWEEPING OF ACCOUNT TO DANSKE1835BANK
    351040142 -âï ©       ©âï©     ©     Ž-©DKK0218âï -000094288 0308 - d04270000061488943100027âò·ËN
    351040142 -âï	Í^       ©âï	Í^     ©    ldDKK0218âï -000094289 0308 - d04270000000000112868542âź?N
    351040142 -âï h©       ©âï i©     ©    ÒÌéDKK0218âï -000094291 0308 - d04270000000000606395994âÝN
    356110148 -âï h©       ©âï   i©  o©   &©DKK0218âï -000094298 0302©0403  ©050400190635CLIFFORD THAMES FLEET SERVICES LTD 0735C/O RST APS                        0835TºLLºSEVEJ 47                      0935.                                  1035.                                  1135Transfer
    356110148 -âï h©       ©âï   i©  o©    ¸p!DKK0218âï -000094299 0302©0403  ©050400190635CLIFFORD THAMES FLEET SERVICES LTD 0735C/O RST APS                        0835TºLLºSEVEJ 47                      0935.                                  1035.                                  1135Transfer
    je joint la description du type "356" car j'avais joint en #16 celle du "351" !
    Fichiers attachés Fichiers attachés

  12. #32
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    J'ai transféré par FTP sur le serveur AS400 uniquement les 3 enregistrements "351" que tu as collés dans ton dernier message et analysé le dump hexadécimal de ces enregistrements pour me focaliser essentiellement sur eux. J'ai constaté trois choses :
    • Les sections se trouvent à la queue leu leu dans les enregistrements.
    • Les données contenues dans la section "01" de 2 enregistrements sur les 3 sont erronées.
    • Les données des sections suivantes me semblent ok.

    Si les positions 1 à 17 de la section 01 paraissent ok, les données ne sont plus conformes à la définition à partir de la position 18 (Mdt-cld). On dirait qu'il y a du binaire sur une longueur de 3, au lieu de "packé", ce qui semble très étrange. Ensuite, tout le reste de cette section de 51 caractères de long, est "choucrouté".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+.
    351040142 -âï ©       ©âï©     ©     ?-©DKK0218âï -000094288 0308 - d04270000061488943100027âò·ËN
    FFFFFFFFF0046145004B4444444B45001B44444B4444466BCDDFFFF45000461FFFFFFFFF4FFFF00461482FFFF01FFFFFFFFFFFFFFFFFFF4CB73D
    3510401422100F27F3040000000427F30400000400000F04422021827F2100F000094288003082100F04F04277F00000614889431000272D33F5
                                                                                                                        
    351040142 -âïÍ^       ©âïÍ^     ©    ldDKK0218âï -000094289 0308 - d04270000000000112868542âź?N
    FFFFFFFFF004614500754444444B45007544444B44440981CDDFFFF45000461FFFFFFFFF4FFFF00461482FFFF01FFFFFFFFFFFFFFFFFFF46196D
    3510401422100F27F55F0000000427F55F0000040000334F422021827F2100F000094289003082100F04F04277F0000000000112868542279BF5
                                                                                                                        
    351040142 -âï h©       ©âï i©     ©    ÒÌéDKK0218âï -000094291 0308 - d04270000000000606395994âÝN
    FFFFFFFFF0046145048B4444444B45048B44444B4444E76BCDDFFFF45000461FFFFFFFFF4FFFF00461482FFFF01FFFFFFFFFFFFFFFFFFF41A13D
    3510401422100F27F0840000000427F0940000040000D864422021827F2100F000094291003082100F04F04277F000000000060639599421D2F5
    Sans données correctes, tu ne peux pas exploiter proprement les infos qu'on t'envoie. Rapproche toi encore de l'émetteur afin d'obtenir satisfaction.

  13. #33
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    ouais effectivement de la choucroute, ca m etonne pas du tout

    j'ai deja envoyé une quantité de question a cet emeteur un tant soit peu mal adroit

    sinon saurais tu me dire si les zones pachees sont en comp ou comp-3 ou autre ?

    encore merci

  14. #34
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 060
    Points
    32 060
    Par défaut
    si c'est du comp tout court, alors tout peut correspondre. Il faudra savoir fonctionellement quel genre de chiffres tu attends.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  15. #35
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    si c'est du comp tout court, alors tout peut correspondre. Il faudra savoir fonctionellement quel genre de chiffres tu attends.
    tu veux dire quoi par la tout peut correspondre?

    j'attend un montant avec deux decimales apres la virgule : genre 1587.12 ...

  16. #36
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Si ma mémoire est bonne, COMP-3 veut dire "packé" (ou décimal condensé) chez COBOL et COMP, c'est binaire.

    Par exemple, la date qui figure dans le 1er enregistrement est packée et contient la valeur 020140601 (1er Juin 2014).

    Le dump hexadécimal se lit colonne par colonne du haut vers le bas :

    Je lis par colonne de haut en bas : zéro-deux, zéro-un, quatre-zéro, etc.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ligne1    0   0   4   6   1
    ligne2    2   1   0   0   F
    Le " F ", c'est le signe + ou la valeur absolue (sous OS/400). Une valeur négative serait représentée par un " D ". Le signe des zones packées est toujours placé sur le dernier demi-octet de la zone.

    Pour le binaire, je reprends la valeur de MDT_CLD, qui est en position 13 dans le buffer. Cette rubrique est censée être une rubrique packée déclarée sur 4 octets ( occupant donc 3 octets dans la table ) sans décimales et on a de la "choucroute" (ou du binaire ?) à la place.

    Même méthode de lecture que le packé. Je lis alors la valeur binaire codifiée en hexadécimal 0340B4 ( pour simplifier la lecture de la valeur équivalente 110100000010110100 représentée ici en base 2 (binaire)), c'est à dire 213172 en base 10 ou en décimal. Capice ?

  17. #37
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Points : 76
    Points
    76
    Par défaut
    j'ai eu la réponse concernant la facon dont sont packé les champs numeriques, a priori ce serai du comp-3 (bizarre ...)

    mercure merci pour tes explications, neanmoins j'avoue ne pas a voir saisie la derniere partie !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Même méthode de lecture que le packé. Je lis alors la valeur binaire codifiée en hexadécimal 0340B4 ( pour simplifier la lecture de la valeur équivalente 110100000010110100 représentée ici en base 2 (binaire)), c'est à dire 213172 en base 10 ou en décimal. Capice ?
    j'attend toujours ma reponse sur la maniere dont ils transferent ce fichier avant de me l'envoyer !

  18. #38
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Citation Envoyé par nenekes
    j'ai eu la réponse concernant la facon dont sont packé les champs numeriques, a priori ce serai du comp-3 (bizarre ...)
    Relis ce que j'ai écrit. COMP-3 ou COMPUTATIONAL-3 est tout à fait correct et n'a rien de bizarre en Cobol pour déclarer des zones en packé ou en décimal condensé qui est l'appelation plus "officielle" .

    Citation Envoyé par nenekes
    ... neanmoins j'avoue ne pas a voir saisie la derniere partie !!
    Je veux dire que le contenu des zones déclarées en binaire dans les fichiers et dans les programmes (c'est à dire en COMP pour les Cobolistes) est affiché en hexadécimal mais uniquement pour simplifier leur lecture.

    Ainsi, dans l'exemple du post précédent, si la zone en position 18 sur une longueur de 3 (ce 3 est déjà bizarre) est déclarée en binaire dans le fichier, son contenu a pour valeur "0340B4" . Ce contenu est affiché en hexadécimal au lieu de son "vrai" contenu binaire : "000000110100000010110100", c'est à dire 213172 en décimal.

    Je veux dire que la valeur hexadécimale n'est affichée là que dans le but de simplifier la lecture. C'est en quelque sorte un artifice pour éviter de se mélanger les crayons à la lecture avec les 1 et les 0 du binaire.
    Imagine un peu si tu ne voyais que des 1 et des 0 sur les enregistrements, cela deviendrait vite indéchiffrable.

  19. #39
    Membre chevronné Avatar de bernard59139
    Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2006
    Messages : 950
    Points : 2 064
    Points
    2 064
    Par défaut
    Bonjour
    J'ai l'impression de plusieurs problèmes
    le transfert
    Transférer de ascii vers ebcdic un fichier avec des zones "packées" est, à mon sens, une grosse erreur. Il y aura toujours des problèmes de conversion

    • soit on développe dans l'environnement d'origine du fichier
    • soit on corrige l'application pour avoir tout en étendu
    • Soit on dépacke avant le transfert
    • soit on fait sa petite conversion à la main (avec tous les risques possibles, comme un changement de codepasge à l'origine)


    Le definition du fichier
    dans un message tu dis que la zone FELTLAENGDE n'a pas la "bonne valeur.
    Cette zone est apparement en format étendue. Un transfert ascii/ebcdic ne fera que convertir les caractères.
    rien cette remarque me fait dire que tu n'as pas les bonnes informations à ta disposition. ET je ne vois pas comment te proposer une réponse simple.

    Bonne journée

  20. #40
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Points : 92
    Points
    92
    Par défaut packed or not packed
    Bonjour,
    personnellement j'ai dans un coin, un petit "bricolo" cobol à exécuter en batch dans lequel je peux donner un nom de fichier (jcl/cl à refaire) ou bien je lui rentre directement une valeur dans une variable : je le recompile et je l'exécute.
    çà me permet de gagner un temps fou, pour voir le comportement du cobol.
    Donc amateurs : "à vos ardoises" ! C'est très simple.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/01/2013, 15h21
  2. [AS400] Zone Packée?
    Par Portekoi dans le forum DB2
    Réponses: 9
    Dernier message: 14/10/2009, 18h40
  3. PF zone PACKED et SST dans LF
    Par Arrnno dans le forum AS/400
    Réponses: 5
    Dernier message: 12/05/2009, 20h51
  4. Edition zone PACKED-DECIMAL
    Par cobolons dans le forum Cobol
    Réponses: 4
    Dernier message: 21/08/2008, 22h07
  5. Réponses: 10
    Dernier message: 22/06/2008, 17h12

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