COBOL: How to Write Multi Dimensional Arrays

Arrays or Table real use in COBOL is to store temporary data that to use later in your application program.  The table need a clear definition in COBOL before you start using it. In the definition you need to give size or dimensions of the table as per your requirement.

table-or-array
Table Vs Array

Table Vs Array

What is a Table

Multiple occurrences of the similar data item you can call it as a Table. The items in a Table starts with ‘1’ and goes to a maximum of Size. In Table, each element is subordinate to another element.

table in COBOL

What is an Array

An array is similar to a table. Here, you can store multiple occurrences similar to data items. The only difference is in an Array, the items start with ‘0’ and goes to ‘n-1’ maximum items.

Arrays do not have any relation between one element to others.

The first item you can refer to as I (0), I (1) and so on.

arrays definition

How to Define a Table or Array

Some people define the array in the ‘COPY’ book. Other programmers use both definitions and usage in the same program.

Definition for the multi-dimension array is as follows:

01  Table occurs 10 times.
      03  field-1      pic x(03).
      03  sub-table  pic 9(5) occurs 5 times.
      03  field-2      pic 9(03).

The OCCURS clause will be used to define the size of a Table. You can define a subscript to refer to your table element.

01 Sub1   PIC 9(01) value 1.

You need a definition of the subscript. It is initialized with ‘1’.

Move field-1(sub1) TO WS_FIELD.

The internal meaning is:

MOVE field-1(1) TO WS_FIELD.

Also, Read

Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.