Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
1969: Trainee Operator
1974: RPG Programmer
LEO III
IBM System 3/10
1972: Cobol Programmer
ICL 450 IBM System/32
1975: RPG II Programmer
System/34
Terminal 5250
System/36 System/38
AS/400
iSeries
IBM i
Etc.
My Database My Database
• Data Theft
• Data Corruption
• Invalid Data
ZZZZ
• Normalization
• Constraints
– Primary Key
– Unique
– Check
– Referential
• Triggered Programs
Program
*OPEN
Program
*DIAG or
*ESCAPE
*DIAG - *ESCAPE
*INS/*UPD/DLT/*READ
Thank You
1969: Trainee Operator
1974: RPG Programmer
LEO III
IBM System 3/10
1972: Cobol Programmer
ICL 450 IBM System/32
1975: RPG II Programmer
System/34
Terminal 5250
System/36 System/38
AS/400
iSeries
IBM i
Etc.
Switch to RDi
Switch to RDi
Thank You
www.ile-rpg.org/open-source.html
S
M
L
1969: Trainee Operator
1974: RPG Programmer
LEO III
IBM System 3/10
1972: Cobol Programmer
ICL 450 IBM System/32
1975: RPG II Programmer
System/34
Terminal 5250
System/36 System/38
AS/400
iSeries
IBM i
Etc.
Program
*DIAG or
*ESCAPE
*DIAG - *ESCAPE
*INS/*UPD/DLT/*READ
FOREIGN
KEY FILE
PARENT
FILE
Program
*DIAG - *ESCAPE
• When a job is started on the IBMi, a *DFTACTGRP (DAG)
is created, and it cannot be terminated except by ending
the job. The DAG is where all original OPM program
objects run as well as all OS functions.
• In addition, limited-function RPG IV programs can run in
*DFTACTGRP. Limited function is defined as programs
that don't contain any procedures, don't call any
procedures, and use no contemporary built-in functions
(BIFs) as well as any features that require procedures not
supported by *DFTACTGRP.
*DFTACTGRP
QCMD
ACTGRP(‘NAMEDGRP’) PGMD
*DFTACTGRP (DAG)
ACTGRP(*NEW)
ACTGRP(*CALLER)
QCMD
PGMA
PGM/
PROC
PGMB
PGMC ACTGRP(*CALLER)
ACTGRP(*CALLER)
PGM/
PROC PGM/
PROC
PGM/
PROC
PGMD ACTGRP(*NEW)
Type Program Statement Procedure
. . . .
UIMSRV@@ TAG_GPL_P 164 DSPPO
QUIDSPP QSYS /00E4
QUIMGFLW QSYS /048F
QUICMD QSYS /0AEE
AOFM000_G AOF_P _QRNP_PEP_AOFM000_G
AOFM000_G AOF_P 87 AOFM000_G
DBWB_D AOF_P _QRNP_PEP_DBWB_D
DBWB_D AOF_P 135 DBWB_D
UIMSRV@@ TAG_GPL_P 188 DSPPN_CSR
QUIDSPP QSYS /00E4
QUIMGFLW QSYS /048F
QUICMD QSYS /0AEE
DBWB_G AOF_T _QRNP_PEP_DBWB_G
DBWB_G AOF_T 260 DBWB_G
DBWB_G AOF_T 310 LISTENTRY
WBMNU01_D AOF_T _QRNP_PEP_WBMNU01_D
WBMNU01_D AOF_T 83 WBMNU01_D
UIMSRV@@ TAG_GPL_P 164 DSPPO
QUIDSPP QSYS /00E4
QUIMGFLW QSYS /048F
QUICMD QSYS /0AEE
. . . .
Control Boundary
Control Boundary
Control Boundary
. . . .
WBMNU01_G AOF_T _QRNP_PEP_WBMNU01_G
WBMNU01_G AOF_T 145 WBMNU01_G
WBM001_D AOF_T _QRNP_PEP_WBM001_D
WBM001_D AOF_T 128 WBM001_D
UIMSRV@@ TAG_GPL_P 140 DSPPN
QUIDSPP QSYS /00E4
QUIMGFLW QSYS /048F
QUICMD QSYS /0AEE
WBM001_G AOF_T _QRNP_PEP_WBM001_G
WBM001_G AOF_T 206 WBM001_G
WBM170_D AOF_T _QRNP_PEP_WBM170_D
WBM170_D AOF_T 171 WBM170_D
UIMSRV@@ TAG_GPL_P 188 DSPPN_CSR
QUIDSPP QSYS /00E4
QUIMGFLW QSYS /048F
QUICMD QSYS /0AEE
WBM170_G0 AOF_P _QRNP_PEP_WBM170_G0
WBM170_G0 AOF_P 1000001 WBM170_G0
QTEVSIRF QSYS /0232
Control Boundary
Control Boundary
Control Boundary
WBMNU01_G AOF_T _QRNP_PEP_WBMNU01_G
WBMNU01_G AOF_T 145 WBMNU01_G
WBM001_D AOF_T _QRNP_PEP_WBM001_D
WBM001_D AOF_T 128 WBM001_D
UIMSRV@@ TAG_GPL_P 140 DSPPN
QUIDSPP QSYS /00E4
QUIMGFLW QSYS /048F
QUICMD QSYS /0AEE
WBM001_G AOF_T _QRNP_PEP_WBM001_G
WBM001_G AOF_T 206 WBM001_G
WBM170_D AOF_T _QRNP_PEP_WBM170_D
WBM170_D AOF_T 171 WBM170_D
UIMSRV@@ TAG_GPL_P 188 DSPPN_CSR
QUIDSPP QSYS /00E4
QUIMGFLW QSYS /048F
QUICMD QSYS /0AEE
WBM170_G0 AOF_P _QRNP_PEP_WBM170_G0
WBM170_G0 AOF_P 1000001 WBM170_G0
*DIAG x n
*ESCAPE
Thank You
1969: Trainee Operator
1974: RPG Programmer
LEO III
IBM System 3/10
1972: Cobol Programmer
ICL 450 IBM System/32
1975: RPG II Programmer
System/34
Terminal 5250
System/36 System/38
AS/400
iSeries
IBM i
Etc.
Switch to RDi
Thank You
www.ile-rpg.org/open-source.html
Mashtulele