STRPDM.COM                  

   Home    |    IBM Manuals Direct    |    iBytes Library   |    Links    |   About     |   Book Store   |  On-Line Code

 

iByte

Subject – Using Multiple Occurrence Data Structures

Multiple Occurrence Data Structures can be easy to understand and very handy in certain situations.  Below is a very basic illustration of a Multiple Occurrence Data Structure.

D*                  ---------------------------------------------
D*                  DEFINE THE DATA STRUCTURE                   
D*                  ---------------------------------------------
D*                                                              
D MYDATA          DS                  OCCURS(999)               
D  FIELD01                1      1                              
D  FIELD02                2      2                              
D  FIELD03                3      3                              
C                                                               
C*                  ---------------------------------------------
C*                  LOADING THE DATA STRUCTURE                  
C*                  ---------------------------------------------
C     5             OCCUR     MYDATA                            
C                   EVAL      FIELD01 = 'K'                     
C                   EVAL      FIELD02 = 'O'                     
C                   EVAL      FIELD03 = 'S'                     
C                                                               
C                                                                
C     8             OCCUR     MYDATA                             
C                   EVAL      FIELD01 = 'M'                      
C                   EVAL      FIELD02 = 'O'                      
C                   EVAL      FIELD03 = 'G'                      
C                                                                
C*                  ---------------------------------------------
C*                  READING THE DATA STRUCTURE                   
C*                  ---------------------------------------------
C     5             OCCUR     MYDATA                             
C* FIELD01 WILL EQUAL 'K' UNTIL A DIFFERENT OCCURRENCE IS READ    
C* FIELD02 WILL EQUAL 'O' UNTIL A DIFFERENT OCCURRENCE IS READ    
C* FIELD03 WILL EQUAL 'S' UNTIL A DIFFERENT OCCURRENCE IS READ    
C                                                                
C     8             OCCUR     MYDATA                             
C* FIELD01 WILL EQUAL 'M' UNTIL A DIFFERENT OCCURRENCE IS READ    
C* FIELD02 WILL EQUAL 'O' UNTIL A DIFFERENT OCCURRENCE IS READ    
C* FIELD03 WILL EQUAL 'G' UNTIL A DIFFERENT OCCURRENCE IS READ 
C                                                             
C*(SINCE NO DATA WAS LOADED FOR OCCURRENCE 2...)               
C     2             OCCUR     MYDATA                          
C* FIELD01 WILL EQUAL ' ' UNTIL A DIFFERENT OCCURRENCE IS READ 
C* FIELD02 WILL EQUAL ' ' UNTIL A DIFFERENT OCCURRENCE IS READ 
C* FIELD03 WILL EQUAL ' ' UNTIL A DIFFERENT OCCURRENCE IS READ 
C*