Can all of these COBOL statements be lumped together to use one write statement to file?

StackOverflow https://stackoverflow.com/questions/21100964

  •  27-09-2022
  •  | 
  •  

Question

Can all of these declaration be lumped together so that I could just write parameter to a file?

Example: WRITE TEMP from myVariable

 01 LINE1       PIC X(80) VALUE 'String'.          
 01 LINE2.                                                        
    02 FILLER   PIC X(79) VALUE 'String'.   
    02 FILLER   PIC X(01) VALUE '>'.                              
 01 LINE3.                                                        
    05 R-TO     PIC X(10) VALUE 'String: <'.                     
    05 NEW-ADDR PIC X(69).                                        
    05 FILLER   PIC X(01) VALUE '>'.                              
 01 LINE4       PIC X(04) VALUE 'String'.                           
 01 LINE5       PIC X(80) VALUE 'String'.         
 01 LINE6.                                                        
    05 V-TO     PIC X(04) VALUE 'String'.                            
    05 ADDR6    PIC X(76).                                        
 01 LINE7       PIC X(80) VALUE 'String'.  
    SKIP1.                                                        
Was it helpful?

Solution

01  myVariable.
 05 LINE1       PIC X(80) VALUE 'String'.          
 05 LINE2.                                                        
    10 FILLER   PIC X(79) VALUE 'String'.   
    10 FILLER   PIC X(01) VALUE '>'.                              
 05 LINE3.                                                        
    10 R-TO     PIC X(10) VALUE 'String: <'.                     
    10 NEW-ADDR PIC X(69).                                        
    10 FILLER   PIC X(01) VALUE '>'.                              
 05 LINE4       PIC X(04) VALUE 'String'.                           
 05 LINE5       PIC X(80) VALUE 'String'.         
 05 LINE6.                                                        
    10 V-TO     PIC X(04) VALUE 'String'.                            
    10 ADDR6    PIC X(76).                                        
 05 LINE7       PIC X(80) VALUE 'String'.  

"String" is six bytes, so it won't fit into the two four-byte fields.

This will do what you ask, but I'm not sure it is what you want.

Do you want a variable-length record with each element devoid of trailing spaces?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top