Advantage CA-ADS for CA-IDMS Application Performance .

Uploaded on:
Session Abstract. The Advantage
Slide 1

Advantage ™ CA-ADS ® for CA-IDMS ® Application Performance UKIUA September 22, 2004

Slide 2

Session Abstract The Advantage ™ CA-ADS ® for CA-IDMS ® group of apparatuses is an effective and quick approach to make runtime applications. Productivity and execution are essential contemplations. This class will talk about variables that influence runtime execution.

Slide 3

Agenda Advantage CA-ADS Family of Tools Structure and Performance: The Connection Dialog Coding Strategies Application Levels and Extended Run-Units Locking System Considerations

Slide 4

Family of Advantage CA-ADS Tools

Slide 5

Structure and Performance Load module size is essential Applications (see connection) Dialogs ( see connection) Maps Limit extent of work Reduce repetition Eliminate pointless pieces Global records with unneeded components Global subschemas Overlarge parts Dialog code that can be taken care of naturally (more later)

Slide 6

Application-level Flow of Control Application-characterized capacities drive Control by means of capacity keys or \'Execute Next Function\' May dispose of excess code Easier upkeep Can give progressively assembled menus Prototyping device Can limit interface levels Optional apar 86 (GS39792) for security check when utilizing EXECUTE NEXT FUNCTION

Slide 7

Determining the Response

Slide 8

"Exchanging" Application Split expansive applications into sensible pieces Build new "subset" applications Use utilitarian divisions Build another "Exchanging" control application Run from essential word reference or CDMSLIB GET SCRATCH for next errand code, or utilize worldwide rec SET new dictname LEAVE ADS NEXT TASK

Slide 9

Map Design Site or application benchmarks control measure: header & message positions, control scratch definitions, reactions Number of fields per outline to exchange offs: information stream length, intrudes on, simplicity of perception Use Automatic Editing (at whatever point conceivable) Use Pageable Maps (when fitting) Retrieval just Manage page works accordingly decrease scratch use

Slide 10

SCRATCH Records For brief stockpiling Used to move information not in worldwide records Trades core calls (I/O) for capacity pool utilize Can be put into XA stockpiling If sum fluctuates incredibly, can spare heaps of capacity Requires coding exertion Great for variable quantities of records regardless of the possibility that got to arbitrarily

Slide 11

Subschema Size Subschema estimate impacts stockpiling for: IB50, VB50 (Fixed/variable subschema square) $*$CURCY (Currency square) FDB (SSAN Table) RAT (Ready Area table) Application-particular subschemas are ideal

Slide 12

Ready Area Table (RAT) One for every discourse procedure application string Less stockpiling sway for customized subschemas Area name (every range in subschema) \'Prepared All\' banner: Ready All, Noready Mode: Explicit, subs default, shared recovery default Flag demonstrates prepared mode (last charge for zone)

Slide 13

Agenda Advantage CA-ADS Family of Tools Structure and Performance: The Connection Dialog Coding Strategies Application Levels and Extended Run-Units Locking System Considerations

Slide 14

Dialog Standards Use image table amid testing, not underway Use symptomatic tables constantly unless extremely stable Limit exchange size to 50k at whatever point conceivable Limit exchanges to one capacity (alter, count, redesign) Minimize work record stockpiling Perform proficient altering Reduce blunder dealing with code Eliminate repetitive code with normal schedules Built-in capacities, subroutines, Mapless discoursed ADSA reaction control: Default, AGR-AID-BYTE Efficient database get to

Slide 15

WORK Records Tailored for every exchange Avoids squandered cradle space Allows for simple exchange alteration Filler ought to be utilized just if the discourse is powerful New exchanges ought to have one work record Some work records might be shared Global records require Filler (squander) Hopefully almost no Filler in database records

Slide 16

Efficient Editing of administrator information midpoints 1/3 of handling Map alters wipe out a lot of this exchange alter code Edit tables approve input Code tables decipher values Edit modules organize input/yield information Automatic altering sets mistake banners, characteristics, messages Dialog code: social alters (delineate discourse fields) Execute On Edit Error Allows alter of different fields Easy for client, code must check IN ERROR Dialog altering is more adaptable, more costly

Slide 17

Checking ERROR-STATUS Use AUTOSTATUS to cutoff blunder statuses returned Use ALLOWING for particular mistake statuses Modify the status definition record to gather statuses as required. (level-88 for scope of qualities) AUTOSTATUS=NO implies that discourse code must check for all statuses that a specific procedure summon can return

Slide 18


Slide 19

Eliminate Redundant Code Subroutines If code is utilized more than 2 - 3 times in process Names restricted to eight characters, begin with 2-digit climbing number for less demanding support. Incorporate Modules Write standard schedules incorporated into numerous exchanges CA-provided or client composed BIFs Eliminate and unify repetitive or complex code. Dates (Today, tomorrow, CGDATE, and so on.) Arithmetic (Abs esteem, reverse sign, trig, and so on.) String (Concat, Substr, Replace, and so on.) User-composed

Slide 20

Database Access Largest effect on reaction time Test route: Advantage ™ CA-OLQ ® Online Query for CA-IDMS ® , Advantage ™ CA-IDMS ® Database DML Online Option, OCF Avoid zone clears, totaling, strolling long sets Use group employments for long or wasteful get to Physical database tuning imperative Maintain files: vagrants, estimating Monitor insights: decrease calc/by means of floods, cradles Avoid OOAK records that possess high movement sets

Slide 21

Agenda Advantage CA-ADS Family of Tools Structure and Performance: The Connection Dialog Coding Strategies Application Levels and Extended Run-Units Locking System Considerations

Slide 22

Application Thread List of agent exchanges at a given minute amid execution A discourse gets to be distinctly agent when it gets handling control A capacity or discourse gets to be non-agent when it passes control to a more elevated amount capacity or discourse (counting a duplicate of itself) All capacities and exchanges get to be non-agent when control goes out of the application

Slide 23

Application Levels Top level set up by first capacity or exchange Some summons build up lower levels Invoke Link SYSGEN default is ten level greatest Attempt to surpass most extreme causes abend Link levels take up extra simultaneous stockpiling Multiple connection levels can be exceptionally hard to troubleshoot Multiple levels can bring about holds up and gridlocks

Slide 24


Slide 25

Invoke/Return Command

Slide 26

Link/Return Command LINK

Slide 27

Extended Run-Units Link to exchange (premap) with no subschema Link to exchange (premap) with indistinguishable construction & subschema Link to client program If RATs indicate equivalent or less prohibitive use (for every zone), then broaden Potential for holds up/stops May lessen capacity, no subschema duplication

Slide 28

Extended Run-Unit Implications Currencies go to lower level discourse, reestablished on return Currencies perhaps go to client programs Record secures upper-level discourse not discharged If bring down level program opens exchange, halt conceivable. Dodge gridlock by Issue Commit preceding Link (can\'t rollback) Pass Subschema-ctrl to client program, issue no Bind or Finish in client program

Slide 29

LINK NOSAVE is quicker than spare/reestablish Can be utilized as a part of a Retrieval Nolock discourse to LINK to an upgrade exchange Currencies from before the connection are not spared Currencies on come back from Link Nosave If run-unit is expanded, monetary standards are \'passed upward\' Else, monetary standards are instated

Slide 30

Agenda Advantage CA-ADS Family of Tools Structure and Performance: The Connection Dialog Coding Strategies Application Levels and Extended Run-Units Locking System Considerations

Slide 31

Usage Mode Restrictions

Slide 32

RETRIEVAL NOLOCK Option Allowed by parameter on the SYSTEM explanation Effective for discoursed with no database redesign All subs regions prepared for recovery, in all procedures Implemented by exchange Dialog Options screen in ADSC Specify RETRIEVAL LOCK: NO Saves stockpiling for locking control Improves execution May bring about \'messy peruses\'

Slide 33

Locking Within the Run-Unit Set bolts unequivocally for the length of R-U KEEP order or catchphrase (shared bolt) KEEP EXCLUSIVE (selective bolt) Locks set verifiably by prepared mode & DML Subschema default for territory Default: shared recovery Area locks (NL, IS, IX, S, U, UIX, X, XR) Row locks Shared (upon read) empower recovery, not overhaul EXclusive (upon upgrade) counteracts different get to Area S (ensured recovery) = S bolt on each record Area X (elite) = X bolt on each column

Slide 34

Locking Across Run-Units Keep Longterm (Notify) Lock-alternatives Can be utilized for single-threading Two regular uses amid a pseudo-chat Gain select control of an as often as possible overhauled record Monitor overhauls to at times upgraded records Keep Longterm <longterm-id> RELEASE If bolt as of now discharged, mistake status 1521 is returned Releases all long haul locks appended to lterm Does not give back a non-zero blunder status if no locks held Consider utilizing Notify Create a work field to hold the warning Test against the notice field Code case in connection

Slide 35

Premap Process: KEEP LONGTERM LOCK-ID EXCLUSIVE CUSTOMER. Show. Reaction Process: MODIFY CUSTOMER. KEEP LONGTERM LOCK-ID RELEASE. Show MSG TEXT \'Client Modified\'. Keep Access From Other Terminals

Slide 36

KEEP LONGTERM Considerations Lock is appended to the sensible terminal (LTERM) NOT discharged by COMMIT Release regularly overlooked when the client closes down by means of DCMT V LTERM <ltermid> RESOURCE DELETE. Overseen by bolt ID A 1-16-character consistent in single quotes A 1-16 byte variable field containing the lo

View more...