When creating a tool which uses sub-lists, you must define the actions against the most significant object first.

For example if you want to process screen dynamics but this is dependant upon an attribute of the function definition, you must define the tool so it first processes Screen Function Headers and then calls a sub list to process the dynamic objects. It is not possible to define a tool which processes dynamics and calls a sub list to then read the function header for each record.

When the sub-list processes a different group to the caller list, it will either be to process a sub-set of objects, or to process child objects.

For example, a sub-set of objects would be processed if the caller list is processing a general group such as Screen Cycles and then calls a sub list to process a specific object group such as Screen Cycles – Paging Screens. If the caller list instead calls a sub list which processes a different group of objects entirely, e.g. Dynamic Screen Objects then this would be an example of processing child objects, as only those dynamics which belong to the cycle being processed in the caller list are processed by the sub list.

Sub lists can be shared by many CALL actions, but only when they comply to both order of precedence and sub-set/child group rules.

When you define a call to a sub-list to process Cycles, if the current list is also processing cycles then an additional option will become active so that the scope of processing can be defined.

The options are :

 

 

This Cycle only

The sub list will process the current cycle only.

This Cycle and Immediate Child Cycles

The sub list will process the current cycle plus any cycles that are immediate children of it – i.e. nested 1 level within.

This Cycle and All Nested Cycles

The sub list will process the current cycle and all cycles nested with in its boundaries.

Immediate Child Cycles Only

The sub list will NOT process the current cycle, only cycles that are immediate children of it – i.e. nested 1 level within.

Nested Cycles Only

The sub list will NOT process the current cycle, only cycles that are nested within its boundaries.

Please note that when the tool processes cycles, it will always walk the complete function structure from top to bottom. Where cycles are also processed in a sub list it will not then automatically skip them when it returns to the calling list. It may be necessary to define specific criteria for processing a cycle in the calling list to prevent nested cycles from being processed more than once.

Comment on this topic

Topic ID: 500254

Table of Contents

Index

Glossary

-Search-

Back