IBM AS/400 manual Managing Dynamically-Allocated Storage, Part, 2 of

Models: AS/400

1 489
Download 489 pages 47.95 Kb
Page 146
Image 146
Figure 55 (Part

Managing Dynamically-Allocated Storage

*

-----------------------------------------------------------------

 

 

* Interface to the

CEEDSHP API (Discard Heap).

*

1)

HeapId

=

Id of the heap.

*

2)

*OMIT

=

The feedback parameter. Specifying *OMIT here

*

 

 

 

means that we will receive an exception from

*

 

 

 

the API if it cannot satisfy our request.

*

 

 

 

Since we do not monitor for it, the calling

*

 

 

 

procedure will receive the exception.

*

-----------------------------------------------------------------

 

 

D CEEDSHP

PR

 

D

HeapId

10I

0

D

Feedback

12A

OPTIONS(*OMIT)

 

*-----------------------------------------------------------------

 

 

* Global variables.

 

 

*-----------------------------------------------------------------

 

D HeapVars

DS

 

D

HeapId

10I

0

D

DynArr@

*

 

 

*-----------------------------------------------------------------

 

*Define the dynamic array. We code the number of elements

*as the maximum allowed, noting that no storage will actua￿lly

*be declared for this definition (because it is BASED).

 

*-----------------------------------------------------------------

 

D

DynArr

S

DIM(32767) BASED(DynArr@)

D

 

 

LIKE(DYNA_TYPE)

 

*-----------------------------------------------------------------

 

*Global to keep track of the current number of elements

*in the dynamic array.

*-----------------------------------------------------------------

 

D NumElems

S

10I 0 INZ(0)

*-----------------------------------------------------------------

 

*Initial number of elements that will be allocated for the￿

*array, and minimum number of elements that will be added

*to the array on subsequent allocations.

*-----------------------------------------------------------------

 

 

D INITALLOC

C

100

 

D SUBSALLOC

C

100

 

 

 

 

 

Figure 55 (Part

2 of 2).

Global variables and local prototypes for DYNARRAY

Figure 56 on page 123 shows the subprocedures in DYNARRAY.

122 ILE RPG for AS/400 Programmer's Guide

Page 146
Image 146
IBM AS/400 manual Managing Dynamically-Allocated Storage, on page 123 shows the subprocedures in DYNARRAY, Part, 2 of