Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMMITMENT CONTROL IN ADVANTAGE PLEX for DB2/400 Yolanda Scholtz 18 November 2002 Session - 4E 15:15 - 16:00 EDGE EMEA Conference - 2002.

Similar presentations


Presentation on theme: "COMMITMENT CONTROL IN ADVANTAGE PLEX for DB2/400 Yolanda Scholtz 18 November 2002 Session - 4E 15:15 - 16:00 EDGE EMEA Conference - 2002."— Presentation transcript:

1 COMMITMENT CONTROL IN ADVANTAGE PLEX for DB2/400 Yolanda Scholtz 18 November 2002 Session - 4E 15:15 - 16:00 EDGE EMEA Conference - 2002

2 1 Agenda Overview Setting Up Commitment Control for DB2/400 Across Advantage Plex and Advantage 2E Switching Commitment Control On or Off Considerations Commitment Control Errors Additional Notes Questions

3 2 Operations to run optimally Reliable data within Information Systems Improving / ensuring data integrity Reduce time spent on correcting data Need & Benefits

4 3 Commitment Control is a database facility that enables a group of database changes to be treated as a single transaction, regardless of the files being changed. Thus you can ensure that either ALL or NONE of the changes are performed. Definition

5 4 Illustration Parent Child 1 Child 2 Calls Updates ERROR Commit Changes

6 5 Illustration Parent Child 1 Child 2 Calls Updates Rollback Occurred

7 6 Setting up Commitment Control Parent Commit / Rollback Child 1 Child 2 Child 3

8 7 Setting Up Commitment Control for DB2/400 –Framework –Implementation Logic in the Patterns Commitment Control Functions Inheritance Development Standards Business Functions Setting up Commitment Control

9 8 Framework Commit Group –Parent –Child –None Commit / Rollback Journal OS/400 Physical Files

10 9 A Commit Group is a group of one or more data access functions within which all database changes are treated as a single transaction. Define a commit group using the triple FNC Commit SYS verb NoneParentChild Commit Group

11 10 FNC Commit SYS None None is the default value if no commit property is specified. It means that the function will not be part of a commit group. Commit groups should be specified only where they are necessary, otherwise they serve only to decrease the performance of the function. None

12 11 FNC Commit SYS Parent This server function belongs to a commit group and will be generated with the code that starts commitment control (unless another parent in the commit group has already started it). A Commit group must have at lease one parent. Parent

13 12 FNC Commit SYS Child This server function belongs to a commit group. A commit group can have one, many, or no child functions. Child

14 13 Commit and Rollback statements in action diagram –If not, the results will be unpredictable - any database changes will remain uncommitted until another program executes a commit or rollback operation. Commit / Rollback

15 14 Ensure that the OS/400 physical files being updated are being journalled. For information on journal management, refer to the AS/400 Advanced Backup and Recovery Guide. Journal Physical Files

16 15 Pattern –Function Shell Functions –Commit Start –Commit End Inheritance Business functions Implementation

17 16 Function Shell changes : –Local Variable and fields Commitment –Control Status –Control On –Meta coding to interrogate triples of functions to determine if Commitment Control is required –Initialise –Terminate Go SubCommit –Additional Subroutine(Commit) –Rollback message Pattern

18 17 FunctionShell

19 18 FunctionShell

20 19 FunctionShell

21 20 Purpose: To ensure that STRCMTCTL command is executed (this is done automatically due to triple commit SYS parent) Coding: None Commit Start

22 21 Commit Start

23 22 Purpose: –To ensure that ENDCMTCTL command is executed (this is done automatically due to triple commit SYS parent) –To execute COMIT / ROLLBACK statement. (This is done exclusively in program) Commit End

24 23 Commit End

25 24 The FunctionShell is inherited by ALL functions Commit function inherits from main function Data Access function Commit - –auto created in model through inheritance –scoped to data access function Inheritance

26 25 Naming Convention –MyEntity.MyFunction Commit Syntax Model Editor Action Diagram Development Standards

27 26 Model Editor MyFunctioncomprisesMyFunction Commit MyFunction Commit is aMyFunction MyFunction Commit Commit SysChild

28 27 Action Diagram Condition calls to functions Coding may be copied to the desired place in the action diagram where a function call is done.

29 28 BENEFITS of Common Sequence –Remove monotony of coding the conditional call construct –Eliminate errors in coding the conditional call construct –To ensure standardization Development Standards

30 29 Process Group –Set returning status (as it is always normal) Control Commit / Rollback –via Commit Subroutine –Commit Subroutine always in Terminate Action Diagram

31 30 Either function (Plex or 2E) may contain the main commit point Both Plex and 2E functions may be specified as Child/Slave within the same Commit Group Only one Parent/Master may be defined Across Advantage Plex and 2E

32 31 Across Advantage Plex and 2E

33 32 As easy as 1... Set Triple COMMIT SYS (parent / none) 2...Gen & Build this main function 3...Start / End Journalling on affected OS/400 files On / Off Switch

34 33 Performance Replace default data access functions –In EDITDETAIL, EDITDIALOG, ect. Make function a Parent or Child Undefine the deleterow Replace with conditional coding Reason: the default deleterow is automatically called in these functions (inheritance). Considerations

35 34 If Client is parent –set Panel Properties =dialog to prevent another MDI child being executed simultaneously –test returned status and set returning status To ensure that rollback occurs if data access fails –Call Commit Start in initialization section STRCMTCTL auto executed if server parent –Call Commit End for Commit / Rollback auto executed if server parent Considerations

36 35 Implementation timing –During vs After Development Identification of Business Functions Journal OS/400 Physical Files Development effort Test entire system Room for Error Impact on system maintenance and support Model Administration Integration impact Considerations

37 36 unexpected Return Code = 01217. –Member EntityPF not journaled to journal *N Function check. CPF8351 unmonitored by FTN0001S at statement 845, instruction X'0179’. –Commitment control already active. Commitment Control Errors

38 37 Can retrieve data from file during process Can update same record twice Cannot make changes to record externally Terminate only executed on close Commit desired business function, row or grid Files may be journalled and updated by functions NOT under commitment control If the function is under commitment control the files being referenced for update MUST be journalled Additional Notes

39 38 Questions

40 39 Questions


Download ppt "COMMITMENT CONTROL IN ADVANTAGE PLEX for DB2/400 Yolanda Scholtz 18 November 2002 Session - 4E 15:15 - 16:00 EDGE EMEA Conference - 2002."

Similar presentations


Ads by Google