Database file and Display file Interaction:
Overview:
This module enables the student to
understand the database file and display file interaction in RPG program.
Outline:
Topics covered,
- Display
Records
- Add
Records through display file
- Update
Records through display file
- Delete
Records through display file
Objective:
By the end of this module, the student should be
able to:
- Add
Records
- Update
Records
- Delete Records
- Physical File Description
Name:
EMP (Employee Master)
Record Format: EMPR
Fields: ID (length 3)
ENAME (length 15)
DEP (length 2)
Sal (length 7 Decimal position 2)
Key Field: ID
2.
Display File
Name: EMPS
Record: S1, S2, S3
Field in Record S1: Opt (type Char length 1
(Input))
SMSG (type Char length 35 (output))
Field in Record S2: IID (type Char length 3
(Input))
SMSG1 (type Char length 35 (output))
Field in Record S3: SID (type Char length 3
(Both))
SENAME (type Char length 15 (Both))
SDEP (type Char length 2(Both))
SSal (type Numric length 7 Decimal position 2(Both))
- RPG program
Name: EMPRPG
Physical File
Description
Columns . . . : 1
71 Edit PB01U01D/MYDDS
SEU==>
EMP1
FMT
PF .....A..........T.Name++++++RLen++TDpB......Functions++++++++++++++++++
*************** Beginning of data **********************************
0002.00 A
R REMP
0003.00 A ID 3 COLHDG('EMPLOYEE ID')
0004.00 A ENAME 15 COLHDG('EMPLOYEE NAME')
0005.00 A DEP 2 COLHDG('EMPLOYEE DEP')
0006.00 A
SAL 7
0 COLHDG('EMPLOYEE
SAL')
0007.00 A
K ID
****************** End of data ****************************************
F3=Exit
F4=Prompt F5=Refresh F9=Retrieve
F10=Cursor F11=Toggle
F16=Repeat find F17=Repeat change F24=More keys
(C)
COPYRIGHT IBM CORP. 1981, 2002.
Create object of above file in PB01U01D
Display File Description
Record S1
UUUUUUUUUU DD/DD/DD
OPTION
SCREEN TT:TT:TT
OPTION.........: I
A=ADD NEW RECORD C=CHANGE
RECORD D=DELETE RECORD
F3=EXIT
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
Record S2
UUUUUUUUUU DD/DD/DD
INQUIRY TT:TT:TT
EMPLOYEE ID....: III
F3=EXIT
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
Record S3
UUUUUUUUUU DD/DD/DD
EMPLOYEE
DETAILS TT:TT:TT
EMPLOYEE ID....: BBB
EMPLOYEE NAME..:
BBBBBBBBBBBBBBB
EMPLOYEE DEPT..: BB
EMPLOYEE SAL...: 9999999.99
F2=SAVE F3=EXIT F4=DELETE
Note:- F2=SAVE and F4=DELETE are nondisplay fields F2 is condition with indicator 21 and F4 is condition with indictor 22
DDS For Display File.
Columns . . . : 1
71 Edit PB01U01D/MYRPG
SEU==>
EMPS
FMT
A* .....A*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
*************** Beginning of data *************************************
0000.10 A*%%TS
SD 20050307 123700
PB01U01 REL-V5R2M0 5722-WDS
0000.20 A*%%EC
0000.30 A DSPSIZ(24
80 *DS3)
0000.40 A
R S1
0000.50 A*%%TS
SD 20050307 123700
PB01U01 REL-V5R2M0 5722-WDS
0000.60 A
CF03(03)
0000.70 A 1 71DATE
0000.80 A EDTCDE(Y)
0000.90 A 2 71TIME
0001.00 A 1 2USER
0001.10 A 2 34'OPTION SCREEN'
0001.20 A
DSPATR(HI)
0001.30 A 23 5'F3=EXIT'
0001.40 A COLOR(BLU)
0001.50 A 16 17'A=ADD
NEW RECORD C=CHANGE
0001.60 A =DELETE
RECORD'
0001.70 A
DSPATR(HI)
0001.80 A 10
24'OPTION.........:'
0001.90 A OPT 1A
I 10 42
0002.00 A SMSG 35
O 24 3DSPATR(HI)
0002.10
A R S2
0002.20 A*%%TS
SD 20050307 123700
PB01U01 REL-V5R2M0 5722-WDS
0002.30 A
CF03(03)
0002.40 A 1 71DATE
0002.50 A
EDTCDE(Y)
0002.60 A 2 71TIME
0002.70 A 1
2USER
0002.80 A 23 5'F3=EXIT'
0002.90 A
COLOR(BLU)
0003.00 A 2 37'INQUIRY'
0003.10 A
DSPATR(HI)
0003.20 A 11 24'EMPLOYEE
ID....:'
0003.30 A IID 3A
I 11 42
0003.40 A SMSG1 30A
O 24 3DSPATR(HI)
0003.50 A
R S3
0003.60 A*%%TS
SD 20050305 172148
PB01U01 REL-V5R2M0 5722-WDS
0003.70 A
CF02(02)
0003.80 A
CF03(03)
0003.90 A
CF04(04)
0004.00 A 1 71DATE
0004.10 A
EDTCDE(Y)
0004.20 A 2 71TIME
0004.30 A
1 2USER
0004.40 A 23
16'F3=EXIT'
0004.50 A
COLOR(BLU)
0004.60 A 6 29'EMPLOYEE ID....:'
0004.70 A 2 33'EMPLOYEE
DETAILS'
0004.80 A
DSPATR(HI)
0004.90 A 8 29'EMPLOYEE NAME..:'
0005.00 A 10 29'EMPLOYEE
DEPT..:'
0005.10 A 12 29'EMPLOYEE
SAL...:'
0005.20 A 23 6'F2=SAVE'
0005.30 A
COLOR(BLU)
0005.40 A
21
DSPATR(ND)
0005.50 A SENAME 15A
B 8 46
0005.60 A SID 3A
B 6 46
0005.70 A SDEP 2A
B 10 46
0005.80 A SSAL 9Y 0B 12 46EDTWRD(' .
')
0005.90 A 23
25'F4=DELETE'
0006.00 A
COLOR(BLU)
0006.10 A
22
DSPATR(ND)
****************** End of data ****************************************
F3=Exit
F4=Prompt F5=Refresh F9=Retrieve
F10=Cursor F11=Toggle
F16=Repeat find F17=Repeat change F24=More keys
RPG/400 Program Description
EMPRPG
Columns . . . : 1
71 Edit PB01U01S/MYRPG
SEU==>
EMPRPG
FMT
* ..... *. 1 ...+... 2 ...+... 3 ...+...
4 ...+... 5 ...+... 6 ...+... 7
*************** Beginning of data *************************************
0000.01 *PHYSICAL FILE EMP
0002.00 FEMP1 UF
E K DISK A
0002.01 *DISPLAY FILE EMPS
0003.00 FEMPS
CF E WORKSTN
0003.01 *DEFINEING MESSAGES
0003.02 I 'WROMG EMP NO' C MSG
0003.03 I 'RECORD UPDATED' C
MSG1
0003.04 I 'RECORD DELETED' C
MSG2
0003.05 I 'RECORD ADDED' C MSG3
0004.00 *
0004.01 C READ REMP 90
0005.00 C *IN03 DOWEQ*OFF
0005.02 C MOVE *BLANKS SMSG
0005.03 C AA TAG
0005.04 C EXFMTS1
0005.05 C
03 LEAVE
0005.06
****************************************************************
0005.07 *FOR ADDITION OPTION
0005.08
****************************************************************
0005.09 C OPT IFEQ 'A'
0005.10 C SETOF 21
0005.11 C EXSR B2S
0005.12 C SETON 22
0005.13 C BB
TAG
0005.14 C EXFMTS3
0005.15 *IF F3 IS PRESSED IN FIRST SCREEN
(S1)
0005.16 C *IN03 IFEQ *ON
0005.17 C SETON 21
0005.18 C SETOF 03
0005.19 C GOTO AA
0005.20 C ENDIF
0005.21 *IF F2 IS PRESS FOR THE WRITE THE
RECORDS IN THE FILE
0005.22 C *IN02 IFEQ *ON
0005.23 C EXSR S2P
0005.24 C WRITEREMP
0005.25 C MOVELMSG3 SMSG
0005.26 C SETOF 02
0005.27 C SETON 21
0005.28 C GOTO AA
0005.29 C ELSE
0005.30 C GOTO BB
0005.31 C ENDIF
0005.32 *
0005.33 C ENDIF
0005.34
*************************************************************
0005.35 *FOR CHANGE OPTION
0005.36
*************************************************************
0005.37 C OPT IFEQ 'C'
0005.38 C MOVE *BLANKS SMSG1
0005.39 C EXFMTS2
0005.40 *
0005.41 *IF F3 IS PRESSED IN SECOND SCREEN(S2)
DURING CHANGE OPTION
0005.42 C *IN03 IFEQ *ON
0005.43 C SETOF 03
0005.44 C GOTO AA
0005.45 C ENDIF
0005.46 C IID CHAINREMP 92
0005.47 *
0005.48
C *IN92 IFEQ *ON
0005.49 C MOVELMSG SMSG1
0005.50 C EXFMTS2
0005.51 C
ENDIF
0005.52 *
0005.55 *
0005.56 C *IN92 IFEQ *OFF
0005.57 C SETOF 21
0005.58 C SETON 22
0005.59 C EXSR P2S
0005.60 C CC TAG
0005.61 C EXFMTS3
0005.62 *
0005.63 *IF F3 IS PRESSED IN THIRED SCREEN(S3)
DURING CHANGE OPTION
0005.64 C *IN03 IFEQ *ON
0005.65 C SETOF 03
0005.66 C SETOF 21
0005.67 C SETOF 22
0005.68 C GOTO AA
0005.69 C ENDIF
0005.70 *
0005.71 C *IN02 IFEQ *ON
0005.72 C
EXSR S2P
0005.73 C UPDATREMP
0005.74 C MOVE *BLANKS SMSG1
0005.75 C MOVELMSG1 SMSG1
0005.76 C SETON 21
0005.77 C EXFMTS2
0005.78 C ELSE
0005.79 C GOTO CC
0005.81 C ENDIF
0005.81 C ENDIF
0005.82 C ENDIF
0005.83
*************************************************************
0005.84 *FOR DELETE OPTION
0005.85
*************************************************************
0005.86 C OPT IFEQ 'D'
0005.87 C MOVE *BLANKS SMSG1
0005.88 C EXFMTS2
0005.89 *
0005.90 *IF F3 IS PRESSED IN SECOND SCREEN(S2)
DURING DELETE OPTION
0005.91 C *IN03 IFEQ *ON
0005.92 C SETOF 03
0005.93 C GOTO AA
0005.94 C ENDIF
0005.95 *
0005.96 C IID CHAINEMP 93
0005.97 *
0005.98 C *IN93 IFEQ *ON
0005.99 C MOVELMSG SMSG1
0006.00 C EXFMTS2
0006.01 C ENDIF
0006.02 *
0006.03 C *IN93 IFEQ *OFF
0006.04 C SETOF 22
0006.05 C SETON 21
0006.06 C EXSR P2S
0006.07 C EXFMTS3
0006.08 *IF F3 IS PRESSED IN THIRED SCREEN(S3)
DURING DELETE OPTION
0006.09 C *IN03 IFEQ *ON
0006.10 C SETOF 03
0006.11 C SETON 21
0006.12 C SETON 22
0006.13 C GOTO AA
0006.14 C ENDIF
0006.15 C *IN04 IFEQ *ON
0006.16 C DELETREMP
0006.17 C MOVELMSG2 SMSG
0006.18 C SETON 21
0006.19 C SETON 22
0006.20 C GOTO AA
0006.21 C ENDIF
0006.22 C ENDIF
0006.23 C ENDIF
0006.24 C ENDDO
0007.00 C SETON LR
0008.00
*****************************************************************
0009.00 **P2S SUB ROUTINE:-PF FILE FIELDS VALUE
IS MOVED TO SEREEN FIELDS
0009.01
*****************************************************************
0010.00
C P2S BEGSR
0011.00 C MOVELID SID
0012.00 C MOVELENAME SENAME
0013.00 C
MOVELDEP SDEP
0014.00 C MOVELSAL SSAL
0015.00 C ENDSR
0016.00 ****************************************************************
0017.00 **S2P SUB ROUTINE:SCREEN FIELDS VALUE IS
MOVED TP PF FIELDS
0017.01
****************************************************************
0018.00 C S2P BEGSR
0019.00 C MOVELSID ID
0020.00 C MOVELSENAME ENAME
0021.00 C MOVELSDEP DEP
0022.00 C MOVELSSAL SAL
0023.00 C ENDSR
0024.00
****************************************************************
0025.00 **B2S SUB ROUTINE: BLANKS ARE MOVED TO
SCREEN FIELDS
0025.01
****************************************************************
0026.00 C B2S BEGSR
0027.00 C MOVEL*BLANKS SID
0028.00 C MOVEL*BLANKS SENAME
0029.00 C MOVEL*BLANKS SDEP
0030.00 C
MOVEL*ZEROS SSAL
0031.00 C ENDSR
0032.00 **
****************** End of data ****************************************
F3=Exit
F4=Prompt F5=Refresh F9=Retrieve
F10=Cursor F11=Toggle
F16=Repeat find F17=Repeat change F24=More keys
No comments:
Post a Comment