What is the difference between index and subscript?
Answers were Sorted based on User's Feedback
Answer / jkb
Index represents the displacement value of the table entry
from the beginning of the table whereas subscript is the
occurrence number of the table entry.
To calculate the displacement of the table entry from its
beginning when subscript is used takes 16 additional
instructions from the system because of that the usage of
the index is more efficient.
An index can only be modified using PERFORM, SEARCH & SET.
Need to have index for a table in order to use SEARCH,
SEARCH ALL.
| Is This Answer Correct ? | 25 Yes | 3 No |
Answer / harish
subscript normal variable dec in w-s section.
index cant
subscript can be accepted or displayed
for index set index up by value down by value..
subscript- arithmetic operation is possible..
subscript refers to array occurance,
index refers to the displacement of start of the array
pls correct me if anything wrong
HARISH POOMGAME SHIVAPPA(hassan,karnataka)
NIIT TECHNOLOGY
KOLKATA
| Is This Answer Correct ? | 17 Yes | 5 No |
Answer / vamsi krishna g
subscript is occurence type like arrays so if u want to
dispaly a value of it means it will search for it from
begining
indexed:
if u want to dispaly a value of an vairable it will
directly diplaces to that value and display the value
so from this we can say
subscript is an occurance type and indexed is displacement
type
if any wrong means please update me
| Is This Answer Correct ? | 12 Yes | 2 No |
Answer / manjunath
ubscript - Subscript is used to access elements in array.
Index also used for the same purpose.
Ex. 01 WS-GROUP.
05 WS-MONTH PIC X(3) OCCURS 12 TIMES.
To access 2nd month we sepcify WS-MONTH(2).
Value enclosed in brackets is called subscript ( in this case 2 ).
You can use INDEX for the same.
Ex. 01 WS-GROUP.
05 WS-MONTH PIC X(3) OCCURS 12 TIMES INDEXED BY WS-INDX.
In above example WS-INDX is a INDEX data item.
we can use this variable to access the elements in the array.
If you want to access 2nd element in the array. need to write the code as follows
SET WS-INDX TO 2.
DISPLAY " 2nd element in array " , WS-INDX.
An index is similar to a subscript, but internal value in the variables are different..
Normaly subscript refer the occurance number of the item in array. in our example that is 2. means to refer second occurance we use number 2.
In case of index, to refer second element of your array, it shoud contains value of displacement from the starting of the arrary. i.e, in our example we used SET command to set value in index field WS-INDX. after execution of this command
WS-INDX contain the value 3. To refer third element it should contains the value of
6, for fourth element it should contain the value of 9 ( in our example array element size is 3 ).
| Is This Answer Correct ? | 1 Yes | 0 No |
What is inspect in cobol ?
how do you reference the variable block file formats from cobol programs
maximum of how many screens we can open in emulator
Are you comfortable in cobol or jcl?
what is mainframe? what is the mainframe software ? what is use in s/w field?
how to transfer the file from pc to mainframe??
What are the differences between OS VS COBOL and VS COBOL II?
I have dataset DS1 which has records say 1 2 3 4 5 ... ... etc And also I have second dataset DS2 whcih has records 1 3 4 5 6 8 .. ... Both the files are sorted and now I want to compare these files and write it into the third files if the records are matching.
can anybody post me about file-aid and changemen tools pls and give me reference if any mainframe guys are there
what will be the output when a)pic 9(6)value 000178 is moved to pic ***,***. b)pic 9(5) value 57397 is moved to pic $$,$$9.
How to define variable 9(20) in COBOL, because compiler does not allow us to declare variables with Pic 9(18). Can anyone please let me know the answer... I know one answer to this question which is to use Compiler option Arith (Extend) during Compilation. It extends the maximum limit to 9(32)..Just wanted to know if there is any other way to extend this?
I have a field with data type X(10). I want to perform arithmetic operation on this field? I tried doing it by moving the value into a numeric field. but it didn't work out. I am getting a S0C7 abend. Pls let me know if there is any way of getting this done?