170 likes | 463 Views
New In PDM. Peter Pravda March 2010. Agenda. Parallel Development Manager Principles Why PDM? Interfaces Terminology PDM process (building, editing and merging a WIP file) What's new in PDM? Examples. QA. DEV. sub1. sub2. main. sub3. sub4.
E N D
New In PDM Peter Pravda March 2010
Agenda • Parallel Development Manager Principles • Why PDM? • Interfaces • Terminology • PDM process (building, editing and merging a WIP file) • What's new in PDM? • Examples
QA DEV sub1 sub2 main sub3 sub4 Why PDM?Parallel Development Manager Intro • Thousands of elements • Multiple programmers working on the same element • Parallel inventory mapping
Interfaces • Foreground • Invoked using CLIST sample BC1GCLS4 • Batch • Sample job BC1GJCL2 • SCL statements BUILD WIP and MERGE
PDM terminology • Root = The base program with which programmers are working • Derivation 1 (DV1) = A modified copy of the root • Derivation 2 (DV2) = Another modified copy of the Root, optional • Work-In-Process file (WIP) = A human-readable intermediate file identifying insertions and deletions from both DV1 and DV2 • Merge output = The result, root + DV1 & DV2 changes
DV1 DV2 Merge output ROOT PDM terminologyDiagram 1
DV1 DV2 Merge output ROOT PDM terminologyDiagram 2 - conflict
WIP file example • WIP file LRECL = Root LRECL + 8 • Header with statistics • Source code with annotations • % for changes (I/D = inserts/deletes) • ? for conflicts (editing necessary) • Complexity Factor • 0 no changes made • 1 changes made, but no conflicts • 2-5 some conflicts found
PDM process • Building WIP file • Editing WIP file • Merging WIP file • Add the merged output to Endevor
Merging the WIP file • Removes the WIP header (and other commented lines) • Inserts and deletes lines as necessary • Removes the WIP annotations
PDM EnhancementNew in PDM • Introduced in r12 SP3 • PDM can now merge directly into Endevor • Creates two separate levels! • Preserves original CCID, comment, date/time and userID of both derivations • Updated SCL for batch PDM • PDM can be invoked directly from Quick-Edit • PD command from Quick-Edit Primary panel
PDM EnhancementSync checking • The output element maps to ROOT • Two new change levels are created: • 1st new level with DV1 changes • 2nd new level with DV1+DV2 changes • The output element maps to DV1 • One new change level is created: • A new level with DV1+DV2 changes • The output element not mapping to ROOT or DV1 • Synchronization error • Can be overridden with option SYNC NDVR OUTPUT
PDM example 1Live demo • ROOT at PRD/4 • DV1 at DEV/1, sub1 • DV2 at DEV/1, sub2 • Merge output into PRD/3 • Let’s try it
1.15 1.14 1.13 1.12 1.11 1.10 … PDM example 2Remove back level of an element • An element at level 1.15 (base level 1.00 + 15 change levels) • You want to remove change level 1.11, leaving levels 1.12 through 1.15 in the program • This level contains 100 inserts, 40 deletes
PDM example 2Remove back level of an element (continued) 1.16 • The result after merge and add to Endevor: • The new version of the element is 1.16 • Level 1.16 contains 40 inserts, 100 deletes… the opposite of change level 1.11 (100 inserts, 40 deletes) 1.15 DV1 1.14 1.13 1.12 1.11 ROOT 1.10 DV2 …
More resources • Parallel Development Option Guide • Parallel Development WIP Merge Enhancement • Available on support.ca.com