A Cobolban nincs hagyományos értelemben vett eljárás, viszont két címke közti kódrészletet meg lehet hívni úgy, mintha eljárás lenne. Emiatt nincs paraméterátadás sem, ezt globális változók használatával lehet emulálni.
Eljárás meghívására szintén a PERFORM utasítás szolgál:
A PERFORM ezen alakja kombinálható a ciklusvezérléssel.
A Cobolban lehetőség van beágyazott programok írására. Ekkor az eljárási főrész STOP RUN utasítása és END PROGRAM programnév közé egy teljes programot (mind a négy főrésszel) beírhatunk. Erre a vezérlést a CALL programnév utasítással adhatjuk át.
A megfelelő paramétereknek a hívott alprogram LINKAGE-SECTION részében kell szerepelniük.
Az utasítások egy Cobol igével kezdődik például ADD, COMPUTE, stb. ezek általában szabályos angol igék. Vannak feltételes, feltétel nélküli és a fordítóprogramot vezérlő utasítások.
A Cobol utasításokból mondatokat készíthetünk, egy mondat legalább egy utasításból áll. A mondat végére pontot kell tenni, míg az azon belüli egyes utasításokat vesszővel választhatjuk el egymástól.
A Cobol mondatokból szakaszokat készíthetünk, melyek általában a feldolgozás egy-egy elkülöníthető részének programkódját tartalmazzák. Minden szakasz szakasznévvel kezdődik, ezt pont követi. Szegmentált program esetében a résznévvel együtt még a prioritásszám is szerepel. A szakaszokból pedig fejezeteket készíthetünk. A szakaszokat és fejezeteket mint eljárásokat használhatjuk.
Az eljárások előtt lehet deklaratív rész is. Ez a rész különleges szerepet tölt be (nem SECTION jellegű), ezért előfordul, hogy a főrész elején található. A DECLARATIVES kulcsszóval kezdődik, és az END DECLARATIVES kulcsszóval záródik le.
Az eljárási főrész szerkezete a következő:
A DECLARATIVES. bejegyzésről bővebben: a "USE"-mondatok helye: használhatunk ilyeneket speciális, saját IO-címkekezelő-, IO-hibakezelő-, illetve táblageneráláshoz szükséges rutinok definiálására. A rutinokhoz tartozó kilépési pontokat a fordító generálja. Ezek a rutinok zártak, azaz tilos belőlük más, a PROCEDURE DIVISION egyéb területén található kódrészletre hivatkozni. A végrehajtásuk automatikus (a megfelelő helyről történő hívásokat a fordító automatikusan generálja); illetve PERFORM igével explicit is meghívhatók az eljárási főrésznek a DECLARATIVES.-tól különböző részeiből.
Fortran, illetve ALGOL nyelvű rutinoknak is átadható a vezérlés, az ENTER fordítási direktíva segítségével.
Formája :
Gyakorlati megvalósítás(ok) : az ENTER egy speciális szubrutin-hívást reprezentál, amely átadja a vezérlést a másik nyelven megírt, de már előre lefordított rutinnak.