Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Cobol - how to declare an array dyanamically in cobol.

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> Mainframe COBOL
Author Message
Revankumar

New User


Joined: 15 Jun 2005
Posts: 5

PostPosted: Mon Jun 20, 2005 9:03 pm    Post subject: Cobol - how to declare an array dyanamically in cobol.
Reply with quote

Hi,

Is there any way in Cobol to declare the array dyanamically. Because this time if you array size as 100, and later if this size has to be increased...all we need to do is change the size in the program. Instead is it possible to declare the array dynamically so that programs need not be changed later on for the size. So that program should allocate by itself dyanamically as much size as required.
Back to top
View user's profile Send private message
References
somasundaran_k

Active User


Joined: 03 Jun 2003
Posts: 141

PostPosted: Mon Jun 20, 2005 10:07 pm    Post subject:
Reply with quote

Revan
You can't have a dynamic array in COBOL by it's true meaning. But you can create a variable length array ,if you know the maximum possible size of it.
Check this link.
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IGY3PG00/1.4.5?DT=20011203125201

hth
-Som
Back to top
View user's profile Send private message
Jagamohan

New User


Joined: 17 Jun 2005
Posts: 13
Location: Mumbai

PostPosted: Wed Jun 22, 2005 1:54 pm    Post subject:
Reply with quote

hi revan
u can use depending on clause.

but any way u have to specify max size in the occur clause.

So you can give any higher value there for ur need.

thanks
jagamohan
Back to top
View user's profile Send private message
Prasanthhere

Active User


Joined: 03 Aug 2005
Posts: 279

PostPosted: Mon Aug 08, 2005 12:26 pm    Post subject:
Reply with quote

the only way 2 declare a dyanamic array is thru using the depending clause
its format is as follows

The OCCURS DEPENDING ON clause specifies variable-length tables;All data-names used in the OCCURS clause can be qualified; they cannot be subscripted or indexed.

The following fragment from an invoice record demonstrates the concept:

05 ws-array PIC 99.
05 ws-array OCCURS 0 TO 25 TIMES
DEPENDING ON ws-array.
10 QUANTITY PIC 9999.
10 DESCRIPTION PIC X(30).
10 UNIT-PRICE PIC S9(5)V99
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> Mainframe COBOL All times are GMT + 6 Hours
Page 1 of 1