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

Вопрос

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.                                                        
Это было полезно?

Решение

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?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top