CACHELIST and CACHELISTEND


8.7B

 

The CACHELIST and CACHELISTEND instructions identify the beginning and ending points for a group of CREATE statements. This grouping of CREATE statements enables increased performance when using the Sunbelt Application Server. The instruction uses the following format:

 

 

CACHELIST

 

(Various Create Instructions)

 

CACHELISTEND

Flags Affected: NONE

Note the following:

  1. The group of CREATE statements is assigned a group ID that is stored in the client cache when used. When an identical CACHELIST group is used in any program, it is retrieved from the client cache. This provides improved performance for programs that implement individual CREATE operations and are executed using the Application Server PLBSERVE runtime.

  2. The CACHELIST and CACHELISTEND instructions are ignored for all runtimes except the PLBSERVE Application Server client runtimes.

  3. The only instructions allowed between a CACHELIST and CACHELISTEND are CREATEs, Comments, Conditional Compiler directives, and the INCLUDE directive.

  4. All objects that support a CREATE operation may be included in a CACHELIST/CACHELISTEND with the exception of AUTOMATION, DIALOG, VARIANT, MENU, SUBMENU, and FLOATMENU.

  5. The following rules apply to CREATE operations included in a CACHELIST/CACHELISTEND grouping:

  6. A.   If a WINDOW object is included in the CACHELIST group, it must be the first CREATE operation. In this case, all other CREATE operations CACHELIST group must reference this WINDOW.

    B.   If a WINDOW object in not specified in the CACHELIST group, all CREATE statements must reference the same WINDOW object or not reference any WINDOW object. The requirement is that all CREATE operations must be executed for the same window whether specified or not. For example:

     

    WIN

    WINDOW

     

    ET

    EDITTEXT

     

    ET1

    EDITTEXT

     

    .

     

     

     

    CACHELIST

     

     

    CREATE

    WIN=1:20:5:50

     

    CREATE

    WIN;ET=1:2:5:10

     

    CREATE

    WIN;ET1=6:7:5:10

     

    CACHELISTEND

     

    .

     

     

     

    CACHELIST

     

     

    CREATE

    ET=1:2:5:10

     

    CREATE

    ET1=6:7:5:10

     

    CACHELISTEND

     

    .

     

     

     

    CACHELIST

     

     

    CREATE

    WIN;ET=1:2:5:10

     

    CREATE

    WIN;ET1=6:7:5:10

     

    CREATE

    WIN=1:20:5:50 // Error

     

    CACHELISTEND

     

     

    C.   If a WINDOW object array is used, all variably indexed references can only reference the same WINDOW object array. In addition, it is not permitted to mix variably indexed WINDOW object array references and statically indexed WINDOW object array references in the same CREATE CACHELIST group. For example

     

    WINARR

    WINDOW

    (3)

    ET

    EDITTEXT

     

    ET1

    EDITTEXT

     

    NDX2

    FORM

    "2"

    .

     

     

     

    CREATE

    WINARR(2)=1:20:5:50

    .

     

     

     

    CACHELIST

     

     

    CREATE

    WINARR(NDX2);ET=1:2:5:10

     

    CREATE

    WINARR(NDX2);ET1=6:7:5:10

     

    CACHELISTEND

     

    .

     

     

     

    CACHELIST

     

     

    CREATE

    WINARR(2);ET=1:2:5:10

     

    CREATE

    WINARR(2);ET1=6:7:5:10

     

    CACHELISTEND

     

    .

     

     

     

    CACHELIST

     

     

    CREATE

    WINARR(NDX2);ET=1:2:5:10

     

    CREATE

    WINARR(2);ET1=6:7:5:10 // Error

     

    CACHELISTEND

     

     

  1. Nested CACHELIST/CACHELISTEND operations are not allowed.

  2. The CACHELIST/CACHELISTEND group identification is determined using the RSA Data Security, Inc. MD5 Message-Digest Algorithm.

 

 

See Also: Program Control Instructions

 



PL/B Language Reference BREAK and CONTINUE CALL and CALLS