How can I code a #WAIT macro in a CA IDMS assembler program to wait on a mixture of internal and external z/OS ECBs?
search cancel

How can I code a #WAIT macro in a CA IDMS assembler program to wait on a mixture of internal and external z/OS ECBs?

book

Article ID: 22457

calendar_today

Updated On:

Products

IDMS IDMS - Database

Issue/Introduction

A CA IDMS assembler program needs to wait on an external z/OS ECB and an internal IDMS ECB (e.g. a #SETIME POST ECB). An external ECB is a single fullword that will be posted by a z/OS system task. An internal CA-IDMS ECB is 3 fullwords and posted by an internal IDMS task.

How can I code a #WAIT macro to do this?

Environment

Release: All supported releases.

Resolution

To wait for multiple ECBs the program needs to use the #WAIT macro and an ECB list.

The wait should be coded like this:

   #WAIT ECBLIST=Ecblist1  

The ECB list would be defined as follows:

Ecblist1 DS 0F
         DC A(ecb1) ecb1 is the 1 fullword external ECB address
         DC F'0'    no flag on first byte indicates z/OS external ECB 
         DC A(ecb2) ecb2 is the 3 fullword internal ECB address
         DC X'E0'   X'80' flag indicate end of list
*                   X'60' flag indicates some kind of internal ECB
         DC XL3'00'

Additional Information

For a description of the format of the ECB list, see dsect #ELEDS. For a description of the 3 fullword CA IDMS ECB see dsect #ECBDS.