| COBOL/Mainframe | Cible TypeScript | Pattern |
|---|---|---|
| IMS HIDAM (root → child) | 2 tables relationnelles + FK + CASCADE | D9 |
| DLI GU (Get Unique) | SELECT WHERE key = ? | D9 |
| DLI GN (Get Next) | SELECT ORDER BY (parcours sequentiel) | D9 |
| DLI GNP (Get Next in Parent) | SELECT WHERE parent_key = ? | D9 |
| DLI DLET (Delete) | DELETE WHERE + ON DELETE CASCADE | D9 |
| DLI CHKP (Checkpoint) | D1 batch() — commit transaction | D9 |
| DLI SCHD/TERM | Implicite (Workers lifecycle) | D9 |
| SQLCODE -803 (duplicate) | INSERT catch → UPDATE (upsert) | D9 |
| Date complement 9s | Standard date (inutile en SQL) | D9 |
| VSAM ESDS (NONINDEXED) | Table + created_at (ordre insertion) | D3 |
| VSAM RRDS (NUMBERED) | Table + id AUTOINCREMENT | D4 |
| CICS STARTBR + READNEXT | SELECT LIMIT/OFFSET + ORDER BY ASC | D3+D4 |
| CICS READPREV | SELECT ORDER BY DESC | D3+D4 |
| CICS WRITE | INSERT INTO | D3+D4 |
| JCL PGM=SORT FIELDS | SQL ORDER BY | D11+B3 |
| JCL SORT INCLUDE | SQL WHERE (filtre) | D11+B3 |
| JCL SORT OUTREC | SQL SELECT (projection) | D11+B3 |