COBOL400/ nouveautés V2 Edition 1.0 Gestion des verrouillages d'enregistrements: + Lecture sans verrouillage d'enregistrement pour un fichier ouvert en I-O. READ WITH NO LOCK >>-READ-- nom de fichier -----------------------------> !-record-! >-----------------------------------------------------> !-INTO-identifiant-1-! >---------------------------------------------------->> !------------NO--LOCK-----! !-WITH-! = lecture seule (pas de mise à jour possible) (pas de verrouillage sauf avec STRCMTCTL LCKLVL(*ALL).) évite une double définition du fichier = Déverrouille un enregistrement précédement verrouillé. |
Litéraux héxadecimaux : X"nn" = litéral valide pour une variable non numérique. Modification d'une référence : = possibilité de manier une sous chaine de caractere (= %SST en CL) >>--nom-zone-------------------------(position-1er-c-:--------------)->> ! !-OF--zone de groupe-! ! !-longueur-! ! !IN! ! ! ! ! ! v ! ! Doit être v ! USAGE DISPLAY litéral,zone ! ou expression v EXEMPLE: litéral,zone ou expression MOVE ADRESSE(1:10) TO ADR10C. (si non renseigné, ==> fin de la zone) |
Définition d'une zone par référence à une autre. Clause LIKE. Peut être utilis en référence à une variable résultat d'un COPY DDS. Modification possible de la longueur, ne tiens pas compte de la clause OCCURS. Exemple: FILE SECTION. FD FICHIER. 01 ENREG. COPY DDS-FORMAT OF FICHIER. * 05 FORMAT. * 06 CLE PIC S9(4). * 06 LIBEL PIC X(20). WORKING-STORAGE SECTION. 77 SAVCLE LIKE CLE. * (PIC S9(4).) * |
Autres exemples: 01 ZZ PIC X(3). 01 ESSAI RENAME ZZ. 01 XX LIKE ESSAI. = (PIC X(3).) *--------------------------------- 01 PRIX PIC S9(5)V99. 01 MONTANT LIKE PRIX (+3). = (PIC S9(8)V9(2).) *--------------------------------- 01 TAB1 PIC X(10) OCCURS 5. 01 ZON1 LIKE TAB1. = (PIC X(10) sans OCCURS.) *--------------------------------- 01 ZON2 PIC X(5). 01 TAB2 LIKE ZON2 OCCURS 6 = (PIC X(5) LG totale = 30.) *--------------------------------- |
Détail des zones concernées pour une instruction avec CORRESPONDING. Sur la commande CRTCBLPGM paramètre OPTION( *PRTCORR ) *NOPRTCORR Exemple (liste de compilation) : 5738CB1 V2R1M0 910524 Source COBOL AS/400 MABIB/CBLPGM INST NUMSEQ -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7.. 1 000100 DATA DIVISION. 2 000200 WORKING-STORAGE SECTION. 3 000300 01 GRP1. 4 000400 05 ZON1 PIC X(3). 5 000500 05 ZON2 PIC X(10). 6 000600 05 ZON3 PIC 99. 7 000700 01 GRP2. 8 000800 05 ZON1 PIC X(3). 9 000900 05 ZON2 PIC X(10). 10 001000 05 ZONA PIC X(7). 11 001100 01 GRP3. 12 001200 05 ZONB PIC X. |
13 001300 PROCEDURE DIVISION. 14 001400 MOVE CORR GRP1 TO GRP2. * ** Eléments CORRESPONDING pour instruction 14 : * ** ZON1 * ** ZON2 * ** Fin des éléments CORRESPONDING pour instruction 14 15 001500 MOVE CORR GRP1 TO GRP3. * ** Eléments CORRESPONDING pour instruction 15 : * ** Aucun élément CORRESPONDING trouvé * ** Fin des éléments CORRESPONDING pour instruction 15 16 001600 STOP RUN. * * * * * F I N D U S O U R C E * * * * * |