AS/400 Group NOIDA
m m m
m
6OOL:2E Training 6ontents © © © © © © ©
Introduction to 6OOL:2E Getting Started Data Modeling Building Access Paths Building Applications Generating Applications 6OOL:2E/1E Utilities
m m m
m
Introduction to 6OOL:2E What is 6OOL:2E?
m m m
m
Introduction to 6OOL:2E 6OOL:2E Objectives !
m m m
m
Introduction to 6OOL:2E 6OOL:2E Design Principles Implementation independence " #$$%& ' '()**!+ ,'(-***
m m m
m
Introduction to 6OOL:2E 6OOL:2E Design Principles (contd..) Data-driven Design " ., #$$%& / ""
m m m
m
Introduction to 6OOL:2E 6OOL:2E Design Principles (contd..) Object-based Design $"0 " #$$%& $"0 1
m m m
m
Introduction to 6OOL:2E Application Development 6OOL:2E Rapid Prototyping Methodology (RPM) is a data-driven, pragmatic approach to Application Development Rapid Prototyping Methodology Analyze 2 ' ., #$$%&
m m m
m
Introduction to 6OOL:2E Application Development Rapid Prototyping Methodology (contd...) Design 2
"
6onstruct 2 3
Implement 2 # m m m
m
Introduction to 6OOL:2E Application Maintenance # 4 " ,
m m m
m
Introduction to 6OOL:2E 6OOL:2E Products 6OOL:2E '()** ! #$$%&(5
6OOL:2E/2G #" 34! #$$%&
6OOL:2E/6SG 6#' 3 7 $ #$$%& "
m m m
m
Introduction to 6OOL:2E 6OOL:2E Features Entity Relationship Specification 2 2 / 8 " "0 2 2 '
Access Paths 2 2 , 8&()** 6 7
m m m
m
Introduction to 6OOL:2E 6OOL:2E Features (contd«) Functions 2 ( 2 +
s & Reports 2 2 ! 2
m m m
m
Introduction to 6OOL:2E 6OOL:2E Features (contd«) LL code generation 2 ' '9 " 2 ' 2 ,3(#$$ '()** 2 ,3(#$$ #$$(& 2 8
m m m
m
Introduction to 6OOL:2E 6OOL:2E Features (contd«) Other features 2 "0 2 2 2 # 2 ! 2 , 2 /
0 2 m m m
m
Getting Started 6OOL:2E Product Libraries 6ontain the files and objects needed to use 6OOL:2E products
:5': :5':;<3 :&': :&':;<3 :&':+ :&':# :&':,3 :&':',#
#$$%&(5 #$$%&(5< " #$$%& #$$%&< " #$$%& #$$%&#$$ #$$%&,3 #$$%&
m m m
m
Getting Started Development Environment It is the model in which the development team creates an application and in which initial generation takes place. Objects are tested in the development environment.
m m m
m
Getting Started Development Libraries Î
Model Library "
Î
Generation Library " # 8 6 '7 0
Î
SQL 6ollection 8 '9 # 0 '9 m m m
m
Getting Started 6reating/Using a Model Ú6RTMDLLIB command creates a model Ú6RTMDLLIB #
+ "< 6+!7 3 "< 63<!7 ' 6'<'=7 >#4 =?=1 / %'('9 '9# "6'9!7 < 8 2 $"086$@/?7 2 +86+'3/?7
m m m
m
Getting Started 6reating/Using a Model (contd«) Ú6RTMDLLIB #
6 A7 +/< 6+'3;<+7 63<7 < # 6;<+7
Build Library List using ÚBLDLIBLST #0 "B" #$$%& " " ,
:!'=C!.< D
m m m
m
Getting Started 6reating/Using a Model (contd«) Run command ÚSTRÚ2
to display 6OOL:2E Master Menu can Enter/update the 6OOL:2E/2 model as Designer(*DSNR) or as a Programmer (*PGMR)
m m m
m
Getting Started 6reating/Using a Model (contd«) î î ! " #$î" %&' ' (") %&' ' (*#î) + ! ' ' , ' & - ' . ' & ' / ' & ' ' && 0 ' ' ' 1 %*! '2 ' 3334 53 6 5/3î ! 513* 7 53' 5,3- '8-
m m m
m
Data Modeling What is a Data Model? © A Data Model is a structured description of a set of data and its relationships which can be used to represent the business of an organization © Entity-Relation (E-R) modeling techniques are used to build a conceptual data model © 6onceptual data model is then entered in the 6OOL:2E/2 to build 6OOL:2E/2 data model m m m
m
Data Modeling Entity-Relationship (E-R) Modeling © Identify Primary Entities and their attributes © Identify Relations between Entities and between Entities and the Attributes © Normalize the Data Model
m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Primary Entities , " ' "0 "11 ' "0" "
! " 3E
m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Primary Entities - example '$ #!1 " AB6 Inc. 6ustomer 6ode: Name: Address: Date: Product 6ode
________ ________
6ustomer 6opy Phone: Order No.: Description
____________ ____________
Qty
Price
Total
____ ____ ___ ____ ____ ___
= "
a) 6ompany
b) 6ustomer
m m m
c) Order d) Product
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Primary Entities - example / " #!1 1=
a) Vendor
b) Purchase Order
Generalize Entities # "
Differentiate Entities m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Entity Attributes ! " 8 . # " # # # < #
! Domains " " m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Relations ! " " " # E " 2 $ (+ 2 # 2 !
' 4!
m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Relations Optional/Mandatory . ! + $ F 6ardinality . ! . . . .
. . F < "
Involution . 8"
F 11 "
1
m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Relations One-To-One Relation . 11'
=
One-To-Many Relation . $ 11#
$ "
m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Relations Many-To-Many Relation . 11$
"
m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Relations Select Primary Key or Unique Identifier Primary Key . " " 11 6ustomer K
# # # < #
"" " " m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Relations Implement Entity to Entity Relationship using Foreign Key Foreign Key . " " = /
m m m
m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Relations - Foreign Key 8 %$.= .$
'
=
K ! <
K ! = <
8 %$.= .+
#
K # # # < m m m
K # # # < m
Data Modeling Entity-Relationship (E-R) Modeling Identifying Relations - Foreign Key 8 %+.= .+ "
0
"
0
0=
Project Employee K 0# K # 0< < Project Team K 0# K # m m m
m
Data Modeling Normalizing the Data Model Normalization Involves "
Functionally Dependent Attribute . "
Full Functional Dependent Attribute . " " m m m
m
Data Modeling Normalizing the Data Model Process of Normalization 6reating First Normal Form (1NF) 2 2 11$ $ $
6reating Second Normal Form (2NF) 2 5
6reating Third Normal Form (3NF) 2 &
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Objects (design elements) File 2 11$
Field 2 " 11$ < "
6ondition 2 " 6 7
Relation 2 " " " 11 "
m m m
m
Data Modeling 6OOL:2E Data Model 6onceptual Model 6OOL:2E Data (E-R Model) Model -------------------------------------------------------------- " ,
m m m
/ /
, / # % ,
m
Data Modeling 6OOL:2E Data Model © 6OOL:2E provides facilities to enter / update the data model © Model can be accessed as designer (*DSNR) or as programmer (*PGMR) © Edit Database Relations allows the entry of data model to 6OOL:2E
m m m
m
Data Modeling 6OOL:2E Data Model (")#9îî"&:#9î;* " <,%0%1,/. "=" = > ) =#9îî" 34??" -853
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Files #$$%&/< /= #$$%&/< 2 " #$$%&< 2 2 &G "
" 2 11Purchase Order #$$%&<
#$$%&/= File " < "
Attribute #= ,/ '=,
m m m
Description # , '
m
Example $ #
Data Modeling 6OOL:2E Data Model 6OOL:2E Files ,6REF7 2 . 2 116ustomer, Product, Area 6ode
#66PT7 2 2 11Order, Ledger Entry
'6STR7 2 " Includes 2 11Audit Stamp file m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Files 2 2
,/ Function #,=$@. #$"0 =$@. $"0 #3$@. #$"0 ',#. ',
=/!. / m m m
m
Access Path 4 4 4 ,=; ,=;
Data Modeling 6OOL:2E Data Model 6OOL:2E Files #= Function #,=$@. #$"0 =$@. $"0 #3$@. #$"0
m m m
m
Access Path 4 4 4
Data Modeling 6OOL:2E Data Model 6OOL:2E Files 6reating/Defining 2 !" "#$!F10 "%" &"'! 2 ! &"'()" FIL 2 =/< &"'*" 2 =6PT REF STR &"' 2 Defined as
m m m
m
Data Modeling 6OOL:2E Data Model &:#9î;* " <,%0%1. " 5 >D =#9îî" -8 -8 -8 ) '5 ' ' & ' ! ' ?????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????
2
53 6
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Fields #$$%&/ < / = #$$%&/ < 2 2 &G "
" 2 116ustomer 6ode #$$%&/ < 2
#$$%&/ = 2 2 " m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Fields #$$%&/ =6 A7 Field Type Name # = !3# < , <, #= ,# 9=: ,/ '3= '=' =+ =?= ; ;<+
Description # ! 8 < 8 < " 9 , ' ' = + ;
m m m
Type
.
m
Length H* &* I* G1* G1& H1& G1* . H1* 5 -1* &G 551& 5*
Example ' # " 0 #
J 4 ' / " ' :(< #= ' /
Data Modeling 6OOL:2E Data Model 6OOL:2E Fields / "; 2 Basic attributes% 2 Text% ' 6'78, ' 6,'7 =8# 2 Validation attributes%( +
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Fields / 4 2 = %" /
" 2 # 66DE7 %. 11# # 2 "6ATR7 % . 11 # <
/ 2 " "
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Fields / 6 A7 2 " " 2 "
2 - 6NT 6 7 DRV 6 7 MAX 6 8 7 MIN 6 7 SUM 6 7 USR 6. 7
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Fields # 2
2 ><$<% 2 %#$$%& 2 >= , %
/ 2 >=
m m m
,
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Fields 6reating/Defining 2 ! &"'()" "%" &"'! FLD 2 =/ < &"'*" 2 =#$$%& &"' 2 = "%""'"%"#
2 !+"#!" 6DE 6# 7 ATR 6"7
m m m
m
Data Modeling 6OOL:2E Data Model &:#9î;* " <,%0%1. " 5 >D =#9îî" -8 -8 -8 ) '5 ' ' & ' ! ' 5" 5" !& 5"" ' " 5"" =) 5"" '' =) 5"" '' =) 5"" #&' " 5"" #& =) 5"" #& ' =)
2
53 6
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E 6ondition ' # < # = 2 VAL 6;7 LST 6;7 2 6MP 6# 7 RNG 6,7 .
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E 6ondition Value (VAL) 6ondition 2 2 % . " 8 . ( 2 11 paid K:L
List (LST) 6ondition 2 2 6/)7 2 11! / 4# Invoice not due K4L m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E 6ondition 6ompare (6MP) 6ondition 2 8 2 %>9><>3=>=>3> 2 11$ 9 " greater than 10 >3= 5*
Range (RNG) 6ondition 2 2 / = 2 11' 9 " between 10 and 100 / 5* = 5** m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation 8 " "
8 "! "$ "9 " ,
I . 8 . " . .
" " !" "#$! m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Usage Type
"
$
m m m
Relation $ " " 9 " , ! 8 "
Used for /. . /. . /. . /. . /. . /. . /. . /. .
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Defined as , 2 /. . 2 8 2 11
2 .8
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Owned by , 2 /. . 2 . 2 67 " " 2 2 11 $ $ " $
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Known by , 2 /. . 2 67 2 11 /!$ " /$ < " /!$ /9
Qualified by , 2 /. . 2 " "
" m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Qualified by , 2 2 " 6,,7 " *PREVIOUS *NEXT 2 " =, # 2 11 $ " # 9 " m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Refers to , 2 /. . 2 2 2 " 2 ; " 2 11 $ , m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Includes , 2 /. . 2 6'=,7 2 11 ! '
as , 2 /. . 2 "" 2 11 /!$ /9 m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Extended by , 2 /. . 2 "8 2 ! $ " 8 " ,#+"#!"8
2 !
8 " $ " 2 11 # 8 " #
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation For Text 2 / =8"
2 ! / =8 " 2 11 $ , # / %$ '%> $ , # / %! '%>
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation 6reating/Defining 2 &"' !" "#$! 2 = "#$ 2 = "06/ / 7 "%""'" &"'
Edit File Entries 2 =E +#""!
m m m
m
Data Modeling 6OOL:2E Data Model (")#9îî"&:#9î;* " <,%0%1../ "=" = > ) =#9îî" 34) +=&-8 ) 7=&) '-8 5" '-5" !& 5" E-5"" ' 5" F 5"" 5" F 5"" '' 5" F 5"" '' 5" #&E-5"" #&' 5" #&F 5"" #& 5" #&F 5"" #& '
2 @AB$" CAB$ CAB$ C AB$ C<$< 'C5$5 53 6 5.3) '535 '513 53" -853 G" G & 5 '
m m m
m
Data Modeling 6OOL:2E Data Model &:#9î;* " <,%0%1/.. "=5 =) #9îî" 5 " +5 '=& E7# ! ) ' " #&' " E " ' " E " =9= " '' =9= " '' =9=
"/ F"/ D=9. E=9. =9.
@$" C)$) & 'CH$H ! Cî$î && ' '& 53 6
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Edit Field Details 2 =E2 /. +"# "#! OR 2 =Z +#""#!
m m m
m
Data Modeling 6OOL:2E Data Model &:#9î;* " <,%0%1/.. "=5 "" = #9îî" 5 ' >I !& " J 7 =& =) 5* 5 ' ! =) ! " & # >E= EJ-' F ' !$ = 6 >I !& ' ' >I !& ) ! ' ' < ' !>I ! & < ' $ " ' ( I' ( î ' A:CB < ' A:CJKB = ' > IA:CJKB 53 6 &' 503 ! % & 513' 53
m m m
m
Data Modeling 6OOL:2E Data Model 6OOL:2E Relation Edit Field 6ondition 2 / "
( +"# $$ +"#$$"# 2 F9 +"#"#! +"# $$ 2 !+"#$$ 6; '=#+ ,<37 Enter
+"#$$"#! 2 !+"#$$"#! 1
m m m
m
Data Modeling 6OOL:2E Data Model &:#9î;* " <,%0%1/.. "=5 ""=" = #9îî" 5 ' ' ! ' & ,
=î' ( ""
' > & =& < 5
" &
53 6 503 ! 53
m m m
m
Building Access Paths Introduction #$$%& 6PÚRTV UPD7
"
#$$%&
"0 " m m m
m
Building Access Paths Introduction Six types of Access Paths Physical (PÚ) Update (UPD) Retrieval (RTV) Resequence (RSQ) Query (QRÚ) Span (SPN)
m m m
m
Building Access Paths Physical (PÚ) Access Path © Single format file containing fields derived from resolution of all relations on the file. <
< # ,/(#= < " <
: # / m m m
m
Building Access Paths Update (UPD) Access Path © Uniquely keyed, single format access path which is used by functions for updation < ; # ,/(#=
4 " ""
m m m
m
Building Access Paths Retrieval (RTV) Access Path © Uniquely keyed, single format access path used by functions to retrieve records 84 # ,/(#= 4 < . "
#( " ,=; " m m m
m
Building Access Paths Resequence (RSQ) Access Path © Uniquely or non-uniquely keyed single format access path used by functions to retrieve records +" 8 " " " ,=; 4 +,'9 " m m m
m
Building Access Paths Query (QRÚ) Access Path © Keyed single format access path used by functions to retrieve records +" 8 . " $"0(/ " "
,=; 4 +9,: " ! "$<9,:/ '9 m m m
m
Building Access Paths Span (SPN) Access Path © Keyed multi-format access path © Used by Edit & Display transaction functions to retrieve records from a pair of related files +" 8 " = "
,=; 4 +'< " m m m
m
Building Access Paths Access Path Summary #
Access Path Type
Real Fields
51
:
±
8
8
8
&1
4
±
,
8
8
I1
,=;
±
,
±
8
)1
,'9
±
4
±
8
G1
9,:
±
4
±
±
-1
'<
±
4
±
8
m m m
Key Fields
m
Virtual Fields
Virtual Keys
Building Access Paths Adding an Access Path ("):#9îî"&:#9î;* " <%%10 "=" = > ) =:#9îî" 34) +=&-8 ) 7=&) '-8 5 E-5" ' 5 F 5" 5 F 5" '' 5 F 5" '' 5 F 5" '' 5 F 5" ' 5 F 5" H ' 5 E-5" ' 5 F 5" 5 F 5" ; 5 ' F ' E-5" ' - 5 ' F ' ) 5 5 ' F ' F 5" ' " 5 ' F ' F 5" & " 5 ' '-5 ' F ' 2 @AB$" CAB$ CAB$ C AB$ C<$< 'C5$5
53 6 5.3) '535 '513 53" -853
m m m
m
Building Access Paths Adding an Access Path =Z !" "#$! Enter $+#""#! Enter =Z E
''"!!-."#! =Z ''"!!-."#! ''"!!-.+$*"!
m m m
m
Building Access Paths Adding an Access Path &:#9î;* " <%%10. "=5 " = :#9îî" 5 - ) 55 ' ( " 7 - :#9î# # & 6 >" - 'A:CB '& ) ' ' ! 5î! 'H) ) ' 6 ! 9î! 'H) +=& & -E î F ' *F:* HH >) * H*"H&' ' 6HH >) H;H îî " )=<) ' 6HH >) H;H îî " ); -
@$" C#%D$# C $=) HC"$" C$ C F$F'%) C$ ' CH$H ! C5$5 C$I 53 6 5.3) '535 503 ! 53 53
m m m
m
Building Access Paths Adding an Access Path &:#9î;* " <%%101 "= * =F" = :#9îî" 5 - ) 5 & - =& ); H 7 I A:C- IB "& 7 5A5$55C$5C î A$îî "C"$":C)$) >"B ! - % A$ C"$" CGG$ B # ' îAî$î"< C"$""C $ 9*C$;C9$H9B - HH >) - 6 -
5 5 6 ' + 7 A> ' B) & 5 >) ) ' 6
@$ & C)$ & C$ % C $ ' & 53 6 503) 53
m m m
m
Building Access Paths Adding an Access Path &:#9î;* " <%%101, "= * =F5)î = =) :#9îî" 5 - ) 5 & - =& ); 5 6 > ' 5 # E ) +5 ' =& " 7 ' " >"E =9= >=9 '' =9= =9 '' =9= "=9 '' =9= =9 ' < < H '< ><
@$5 '' 53 6 53)
m m m
m
Building Access Paths Adding an Access Path Span (SPN) Access Path SPN " Owned by Refers to SPN " F9 ''"!!-."#!
m m m
m
Building Access Paths Modifying an Access Path Following may be changed from Edit Access Path Details 4( +6!
," 7 # ' '($ # 3 + 6'('97 ' " 8 m m m
m
Building Access Paths Arrays + 8 " 8 MM* ' .
" ( /
m m m
m
Building Access Paths Arrays Arrays can be used by the following four functions: #,=$@.
#3$@. =$@. ,=;$@.
m m m
m
Building Access Paths Arrays Features #" " E '"
m m m
m
Building Access Paths Arrays Adding/6hanging/Deleting Arrays *a *ARRAÚS !" "#$! Z > = Enter =Z Enter
= D 8 Enter
m m m
m
Building Access Paths Generating & 6ompiling 3 " "0" / !" "#$!F17 $!)#("/'"!0",ÿ " !)#( ## ''"!!-.! =o 6" 7 G 6 7 Enter
m m m
m
Building Applications 6OOL:2E Functions 6OOL:2E function is a process that operates on files & fields 6OOL:2E Functions can be linked to create larger processes that become the building blocks of an application Several 6OOL:2E functions may be implemented in a single LL program
m m m
m
Building Applications Implementation of Functions 6OOL:2E functions are implemented in two ways External . Internal .
m m m
m
Building Applications 6OOL:2E Function Types 4 6OOL:2E functions types ' / .!/ / / +/
Standard functions " 4. "
" " m m m
m
Building Applications 6OOL:2E Function Types Standard Functions I 2 "/ 2 / 2 4/
Built-in Functions 8
8 m m m
m
Building Applications 6OOL:2E Function Types Built-in Functions ' ! . =. 57
&7#
I7# )7#$<# =.# G7#;=; ,. # ;" -7!;. H7!;N!=,+ !<, O78 M7+ m m m
m
Building Applications 6OOL:2E Function Types Built-in Functions =. 6 A7 5*7+ 557+ 5&7+4=. + 5I79 5)7,=;#<. , # 5G7, " 5-7'# 5H7'" 5O7'4. '"
m m m
m
Building Applications 6OOL:2E Function Types Function Fields
" $ .
;" " #$$%& . 57'4+. ' &7+ ?. +8 I7+!<. + )7#<=. # G7,;. -74',. 4 m m m
m
Building Applications 6OOL:2E Function Types Message Functions ! $'()** '" #" #
m m m
m
Building Applications 6OOL:2E Function Types Message Functions =+ 57'<,,+'3. ' + &7'<!
m m m
m
Building Applications Standard Functions Database Functions " ! 8 #" =) " 57#,=$@. #$"0 &7#3$@. #$"0 I7=$@. $"0 )7,=;$@. , $"0 m m m
m
Building Applications Standard Functions Device Functions 4 # ( 8 8 ,=$@ !
"
m m m
m
Building Applications Standard Functions Device Functions (contd«) = / 57',#. ,
&7',#&. , & I7',#I. , I )7+=,#. ,
G7=,#. ,
-7=,#&. , & H7=,#I. , I
m m m
m
Building Applications Standard Functions Device Functions (contd«) = / O7'/!. / M7=/!. / 5*7',#. ',
557'=,<. = 5&7==,<. = 5I7,=/!. / 5)7,=$@. $"0
m m m
m
Building Applications Standard Functions Functions + " #$$%& "
. ! 6 7 68 7
m m m
m
Building Applications Standard Functions Functions =4/ 57?#!<=/4<. 8!/ &7?#?=/4<. 88/ I7?#4',3+. 84 )7?#4',',#. 84'
m m m
m
Building Applications Basic Function Properties Function Name &G "
" "
Function 6omponents / 2 E " 8
8
m m m
m
Building Applications Basic Function Properties Function 6omponents / 2 1 "
2 & " %,
2 1= " #$$%&
m m m
m
Building Applications Basic Function Properties Function 6omponents Function class
Parameters
Device Design
Action Diagrams
Function Options
/ "/ 4/
± ± ±
± 8 8
± 8 5 ±8
± 8 ±8I
+ / /
± ±
8 8
8 & ±8
8 8
.!/
±
8
8
8
5?#!<=/4<?#?=/4< & $,;6 7 I ?#?=/4<
m m m
m
Building Applications Basic Function Properties Default Device Function Processing
"
m m m
m
Building Applications Functions & Access Paths Functions & Access paths / " / " " ( B m m m
m
Building Applications Additional Processing Automatic additional logic for functions !# 2 1 " 1 2 ,!#
/ ; 2 ( 2 2 1 m m m
m
Building Applications Additional Processing Automatic additional logic for functions / 2 2 8 =/! " #3$@
Building Blocks Approach / " " "
m m m
m
Building Applications Defining Functions Accessing Functions Display All Functions 2 "/'"!0",
Display File Functions 2 F !" "#$!
Shipped Files Fields #$$%& ". 1 =* $"0 DFN !" "#$! m m m
m
Building Applications Defining Functions Op: SYNTHS QPADEV0004 DISPLAY ALL FUNCTIONS Application area. : ? File Commodity Commodity Commodity Commodity Commodity Commodity Commodity Commodity Commodity Commodity
Price Price Price Price Price
18/02/98 13:52:40 SYNSXT Function
Source library: SYNSXTGEN Type GEN name
Change Commodity Create Commodity Delete Commodity Edit Commodity Select Commodity Change Commodity Price Create Commodity Price Delete Commodity Price Edit Commodity Price Select Commodity Price
CHGOBJ CRTOBJ DLTOBJ EDTFIL SELRCD CHGOBJ CRTOBJ DLTOBJ EDTFIL SELRCD
*N/A *N/A *N/A SXACEFR SXABSRR *N/A *N/A *N/A SXAEEFR SXADSRR
SEL: Z-Dtls, P-Parms, N-Narr., F-Action diagram, S-Device Design, T-Structure, A-A, G/J-Gen, E-STRSEU(pgm), L-Locks, D-Delete, U-Where used, 3-Doc. F3=Exit F5=Reload
m m m
m
Building Applications Defining Functions Op: SYNTHS QPADEV0004 18/02/98 13:48:09 EDIT FUNCTIONS SYNSXT File name. . . : Commodity ? Function Change Commodity Create Commodity Delete Commodity Edit Commodity Select Commodity
Function type Change object Create object Delete object Edit file Select record
**
1ST LEVEL
**
Access path Update index Update index Update index Retrieval index Retrieval index
+ SEL: Z-Details, P-Parameters, F-Action diagram, S-Device design, N-Narrative, T-Structure, A-Access path, U-Usage, G/J-Generate, D-Delete, C-Copy, L-Lock. F3=Exit F5=Reload F7=File details F9=Add F17=Services
m m m
m
Building Applications Defining Functions *DSNR SYNSXT Op: SYNTHS QPADEV0004 18/02/98 13:40:46 EDIT DATABASE RELATIONS SYNSXT => * Rel lvl: DFN ? Typ Object Relation Seq Typ Referenced object FIL *Arrays Defined as FIL *Arrays FIL *Built in functions Defined as FIL *Built in functions FIL *Configuration Table Defined as FIL *Configuration Table FIL *Distributed File Defined as FIL *Distributed File FIL *External Data Access API Defined as FIL *External Data Access API FIL *Field attribute types Defined as FIL *Field attribute types FIL *Job data Defined as FIL *Job data FIL *Messages Defined as FIL *Messages FIL *Program data Defined as FIL *Program data FIL *Standard header/footer Defined as FIL *Standard header/footer FIL *COOL:2E reserved pgm data Defined as FIL *COOL:2E reserved pgm data FIL Audit Information Defined as FIL Audit Information FIL Commodity Defined as FIL Commodity FIL Commodity Price Defined as FIL Commodity Price FIL Company Defined as FIL Company + SEL: Z(n)-Details, N(n)-Narr, S(n)-Select, E(n)-Entries, V-Virt.fields, F-Funcs F3=Exit F5=Reload F7=Fields F9=Insert F10=Define obj. F17=Services
m m m
m
Building Applications Database Functions What are Database functions? " "
4 Database functions 57#,=$@.
1 &7#3$@. 1 I7=$@. 1 )7,=;$@. 1 m m m
m
Building Applications Database Functions Default versions of 6RT, 6G and DLT database functions are created for all REF & 6PT files. RTVOBo must be created if needed. Additional processing before and after database access may be specified in the action diagram. m m m
m
Building Applications Database Functions Function #,=$@ #3$@ =$@ ,=;$@
Purpose
4
, 67
m m m
m
Access Path 4 4 4 ,=;,'9
Building Applications Database Functions Array Processing " ) " " 1 =$@
m m m
m
Building Applications Device Functions What are Device Functions? ! " ,
8,=$@ 8
m m m
m
Building Applications Device Functions Interactive device design editor 2 " 2 2 2 2
#" +,'$! ## +,'$!+,'$"/'"! !)#( ## +,'$! m m m
m
Building Applications Device Functions Device Standard eader device functions '/ 6/<'#,/+=7 2 "
, / 6/<,=/+=7 2 " /
m m m
m
Building Applications Device Functions Single record device functions , 6+=,#7 2 " 2 "
, 6',#7 2 " 2 !
m m m
m
Building Applications Device Functions Single record device functions (contd...) , &6',#&7 2 ',#8 8 &
, I6',#I7 2 ',#8 8 I
m m m
m
Building Applications Device Functions Single record device functions (contd«) , 6=,#7 2 6
7 1 2 ! 1
, &6=,#&7 2 =,#8 8 & 1
, I6=,#I7 2 =,#8 8 I 1 m m m
m
Building Applications Device Functions Multiple record device functions /6'/!7 2 " 2 " ,$4(/O
/6=/!7 2 " 2 " ,$4(/O1 m m m
m
Building Applications Device Functions Multiple record device functions (contd«) ', 6',#7 2 " 2 2 1
m m m
m
Building Applications Device Functions Single & multiple record device functions = 6'=,<7 2 " 2 " "Owned by Refers to
= 6==,<7 2 " 2 " "Owned by Refers to 1 m m m
m
Building Applications Device Functions Printer device functions /6,=/!7 2 1
$"06,=$@7 2 ,=/! 2 " "
,=$@ 1
m m m
m
Building Applications Device Functions Standard Features of Device Functions 2 B 2 " 2 8 " "
2 2
$.=8 2 ELP F1
m m m
m
Building Applications Device Functions Standard Features of Device Functions 2 " 2 "ÚPKÚVNM
' # 2 ' "
/ 4 2 #4 11F3 8
2 "
m m m
m
Building Applications Device Functions Standard Features of Device Functions ''" 2 " " 2 Fÿ ROLLUP
# 2 "
2 "
$ 2 m m m
m
Building Applications Functions What are Functions?
8 8 11" " . " #$$%&
m m m
m
Building Applications Functions Two types of Functions /./ 4 2 " 2
4# 4 2 . 2 " "
m m m
m
Building Applications Functions Free-Form Functions 8!/ 6?#!<=/4<7 2 2 !
88/ 6?#?=/4<7 2
2 8
m m m
m
Building Applications Functions 6oded Functions 84 6?#4',3+7 2 " 2 "
84' 6?#4',',#7 2 . " "#$$%& 8
m m m
m
Building Applications Message Functions What are Message Functions? " "
" " *MESSAGES
m m m
m
Building Applications Message Functions è Message Functions ' +6'<,,+'37 2 " 2
' ! +6'<!
' # +6'<#++'37 2 " m m m
m
Building Applications Message Functions è Message Functions ' '+6'<'='+'37 2 " 2 .
, +6,=;+'37 2 8
8+6?#+'37 2 "8
m m m
m
Building Applications Function Fields What are Function Fields? ' "
" "
m m m
m
Building Applications Function Fields Function field Usages ' 6'4+7 2
2 ! "
2 ,
# 6#<=7 2 ==,<'=,< ,=/!,=$@ 2 ! "
2 $ m m m
m
Building Applications Function Fields Function field Usages +8 6+ ?7 2
2 ! 8 "
2 , 8
+ 6+!<7 2
2 ! "
2 , m m m
m
Building Applications Function Fields Function field Usages 6,;7 2 . 2 " 2 + "
2 $,
464',7 2
11
2 "." m m m
m
Building Applications Function Options What are Function Options? / / $ 2 "# 2 / 2 8# 2 #
# 2 8 , 2 3 2 m m m
m
Building Applications Function Options Database 6hanges Function options
" "
Display Features Function options # . ! # ' (/ '"' # + .
8 m m m
m
Building Applications Function Options Display Features Function options 8
. =,# , . 6+=,#7 " '. "
" # . . " " ' +. " " m m m
m
Building Applications Function Options Exit 6ontrol 8 # . " , , . ,#,'#
" # +. "
m m m
m
Building Applications Function Options 6ommitment 6ontrol
+ '=,' ; <$< + '=,.
' ;.
"
<$<.
m m m
m
Building Applications Function Options Exception Routine 38 , . 8 6>'',7 "
Generation Options 3 + . " D ' PS '9
E 8' / PM A "
m m m
m
Building Applications Function Options Generation Options 3.
'=8# L " M " D "
m m m
m
Building Applications Function Parameters What are Function Parameters? ' "
Basic properties of function parameters < 4= 2 ! $ <
/ ' 2 2 '<,,+'3?#+'3 8 m m m
m
Building Applications Function Parameters Neither Parameters < < " "
Default parameters of functions Function #3$@ #,=$@ =$@ ,=;$@ ',#
Default parameters 4 8 4 8 4 8 1 4 8
m m m
m
Usage ! ! ! !
Building Applications Function Parameters Return 6ode Parameter ! 8
8?#4',3+?#4',',# = ,# >/ P>< P>, 8P >, 8P>'" P >49
m m m
m
Building Applications Function Parameters Parameter Roles ' / Map Parameter .
B
1+<
Restrictor Parameter . "
Positioner Parameter .
m m m
m
Building Applications Function Parameters Parameter Roles Vary Parameter . 1 4 .
Defining Function Parameters +,'$!P 8 +,'$ -*""! =Z , (4 +,'$-*"""#! m m m
m
Building Applications Function Parameters Op: SYNTHS QPADEV0007 19/02/98 10:38:58 EDIT FUNCTION PARAMETERS SYNSXT Function name. . : Delete Commodity Type : Delete object Received by file : Commodity Ath: Update index ed ? File/*FIELD Access path/Field as Seq Commodity Update index KEY
| Values FLD: One parameter per field RCD: One parameter for all fields KEY: One parameter for key fields only SEL: Z-Details (field selection). F3=Exit F5=Reload
m m m
m
Building Applications Function Parameters Op: SYNTHS QPADEV0007 19/02/98 10:40:20 EDIT FUNCTION PARAMETER DETAILS SYNSXT Function name. . : Delete Commodity Type : Delete object Received by file : Commodity Ath: Update index Parameter (file) : Commodity ed as: KEY ? Field Usage Role Commodity Code I
SEL: Usage: I-Input, O-Output, B-Both, N-Neither, D-Drop. Role: R-Restrict, M-Map, V-Vary length, P-Position. F3=Exit
m m m
m
Building Applications Device Designs What are Device Designs? '
Basic properties of Device Designs '
2 (
/ 2 / " . 8 m m m
m
Building Applications Device Designs Basic properties of Device Designs /
2 (/
Editing Device Design +,'$!S 8 2 F1 )* 2 F3 8 m m m
m
Building Applications Device Designs Editing Device Design 2 F4 )* 2 F5 2 Fè 2 F7 / , 2 Fÿ 2 F9 8 8 2 F10 8 2 F11 2 F12 8" m m m
m
Building Applications Device Designs Editing Device Design 2 F13 8 2 F15 2 F1è 2 F17 2 F1ÿ / " 2 F19
2 F20 2 F21
" 2 F22 8 m m m
m
Building Applications Device Designs Editing Device Design 2 F23
2 F25
m m m
m
Building Applications Action Diagrams What are Action Diagrams? "
. ".
Displaying Action Diagram of a function =F 8 +,'$!
m m m
m
Building Applications Action Diagrams EDIT ACTION DIAGRAM FIND=>
Edit
SYNSXT
> Edit Commodity .-. ...Initialize . .=REPEAT WHILE . |-*ALWAYS . | ...Load first subfile page . | PGM.*Reload subfile = CND.*NO . | > Conduct screen conversation . | .=REPEAT WHILE . | |-PGM.*Reload subfile is *NO . | | Display screen . | | ...Process response . | '-ENDWHILE . '-ENDWHILE . ...Closedown '--
Commodity Edit Commodity
<--
<--
<--
<--
F3=Exit F5= points F6=Cancel pending moves F7=Forward F8=Backward F9=Edit parameters F15=Open Functions F16=Toggle Change Date F24=More keys
m m m
m
Building Applications Action Diagrams Points #$$%&(& 8?#4',',# ?#4',3+ " " " " 4 F5 m m m
m
Building Applications Action Diagrams EDIT ACTION DIAGRAM Edit SYNSXT Commodity FIND=> Edit Commodity .............................................................. > Edit : ACTION DIAGRAM EXIT POINTS F3=Exit SEL:X,Z-Select. : .-: : Initialize program : . ...I : : Initialize subfile header : . .=RE : : Initialize subfile record (existing record) : . |-*A : : Initialize subfile record (new record) : . | .. : CALC: Subfile control function fields : . | PG : : Validate subfile control : . | > : : Validate subfile record fields : . | .= : CALC: Subfile record function fields : . | |- : : Validate subfile record relations + : . | | :............................................................: . | | ...Process response . | '-ENDWHILE . '-ENDWHILE . ...Closedown '--
<--
<--
<--
<--
F3=Exit F5= points F6=Cancel pending moves F7=Forward F8=Backward F9=Edit parameters F15=Open Functions F16=Toggle Change Date F24=More keys
m m m
m
Building Applications Action Diagrams Action Diagram 6onstructs Sequential . 8 1 "" QQQ % A1 % A1 %QQQ
m m m
m
Building Applications Action Diagrams Action Diagram 6onstructs 6onditional . 8 # '" 1 "# ' <# ' Q# ' % A1 % A1 %Q<# '
m m m
m
Building Applications Action Diagrams Action Diagram 6onstructs Iterative . 1 " , =N! <N! Q, =N! % A1 % A1 %Q<N!
m m m
m
Building Applications Action Diagrams 6ontext " Database 6ontexts . " " Device 6ontexts . " Literal 6ontexts . " 1 System 6ontexts . "
m m m
m
Building Applications Action Diagrams 6ontext Function 6ontexts . " "
Database 6ontexts DB1 . " . DB2 . " 11'<
m m m
m
Building Applications Action Diagrams Device 6ontexts KEÚ . =,# ',# DTL . =,# ',# 2ND . =,# ',# 3RD . =,# ',# m m m
m
Building Applications Action Diagrams Device 6ontexts 6TL . " R6D . " 6UR . ,=$@ ,=/! NXT . 8 ,=$@ ,=/!
m m m
m
Building Applications Action Diagrams Literal 6ontexts 6ND . 6ON . 8 .
System 6ontexts oOB . 8 0 "11>4',>@$ PGM . 8 > + >,# m m m
m
Building Applications Action Diagrams Function 6ontexts PAR . WRK . " 8 11
Action Diagram Editor
m m m
m
Building Applications Action Diagrams Action Diagram Editor #
* ** A B C CC D DD F FF H I+ I+F I* I*F
Activate/Inactivate construct (Comment out) Place block Activate/Inactivate boundary Place copied or moved construct after this line Place copied or moved construct before this line Copy construct to a point indicated by 'A' or 'B' Place block Copy boundary Delete this construct Place block Delete boundary Edit action or condition details for line Edit action parameters Hide construct Insert *ADD built-in function Insert and Prompt *ADD built-in function Insert Comment Insert and Prompt Comment
m m m
m
Building Applications Action Diagrams Action Diagram Editor #
II-F I= I=A I=F IA IAF IC ICF II IIF IM IMF IO IOF
Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert
m m m
*SUB built-in function and Prompt *SUB built-in function *MOVE built-in function and Prompt *MOVE ALL built in function and Prompt *MOVE built-in fucntion Action and prompt Action Case condition and Prompt Case condition Iteration and Prompt Iteration Message function and Prompt Message function *OTHERWISE condition and prompt *OTHERWISE condition m
Building Applications Action Diagrams Action Diagram Editor #
IS ISF IX IXF M MM NA NAA NI NR NRR S T U Z
Insert Sequence Insert and Prompt Sequence Insert New condition within Case Insert and Prompt New condition within Case Move construct to a point indicated by 'A' or 'B' Place block Move boundary Copy to notepad & append to contents of notepad Place block notepad append boundary Insert entire contents of notepad after this line Copy to notepad & replace contents of notepad Place block notepad replace boundary Show construct Return to top level of action diagram Unzoom out of construct to previous construct Zoom into construct
m m m
m
Generating Applications 6OOL:2E Generator Generation + ' '9 2
#$$%& . #$$,3 " ' # "
m m m
m
Generating Applications 6OOL:2E Generator Generating 6ode "/'"!0", = o6"7 G6 7 "
m m m
m
6OOL:2E/1E Utilities Menus 6OOL:2E/1E Menus $'()** + #$$%&
ÚWRKMNU ÚGO + " " ÚDSNMNU #$$%&(5 m m m
m
6OOL:2E/1E Utilities Menus 6OOL:2E/1E Menus Ú6RTDSNF
ÚADDDSNFM
" & #$$%& 2 ' 2 +
m m m
m