Fichier cobol isam unix > isam window cob m

dali54 Messages postés 5 Date d'inscription   Statut Membre -  
dali54 Messages postés 5 Date d'inscription   Statut Membre -
Bonjour,

Je cherche à convertir un fichier cobol isam sous unix vers isam avec windows cobol micro focus.
j'ai écris un prog. mais le résultat ne convient pas
y-a-t-il une spécificité dans la codif ? les 2 fichiers sont lus avec ultraédit, c'est le même programme que je lance sous unix et windows. merci d'avance d'une aide.

j'ai en entrée:

10 006011090000000005390100000000050000000006620000000003454000000000000000000001009680000006195370000002199002008/06/30
10 0060110901000000000000000000000000000000000000000000000000000000000000000000001111100000010460q0000000000002008/06/30

et en sortie:

0~ 0808120958098508081209580985 > { { X9s @{10 006011090000000005390100000000050000000006620000000003454000000000000000000001009680000006195370000002199002008/06/30 @{10 0060110901000000000000000000000000000000000000000000000000000000000000000000001111100000010460q0000000000002008/06/30
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. cchristian Messages postés 928 Statut Membre 131
     
    Bonjour,

    Envoie la partie de ton code COBOL relative aux fichiers, je comparerai avec mes programmes .....................
    1
    1. dali54 Messages postés 5 Date d'inscription   Statut Membre
       
      Bonsoir,

      J'envoie demain le code du bureau.

      Merci.
      -1
      1. cchristian Messages postés 928 Statut Membre 131 > dali54 Messages postés 5 Date d'inscription   Statut Membre
         
        OK, à demain,
        0
      2. dali54 Messages postés 5 Date d'inscription   Statut Membre > cchristian Messages postés 928 Statut Membre
         
        Boujour CChristian,
        Comme convenu voici le code du programme.
        Les clauses copy concerne l'écriture dans un fichier de la bonne fin de prog.

        Merci de l'aide.

        Cordialement,

        Dali54

        IDENTIFICATION DIVISION.
        PROGRAM-ID. PTRISAM2.
        DATE-WRITTEN. 10:08/2008
        ***************************************************************
        * - TRANSFORMATION EN ISAM D'UN FICHIER ISSU DE UNIX *
        * - FICHIER ENTREE : DENTREE *
        * - FICHIER SORTIE : DSORTIE *
        * *
        ***************************************************************

        /
        ***********************
        ENVIRONMENT DIVISION.
        ***********************

        CONFIGURATION SECTION.
        SPECIAL-NAMES.
        * TSW-10 IS SW10
        SYSOUT IS TERM
        DECIMAL-POINT IS COMMA.
        INPUT-OUTPUT SECTION.

        FILE-CONTROL.
        COPY PLSANO.

        SELECT DENTREE ASSIGN TO DENTREE
        ORGANIZATION IS LINE SEQUENTIAL.

        SELECT DSORTIE ASSIGN TO DSORTIE
        ORGANIZATION IS INDEXED
        RECORD KEY IS S-CLE
        ACCESS MODE IS DYNAMIC.

        /
        ****************
        DATA DIVISION.
        ****************
        FILE SECTION.
        COPY PLDANO.
        ****************
        *** FICHIER ENTREE : DENTREE ***
        FD DENTREE
        RECORD 123
        LABEL RECORDS ARE STANDARD.
        *
        01 A-ARTICLE.
        02 E-CLE.
        06 E-CDSOC-9030 PIC XXX.
        06 E-CDCOUT-9030 PIC X(08).
        06 E-ETAB-9030 PIC X(03).
        02 E-RES-9030.
        06 E-MT-INTPREV-9030 PIC S9(10)V99.
        06 E-MT-INTNPREV-9030 PIC S9(10)V99.
        06 E-MT-EXTPREV-9030 PIC S9(10)V99.
        06 E-MT-EXTNPREV-9030 PIC S9(10)V99.
        06 E-MT-FORFAIT-9030 PIC S9(10)V99.
        06 E-MT-MASSE-9030 PIC S9(10)V99.
        06 E-MT-FACTURE-9030 PIC S9(10)V99.
        06 E-MT-AUTRES-9030 PIC S9(10)V99.
        02 E-DT-TRAIT-9030.
        06 E-DT-SA-9030 PIC 9(04).
        06 E-DT-FIL1-9030 PIC X.
        06 E-DT-MM-9030 PIC 99.
        06 E-DT-FIL2-9030 PIC X.
        06 E-DT-JJ-9030 PIC 99.
        06 E-DT-NBR-9030 PIC X(03).
        /
        FD DSORTIE
        RECORD 123
        LABEL RECORD STANDARD.

        01 S-ARTICLE.
        02 S-CLE.
        06 S-CDSOC-9030 PIC XXX.
        06 S-CDCOUT-9030 PIC X(08).
        06 S-ETAB-9030 PIC X(03).
        02 S-RES-9030.
        06 S-MT-INTPREV-9030 PIC S9(10)V99.
        06 S-MT-INTNPREV-9030 PIC S9(10)V99.
        06 S-MT-EXTPREV-9030 PIC S9(10)V99.
        06 S-MT-EXTNPREV-9030 PIC S9(10)V99.
        06 S-MT-FORFAIT-9030 PIC S9(10)V99.
        06 S-MT-MASSE-9030 PIC S9(10)V99.
        06 S-MT-FACTURE-9030 PIC S9(10)V99.
        06 S-MT-AUTRES-9030 PIC S9(10)V99.
        02 S-DT-TRAIT-9030.
        06 S-DT-SA-9030 PIC 9(04).
        06 S-DT-FIL1-9030 PIC X.
        06 S-DT-MM-9030 PIC 99.
        06 S-DT-FIL2-9030 PIC X.
        06 S-DT-JJ-9030 PIC 99.
        06 S-DT-NBR-9030 PIC X(03).

        /
        **************************
        WORKING-STORAGE SECTION.
        01 WS-NOMPG PIC X(10) VALUE " PTRISAM2 ".
        01 WS-VERS PIC X(33) VALUE "4.1 - REVISION 07 - LE 18/02/2003".
        01 F09-LG-ENREG PIC 9(4) COMP VALUE ZERO.
        01 CPTLU PIC 9(6) VALUE 0.
        01 CD-DATE.
        05 CD-YYYYMMDD PIC 9(08).
        05 FILLER PIC X(13).
        **************************

        /
        *********************
        PROCEDURE DIVISION.
        *********************
        P10.
        COPY PLRANO.
        OPEN INPUT DENTREE
        OPEN OUTPUT DSORTIE.
        P20.
        MOVE SPACES TO S-ARTICLE.
        READ DENTREE NEXT AT END MOVE HIGH-VALUE TO A-ARTICLE.
        IF A-ARTICLE = HIGH-VALUE GO TO P50.
        ADD 1 TO CPTLU.
        MOVE A-ARTICLE TO S-ARTICLE.
        WRITE S-ARTICLE INVALID KEY
        DISPLAY "CPTLU PAS OK = " CPTLU " E-CLE: " E-CLE
        GO TO P20
        NOT INVALID
        GO TO P20.


        P50.
        DISPLAY "CPTLU = " CPTLU
        CLOSE DENTREE
        CLOSE DSORTIE.
        DISPLAY "*** FIN NORMALE DU PROGRAMME PTRISAM2 ***".
        COPY PLWANO.
        STOP RUN.
        -1
  2. cchristian Messages postés 928 Statut Membre 131
     
    Bonjour,

    Un premier contrôle visuel n'a pas fait ressortir une quelconque iincompatibilité entre ton code et les miens.

    En première investigation je te préconise de tester les files-status des ordres 'd'entrée/sortie, cela fera peut-être ressortir le problème ex :
    	   SELECT INDEXED-FILE      ASSIGN        TO  INDXOUT,
                             ORGANIZATION       IS  INDEXED,
                                  RECORD KEY    IS  CLE,
                             ACCESS   MODE      IS  DYNAMIC,
                                  FILE STATUS   IS  FS-INDX.

    ...............................
     WORKING-STORAGE              SECTION.
    
     77  FS-INDX                PIC   99      VALUE 0.
     77  FS-TYPE-IO             PIC   X(12)   VALUE SPACES.
    

    .....................................
     
    
    PROCEDURE              DIVISION.
    
    ..........................................
    
         MOVE     'L''OUVERTURE ' TO   FS-TYPE-IO.
         OPEN     OUTPUT          INDEXED-FILE.
         PERFORM  TEST-FS-INDX    THRU FIN-TEST-FS-INDX.
     

    .................................
         MOVE     'L''ECRITURE ' TO   FS-TYPE-IO.
         WRITE  ENR-.............     INVALID KEY
                DISPLAY NOM-PGM ' ERREUR D''ECRITURE INDEXED-FILE',
         PERFORM  TEST-FS-INDX    THRU FIN-TEST-FS-INDX.

    .....................
    TEST-FS-INDX.
    
         IF FS-INDX              IS NOT = ZERO           DISPLAY
            'ERREUR A ' FS-TYPE-IO 'DU FICHIER INDEXED-FILE FS :',
             FS-INDX,                  UPON CONSOLE,
             CLOSE    SEQUENTIAL-FILE, INDEXED-FILE,
             STOP RUN.
    
     TEST-FS-INDX.
            EXIT.


    Je continue à regarder,
    1
    1. dali54 Messages postés 5 Date d'inscription   Statut Membre
       
      OK merci de ta réponse, je vais tester tester avec les status.

      et je fais un retour du constat.

      Cordialement,

      dali54
      -1
    2. dali54 Messages postés 5 Date d'inscription   Statut Membre
       
      C'est encore moi,

      J'ai fais le test du status, tout à l'air OK ?

      la question que je me pose maintenant ! la cause ne viendrait-t-elle pas d'un problème de conversion ascii entre
      unix et windows ? je vais creuser de ce coté.

      En plus de ça, je n'ai pas les droits sur le serveur windows pour compiler et tester.

      Je doits demander à un collègue pour la compile, et à un autre pour lancer le test. C'est la vie ... au mois d'Août

      Cordialement.
      -1