In der PROCEDURE DIVISION veranlasst der Programmierer das Listenprogramm durch die Anweisungen INITIATE, GENERATE und TERMINATE, die gewünschte und im Datenteil vollständig beschriebene Liste zu erzeugen.
Die INITIATE-Anweisung bewirkt, dass das Listenprogramm für die in ihr angegebene(n) Liste(n) die zur Erstellung notwendige Initialisierung ausführt. Diese Initialisierung ermöglicht es dem Listenprogramm z.B. zu erkennen, ob eine GENERATE-Anweisung als im Programmablauf zeitlich erste GENERATE-Anweisung ausgeführt wird.
Die GENERATE-Anweisung ist für die Erstellung des Großteils der Liste zuständig. Sie gibt den Anstoß, dass neben der Erzeugung der Postenleiste eine Reihe automatischer Funktionen ausgeführt wird. So wird der Gruppentest und - wenn nötig - ein Gruppenwechsel durchgeführt, d.h. es werden Gruppenfüße und Gruppenköpfe erstellt. Ist für eine Rumpfleiste (Gruppenfuß, Gruppenkopf oder Postenleiste) kein Platz in der zugehörigen (Leisten-)-Zone der Seite, dann wird automatisch der Seitenfuß erstellt, ein Seitenvorschub impliziert und die Kopfleiste erzeugt. Alle bei der Erstellung der einzelnen Leisten anfallenden Detailaufgaben, wie z.B. das Erhöhen oder Zurücksetzen von Zählern, die Belegung der Druckfelder mit Wert-, Quell- oder Summeninformation, das Positionieren und Schreiben der Zeile(n), in der (denen) die Druckfelder einer Leiste organisiert sind, werden automatisch erledigt.
Die TERMINATE-Anweisung veranlasst das Listenprogramm, die Erzeugung der in ihr angegebenen Liste(n) abzuschließen. So werden alle zur Liste gehörigen Gruppenfüße und - falls vorhanden - der Listenfuß als letzte Leiste der Liste geschrieben.
Im Bereich der Prozedurvereinbarungen (DECLARATIVES) darf der Programmierer für Leisten (außer Postenleisten) Benutzerprozeduren im Anschluss an eine USE BEFORE REPORTING-Anweisung angeben. Da solche Prozeduren unmittelbar vor der eigentlichen Erstellung (Druckaufbereitung usw.) der zugehörigen Leiste durchlaufen werden, hat der Programmierer durch sie ein Instrument, auf die Druckstellung der Leiste zur Ablaufzeit Einfluss zu nehmen.
Folgende vier Sonderregister kennt und verwendet das Listenprogramm: LINE-COUNTER, PAGE-COUNTER, PRINT-SWITCH und CBL-CTR.
Eine Listendatei ist eine sequenziell organisierte Datei, für die die folgende Einschränkung gilt:
Vor einer INITIATE-Anweisung muss eine OPEN OUTPUT- oder OPEN EXTEND-Anweisung ausgeführt werden. Einer TERMINATE-Anweisung muss eine CLOSE-Anweisung (ohne REEL- oder UNIT-Angaben) folgen. Für diese Datei darf keine andere Ein-/Ausgabe-Anweisung ausgeführt werden.