z/OS JES2 Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Checkpoint control blocks for JQEs

z/OS JES2 Installation Exits
SA32-0995-00

JES2 provides different types of JQEs or JQAs to your exit and processes them in differing ways. The types are:
  • Real JQE. Your exit receives a read or update mode JQE or JQA.
  • Read-mode JQA. Your exit receives an artificial JQE that is a temporary block of storage. This storage contains:
    • Almost the same information as the real JQE.
    • Information from the JQX (new in Version 2 Release 4).
    • Information from BERTs (another checkpointed area).
  • Update-mode JQA. Your exit receives an artificial JQE that is a temporary block of storage. This storage is similar to the read-mode JQA. JES2 ensures the integrity of this JQA and manages the storage that each JQA occupies.
  • Work area that contains a prototype JQE. In certain circumstances, your exit may be passed the address of a work area that contains a working copy of a JQE. See Exit 47 for more information.
Exits normally use JQEs in read mode (data is extracted or pointed to when calling service routines) or in write mode (data in the JQE is modified). JES2 exit writers need to take the following actions when they use a particular JQE or JQA as the JQE= keyword value on the $DOGJQE macro:
  • If the JQE is needed only to access data and that data is within the bounds of the original real JQE, only the address of the real JQE is needed. Regardless of what IBM® has provided as the JQE address, use the following action to get the address of the real JQE:
    $DOGJQE ACTION=GETJQEADDR,CBADDR=jqe
  • If the JQE is needed only to access data and that data is beyond the bounds of the original real JQE (that is, it is stored in fields where the first three characters of the field name are other than JQE), a read mode JQA is needed. Regardless of what IBM has provided as the JQE address, use the following action to get the address of a read mode JQA. The address of the read mode is returned in R0.
    $DOGJQE ACTION=(FETCH,READ),JQE=jqe
    After you finish, use the following action to free the memory that is used for the JQA (x is the address that is returned from the first $DOGJQE call):
    $DOGJQE ACTION=RETURN,CBADDR=x
  • If the JQE is needed in write mode (the fields to be changed are either within the bounds or not within the bounds of the original JQE), use the following action to get the address of an update mode JQE, regardless of what IBM has provided as the JQE address. The address of the JQA is returned in R0. Make all changes to fields in the update mode JQA.
    $DOGJQE ACTION=(FETCH,UPDATE),JQE=jqe
    After you finish, use the following action to free the memory that is used for JQA (x is the address from the first $DOGJQE call) and to ensure that the changes in the JQA get propagated to the real JQE, the JQX, and the BERT area.
    $DOGJQE ACTION=RETURN,CBADDR=x

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014