Skip to main content

Final steps

Final result

Once you have completed the previous steps you should have written a source similar to the one presented here:

X1_X01_03.rpgle
     V* ============================================================================================
V* CHANGES Ril. T Au Description
V* dd/mm/yy nn.mm i xx Short description
V* ============================================================================================
V* dd/mm/yy TUTOR KOKOS Creation
V* ============================================================================================
* Simple example of RPGLE service that will allow users to record their activities,
* which will be represented by the Activity model.
*--------------------------------------------------------------------------------------------*
D ACTCLM S 100 DIM(7) CTDATA PERRCD(1) _£JAXSWK
FX1_X010L IF E K DISK
*--------------------------------------------------------------------------------------------*
/COPY QILEGEN,£JAX_D
/COPY QILEGEN,£PDS
*--------------------------------------------------------------------------------------------*
* MAIN
*--------------------------------------------------------------------------------------------*
C EXSR IMP0
*
* It's a good design pattern use a SELECT-WHEN structure to check the function-method choiced
C SELECT
C WHEN %TRIM(£UIBME)='GET'
C EXSR FGETACT
*
C ENDSL
*
C EXSR FIN0
*
C SETON LR
*
/COPY QILEGEN,£INZSR
*--------------------------------------------------------------------------------------------*
* GET - Get activities in the form of a data table
*--------------------------------------------------------------------------------------------*
C FGETACT BEGSR
*
* Create columns
C EVAL £JAXSWK=ACTCLM
C EXSR £JAX_AGRI
* Create row - Initialization
C EXSR £JAX_ARIG_I
* Eval Key
C EVAL X1DATE='0000000000'
* Load data
C KEY0L SETLL X1_X010L
*
C DO *HIVAL
* Read record
C READ X1_X010L
C IF %EOF
C LEAVE
C ENDIF
* Return record
C EVAL £JAXCP=%TRIM(X1DATE)+'|'+
C %TRIM(X1DESC) +'|'+
C %TRIM(X1STIM) +'|'+
C %TRIM(X1ETIM) +'|'+
C %TRIM(X1STCT) +'|'+
C %TRIM(X1CTGR) +'|'+
C %TRIM(%CHAR(X1HOUR))
C EXSR £JAX_ARIG
*
C ENDDO
* Create row - Finalization
C EXSR £JAX_ARIG_F
*
C ENDSR
*--------------------------------------------------------------------------------------------*
* £INIZI
*--------------------------------------------------------------------------------------------*
C £INIZI BEGSR
*
C KEY0L KLIST
C KFLD X1DATE
*
C ENDSR
*--------------------------------------------------------------------------------------------*
* IMP0
*--------------------------------------------------------------------------------------------*
C IMP0 BEGSR
*
C EXSR £JAX_IMP0
*
C ENDSR
*--------------------------------------------------------------------------------------------*
* FIN0
*--------------------------------------------------------------------------------------------*
C FIN0 BEGSR
*
C EXSR £JAX_FIN0
*
C ENDSR
*--------------------------------------------------------------------------------------------*
* Specific application log
*--------------------------------------------------------------------------------------------*
C £JAX_LOG BEGSR
C ENDSR
*--------------------------------------------------------------------------------------------*
/COPY QILEGEN,£JAX_C
*--------------------------------------------------------------------------------------------*
** ACTCLM
X1DATE Date D8*YYDM 8
X1DESC Description 50
X1STIM Start I12 6
X1ETIM End I12 6
X1STCT Style category 5
X1CTGR Category 20
X1HOUR Hours NR 4;2

Test

To test the service you have three possibilities: