Home > AS/400 News > Build data structures -- Code
AS/400 News:
EMAIL THIS

Build data structures -- Code

By David Anderson
06 Feb 2003 | Search400.com

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   

 BUILMV - Display file to collect parameters.

A                                      DSPSIZ(24 80 *DS3)          
A                                      CA03(03 'END OF JOB')       
A          R FMT001                                                
A                                  2  5'BUILDMV'                   
A N30                              2 31'BUILD MOVE CALCULATIONS'   
A                                      DSPATR(HI)                  
A  30                              2 31'BUILD DATA STRUCTURES'     
A                                      DSPATR(HI)                  
A                                  2 73DATE                        
A                                      EDTCDE(Y)                   
A                                  3  5'BUILDMV(FMT001)'           
A                                      DSPATR(UL)                  
A                                  3 73TIME                        
A                                      DSPATR(UL)                  
A                                  6 25'PHYSICAL FILE NAME....'    
A            FILE          10A  I  6 49                            
A                                  7 25'OBJECT LIBRARY NAME...'  
A            LIB1          10A  B  7 49                          
A                                  9 25'RPG PROGRAM NAME......'  
A            PROG          10A  I  9 49                          
A                                 10 25'SOURCE LIBRARY NAME...'  
A            LIB2          10A  B 10 49                          
A                                 23  7'CMD03:'                  
A                                      DSPATR(RI)                
A                                 23 14'EXIT'                    
A                                      DSPATR(HI)                
****************** End of data **********************************

BUILDDSCL - CLP to display screen and call program.

PGM                                                    
DCL        VAR(&FILE) TYPE(*CHAR) LEN(10)              
DCL        VAR(&LIB1) TYPE(*CHAR) LEN(10) +            
             VALUE('*LIBL     ')                       
DCL        VAR(&PROG) TYPE(*CHAR) LEN(10)              
DCL        VAR(&LIB2) TYPE(*CHAR) LEN(10) +            
             VALUE('TESTLIB   ')                       
DCLF       FILE(BUILDMV) RCDFMT(FMT001)                
CLRPFM     FILE(DSPFFDPF)                              
CHGVAR     VAR(&IN30) VALUE('1')                       
                                                       
SNDRCVF    RCDFMT(FMT001)                              
IF         COND(*IN03 = '1') THEN(GOTO CMDLBL(END001)) 
IF         COND(&FILE = ' ') THEN(GOTO CMDLBL(END001)) 
IF         COND(&PROG = ' ') THEN(GOTO CMDLBL(END001)) 
IF         COND(&LIB1 = ' ') THEN(GOTO CMDLBL(END001)) 
IF         COND(&LIB2 = ' ') THEN(GOTO CMDLBL(END001))    
DSPFFD     FILE(&LIB1/&FILE) OUTPUT(*OUTFILE) +           
             OUTFILE(DSPFFDPF2)                           
OVRDBF     FILE(QRPGLESRC) TOFILE(&LIB2/QRPGLESRC) +      
             MBR(&PROG)                                   
CALL       PGM(BUILDDSILE)                                
CLRPFM     FILE(DSPFFDPF2)                                
END001:     ENDPGM                                                        
****************** End of data **********************************

BUILDDSILE - Program to create DS & 'D' specs.

FDSPFFDPF2 IP   E             DISK                               
FQRPGLESRC O    E             DISK    RENAME(QRPGLESRC:OUTPUT)   
F*                                                               
D*                                                               
D ARA             S              1    DIM(100)                   
D*                                                               
D                 DS                                             
D WHTEXT                  1     50                               
D  FLD_TEXT               1     15                               
D*                                                               
D                 DS                                             
D  DECA                   1      2                               
D   DEC1                  1      1  0                            
D   DEC2                  2      2  0                            
D   DEC1A                 1      1                               
D   DEC2A                 2      2                               
D*                                                                     
D                 DS                                                   
D  BYTEA                  1      5                                     
D  BYTE1                  1      1  0                                  
D  BYTE2                  2      2  0                                  
D  BYTE3                  3      3  0                                  
D  BYTE4                  4      4  0                                  
D  BYTE5                  5      5  0                                  
D  BYTE1A                 1      1                                     
D  BYTE2A                 2      2                                     
D  BYTE3A                 3      3                                     
D  BYTE4A                 4      4                                     
D  BYTE5A                 5      5                                     
C*                                                                    *
C**********************************************************************
C*                                                                    *
C     *IN(99)       IFEQ      '0'                                      
C                   MOVE      '1'           *IN(99)                
C                   Z-ADD     1             SEQ               6 2  
C                   MOVE      'D'           ARA(6)                 
C                   MOVEA     'DS'          ARA(24)                
C                   MOVEA     ARA           SRCDTA                 
C                   MOVE      UDATE         SRCDAT                 
C                   WRITE     OUTPUT                               
C                   ADD       1             SEQ                    
C                   Z-ADD     1             START                  
C                   MOVEL     WHNAME        HLD_FMT          10    
C                   MOVE      *BLANKS       BLANK1          100    
C                   MOVEA     BLANK1        ARA(1)                 
C                   MOVE      'D'           ARA(6)                 
C                   MOVEA     WHNAME        ARA(7)                 
C                   MOVEA     ARA           SRCDTA                 
C                   MOVE      UDATE         SRCDAT                 
C                   WRITE     OUTPUT                               
C                   ADD       1             SEQ                        
C                   ENDIF                                              
C*                                                                    *
C**********************************************************************
C*                                                                    *
C     WHNAME        IFNE      HLD_FMT                                  
C                   MOVE      *BLANKS       BLANK1          100        
C                   MOVEA     BLANK1        ARA(1)                     
C                   MOVE      'D'           ARA(6)                     
C                   MOVEA     'DS'          ARA(24)                    
C                   MOVEA     ARA           SRCDTA                     
C                   MOVE      UDATE         SRCDAT                     
C                   WRITE     OUTPUT                                   
C                   ADD       1             SEQ                        
C                   MOVE      *BLANKS       BLANK1          100        
C                   MOVEA     BLANK1        ARA(1)                     
C                   MOVE      'D'           ARA(6)                     
C                   MOVEA     WHNAME        ARA(7)                     
C                   MOVEA     ARA           SRCDTA                     
C                   MOVE      UDATE         SRCDAT                     
C                   WRITE     OUTPUT                                   
C                   ADD       1             SEQ                        
C                   Z-ADD     1             START             5 0      
C                   MOVEL     WHNAME        HLD_FMT          10        
C                   ENDIF                                              
C*                                                                     
C*                                                                     
C     '*IN'         SCAN      WHFLDI                                 66
C                   IF        NOT *IN(66)                              
C                   MOVE      *BLANKS       BLANK1          100        
C                   MOVEA     BLANK1        ARA(1)                     
C                   MOVE      'D'           ARA(6)                     
C                   MOVE      START         BYTEA                      
C     BYTE1         IFGT      0                                        
C                   MOVE      BYTE1A        ARA(28)   
C                   MOVE      BYTE2A        ARA(29)   
C                   MOVE      BYTE3A        ARA(30)   
C                   MOVE      BYTE4A        ARA(31)   
C                   MOVE      BYTE5A        ARA(32)   
C                   ELSE                              
C     BYTE2         IFGT      0                       
C                   MOVE      BYTE2A        ARA(29)   
C                   MOVE      BYTE3A        ARA(30)   
C                   MOVE      BYTE4A        ARA(31)   
C                   MOVE      BYTE5A        ARA(32)   
C                   ELSE                              
C     BYTE3         IFGT      0                       
C                   MOVE      BYTE3A        ARA(30)   
C                   MOVE      BYTE4A        ARA(31)   
C                   MOVE      BYTE5A        ARA(32)   
C                   ELSE                              
C     BYTE4         IFGT      0                                   
C                   MOVE      BYTE4A        ARA(31)               
C                   MOVE      BYTE5A        ARA(32)               
C                   ELSE                                          
C                   MOVE      BYTE5A        ARA(32)               
C                   ENDIF                                         
C                   ENDIF                                         
C                   ENDIF                                         
C                   ENDIF                                         
C*                                                                
C                   Z-ADD     WHFLDP        DEC               2 0 
C                   MOVE      DEC           DECA                  
C*                                                                
C                   IF        WHFLDD > 0                          
C                   Z-ADD     WHFLDD        BYTE#             5 0 
C                   ELSE                                          
C                   Z-ADD     WHFLDB        BYTE#             5 0 
C                   ENDIF                                       
C                   ADD       BYTE#         START               
C     START         SUB       1             ENDPOS            5 
C                   MOVE      ENDPOS        BYTEA               
C                   MOVEA     WHFLDI        ARA(8)              
C     BYTE1         IFGT      0                                 
C                   MOVE      BYTE1A        ARA(35)             
C                   MOVE      BYTE2A        ARA(36)             
C                   MOVE      BYTE3A        ARA(37)             
C                   MOVE      BYTE4A        ARA(38)             
C                   MOVE      BYTE5A        ARA(39)             
C                   ELSE                                        
C     BYTE2         IFGT      0                                 
C                   MOVE      BYTE2A        ARA(36)             
C                   MOVE      BYTE3A        ARA(37)             
C                   MOVE      BYTE4A        ARA(38)             
C                   MOVE      BYTE5A        ARA(39)             
C                   ELSE                               
C     BYTE3         IFGT      0                        
C                   MOVE      BYTE3A        ARA(37)    
C                   MOVE      BYTE4A        ARA(38)    
C                   MOVE      BYTE5A        ARA(39)    
C                   ELSE                               
C     BYTE4         IFGT      0                        
C                   MOVE      BYTE4A        ARA(38)    
C                   MOVE      BYTE5A        ARA(39)    
C                   ELSE                               
C                   MOVE      BYTE5A        ARA(39)    
C                   ENDIF                              
C                   ENDIF                              
C                   ENDIF                              
C                   ENDIF                              
C*                                                     
C     WHFLDD        IFGT      0                        
C     DEC1          IFGT      0                    
C                   MOVE      DEC1A         ARA(41)
C                   MOVE      DEC2A         ARA(42)
C                   ELSE                           
C                   MOVE      DEC2A         ARA(42)
C                   ENDIF                          
C                   ENDIF                          
C*                                                 
C                   MOVEA     FLD_TEXT      ARA(81)
C                   MOVEA     ARA           SRCDTA 
C                   MOVE      UDATE         SRCDAT 
C                   Z-ADD     SEQ           SRCSEQ 
C                   WRITE     OUTPUT               
C                   ADD       1             SEQ    
C                   ENDIF                          
**************** End of data *** 


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


iSeries Application Development: CL, COBOL, RPG, VB, ILE, Java
HomeNewsTopicsITKnowledge ExchangeTipsBlogsAsk the ExpertsMultimediaWhite PapersProducts
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 1999 - 2010, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts