Logical file not working for SUBFILE/SETLL?

Posted by user1516536 on Stack Overflow See other posts from Stack Overflow or by user1516536
Published on 2012-08-16T01:55:56Z Indexed on 2012/09/23 15:38 UTC
Read the original article Hit count: 352

Filed under:
|
|

I'm using three logical file with different Record Format where on the first subfile I'm using LF1 and LF2 where on the first subfile I cannot use *LOVAL SETLL it will give me Run Time Error. not sure why?

then the program will lead me to second subfile and I'm using LF3 it seems fine.

but then If I back to first subfile the subfile turn to blanks.???? why?

this my subroutine for building my subfile:

C     CLRSR         BEGSR                                                                                             
C                   EVAL      *IN55='0'                                                                               
C                   WRITE     USQLSCTL                                                                                
C                   EVAL      *IN55='1'                                                                               
C                   ENDSR                                                                                             
C*                                                                                                                    
C*BUILDING SUBFILE                                                                                                    
C     BLDSR         BEGSR                                                                                             
C     *LOVAL        SETLL     USRLGX                                                                                 
C                   EVAL      RECNO=0                                                                                 


C                   EXSR      TMISR1                                                                                  
C                   EXSR      REDSR1                                                                                  

C                   DOW       NOT %EOF                                                                                
C                   IF        USRID<>IDD                                                                              
C                   EXSR      MVESR                                                                                   
C                   EXSR      DIMSR                                                                                   
C                   MOVE      USRID         IDD                                                                       
C                   EVAL      RECNO=RECNO+1                                                                           
C                   WRITE     USQLS                                                                                   
C                   ENDIF                                                                                             

C                   EXSR      TMISR1                                                                                   
C                   EXSR      REDSR1                                                                                   

C                   ENDDO                                                                                             
C                   ENDSR   

and the related subroutine

C     TMISR1        BEGSR                                                                                             
C                   READ      USRLGX                                                                                  
C                   MOVE      USRTI         MINTI                                                                     
C                   ENDSR                                                                                             

C     REDSR1        BEGSR                                                                                             
C                   READ      USRLG                                                                                   
C                   MOVE      USRTO         MAXTO                                                                     
C                   ENDSR                                                       6                                      

n the LF I used is USRLG and USRLGX. where both LF refer to the same record format. but each LF has different sorted order. *record format has been RENAME on F-Spec

  • I have this two problem which is:
  • I only can use *LOVAL setll logical-file once only.
  • n the result for coding above sometime it will give result for UserTimeIn some time it equals to blanks.(000000)

© Stack Overflow or respective owner

Related posts about ibm-midrange

Related posts about rpgle