ProData Computer Services, Inc.

Convert RPG to RPGIV Example

back to CvtRPGIV

This is an Example of a Source Member after CVTRPGILE has been executed.

DEFINED CALCULATION FIELDS

FROM:
    CL0N01Factor1+++++++Opcde&ExtFactor2+++++++Result++++++++Len++D+HiLoEq
    
    C                   MOVE *ZERO             FLDN6             9 2
    C                   MOVE *ZERO             FLDN7             2 0
    C                   MOVE *BLANK            FLDA1             1
    C                   MOVE *ALL'9'           FLDN6             9 2
    C     *LIKE         DEFN FLDA1             FLDA8      
TO:     
    DName+++++++++++ETDsFrom+++To/L+++IDcKeywords+++++++++++++++++++++++++
    
    D flda1           S               1
    D fldn6           S               9 2
    D fldn7           S               2 0
    D flda8           S                  Like(flda1)

    CL0N01Factor1+++++++Opcde&ExtExtended-Factor2+++++++++++++++++++++++++

    C                   MOVE *ZERO        fldn6            
    C                   MOVE *ZERO        fldn7            
    C                   MOVE *BLANK       flda1            
    C                   MOVE *ALL'9'      fldn6 

back to top    back to CvtRPGIV

IFxx, WHxx and DOxxx OPERATIONS

FROM:
    CL0N01Factor1+++++++Opcde&ExtFactor2+++++++Result++++++++Len++D+HiLoEq

    C     FLDA1         IFEQ FLDA4             
    C     FLDA2         OREQ FLDA4                          
    C     FLDA3         OREQ FLDA4  
    C     FLDA1         IFGT FLDA5
TO:
    CL0N01Factor1+++++++Opcde&ExtExtended-Factor2+++++++++++++++++++++++++
C If FLDA1 = FLDA4 or C FLDA2 = FLDA4 or C FLDA3 = FLDA4 C If FLDA1 > FLDA5 ----------------------------------------------------------------------
FROM: CL0N01Factor1+++++++Opcde&ExtFactor2+++++++Result++++++++Len++D+HiLoEq C FLDA1 WHEQ FLDA2 C FLDA1 WHNE FLDA4 TO: CL0N01Factor1+++++++Opcde&ExtExtended-Factor2+++++++++++++++++++++++++
C When FLDA1 = FLDA2 C When FLDA1 <> FLDA4 ---------------------------------------------------------------------- FROM: CL0N01Factor1+++++++Opcde&ExtFactor2+++++++Result++++++++Len++D+HiLoEq C FLDN1 DOWGTFLDN2 C *IN99 ANDEQ*OFF C FLDA1 DOWEQFLDA2 TO: CL0N01Factor1+++++++Opcde&ExtExtended-Factor2+++++++++++++++++++++++++
C Dow FLDN1 > FLDN2 and C *IN99 = *Off C Dow FLDA1 = FLDA2

back to top    back to CvtRPGIV

ARITHMETIC OPERATIONS

FROM:
    CL0N01Factor1+++++++Opcde&ExtFactor2+++++++Result++++++++Len++D+HiLoEq
    
    C     FLDN1         ADD      FLDN2         FLDN3
    C                   ADD      FLDN4         FLDN3
    C*            
    C     FLDN1         SUB      FLDN2         FLDN3
    C                   SUB      FLDN2         FLDN3
    C*
    C                   Z-ADD    *ZERO         FLDN3
    C                   Z-ADD    999           FLDN3
    C*           
    C                   Z-SUB    FLDN2         FLDN3
    C                   Z-SUB    1000          FLDN3
    C*
    C     FLDN1         MULT     FLDN2         FLDN3
    C     FLDN1         MULT     5             FLDN3
    C*
    C     FLDN1         DIV      FLDN2         FLDN3
    C     FLDN1         DIV      15            FLDN3                   
TO:
   CL0N01Factor1+++++++Opcde&ExtExtended-Factor2+++++++++++++++++++++++++   
    
C Eval FLDN3 = FLDN1 + FLDN2 C Eval FLDN3 = FLDN3 + FLDN4 C* C Eval FLDN3 = FLDN1 - FLDN2 C Eval FLDN3 = FLDN3 - FLDN2 C* C Eval FLDN3 = *ZEROS C Eval FLDN3 = 999 C* C Eval FLDN3 = 0 - FLDN2 C Eval FLDN3 = 0 - 1000 C* C Eval FLDN3 = FLDN1 * FLDN2 C Eval FLDN3 = FLDN1 * 5 C* C Eval FLDN3 = FLDN1/FLDN2 C Eval FLDN3 = FLDN1/15

back to top    back to CvtRPGIV

MOVE/MOVEL OPERATIONS

FROM:
    CL0N01Factor1+++++++Opcde&ExtFactor2+++++++Result++++++++Len++D+HiLoEq
    
    C                   MOVE     *BLANK        FLDA1 
    C                   MOVE     *ZERO         FLDNA
    C*   
    C                   MOVE     '1'           *IN10
    C                   MOVE     *OFF          *IN11
TO:
    CL0N01Factor1+++++++Opcde&ExtExtended-Factor2+++++++++++++++++++++++++
 
    C                   Eval     FLDA1 = *BLANK
    C                   Eval     FLDNA = *ZERO
    C*
    C                   Eval     *IN10 = *ON
    C                   Eval     *IN11 = *OFF

CVTRPGIV is super easy to use, and you can see the type of results you will have.

back to top    back to CvtRPGIV