Sub File-Expanding:
Overview:
This module enables the student to
understand the concept of Expanding Sub File.
Outline:
Topics covered,
·
Expanding Subfile
·
Multiple
Addition of Records
·
Multiple
Updation of Records
·
Multiple
Deletion Records
Objective:
By the end of this module, the student should be
able to do:
- Display
Multiple of Records
- Multiple
Addition of Records
- Multiple
Updation of Records
- Multiple
Deletion Records
Expanding Sub File:
In Expanding Sub File the page size is less
then the sfl size and. In this Rolldown is controlled by the system whereas we
will write program code for controlling Rollup key.
Step1: First Create
a Physical FileDDS Of Physical File:
Columns . . . : 1
71 Browse PB01U01D/MYDDS
SEU==>
EMP1
FMT
A* .....A*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
*************** Beginning of data *************************************
0000.01
*****************************************************************
0000.02 *
0000.03 * EMLPOYEE DETAILS
0000.04 *
0000.05
*****************************************************************
0003.00 A
R EMP1R
0004.00 A EMPNO 3
0 COLHDG('EMPLOYEE ID')
0005.00 A ENAME 10 COLHDG('EMPLOYEE NAME')
0006.00 A EGRAD 2 COLHDG('EMPLOYEE GRADE')
0007.00 A
K EMPNO
****************** End of data ****************************************
F3=Exit
F5=Refresh F9=Retrieve F10=Cursor
F11=Toggle F12=Cancel
F16=Repeat find F24=More keys
(C) COPYRIGHT
IBM CORP. 1981, 2002.
Step 2: Create Display File
- Subfile Control Format:
UUUUUUUUUU DD/DD/DD
EXPANDING TT:TT:TT
-----------------------------------------------------------------------------
EMP NO. EMP NAME EMP GRADE
------------------------------------------------------------------------------
- Subfile Record Format:
UUUUUUUUUU DD/DD/DD
EXPANDING TT:TT:TT
-----------------------------------------------------------------------------
EMP NO. EMP NAME EMP GRADE
------------------------------------------------------------------------------
999- BBBBBBBBBB BB
999- BBBBBBBBBB BB
999- BBBBBBBBBB BB
999- BBBBBBBBBB BB
999- BBBBBBBBBB BB
- Footer:
------------------------------------------------------------------------------
F2=UPDATE F3=EXIT
- DDS For Display File:
Columns . . . : 1
71 Edit PB01U01D/MYDDS
SEU==>
SUBFI12
FMT
A* .....A*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
*************** Beginning of data *************************************
0000.10 A*%%TS
SD 20050330 163425
PB01U01 REL-V5R2M0 5722-WDS
0000.20 A*%%EC
0000.30 A DSPSIZ(24 80 *DS3)
0000.40 A
R SFL
SFL
0000.50 A*%%TS
SD 20050330 163425
PB01U01 REL-V5R2M0 5722-WDS
0000.60 A
33
SFLNXTCHG
0000.70 A SEMPNO 3S 0B
9 20
0000.80 A SENAME 10A
B 9 37
0000.90 A SEGRAD 2A
B 9 56
0001.00 A
R SFLCTL
SFLCTL(SFL)
0001.10 A*%%TS
SD 20050330 163425
PB01U01 REL-V5R2M0 5722-WDS
0001.20 A
SFLSIZ(0006)
0001.30 A
SFLPAG(0005)
0001.40 A
CF02(02)
0001.50 A
CF03(03)
0001.60 A
CF04(04)
0001.70 A
PAGEDOWN(50)
0001.80 A
OVERLAY
0001.90 A
80 SFLDSP
0002.00 A
81
SFLDSPCTL
0002.10 A
82
SFLCLR
0002.20 A
83 SFLEND(*MORE)
0002.30 A 1 71DATE
0002.40 A
EDTCDE(Y)
0002.50 A 2 71TIME
0002.60 A 1 2USER
0002.70 A 4 2'--------------------------
0002.80 A
---------------------------
0002.90 A
--------'
0003.00 A
COLOR(BLU)
0003.10 A 8 2'--------------------------
0003.20 A ---------------------------
0003.30 A
---------'
0003.40 A
COLOR(BLU)
0003.50 A 6 20'EMP NO.'
0003.60 A
DSPATR(HI)
0003.70 A 6 37'EMP
NAME'
0003.80 A DSPATR(HI)
0003.90 A 6 56'EMP
GRADE'
0004.00 A
DSPATR(HI)
0004.10 A PAG 4S 0H SFLRCDNBR(CURSOR)
0004.20 A 2
36'EXPANDING'
0004.30 A
DSPATR(HI)
0004.30 A
DSPATR(HI)
0004.40 A
R FOOTER
0004.50 A*%%TS
SD 20050330 163425
PB01U01 REL-V5R2M0 5722-WDS
0004.60 A 19 2'--------------------------
0004.70 A
---------------------------
0004.80 A
---------'
0004.90 A
COLOR(BLU)
0005.00
A 22 6'F2=UPDATE'
0005.10 A 22
17'F3=EXIT'
****************** 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 Program (For Updation and Display)
Columns . . . : 1
71 Edit PB01U01S/MYRPG
SEU==>
LAAD12
FMT
* ..... *. 1 ...+... 2 ...+... 3 ...+...
4 ...+... 5 ...+... 6 ...+... 7
*************** Beginning of data *************************************
0000.01 *INDICATOR USED
0000.03 * F2= UPDATE
0000.04 * F3= EXIT
0000.06 * 80= SFLDSP
0000.07 * 81= SFLDSPCTL
0000.08 * 82= SFLCLR
0000.09 * 83= SFLEND
0000.10 * PHYSICAL FILE
0001.00 FEMP1
UF E K DISK
0001.01 * DISPLAY FILE
0002.00 FSUBF12
CF E WORKSTN
0002.01 *IPFC PROMPT
0002.02 *SFL=SUB FILE RECORD FORMAT,
RRN=RELATIVE RECORD NUMBER
0003.00 F
RRN KSFILE SFL
0003.02 *CLEAR SUB ROUTINE IS CALLED HERE
0004.00 C EXSR CLEAR
0004.02 *LOAD SUB ROUTINE IS CALLED HERE
0005.00 C EXSR LOAD
0005.01 **
0006.00 C *IN03 DOWEQ*OFF
0006.01 *FOOTER IS WRITE HERE
0007.00 C WRITEFOOTER
0007.01 C SETON 81
0007.02 C SETON 83
0008.00 C EXFMTSFLCTL
0008.01 C
03 LEAVE
0008.02 C *IN50 IFEQ *ON
0008.03 C EXSR LOAD
0008.04 C ENDIF
0008.05 *
0008.20 C *IN02 IFEQ *ON
0008.21 C EXSR UPDATE
0008.22 C EXSR CLEAR
0008.23 C EXSR LOAD
0008.24 C ENDIF
0008.38 *
0009.00 C ENDDO
0009.01 C SETON LR
0010.00
*****************************************************************
0011.00 C* CLEAR SUB ROUTINE
0011.01
*****************************************************************
0012.00 C CLEAR BEGSR
0013.00 C Z-ADD0 RRN
40
0013.01 C Z-ADD0 PAG
0013.02 C *LOVAL SETLLEMP1
0014.00 C SETON 82
0015.00 C WRITESFLCTL
0016.00 C SETOF 82
0017.00 C ENDSR
0017.01
*****************************************************************
0018.00 *END OF CLEAR
0018.01
*****************************************************************
0019.00 *
0019.01
*****************************************************************
0020.00 *LOAD SUB ROUTINE
0020.01
*****************************************************************
0042.02 C LOAD BEGSR
0042.03 C Z-ADDRRN PAG
0042.04 C
DO 5
0042.05 C READ EMP1 90
0042.06 C 90 LEAVE
0042.07 C ADD 1
RRN
0042.08 C EXSR P2S
0042.09 C WRITESFL
0042.10 C ENDDO
0042.11 C RRN IFGT PAG
0042.12 C ADD 1
PAG
0042.13 C ENDIF
0042.14 C RRN IFGT 0
0042.15 C SETON 80
0042.16 C ELSE
0042.17 C SETOF 80
0042.18 C ENDIF
0042.19 C ENDSR
0043.00
*****************************************************************
0044.00 * END OF LOAD SUB ROUTINE
0045.00
*****************************************************************
0045.01 *
0045.02
*****************************************************************
0045.03 * UPDATE SUB ROUTINE
0045.04 *****************************************************************
0045.05 C UPDATE BEGSR
0045.06 C SETOF 22
0045.07 C Z-ADD0 RRN
0045.08 C *IN22 DOWEQ*OFF
0045.09 C READCSFL 22
0045.10 C SEMPNO CHAINEMP1 20
0045.11 C EXSR S2P
0045.12 C UPDATEMP1R
0045.13 C ENDDO
0045.19 C ENDSR
0045.20
*****************************************************************
0045.21 *END OF UPDATE SUB ROUTINE
0045.22
*****************************************************************
0045.23
*****************************************************************
0045.24 * MOVING FIELDS FROM PHYSICAL FILE TO
DISPLAY FILE (P2S)
0045.25 ****************************************************************
0045.26 C P2S BEGSR
0046.00 C Z-ADDEMPNO SEMPNO
0047.00 C MOVE ENAME SENAME
0048.00 C MOVE EGRAD SEGRAD
0049.00 C ENDSR
0050.00 *****************************************************************
0051.00 *END OF SUB ROUTINE (P2S)
0052.00
*****************************************************************
0053.00 *
0054.00
*****************************************************************
0055.00 * MOVING FIELDS FROM DISPLAY FILE TO
PHYSICAL FILE (S2P)
0056.00
****************************************************************
0057.00 C S2P BEGSR
0058.00 C Z-ADDSEMPNO EMPNO
0059.00 C MOVE SENAME ENAME
0060.00 C MOVE SEGRAD EGRAD
0061.00 C ENDSR
0062.00
*****************************************************************
0063.00 *END OF SUB ROUTINE (S2P)
****************** End of data ****************************************
F3=Exit
F4=Prompt F5=Refresh F9=Retrieve
F10=Cursor F11=Toggle
F16=Repeat find F17=Repeat change F24=More keys
Display File:
- Subfile Control Format:
UUUUUUUUUU
DD/DD/DD
EXPANDING
TT:TT:TT
-----------------------------------------------------------------------------
OPT EMP NO. EMP NAME EMP GRADE
------------------------------------------------------------------------------
- Subfile Record Format:
UUUUUUUUUU DD/DD/DD
EXPANDING
TT:TT:TT
-----------------------------------------------------------------------------
OPT EMP NO. EMP NAME EMP GRADE
------------------------------------------------------------------------------
I 999- BBBBBBBBBB BB
I 999- BBBBBBBBBB BB
I 999- BBBBBBBBBB BB
I 999- BBBBBBBBBB BB
I 999- BBBBBBBBBB BB
- Footer:
------------------------------------------------------------------------------
F3=EXIT F4=ADD D=DELETE
- Screen For Addition:
UUUUUUUUUU
DD/DD/DD
TT:TT:TT
ADDITION
------------------------------------------------------------------------------
EMP NO...................:
333-
EMP NAME.................:
IIIIIIIIII
EMP GRADE................:
II
------------------------------------------------------------------------------
F2=SAVE F3=EXIT
DDS For Display File:
Columns . . . : 1
71 Edit PB01U01D/MYDDS
SEU==>
SUBF13
FMT
A* .....A*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
*************** Beginning of data *************************************
0000.10 A*%%TS
SD 20050402 110834
PB01U01 REL-V5R2M0 5722-WDS
0000.20 A*%%EC
0000.30 A DSPSIZ(24
80 *DS3)
0000.40 A
R SFL
SFL
0000.50 A*%%TS
SD 20050330 153651
PB01U01 REL-V5R2M0 5722-WDS
0000.60 A
33
SFLNXTCHG
0000.70 A SEMPNO 3S 0B
9 20
0000.80 A SENAME 10A
B 9 37
0000.90 A SEGRAD 2A
B 9 56
0001.00 A OPT 1A
I 9 8
0001.10 A
R SFLCTL
SFLCTL(SFL)
0001.20 A*%%TS
SD 20050402 110834
PB01U01 REL-V5R2M0 5722-WDS
0001.30 A
SFLSIZ(0006)
0001.40 A
SFLPAG(0005)
0001.50 A
CF02(02)
0001.60 A CF03(03)
0001.70 A
CF04(04)
0001.80 A
PAGEDOWN(50)
0001.90 A OVERLAY
0002.00 A
80
SFLDSP
0002.10 A
81
SFLDSPCTL
0002.20 A
82
SFLCLR
0002.30 A
83
SFLEND(*MORE)
0002.40 A 1 71DATE
0002.50 A
EDTCDE(Y)
0002.60 A 2 71TIME
0002.70 A 1 2USER
0002.80 A 4 2'--------------------------
0002.90 A
---------------------------
0003.00 A
--------'
0003.10 A
COLOR(BLU)
0003.20 A
8 2'--------------------------
0003.30 A
---------------------------
0003.40 A
---------'
0003.50 A COLOR(BLU)
0003.60 A 6 20'EMP
NO.'
0003.70 A
DSPATR(HI)
0003.80 A 6 37'EMP NAME'
0003.90 A
DSPATR(HI)
0004.00 A 6 56'EMP
GRADE'
0004.10 A DSPATR(HI)
0004.20 A 6 7'OPT'
0004.30 A
DSPATR(HI)
0004.40 A PAG 4S 0H SFLRCDNBR(CURSOR)
0004.50 A 2
36'EXPANDING'
0004.60 A
DSPATR(HI)
0004.70 A
R FOOTER
0004.80 A*%%TS
SD 20050402 110834
PB01U01 REL-V5R2M0 5722-WDS
0004.90 A 19 2'--------------------------
0005.00 A
---------------------------
0005.10 A ---------'
0005.20 A
COLOR(BLU)
0005.30 A 22 4'F3=EXIT'
0005.40 A 22 13'F4=ADD'
0005.50 A 22
21'D=DELETE'
0005.60 A
R SEC1
0005.70 A*%%TS
SD 20050328 161221
PB01U01 REL-V5R2M0 5722-WDS
0005.80 A
CF02(02)
0005.90 A
CF03(03)
0006.00 A 1 70DATE
0006.10 A
EDTCDE(Y)
0006.20 A 2 70TIME
0006.30 A 1 3USER
0006.40 A 3
37'ADDITION'
0006.50 A
DSPATR(HI)
0006.60 A 4 2'--------------------------
0006.70 A
---------------------------
0006.80 A
---------'
0006.90 A
COLOR(BLU)
0007.00
A 22 2'--------------------------
0007.10 A
---------------------------
0007.20 A
---------'
0007.30 A COLOR(BLU)
0007.40 A 8 9'EMP NO...................:
0007.50 A
DSPATR(HI)
0007.60 A 10
9'EMP NAME.................:
0007.70 A
DSPATR(HI)
0007.80 A 12 9'EMP GRADE................:
0007.90 A DSPATR(HI)
0008.00 A ID 3S 0I 8 38
0008.10 A NAME 10A
I 10 38
0008.20 A GRADE 2A
I 12 38
0008.30 A 23
14'F3=EXIT'
0008.40 A 23 5'F2=SAVE'
****************** 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 Program (For Addition and Deletion):
Columns . . . : 1
71 Edit PB01U01S/MYRPG
SEU==>
LAAD13
FMT
* ..... *. 1 ...+... 2 ...+... 3 ...+...
4 ...+... 5 ...+... 6 ...+... 7
*************** Beginning of data *************************************
0000.01 *INDICATOR USED
0000.03 * F2= SAVE
0000.04 * F3= EXIT
0000.05 * F4= ADD
0000.06 * 80= SFLDSP
0000.07 * 81= SFLDSPCTL
0000.08 * 82= SFLCLR
0000.09 * 83= SFLEND
0000.10 * PHYSICAL FILE
0001.00 FEMP1
UF E K DISK A
0001.01 * DISPLAY FILE
0002.00 FSUBF13
CF E WORKSTN
0002.01 *IPFC PROMPT
0002.02 *SFL=SUB FILE RECORD FORMAT,
RRN=RELATIVE RECORD NUMBER
0003.00 F
RRN KSFILE SFL
0003.02 *CLEAR SUB ROUTINE IS CALLED HERE
0004.00 C EXSR CLEAR
0004.02 *LOAD SUB ROUTINE IS CALLED HERE
0005.00 C EXSR LOAD
0005.01 **
0006.00 C *IN03 DOWEQ*OFF
0006.01 *FOOTER IS WRITE HERE
0007.00 C WRITEFOOTER
0007.01 C SETON 81
0007.02 C SETON 83
0008.00 C EXFMTSFLCTL
0008.01 C
03 LEAVE
0008.02 C *IN50 IFEQ *ON
0008.03 C EXSR LOAD
0008.04 C ENDIF
0008.05 * IF OPT CONTAIN 'D'
0008.06 C SETOF 23
0008.07 C *IN23 DOWEQ*OFF
0008.09 C READCSFL 23
0008.13 C *IN23 IFEQ *OFF
0008.14 C OPT IFEQ 'D'
0008.15 C SEMPNO CHAINEMP1 24
0008.16 C DELETEMP1
0008.17 C ENDIF
0008.18 C ENDIF
0008.19 C *IN23 IFEQ *ON
0008.20 C EXSR CLEAR
0008.21
C EXSR LOAD
0008.22 C ENDIF
0008.23 C ENDDO
0008.24 *
0008.31 * IF F4 IS PRESSED
0008.32 C *IN04 IFEQ *ON
0008.33 C SETOF 04
0008.34 C EXSR ADDR
0008.35 C EXSR CLEAR
0008.36 C EXSR LOAD
0008.37 C ENDIF
0008.38 *
0009.00 C ENDDO
0009.01 C SETON LR
0010.00
*****************************************************************
0011.00 C* CLEAR SUB ROUTINE
0011.01
*****************************************************************
0012.00 C CLEAR BEGSR
0013.00 C Z-ADD0 RRN
40
0013.01
C Z-ADD0 PAG
0013.02 C *LOVAL SETLLEMP1
0013.03 C MOVEL*BLANKS OPT
0014.00 C
SETON 82
0015.00 C WRITESFLCTL
0016.00 C SETOF 82
0017.00 C ENDSR
0017.01
*****************************************************************
0018.00 *END OF CLEAR
0018.01 *****************************************************************
0019.00 *
0019.01
*****************************************************************
0020.00 *LOAD SUB ROUTINE
0042.01
C********************LOAD*****************************************
0042.02 C LOAD BEGSR
0042.03 C Z-ADDRRN PAG
0042.04 C DO 5
0042.05 C READ EMP1 90
0042.06 C
90 LEAVE
0042.07 C ADD 1
RRN
0042.08 C EXSR P2S
0042.09 C WRITESFL
0042.10 C
ENDDO
0042.11 C RRN IFGT PAG
0042.12 C ADD 1
PAG
0042.13 C ENDIF
0042.14 C RRN IFGT 0
0042.15 C SETON 80
0042.16 C ELSE
0042.17 C SETOF 80
0042.18 C ENDIF
0042.19 C ENDSR
0043.00
*****************************************************************
0044.00 * END OF LOAD SUB ROUTINE
0045.23
*****************************************************************
0045.24 * MOVING FIELDS FROM PHYSICAL FILE TO
DISPLAY FILE (P2S)
0045.25
****************************************************************
0045.26 C P2S BEGSR
0046.00 C Z-ADDEMPNO SEMPNO
0047.00 C MOVE ENAME SENAME
0048.00 C MOVE EGRAD SEGRAD
0049.00 C ENDSR
0050.00
*****************************************************************
0051.00 *END OF SUB ROUTINE (P2S)
0052.00 *****************************************************************
0053.00 *
0054.00
*****************************************************************
0055.00 * MOVING FIELDS FROM DISPLAY FILE TO
PHYSICAL FILE (S2P)
0056.00
****************************************************************
0057.00 C S2P BEGSR
0058.00 C Z-ADDSEMPNO EMPNO
0059.00 C MOVE SENAME ENAME
0060.00 C MOVE SEGRAD EGRAD
0061.00 C ENDSR
0062.00
*****************************************************************
0063.00 *END OF SUB ROUTINE (S2P)
0064.00
*****************************************************************
0064.01
*****************************************************************
0064.02 *ADD SUB ROUTINE (ADDR)
0064.03
*****************************************************************
0065.00 C ADDR BEGSR
0065.01 C *IN03 DOWEQ*OFF
0066.00 C EXFMTSEC1
0066.01 C *IN03 IFEQ *ON
0066.02 C SETOF 03
0066.03 C LEAVE
0066.04 C ENDIF
0067.00 C *IN02 IFEQ *ON
0067.01 C SETOF 02
0067.02 C Z-ADDID EMPNO
0068.00 C MOVELNAME ENAME
0069.00 C MOVELGRADE EGRAD
0069.00 C MOVELGRADE EGRAD
0070.00 C WRITEEMP1R
0071.00 C ENDIF
0072.00 C ENDDO
0073.00 C ENDSR
0074.00
*****************************************************************
0075.00 *END OF SUB ROUTINE (ADDR)
0076.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