Fichier cobol isam unix > isam window cob m

Fermé
dali54 Messages postés 5 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 13 août 2008 - 12 août 2008 à 16:34
dali54 Messages postés 5 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 13 août 2008 - 13 août 2008 à 16:15
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
A voir également:

2 réponses

cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
12 août 2008 à 20:04
Bonjour,

Envoie la partie de ton code COBOL relative aux fichiers, je comparerai avec mes programmes .....................
1
dali54 Messages postés 5 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 13 août 2008
12 août 2008 à 20:56
Bonsoir,

J'envoie demain le code du bureau.

Merci.
-1
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131 > dali54 Messages postés 5 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 13 août 2008
13 août 2008 à 01:29
OK, à demain,
0
dali54 Messages postés 5 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 13 août 2008 > cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012
13 août 2008 à 10:24
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
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
13 août 2008 à 13:02
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
dali54 Messages postés 5 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 13 août 2008
13 août 2008 à 14:25
OK merci de ta réponse, je vais tester tester avec les status.

et je fais un retour du constat.

Cordialement,

dali54
-1
dali54 Messages postés 5 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 13 août 2008
13 août 2008 à 16:15
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