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 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.