次の例では、項目 family-tree の表に Fred Smith の子孫 1 人につき 1 つの項が含まれています。データは、事前に他のプログラムにより表に入力されているとします。最初の項は Fred Smith 自身の項です。各項には、各人の名前とともに、eldest-pointer というデータ項目があり、その人の長子の項の表内での位置が含まれます。子供がいない場合、この項目の値は 99 です。同様に、各項には sibling-pointer というデータ項目があり、その人の弟 (妹) の項を示します。弟 (妹) がいない場合、この項目の値は 99 です。
次に、再帰を使用して家系図を検索する例を示します。
identification division. program-id. family. . . . working-storage section. 01 family-tree. 03 individual occurs 50. 05 ind-name pic x(30). 05 eldest-pointer pic 9(2). 05 sibling-pointer pic 9(2). local-storage section. 01 tree-pointer pic 9(2). linkage section. 01 parent-pointer pic 9(2). procedure division. move 1 to tree-pointer call "children" using tree-pointer stop run. * If this person has no eldest child, routine "children" * displays the person's name and does nothing more. Otherwise, * this routine starts with the person's eldest child and calls * itself for each sibling in turn. entry "children" using parent-pointer move eldest-pointer(parent-pointer) to tree-pointer if tree-pointer = 99 display ind-name(parent-pointer) else perform until tree-pointer = 99 call "children" using tree-pointer move sibling-pointer(tree-pointer)to tree-pointer end-perform end-if.