Fichier cobol isam unix > isam window cob m
dali54
Messages postés
5
Statut
Membre
-
dali54 Messages postés 5 Statut Membre -
dali54 Messages postés 5 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
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:
- Fichier cobol isam unix > isam window cob m
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
Bonjour,
Envoie la partie de ton code COBOL relative aux fichiers, je comparerai avec mes programmes .....................
Envoie la partie de ton code COBOL relative aux fichiers, je comparerai avec mes programmes .....................
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 :
...............................
.....................................
.................................
.....................
Je continue à regarder,
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,
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.
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.
J'envoie demain le code du bureau.
Merci.
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.