Les cartes D sont remplacés par dcl‑s, dcl-ds, dcl-pr et dcl-pi. quel est le formalisme ?
Les nouvelles déclarations free-form, ancienne « cartes » H, F, D sont remplacées par ctl-opt, dcl‑f, dcl‑s, dcl-ds, dcl-pr, dcl-pi…
En attendant de les connaître par cœur, voici une aide pour retrouver les correspondances avec l’ancien formalisme de la carte D.
Data type
Data type | Lettre ancienne forme | Free-form syntax | Examples |
---|---|---|---|
Alphanumeric | A | CHAR(len) VARCHAR(len {: varying-size} ) |
DCL‑S library CHAR(10); DCL‑S libfilembr VARCHAR(33); DCL‑S cmdparm VARCHAR(10:4); |
UCS‑2 | C | UCS2(len) VARUCS2(len {: varying-size} ) |
DCL‑S firstName UCS2(10); DCL‑S filePath VARUCS2(5000); |
Graphic | DBCS | GRAPH(len) VARGRAPH(len {: varying-size} |
DCL‑S firstName GRAPH(20); DCL‑S fullName VARGRAPH(50); |
Indicator | N | IND | DCL‑S isValid IND ; |
Packed | P | PACKED(digits {:decimals} ) | DCL‑S numRecords PACKED(5); DCL‑S salary PACKED(15:2); |
Zoned | S | ZONED(digits {: decimals} ) | DCL‑S numRecords ZONED(5); DCL‑S salary ZONED(15:2); |
Binary | B | BINDEC(digits {: decimals} ) | DCL‑S numRecords BINDEC(9); DCL‑S bonus BINDEC(9:2); |
Integer | I | INT(digits) Digits can be 3, 5, 10, 20 |
DCL‑S index INT(10); |
Unsigned | U | UNS(digits) Digits can be 3, 5, 10, 20 |
DCL‑S count UNS(20); |
Float | F | FLOAT(bytes) Bytes can be 4, 8 |
DCL‑S variance FLOAT(8); |
Date | D | DATE { (format) } | DCL‑S duedate DATE ; DCL‑S displayDate DATE(*YMD); |
Time | T | TIME { (format) } | DCL‑S startTime TIME ; DCL‑S displayTime TIME(*USA); |
Timestamp | Z | TIMESTAMP | DCL‑S start TIMESTAMP ; |
Pointer | * | POINTER | DCL‑S pUserspace POINTER ; |
Procedure pointer |
* | POINTER(*PROC) | DCL‑S pProc POINTER(*PROC); |
Object | O | OBJECT{(*JAVA : class)} | DCL‑S obj OBJECT(*JAVA:‘Cls’); |