PSB
Program specification block: the IMS definition of which databases and segments a program may use, and how.
Also written program specification block, PCB, program communication block, PSBGEN, SENSEG, PROCOPT
A PSB, or program specification block, describes what an IMS program is allowed to see and do. Every IMS program has one, usually with the same name as the program.
A PSB is made of PCBs, program communication blocks. A database PCB gives the program a view of one database. Inside it, SENSEG statements list the segments the program is sensitive to, meaning the ones it can see. PROCOPT sets what it may do with them, such as only read, or also insert, replace and delete. A program that only needs account balances does not need to see transactions, and should not be able to change them.
Programs that handle online messages also get an I/O PCB, used to receive the input message and send the reply.
PSBs are written as source and generated with PSBGEN. In the COBOL program, each PCB is described in the LINKAGE SECTION as a PCB mask, and it is passed on every DL/I call. After each call, IMS puts the status code in that PCB. If a program gets an unexpected error about a segment it should not reach, the PSB is the first thing to check.
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.
- DL/IData Language/I: the set of calls a program uses to read and update an IMS database.
- IMS segmentThe basic unit of data in an IMS database, arranged in a hierarchy of parents and children.
- DBDDatabase description: the IMS definition of a database's structure, its segments, fields and the method used to store it.
- COBOLThe programming language most business logic on the mainframe is written in. Verbose by design, and still running the world's payments.
- LINKAGE SECTIONThe part of a COBOL program's DATA DIVISION that describes data passed in from outside, such as from a calling program.