100% Generacji Oracle Forms w Designer 6i

Transkrypt

100% Generacji Oracle Forms w Designer 6i
DES6I – 100% Generacja Forms w Designerze 6i
41
1 :VW
S
1DU]
G]LD2UDFOH'HVLJQHUZZHUVMLLSR]ZDODMQDFDáNRZLWHRSDUFLHSUDFSURMHNWRZ\FKR
UHSR]\WRULXPLJHQHUDWRU\Z]DNUHVLHGRNXPHQWDFMLSURMHNWXEXGRZ\NRGXL]DU]G]DQLDZHUVMDPL
dokumentów i kodu. Niniejszy dokument ma na celu praktyc]QH]DSUH]HQWRZDQLHPR*OLZRFL
DeVLJQHUDZJHQHURZDQLXDSOLNDFML]XZ]JO
GQLHQLHPQRZ\FKFHFKZHUVMLL
JHQHUDFMLMHVWSUDNW\F]QSRWU]HEWDNLHJREXGRZDQLDDSOLNDFMLDE\]PLQLPDOL]RZDü
NRV]W\SU]\V]á\FK]PLDQSRSU]H]SHáQGRNXPHQWDFM
NRGXDXWRPDW\F]QHOHG]HQLH]DOH*QRFL
RUD]QDU]XFDQZW\PSURFHVLHVWDQGDU\]DFM
-HGQ\P]QDMZD*QLHMV]\FKJHQHUDWRUyZ2UDFOH'HVLJQHUDMHVW)RUPV*HQHUDWRU3R]ZDODRQ
QDFDáNRZLWJHQHUDFMLDSOLNDFMLSRSU]H]
• 0R*OLZRüSU]HFKRZ\ZDQLDNRGXX*\WNRZQLNDZUepozytorium,
• 2SDUFLXJHQHUDFMLQDZáDFLZRFLDFKRELHNWyZV]DEOonach oraz bibliotekach obiektowych.
• :HUVMRQRZDQLHL]DU]G]DQLH]DOH*QRFLDPLSRPL
G]\VNáDGRZ\PLZHZQWU]
repozytorium.
'RNXPHQWRSLVXMHGDOHMV]F]HJyáRZRSURFHVJHQHUDFMLNRQFHQWUXMFVL
QDW\PZáDQLH
generatorze.
2 Nowe cechy Designera 6i
5R]G]LDáWHQRPDZLDW\ONRWHFHFK\2UDFOH'HVLJQHUDLNWyUHVLVWRWQHGODJáyZQHJRWHPDWX
tego dokumentu.
&HOHP]PLDQ2UDFOH'HVLJQHUDZZHUVMLLE\áR
• =ZL
NV]HQLHPR*OLZRFLREVáXJLGX*\FKSURMHNWyZprzy pomocy repozytorium,
• =ZL
NV]RQHZVSDUFLHGODUR]ZRMX2UDFOH$SSOLDFWLRQ
• :SURZDG]HQLHLUR]V]HU]HQLHZVSyáSUDF\2UDFOHL
=PLDQ\WH]RVWDá\RVLJQL
WHSRSU]H]LVWRWQH]PLDQ\ZVDP\PUHSR]\WRULXPZSURZDG]DMF
]DU]G]DQLHNRQILJXUDFMDPLRUD]]DOH*QRFLDPL=RVWDá\WDN*HUR]V]HU]RQHPR*OLZRFL
generatoUyZNRGXJáyZQLHZ]DNUHVLHJHQHUDWRUD2UDFOH)RUPVRUD]JHQHUDWRUD6HUZHUD
Zmiany w repozytorium
5HSR]\WRULXPMHVWLQWHJUDOQF]
FL2UDFOH'HVLJQHUDVáX*\RQRGR]DU]G]DQLDVWUXNWXUDPL
GDQ\FKZáDFLZ\PLdla metamodelu Designera.
$E\ZSHáQLVSHáQLDüVZRMUROHUHSR]\WRULXP]RVWDáRZySRVD*RQHZQDVW
SXMFHFHFK\
• $QDOL]DZSá\ZX]PLDQ
• 0R*OLZRüUR]V]HU]H
• Wsparcie dla plików i katalogów,
• Wersjonowanie na poziomie poszczególnych obiektów,
• 0R*OLZRüGHILQLRwania konfiguracji,
• Obszary robocze.
$QDOL]DZSá\ZX]PLDQ
'RWG'HVLJQHUUHDOL]RZDáDQDOL]
ZSá\ZX]PLDQZUDPDFKVZRLFKGDQ\FKVWUXNWXUDOQ\FK
1DSU]\NáDGSR]ZDODáQDRNUHOHQLHMDNLHPRGXá\WU]HEDE
G]LH]PRG\ILNRZDüZSU]\SDGNX
zmiany kolumny tabeli. NiHE\áRWRZ\VWDUF]DMFHGODGDQ\FKNWyUH]Uy*Q\FKZ]JO
GyZQLH
PRJá\E\üRSLVDQHVWUXNWXUDOQLH1DSU]\NáDGSURFHGXU\3/64/VNáDGRZDQHZED]LHGDQ\FK
Raporty, ForPDWNLNRG352&-64/LWG2EHFQLHZSURZDG]RQRIXQNFMRQDOQRüSR]ZDODMFQD
przechowywanLHLXWU]\P\ZDQLHWDN*HWakich informacji.
42
Tomasz Kazimierski
:UD]]QDU]
G]LHPGRVWDUF]RQHVVWDQGDUGRZHDQDOL]DWRU\SR]ZDODMFHQDDQDOL]
QLHNWyU\FK
W\SyZQS2UDFOH)RUPV,VWQLHMHWDN*HPR*OLZRüQDWZRU]HQLHVZRLFKZáasnych analizatorów.
0R*OLZRüUR]V]HU]H
0R*OLZRüUR]V]HU]HSR]ZDODQDXPLHV]F]DQLHZUHSR]\WRULXPRELHNWyZW\SyZRNUHORQ\FK
SU]H]X*\WNRZQLND7\S\WDNLHPRJE\üX*\ZDQHMDNRW\S\HOHPHQWyZ]ZL]NyZLWG'DQHWDN
]GHILQLRZDQ\FKW\SyZPRJE\üNRQWURORZDQHSU]H]PHFKDQL]P\UHSR]\WRULXP
'RVW
SGRQRZ\FKW\SyZPR*OLZ\MHVW]DUyZQRSU]H]QDU]
G]LD2UDFOH'HVLJQHUDMDNLSU]H]
API.
Wsparcie dla plików i katalogów
2SUyF]GDQ\FKVWUXNWXUDOQ\FKMDNGHILQLFM
WDEHOPRGXáyZLWSUHSR]\WRULXPSR]ZDODQD
przechowywanie informacji niestrukturalnych podobnie jak]Z\Ná\V\VWHPSOLNyZ
,VWQLHMHPR*OLZRüWZRU]HQLDSOLNyZLNDWDORJyZZL]DQLDLFK]U]HF]\ZLVW\PLV\VWHPDPL
plików i ich wersjonowania.
Wersjonowanie na poziomie poszczególnych obiektów
5HSR]\WRULXPSR]ZDODQDZHUVMRQRZDQLHQLHW\ONRFDá\FKV\VWHPyZDSOikacji ale
poszczególnych obiektów.
']L
NLZSURZDG]HQLXPR*OLZRFLGHILQLRZDQLDJDá
]L]PLDQPR*OLZHMHVWSURZDG]HQLHSUDF
SURMHNWRZ\FKQDMHGQ\PREV]DU]HZZLHOXQLH]DOH*Q\FKFLH*NDFK1DSU]\NáDG]HVSyá]DMPXMF\
VL
GRGDZDQLHPQRZ\FKFHFKL]HVSyáSRSUDZLDMFHEá
G\ZZHUVMDFKMX*G]LDáDMF\FKPXV]
wiG]LHüUy*QHZHUVMHW\FKVDP\FKHOHPHQWyZ
3URFHVáF]HQLDUy*Q\FKZHUVMLZFDáRüMHVWZVSLHUDQ\SU]H]DXWRPDW\F]QHQDU]
G]LD
porówQ\ZDQLDLáF]HQLD
DES6I – 100% Generacja Forms w Designerze 6i
5HSR]\WRULXPMHVWZ\PRVD*RQHWDN*HZQDU]
G]LD]DU]G]DQLDZHUVMDPLMDNQDSU]\NáDG
SU]HJOGDQLHKLVWRULL]PLDQ
L]GDU]HMDNLHMHSRZRGRZDá\
43
44
Tomasz Kazimierski
Obszary robocze
2EV]DU\URERF]H]RVWDá\ZSURZDG]RQHDE\XPR*OLZLüSUDF
QDZHUVMRQRZDQ\P
repozytoULXP:GDQHMFKZLOLSUDFXMFDRVREDPXVLZLG]LHüGRNáDGQLHRNUHORQZHUVM
RELHNWX]
GRNáDGaQLHRNUHORQHMFLH*NL
2EV]DU\URERF]HGHILQLXMHVL
SRGDMF]HVWDZUHJXáQSÄSRND*ZV]\VWNLHQDMQRZV]HRELHNW\]
JDá
]LSURGXNFMDRUD]ZHUVMDWDEHOL(03´
2EV]DU\URERF]HPRJE\üGHILQLRZDQHSU]H]SRV]F]HJyOQ\FKX*\WNRZQLNyZDOER
wspóáG]LHORQHLDGPLQLVWURZDQHSU]H]]DU]G]DMFHJRUHSR]\WRULXP
0R*OLZRüGHILQLRZDQLDNRQILJXUDFML
:F]DVLH*\FLDV\VWHPXSXEOLNRZDQHV]HVWDZ\RELHNWyZUHSR]\WRULXPMDNRZ\GDQLH
oprogramowania.
,VWRWQLQIRUPDFMMHVWMDNLHZHUVMH]RVWDá\XPLHV]F]RQHZWDNLPZ\GDQLX1SMDNDZHUVMD
PRGXáXHG\FMLSUDFRZQików odpowiada wersji 3.14 tabeli EMP.
DES6I – 100% Generacja Forms w Designerze 6i
45
=HZQ
WU]Q\GRVW
SGRUHSR]\WRULXP
:VWRVXQNXGRZHUVMLSRSU]HGQLFKUR]V]HU]RQRLSRSUDZLRQRPHWRG\GRVW
SXGRVWUXNWXU
repozytorium z AP,Z3/64/2EHFQLHSODQXMHVL
RSLHUDQLHRUHSR]\WRULXPWDN*HLQQ\FKQL*
2UDFOH'HVLJQHUQDU]
G]L
Oracle Designer
1LH]DOH*QLHRG]PLDQVDPHJRUHSR]\WRULXP]RVWDá\]PLHQLRQHNRPSRQHQW\VDPHJR'HVLJQera.
Generator Serwera
Java
:SURZDG]RQRPR*OLZRüSU]HFKRZ\ZDQLDNRGXZ-DYLH-HJRHG\FMDRGE\ZDVL
SU]\
poPRF\WHJRVDPHJRHG\WRUDNRGXNWyU\VáX*\GRHG\FML3/64/
Hurtownie danych
:SURZDG]RQRZVSDUFLHGODQDVW
SXMF\FKRELHNWyZZVSLHUDMF\FKWZRU]HQLHKXUWRZQL
danych:
1. Materializowane perspektywy,
2. Indeksy bD]XMFHQDIXQNFMDFK
3. 8*\FLHNODX]XOL6$03/(
4. 5R]V]HU]HQLDNODX]XOL&5($7(5(%8,/',1'(;RRSFM
&20387(67$7,67,&6
System Designer
5R]V]HU]RQ\RPR*OLZRüSRND]\ZDQLDQRZ\FKW\SyZZSURZDG]RQ\FKSU]H]JHQHUDWRU
serwera i forms.
Zmieniony edytor PL/SQL.
46
Tomasz Kazimierski
Generator Forms
:SURZDG]RQRQDVW
SXMFHQRZHFHFK\
1. Relatywne zatrzymania tabulatora,
2. 0R*OLZRüUR]áR*HQLDMHGQHJREORNXSRPL
G]\ZLHOHREV]DUyZ
3. :VSyáU]
GQHU]HF]\ZLVWHSU]\GHILQLRZDQLXGHNRUDFML
4. Generacja drzewek,
5. Generowanie bloków obok siebie,
6. Generacja do Oracle Forms 6i,
7. 0R*OLZRüX*\FLDUR]V]HU]H-DY\
8. $XWRPDW\F]Q\SRGJOGZ\QLNXJHQHUDFMLZURGRZLVNX-DY\
3 URGRZLVNRSURMHNWRZH
3U]HGUR]SRF]
FLHPHWDSXEXGRZ\NRGXNRQLHF]QHMHVW]GHILQLRZDQLHXWZRU]HQLHLEXGRZD
RGSRZLHGQLHJRURGRZLVNDSURMHNWRZHJR:VNáDGWDNLHJRURGRZLVNDZFKRG]QDVW
SXMFH
komponenty:
1. Biblioteka projektu,
2. Standardy tworzenia kodu i dokumentowania,
3. Parametry dla generatora,
4. :VSyOQHELEOLRWHNL]SRGVWDZRZIXQNFMRQDOQRFL
5. Szablony,
6. 6NU\SW\SXEOLNXMFHNRGGRURGRZLVNDOXEURGRZLVNGRFHORZ\FK
7. Procedury tworzenia kopii zapasowych i odtwarzania.
Biblioteka projektu
%LEOLRWHNDPDIXQGDPHQWDOQH]QDF]HQLHGODSRU]GNXZSURMHNFLH=DZLHUDRQD
• Dokumenty,
• notatki projektowe,
• QRWDWNL]HVSRWND
• arkusze pracy,
• skrypty testowe oraz
• gotowy kod programów.
']L
NL]DVWRVRZDQLX2UDFOH'HVLJQHUDPR*OLZHMHVWXPLHV]F]HQLHELEOLRWHNLZUHSR]\WRULXP
3R]ZDODWRQDFHQWUDOQH]DU]G]DQLHMHM]DZDUWRFLRUD]ZHUVMRQRZDQLH
Zastosowanie wersjonowania do kontroli kodu
0R*OLZRFLZHUVMRQRZDQLDUHSR]\WRULXPPRJáDWZRSRVáX*\üGRLPSOHPHQWDFML
wersjonowania kodu w projekcie zarówno w zakresie wygenerowanego kodu jak i metamodelu.
:SUDFDFKSURMHNWRZ\FKZHUVMRQRZDQLHMHVWX*\ZDQHSU]HGHZV]\VWNLPGRSURZDG]HQLDSUDF
UyZQROHJá\FK oraz do szybkiego wycofywania modyfikacji (np. do poprzedniej stabilnej wersji).
DES6I – 100% Generacja Forms w Designerze 6i
1DSRZ\*V]\PU\VXQNXZHUVMD]RVWDáDRSXEOLNRZDQDMDNRZ\GDQLHRSURJUDPRZDQLDL
E\áDUR]ZLMDQDGDOHMMDNRZHUVMDUyZQRF]HQLHSRZVWDáDZHUVMDMDNRSDWFK
popraZLDMFDEá
G\]SURGXNFML3R]DNRF]HQLXSUDFSRZVWDáDZHUVMDMDNRZVSyOQDZHUVMD
XZ]JO
dQLDMFD]PLDQ\LSRUR]ZL]DQLXNRQIOLNWyZ
:SU]\SDGNXZ\NU\FLDNRQIOLNWyZMHVWDXWRPDW\F]QLHXUXFKDPLDQHQDU]
G]LHGR
UR]ZL]ywania konfliktóZMDNQDSRQL*V]\PSU]\NáDG]LH
[...]
[...]
47
48
Tomasz Kazimierski
:VSyáSUDFDSRPL
G]\F]áRQNDPL]HVSRáXRSDUWDRUHSR]\WRULXP
5HSR]\WRULXPZVSRVyEQDWXUDOQ\ZVSLHUDX*\FLHZVSyOQHJRNRGXLGRNXPHQWDFML'RVW
SGR
GDQ\FKRGE\ZDVL
ZRSDUFLXRLQWHUIHMV]DSHZQLDMF\PR*OLZRFLZHUVMRQRZDQLD]
porównywaQLHPZHUVMLGODVWDQGDUGRZ\FKW\SyZPRGXáyZáF]HQLDJDá
]L]PLDQRUD]DQDOL]\
]DOH*QRFLSRPL
G]\RELHNWDPLLNRGHP
8*\FLHZVSyOQ\FKRELHNWyZVWUXNWXUDOQ\FKMDN5HXVDEOH0RGXOH&RPSRQHQWVF]\5HXVDEOH
LOV pozwala na zmnieMV]HQLHNRV]WyZ]PLDQNRGXGODFDáHJRV\VWHPX
4 Standardy generacji Oracle Forms
Elementy standardów
Generacja Oracle Forms dokonywana jest w oparciu o meta-PRGHOVNáDGRZDQ\Z
repozytoULXPZáDFLZRFLRELHNWyZUyZQLH*]UHSR]\WRULXPRUD]V]DEORQ generacji. Do tworzenia
moduáyZX*\ZDQHVJRWRZHRELHNW\ZFKRG]FHZVNáDGELEOLRWHNRELHNWRZ\FK
:VNáDGVWDQGDUGyZZFKRG]LWDN*HNRGUHDOL]XMF\SRGVWDZRZLZVSyOQDIXQNFMRQDOQRü
V\VWHPX.RGPR*HE\üSU]HFKRZ\ZDQ\ZUHSR]\WRULXPV]DEORQLHLELEOLRWece obiektowej.
1DVWDQGDUGJHQHUDFMLVNáDGDVL
1. Zdefiniowanie i implementacja podstawowej funkcjoQDOQRFL
2. 6]DEORQJHQHUDFMLPRJVL
Uy*QLüGODUy*Q\FKW\SyZRELHNWyZ
3. %LEOLRWHNLRELHNWRZD]DZLHUDMFHMVWDQGDUGRZHW\S\RELHNWyZRUD]ZVSyOQ\NRG
4. :VSyádzielone komponenty w repozytorium,
5. 3UHIHUHQFMHLZVSyáG]LHORQH]ELRU\SUHIHUHQFMLVNáDGowane w repozytorium.
.RPSRQHQW\VWDQGDUGXPXV]E\üV]F]HJyáRZRSU]HWHVWRZDQHLVSUDZG]RQHSU]HG
rozpocz
FLHPZáDFLZHMJHQeracji.
8*\FLHELEOLRWHNRELHNWRZ\FKMDNRPHtoda standaryzacji
2UDFOH)RUPVRGNLONXMX*ZHUVMLZ\SRVD*RQHVZPR*OLZRüGHILQLRZDQLDLX*\ZDQLD
biEOLRWHNRELHNWRZ\FK3UDNW\F]QLHGRZROQ\W\SRELHNWXX*\ZDQHJRZIRUPVPR*H]RVWDü
umieszF]RQ\ZELEOLRWHFHLVWDPWGX*\ZDQ\ZZLHOXPLHMVFDFK3RQLHZD*]ZL
NV]RFL
RELHNWyZPRJE\ü]ZL]DQHDNFMH3/64/MHVWWRUyZQLH*PR*OLZRüZVSyáG]LHOHQLDNRGX
DES6I – 100% Generacja Forms w Designerze 6i
49
8*\FLHRELHNWX]ELEOLRWHNLRELHNWRZHMZPRGXOHR]QDF]DSRZRáDQLHGR*\FLDMHJRLQVWDQFML
G]LHG]LF]FHMZáDFLZRFLURG]LFD']LHG]LF]HQLHRGE\ZDVL
QDHWDSLHNRPSLODFML7R]QDF]\*H
SR]PLDQLHELEOLRWHNLNRQLHF]QHMHVW]EXGRZDQLHZV]\VWNLFKPRGXáyZNWyUHMHMX*\ZDM
SprowaG]DVL
WRXWZRU]HQLH)0;QDSRGVWDZLH)0%EH]]PLDQZVDP\P)0%
*HQHUDWRUVSHFMDOQLHZVSLHUDX*\FLHELEOLRWHNSRSU]H]DXWRPDW\F]QHX*\ZDQLHRELHNWyZ]
biEOLRWHNLQDSRGVWDZLHLFKQD]Z\1DSU]\NáDGWZRU]FSROHWHNVWRZH]RVWDQLHX*\W\HOHPHQW
biblioteki CGSO$CHAR (o ile taki istnieje w bibliotece).
2GSRZLHGQLHQD]Z\LVWQLHMGODSRV]F]HJyOQ\FKW\SyZ&*62&+$5&*62'$7(«
DODGRGDWNRZ\FKFHFKMDNZLHORUHNRUGRZRüZ\PDJDOQRüLWGLVWQLHMRGSRZLHGQLHNRFyZNL
1DSU]\NáDG&*62&+$5B05B'2]RVWDQLHX*\W\ZEORNXZLHORUHNRUGRZ\P05GODSyO
znaNRZ\FKW\ONRGRZ\ZLHWODQLD'2
-HOLJHQHUDWRUQLHMHVWZVWDQLHRGV]XNDüZáDFLZHJRRELHNWXZELEOLRWHFHSRELHUDQDMEOL*V]\
]JRGQLH]KLHUDUFKL1DSU]\NáDGMHOLQLHPR*QDRGV]XNDü&+62180%(5B0']RVWDQLHX*\W\
&*62180%(5DMHOLWHQQLHMHVW]GHILQLRZDQ\WR&*62&+$5B0'3HáQHGU]HZRMHVW
opisane w systemie pomocy elektronicznej w rozdziale „Hierarchy of standard source objects”.
1LH]DOH*QLHX*\WNRZQLNPR*HWZRU]\üVZRMHRELHNW\LX*\ZDüMHMDZQLHZNRG]LH:
repo]\WRULXPGODND*GHJRRELHNWXPR*QDSRGDüQD]Z
RELHNWX]ELEOLRWHNLRELHNWRZHMMDNDPD
]RVWDüX*\WDGRMHJRLPSOHPHQWDFML1DGSLVXMHWRVWDQGDUGRZRSU]\MPRZDQHX*\FLD3U]\NáDGHP
MHVWRELHNW67'&+$5B833(5GRREVáXJLSyOZ\PXV]DMF\FKZSUoZDG]DQLHWHNVWXGX*\PL
literami.
50
Tomasz Kazimierski
Szablony generacji
2GZHUVMLSRSU]HGQLFK]QDF]HQLHV]DEORQyZJHQHUDFML]PDODáR2EHFQLHZL
NV]Rü
funkcjoQDOQRFL]RVWDáRSU]eniesione do biblioteki obiektowej.
6]DEORQMHVWZ\NRU]\VW\ZDQ\SU]H]JHQHUDWRUNWyU\QDMHJRSRGVWDZLHEXGXMHFDá\PRGXá]
instancji obiektów pobieranych z biblioteki.
Hierarchie bibliotek aplikacyjnych
3RPLPRáDWZRFL]PLDQZELEOLRWHFHRELHNWRZHMQDOH*\XQLNDüXPLHV]F]DQLDWDP]áR*RQHJR
NRGX3/64/SRQLHZD*QLHMHVWJRáDWZRWHVWRZDüD]PLDQ\NRGXNWyUHPRJE\üGRüF]
VWH
Z\PDJDMVSRUHJRQDNáDGXSUDF\QDUHJeQHUDFMLFDáHJRNRGX
/HSV]\PUR]ZL]DQLHPMHVWXPLHV]F]HQLHZELEOLRWHFHRELHNWRZHMZ\ZRáDNRGX
VNáDGRZanego we wspólnej bibliotece PL/SQL typu PLL.
%LEOLRWHND3//PDW]DOHW
*HPR*QDMáDWZRPRG\ILNRZDüLVWDQRZLSRMHG\QF]\SXQNW
wprowadzania zmian.
1DMF]
FLHMGREU\PSRP\VáHPMHVWXPLHV]F]HQLHSRGVWDZRZHJRZVSyOQHJRGODFDáHJR
systemu kodu w jednej wspólnej bibliotece np. SYSTEM.PLL.
1DVW
SQLHSRGF]DVWZRU]HQLDSRV]F]HJyOQ\FKDSOLNDFMLZFKRG]F\FKZVNáDGV\VWHPX
pojaZLDMVL
IUDJPHQWXNRGXNWyUHUyZQLH*QDOH*\ZVSyáG]LHOLü:V]F]HJyOQRFLPRJWRE\ü
fragmenty kodu sprzeczne ze standardem systemu. Wówczas kod taki umieszczamy w bibliotece
speF\ILF]QHMGODDSOLNDFMLQS$33/3//LGRáF]DP\GRPRGXáyZSRELEOLRWHFHV\VWHPRZHM
-HOLMDNLNRGZELEOLRWHFHDSOLNDFMLQDGSLVXMHNRGELEOLRWHNLV\VWHPXQDVWSLRGSRwiednie
SU]\VáRQL
FLHZ\QLNDMFH]NROHMQRFLGRáF]HQLD
7DNLHSRGHMFLHGRXZVSyOQLHQLDNRGXZL*HVL
]ZSUowadzeniem hierarchii bibliotek PLL.
:VSyOQDIXQNFMRQDOQRüZED]LHGDQ\FK
3U]HQLHVLHQLHNRGX3/64/GRED]\GDQ\FKGDMHMHV]F]HáDWZLHMV]PR*OLZRü]PLDQ\NRGX
ZVSyOQHJRRUD]SR]ZDODQDLPSOHPHQWDFMHNRGXSRGVWDZRZHJRZVSyáG]LHORQHJRSU]H]ZDUVWZ
serwera i klienta.
1DOH*\SDPL
WDü*HQLH]DZV]HSU]HQLHVLHQLHNRGXGRED]\GDQ\FKZL*HVL
]H
]ZL
NV]eQLHPZ\GDMQRFLZSUDNW\FHPR*HE\üRGZURWQLH
3U]\NáDGHPIXQNFMRQDOQRFLNWyUDGRVNRQDOHQDGDMHVL
GRWHMZDUVWZ\MHVWNRPSOHNVRZ\
meFKDQL]PREVáXJLEá
GyZDOERPRQLWRURZDQLDSUDF\DSOLNDFML'RJHQHURZDQHJRNRGX
PHFKDQL]PWDNLPR*QDGRáF]\üSRSU]H]SUHIHUHQFMH06*6)7XVWDZLDQQDSR]LRPLHV\VWHPX
aplikacji. DeVLJQHU]DZLHUDSURVW\SU]\NáDGWDNLHMREVáXJLXGRNXPHQWRZDQ\ZSRPRF\
elektronicznej pod haVáHPÄ$ERXWFXVWomizing the CG$FORM_ERRORS package”.
5 Budowa kodu
%DUG]RU]DGNR]GDU]DVL
DE\PRGXá\QLH]DZLHUDá\]áR*RQHMIXQNFMRQDOQRFLZ\FKRG]FHM
SR]DWRFRPR*QDGRVWDüQDSRGVWDZLHPHWD–PRGHOXREVáXJDZVWDZLHDNWXDOL]DFML
DES6I – 100% Generacja Forms w Designerze 6i
51
podstawoZ\FKZDOLGDFMLLWS:yZF]DVNRQLHF]QHMHVW]DLPSOHPHQWRZDQLHEUDNXMFHJRNRGXZ
odpowiednim module.
,VWRWQFHFK2UDFOH'HVLJQHUDMHVWPR*OLZRü]DSLVDQLDWHJRNRGXGRUHSR]\WRULXPWDN*H
ND*GDQDVW
SQDJHQHUDFMDSROHJDW\ONRQDXUXFKRPLHQLXJHQHUDWRUD)DGQH]PLDQ\
wygenerowaneJRNRGXQLHVSRWU]HEQH
8*\FLHORJLNLX*\WNRZQLNDVNáDGRZDQHMZUHSR]\WRULXP
/RJLNDNRGX*\WNRZQLNDVNáDGRZDQ\ZUHSR]\WRUium jest automatycznie umieszczany w
SURFHVLHJHQHUDFMLZRGSRZLHGQLFKPLHMVFDFKPRGXáXZ]DOH*QRFLRG]GHILQLRZDQHMZ
repozytoULXPDNFML:SU]\SDGNX2UDFOH)RUPVZL
NV]RüVWDQGDUGRZ\FKZ\]ZDODF]\PDVZyM
odpowiednich w repozytorium.
8*\FLHUHSR]\WRULXPEDUG]RXSUDV]F]DV\WXDFM
ZSU]\SDGNXNRQLHF]QRFLSRZWyUQHJR
geneURZDQLDPRGXáXQDSU]\NáDGQDVNXWHN]PLDQPRGHOXGDQ\FK
/RJLNDX*\WNRZQLNDVNáDGRZDQDZUHSR]\WRULXPSRZLQQDE\üZPLDU
PR*OLZRFL
umieszF]DQDZHZVSyáG]LHORQ\FKELEOLRWHNDFKOXEZZDUVWZLHED]\GDQ\FKJG\*XáDWZLDWR
]DU]G]aniem takim kodem.
:LHORNURWQLHX*\ZDQHNRPSRQHQW\VNáDGRZDQHZUHSR]\WRULXPLZELEOLRWHNDFK
2UDFOH'HVLJQHUGDMHPR*OLZRüXZVSyOQLHQLDNRGXMX*QDHWDSLHPHWDPRGHOX.RPSRQHQW\
PRGXáyZ0&RUD]OLVW\ZDUWRFL/29PRJ]RVWDüR]QDF]RQHMDNRRELHNW\ZVSyOQH,FK
X*yFLHSROHJDQDXPLHV]F]HQLXRGSRZLHGQLHJRRGZRáDQLDZPRGXáDFK0RG\ILNDFMHZVSyOQHJR
komSRQHQWXVG]LHG]LF]RQHSU]H]ZV]\VWNLHMHJRX*\FLD
0LPRWRNRPSRQHQW\QLHQDGDMVL
QDMOHSLHMGRXPLHV]F]DQLDORJLNLX*\WNRZQLNDNWyUD
poZLQQDE\üVNáDGRZDQDZPLHMVFXQDMáDWZLHMV]\PGODXWU]\PDQLDLV]\ENRFLPRG\ILNDFML]DWHP
w bibliotekach oraz w bazie danych.
6FKHPDWSRáR*HQLDNRGXDSOLNDFMLLVWDQGDUGyZ
52
Tomasz Kazimierski
Kod z OLB
APP01.pll
Kod klienta
APP01.pll
SYSTEM.pll
Kod aplikacji
.RGVWDQGDUGRZ\VNãDGRZDQ\ZED]LH
Generowanie wydajnego kodu
:\GDMQRüDSOLNDFMLZGX*HMPLHU]H]DOH*\RGURGRZLVNDJG]LHDSOLNDFMDE
G]LHXUXFKDPLDQD
oraz od charakteru funkcji.
:URGRZLVNXNOLHQW–VHUZHULZURGRZLVNX:(%E
GX*\ZDQHLQQHWHFKQLNLVWURMHQLD
aplikacji.
:SU]\SDGNXURGRZLVNDNOLHQWVHUZHUNOXF]RZHVQDVW
SXMFHDVSHNW\
1. 2GSRZLHGQLHXPLHV]F]HQLHNRGX3/64/RGZRáXMFeJRVL
GRRELHNWyZED]RGDQ\FK
2. 8*\FLHSHUVSHNW\ZLSURFHGXUED]RGDQRZ\FKMDNR(UyGáRGDQ\FKGODEORNyZ
bazodanowych
3. 1DWRPLDVWZURGRZLVNX:(%ZD*QLHMV]HVWDMVL
4. 8*\FLH-$5DOER&$%]DPLDVWSRV]F]HJyOQ\FKNODVSU]\SU]HV\áDQLXNRGX-DY\QDVWURQ
X*\WNRZQLND
5. 8*\FLHSRGREQ\FKRELHNWyZ]PQLHMV]DNRQLHF]QRüSU]\VáDQLDUy*QLF
6. 0LQLPDOL]DFMDX*\FLDWHNVWyZLRELHNWyZW\SXERLOHrplate,
7. Minimalizacja liczby wyzwalaczy –]ZáDV]F]DZ\]ZDOaF]\]ZL]DQ\FK]QDZLJDFM
8. 8*\FLH-DYD%HDQVGRREVáXJLDNFMLSRVWURQLHNOLHQWD
9. 8*\FLHZLHOXPDá\FKPRGXáyZ]DPLDVWMHGQHJRGX*HJR
=HZ]JO
GXQDPHFKDQL]P\ZEXGRZDQHZ6HUZHU)RUPVDVáX*FHGRRSW\PDOL]DFMLX*\FLD
VLHFLDSOLNDFMHZURGRZLVNX:(%PRJG]LDáDü]QDF]QLHEDUG]LHMHIHNW\ZQLHQL*WDNLHVDPH
aplikacje Klient-Serwer.
6 Uruchamianie aplikacji
8UXFKDPLDQLHDSOLNDFMLZURGRZLVNX:(%
:URGRZLVNX:(%QLHPR*QDX*\ZDüSHZQ\FKIXQNFMLGRVW
SQ\FKZNOLHQWVHUZHUMDN
wyzwalaczy czasowych lub wyzwalaF]\]ZL]DQ\FK]DNFMDPLP\V]\OXENRPSRQHQWyZ2/(:
]DPLDQ]DWRSRMDZLDMVL
QRZHPR*OLZRFLMDNNRPSRQHQW\-DYD%HDQVF]\]PLHQLRQ\LQWHUIHMV
X*\tkownika.
DES6I – 100% Generacja Forms w Designerze 6i
53
=HZ]JO
GXQDLPSOHPHQWDFM
LQWHUIHMVXX*\WNRZQLNDZ-DYLHáDWZHV]PLDQ\Z\JOGX
aplikacji prz\EH]MHMPRG\ILNDFML'RP\OQLH2UDFOHSURSRQXMHW]Z2UDFOH/RRNDQG)HHOW]Z
2/$)NWyU\ZSURZDG]DZ\JOGL]DFKRZDQLH]QDQH]2UDFOH(QWHUSULVH0DQDJHUF]\2UDFOH
Appliaction.
3RQL*V]\U\VXQHNSU]HGVWDZLDVWDQGDUGRZ\HNUDQDSOLNacji:
a tu ten sam ekran w OLAF:
LVWQLHMHUyZQLH*PR*OLZRü]DU]G]DQLDVFKHPDWDPLNROorów:
54
Tomasz Kazimierski
=PLDQWDNLFKPR*QDGRNRQDüSU]\SRPRF\]QDF]QLNyZ+70/ZSOLNXXUXFKDPLDMF\P
apliNDFM
QS
lookAndFeel="oracle"
darkLook="true"
colorScheme="blue"
=DU]G]DQLHLQQ\PLDVSHNWDPL tego interfejsu realizowane jest poprzez plik
$ORAC/(B+20(IRUPVMDYDRUDFOHIRUPV5HJLVWU\5HJLVWU\GDW0R*QDWDPXVWDZLDü
niestandardowe klasy Javy i czcionki.
1LH]DOH*QLHLQWHUIHMVPR*HE\üUR]V]HU]DQ\Z-DYLH0R*QDQDSU]\NáDGQDSLVDüREVáXJ
SROD
rHDOL]XMFHJRGRGDWNRZHVSUDZG]HQLDDOERVSHFMDOQHZ\ZLHWODQLH
URGRZLVNR81,;
&]
VWRPLJUDFMDGRURGRZLVND:(%ZL*HVL
]SU]HQRVLQDPLDSOLNDFMLGR81,;3UREOHP\
]WDNPLJUDFMNRQFHnWUXMVL
QD
1. 5R]Uy*QLDQLXZLHONRFLOLWHUZQD]ZDFKSOLNyZ
2. 8*\FLXVWDQGDUGyZ*,)GRZ\ZLHWODQLDOLWHU
3. Znaki narodowe.
3RGF]DVNRQZHUVMLQDOH*\
1. =DLQVWDORZDüLVNRQILJXURZDüHPXODWRUWHUPLQDOD;-Windows
2. =DLQVWDORZDüQDVHUZHU]H8QL[F]FLRQNLZVWDQGDUG]LHLVR-8859-2.
3. 8VWDZLüZUHSR]\WRULXPQD]Z\PRGXáyZLRGZRáDGRPRGXáyZQDPDáHOLWHU\
4. 3U]HJHQHURZDüFDáDSOLNDFM
ZURGRZLVNX8QL[IJHQP
5. 3U]HQLHüELQDUQLHELEOLRWHN
RELHNWRZ
6. 3U]HQLHüELEOLRWHNL3//ZIRUPDFLH3/7MDNRSOLNLWHkstowe,
7. 6NRPSLORZDüSRZVWDáHELEOLRWHNL3//– ten format zawiera zarówno tekst jak i kod
wykonyZDQ\1LHQDOH*\X*\ZDü3/;
8. 3U]HQRVLüSOLNL)0%MDNRSOLNLELQDUQH
$SOLNDFMLUDF]HMQLHQDOH*\SUyERZDüXUXFKDPLDüZURGRZLVNX0RWLIDQLWHNVWRZ\P
ponieZD*PRJSRMDZLüVL
Uy*QLFHZZ\JOG]LHMDNLFKQLJG\QLHE
G]LHP\RJOGDüZURGRZLVNu
WEB.