DL/I
Data Language/I: the set of calls a program uses to read and update an IMS database.
Also written DL/1, DLI, CBLTDLI, GU, GN, ISRT, SSA
DL/I, Data Language/I, is how programs work with IMS databases. IMS stores data in a hierarchy, like a tree: a customer at the top, the customer's accounts below, each account's transactions below that. DL/I calls move around that tree.
The calls have short names. GU, get unique, goes directly to a record that matches a condition. GN, get next, reads the next record in order. GNP, get next within parent, reads only the records under the current parent, such as the transactions of one account. Adding an H, as in GHU, holds the record so it can be changed. REPL replaces it, DLET deletes it, and ISRT inserts a new one.
A COBOL program makes a call through the CBLTDLI interface, passing the function code, a PCB that names the database view, an area for the data, and optional segment search arguments, SSAs, which say what to look for.
After every call, the program checks the status code in the PCB. Blank means success, GE means not found, and GB means the end of the database was reached. It is the IMS equivalent of checking SQLCODE.
Where can I learn this hands-on?
Right here, at ZedBank. You take a junior job at a simulated bank and learn each part of the work by doing it, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- IMSAn older IBM transaction manager and hierarchical database, still running some of the highest-volume systems in the world.
- COBOLThe programming language most business logic on the mainframe is written in. Verbose by design, and still running the world's payments.
- Online transaction processingHandling many small pieces of work in real time while someone waits: a card payment, a balance check, a seat booking.
- DB2 for z/OSIBM's relational database on the mainframe, where a great deal of the world's banking and insurance data is stored.
- Legacy systemAn older system still doing essential work. On the mainframe, usually code that has been correct and running for decades.