Fred van der Windt wrote:
I have a question about LE-compliant assembler programs: at our shop we
only write LE-compliant assembler programs.The programs must be able to
run in every environment used in the company: MVS batch, IMS and CICS.
Programs created using  the LE-provided macros (CEEENTRY, CEEDSA, CEEPPA
et al) normally allocate extra space on the LE-stack for temporary
variables. They cannot contain a WSA (Writable Static Area) because that
would make them non-reentrant and makes it impossible to use them in a
CICS transaction.

This poses no problems in most situations but sometimes we would like to
maintain a 'state' in a program that is saved between different calls to
the program within a transaction. This would be similar to COBOL
WORKING-STORAGE variables (as opposed to COBOL LOCAL-STORAGE variables
that behave exactly like the temporary variables on the LE stack in the
assembler programs) that are saved between different calls to the
program under the same transaction instance while different transactions
instances under CICS have there own copy of this storage.

I don't know how to achieve this behaviout in a LE-compliant assembler
module... I looked at PSECTs but I am not sure if this is the solution
to this problem or how to use them in a mixed language environment
(COBOL, PL/I and assembler).  Can anybody give nme a clue how I can
create and manage my 'instance-storage'?

Thanks,

Fred!

Why not use LE heap storage? Do a call to CEECRHP to
create a heap, then call CEEGTST to allocate an element
in the heap. Save the address of the element in one of
the two LE-provided user fields (call CEE3USR). This
heap storage is accessible by all programs in the run
unit, and persists across subroutine calls.

The related services are avaialable to all your
high level and LE-compliant Assembler programs.

<ad>
Sounds like you could use these classes at your place:

"Using LE Services in z/OS" - 3 days; multilingual
(Assembler, COBOL, PL/I, C); check out:

  http://www.trainersfriend.com/Language_Environment_courses/m512descr.htm


and this would seem to be useful:

"Secrets of InterLanguage Communication in z/OS" (3.5 days);
multilingual; check out:

  http://www.trainersfriend.com/Language_Environment_courses/m520descr.htm

</ad>


Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

  z/OS Application development made easier
    * Our classes include
       + How things work
       + Programming examples with realistic applications
       + Starter / skeleton code
       + Complete working programs
       + Useful utilities and subroutines
       + Tips and techniques

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to