midrange.com code scratchpad
Name:
NEXT MODIFIED
Scriptlanguage:
Plain Text
Tabwidth:
4
Date:
05/05/2009 03:19:39 pm
IP:
Logged
Description:
Example of using the READ SUBFILE SREEEN-FILE NEXT MODIFIED using record formats defined in working storage.

Example of REWRITE a subfile record with error information.
Code:
  1. WORKING-STORAGE SECTION.                           
  2. COPY PGMSTATUS OF QCPYSRC.                         
  3. COPY STDWRKSTG OF QCPYSRC.                         
  4.                                                    
  5. 01  SF0001CTL.                                     
  6.     COPY DD-SF0001CTL-I-O OF MS0001DF.             
  7. 01  SF0001.                                        
  8.     COPY DD-SF0001-I-O OF MS0001DF.                
  9. 01  SFNORECORD.                                    
  10.     COPY DD-SFNORECORD-I-O OF MS0001DF.            
  11. 01  CMDKEYLINE.                                    
  12.     COPY DD-CMDKEYLINE-I-O OF MS0001DF.            
  13. 01  MSGSFLC.                                       
  14.     COPY DD-MSGSFLC-I-O OF MS0001DF.               
  15.  
  16. * ---------------------------------------------------------------------
  17.  EDIT-SUBFILE.                                                         
  18.       READ SUBFILE SCREEN-FILE NEXT MODIFIED                           
  19.         INTO SF0001                                                    
  20.         FORMAT IS "SF0001"                                             
  21.         INDICATORS ARE WS-INDICATORS                                   
  22.         AT END                                                         
  23.            MOVE "NO" TO ARE-THERE-MORE-RECORDS                         
  24.         NOT AT END                                                     
  25.           EVALUATE SFOPT OF SF0001-I                                   
  26.           WHEN 0                                                       
  27.                MOVE "YES" TO IS-SFOPT-VALID                            
  28.                MOVE GREEN-UL TO AFOPT OF SF0001-O                      
  29.                MOVE B"0" TO IN97                                       
  30.                 REWRITE SUBFILE SCREEN-RECORD FROM SF0001              
  31.                  FORMAT IS "SF0001"                                    
  32.                  INDICATORS ARE WS-INDICATORS                          
  33.           WHEN 1                                                       
  34.                MOVE "YES" TO IS-SFOPT-VALID                            
  35.           WHEN 5                                                       
  36.               MOVE "YES" TO IS-SFOPT-VALID                          
  37.           WHEN OTHER                                                 
  38.               MOVE "NO" TO IS-SFOPT-VALID                         
  39.               MOVE 1 TO ERROR-NUMBER(2)                           
  40.                                                                     
  41.               IF SFL-RECORD-NUMBER-ERROR EQUAL ZEROS              
  42.               MOVE SFL-RECORD-NUMBER TO SFL-RECORD-NUMBER-ERROR   
  43.               END-IF                                              
  44.               MOVE RED-UL-RI TO AFOPT OF SF0001-O                 
  45.               MOVE B"1" TO IN97                                   
  46.               REWRITE SUBFILE SCREEN-RECORD FROM SF0001          
  47.               FORMAT IS "SF0001"                                
  48.               INDICATORS ARE WS-INDICATORS                      
  49.               MOVE B"0" TO IN97                                   
  50.          END-EVALUATE.                                              
© 2004-2019 by midrange.com generated in 0.006s valid xhtml & css