3rd Annual Plex/2E Worldwide Users Conference Page based on Title Slide from Slide Layout palette....
-
Upload
timothy-hugh -
Category
Documents
-
view
224 -
download
2
Transcript of 3rd Annual Plex/2E Worldwide Users Conference Page based on Title Slide from Slide Layout palette....
3rd Annual Plex/2E Worldwide Users Conference
14A2E Data Model Cleanup
Darryl MillingtonHawkBridge Pty Ltd
September 21, 2007
Session Abstract
> There are many reasons for 2E data model cleanup, yet many developers often are unaware how to go about it.
> This session will provide some technical tips and techniques on accomplishing this in order to ensure performance and consistency for your generated 2E applications.
2 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
Speaker Bio
> Darryl has worked as a CA 2E developer since 1988 travelling extensively as an independent consultant throughout Australia, New Zealand, USA, UK and Asia.
> He is a regular speaker at CA conferences and has been speaking on CA 2E-related topics since 1991.
3 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
Session Agenda
> Why Cleanup
> Benefits for a Cleanup
> What do you Cleanup
> How do you Cleanup
> Measuring Cleanup Success
> Q&A
4 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
5 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
Why Cleanup
> 10+ years of development in a single data model by many people
> Data models contain large numbers of redundant, retired and superceded objects
> Longer timeframes and higher costs to maintain objects no longer required and used
> Size of data models impacts performance of developers and increases generation times
6 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
Benefits for a Cleanup
> Data model size will be greatly reduced
> Lower ongoing project costs and timeframes
> Better quality documentation and understanding of development environment
> More accurate impact assessments and development estimates
7 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
What do you Cleanup
> Job Lists
> Model Object Lists
> Fields
> Conditions
> Files
> Access Paths
> Functions
> Action Diagrams
8 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
How do you Cleanup
> Step 1: Save a copy of the data model before cleanup so that you can recover from deleting incorrect objects
> Step 2: Rebuild *ALLOBJ model object list using: WARNING: Do not perform this on Change Control Models
CLRPFM YMDLOBJRFP
CALL YLODOBJH1I
> Step 3: Rebuild data model *USRSPC object(s) using: YDLTOBJTBL
9 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
How do you Cleanup
> Step 4: Remove data model inconsistencies: YCHKMDL in *UPDATE mode
> Step 5: Verify and fix data model consistency: YCHKMDL in *ANALYZE mode
> Step 6: Remove unwanted Job Lists: RMVM on all the YJOBLST* files in the data model
> Step 7: Remove unwanted Model Object Lists: YWRKMDLLST and option 4
10 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
How do you Cleanup
> Step 8: Remove ALL commented-out action diagram code HawkBridge have a custom program for this
> Step 9: Delete all unreferenced fields Y2 USER(*DSNR) OPNACC(*NO)
F7, F11 and Option D
> Step 10: Delete all unreferenced internal functions: YDOCURF OBJTYP(*FUN) OUTLST(MYLST)
YFLTMDLLST MDLLST(MYLST) GENATR(*INTFUN)
YEXCMDLLST MDLLST(MYLST) ERRLVL(*NOMAX) RQSDTA('YDLTMDLVSN OBJSGT(&Y@)')
11 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
How do you Cleanup
> Step 11: Delete all unreferenced non-current versions: YBLDMDLLST OBJNAM((*ALL *ALL *FUN)) MDLLST(MYLST)
CUROBJ(*NO)
YFLTMDLLST MDLLST(MYLST) CUROBJ(*NO)
YEXCMDLLST MDLLST(MYLST) ERRLVL(*NOMAX) RQSDTA('YDLTMDLVSN OBJSGT(&Y@)')
> Step 12: Loop back to Step 9 until no objects deleted
> Step 13: Delete all unreferenced access paths & arrays: YDOCURF OBJTYP(*ACP *ARR) OUTLST(MYLST)
YWRKMDLLST and option 24
12 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
How do you Cleanup
> Step 14: Delete all unreferenced conditions: YDOCURF OBJTYP(*CND) OUTLST(MYLST)
YFLTMDLLST FILTER(*OMIT) MDLLST(MYLST) OBJNAM((*ALL *ALL *CND)) OBJATR(VAL)
YFLTMDLLST FILTER(*OMIT) MDLLST(MYLST) OBJNAM((*ALL '*ALL values' *CND)) OBJATR(LST)
YWRKMDLLST and option 24
13 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
How do you Cleanup
> Step 15: Delete unused files: SELECT T01.OBJATR, T01.FIL FROM YFILDTARFP T01
WHERE T01.@@FIL NOT IN (SELECT T02.@@OBJ FROM YRELDTARFP T02 WHERE T02.RELCDE <> '005') AND T01.@@FIL NOT IN (SELECT T03.@@FIL FROM YMSGDTARFP T03)
Y2 USER(*DSNR) OPNACC(*NO)
’Rel Lvl’ = ’DFN’
Search for file defined as relation and use Option D
14 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
Measuring Cleanup Success
> Run the measures before and after cleanup
> Summarise Model Objects SELECT OBJTYP, OBJATR, COUNT(*) FROM YMDLOBJRFP
GROUP BY OBJTYP, OBJATR ORDER BY OBJTYP, OBJATR
> Summarise Function Complexity SELECT COUNT(*) FROM YMSGACTRFP ACT WHERE
ACT.ELMTYP = 'CND‘ AND ACT.@@ELM >= 1000000 AND ACT.@@SUB2 >= 0
> Summarise Model Library Size WRKLIBPDM and F14
Questions and Answers
15 20 September 2007 6B - Picture This! Using 2E with Graphical Tools Copyright © 2007 CA
3rd Annual Plex/2E Worldwide Users Conference
6BPicture This! Using 2E with Graphical Tools
Darryl MillingtonHawkBridge Pty Ltd
September 20, 2007