IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Possible Abends for a tran when the region is coming down


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
murali3955

New User


Joined: 25 Nov 2009
Posts: 11
Location: Chennai

PostPosted: Tue Mar 02, 2010 8:58 pm
Reply with quote

I am facing AEIP abend for a transaction when the region is coming down. This tan runs 24X7. The tran tries to run when the CICS region is coming down which leads to this abend.

Please tell me possible abends for a transaction that might occur when the region is coming down. This would help me to make changes to program accordingly.

I will be grateful if someone gives me some idea on this.... icon_biggrin.gif
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Tue Mar 02, 2010 9:23 pm
Reply with quote

In the CICS Sample LIB (SDFHSAMP) for your version/release, review the sample Shutdown Assist programs "DFH$CESD", "DFHCESD" and "DFH0CESD".

Bill
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Tue Mar 02, 2010 10:52 pm
Reply with quote

murali3955 wrote:
I am facing AEIP abend for a transaction when the region is coming down. This tan runs 24X7. The tran tries to run when the CICS region is coming down which leads to this abend.
You could always check the CSA bits (CSAXSQ1 & CSAXSQ2) that indicates quiese in progress.....
Code:
   __________________________________________________________________________
                CICS EXECUTION STATUS
   __________________________________________________________________________
   (174)   CHARACTER       3    CSAXST             CICS EXECUTION STATUS
                                                   FLAGS
   (174)   BIT(8)          1     CSAXST1           CICS EXECUTION STATUS
            1...  ....            *
            .1..  ....            CSAXSTMC         CICS CONTROLLED SHUTDOWN..
                                                   ..IF CSAXSTM IS ALSO SET
            ..1.  ....            CSAXSTMI         CICS IMMEDIATE SHUTDOWN..
                                                   ..IF CSAXSTM IS ALSO SET
            ...1  ....            CSAXSTMX         CICS HAS BEEN CANCELLED
                                                   ..IF CSAXSTM IS ALSO SET
            ....  1...            *
            ....  .1..            CSAXSTM          CICS TERMINATION
            ....  ..1.            CSAXSEX          CICS EXECUTION
            ....  ...1            CSAXSI           CICS INITIALIZATION
   (175)   BIT(8)          1     CSAXST2           CICS EXECUTION STATUS
            1...  ....            *
            .1..  ....            *
            ..1.  ....            CSAXSQ2          2ND-STAGE OF QUIESCE
            ...1  ....            CSAXSQ1          1ST-STAGE OF QUIESCE
            ....  1...            *
            ....  .1..            CSAXSI3          3RD-STAGE INITIALIZATION
            ....  ..1.            CSAXSI2          2ND-STAGE INITIALIZATION
            ....  ...1            CSAXSI1          1ST-STAGE INITIALIZATION
   (176)   BIT(8)          1     CSAXST3           CICS EXECUTION STATUS
            1...  ....            *
            .1..  ....            *
            ..1.  ....            *
            ...1  ....            *
            ....  1...            *
            ....  .1..            *
            ....  ..1.            *
            ....  ...1            CSAXSINC         CICS INITIALIZATION
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Tue Mar 02, 2010 11:51 pm
Reply with quote

I like checking the CSA labels but unfortunately, the ADDRESS CSA API was removed with CICS/MVS 2.1.2 (HLL) and CICS/ESA 3.1.1 (Assembler).

Below, please find "GET2CSA", which you link-to with a 4-byte commarea and it will return the CSA-address in the commarea.

Upon return, R15 (Cobol Special Register RETURN-CODE) will equal 00 (success) 16 (address is X'00's) or 4095 (commarea length too short).

Code:

*PROCESS RENT
********
******** CAN EXECUTE IN USER-KEY WITHOUT ANY TROUBLE. WILL RETURN THE
******** ADDRESS OF THE 'CSA' (COMMON SYSTEMS AREA).
********
******** PROGRAM IS REENTRANT AND THREADSAFE AND IS DOWNWARD COMPATIBLE
******** TO CICS/ESA 3.1.1. REGARDLESS OF THE ENVIRONMENT, THE PPT
******** ENTRY CAN SAFELY SPECIFY:
********
******** COncurrency    : Threadsafe
********
         DFHAFCD TYPE=DSECT        AFCB-DSECT
COMDSECT DSECT                     COMMAREA-DSECT (R7)
         USING *,R7                INFORM ASSEMBLER
COMCSAAD DS    F                   CSA-ADDRESS
GET2CSA  DFHEIENT CODEREG=R3,DATAREG=R13,EIBREG=R11
         LA    R15,4095            SET 'BAD' RETURN-CODE
         LH    R1,EIBCALEN         PREPARE FOR 'CHI'
         CHI   R1,L'COMCSAAD       MINIMUM COMMAREA-LGTH?
         BL    CICSRETN            NO, RETURN TO CALLER
         L     R7,DFHEICAP         COMMAREA-ADDRESSABILITY
*
         DFHAFCD TYPE=LOCATE       GET CSA-ADDRESSABILITY (R15=DFLT)
*
         MVC   COMCSAAD,AFCSA-DFHAFCB(R15)
         NI    COMCSAAD,X'7F'      CLEAR TOP-BIT
         SLR   R15,R15             SET 'ALL IS WELL' RETURN-CODE
         ICM   R1,B'1111',COMCSAAD VALID CSA-ADDRESS?
         BNZ   CICSRETN            YES, RETURN WITH RC=00
         LA    R15,16              SET 'INVALID' RETURN-CODE
CICSRETN EQU   *
         DFHEIRET RCREG=R15        RETURN TO CALLER
         DFHREGS                   REGISTER-EQUATE MACRO
GET2CSA  AMODE 31
GET2CSA  RMODE ANY
         END   ,

Bill
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Wed Mar 03, 2010 12:16 am
Reply with quote

Quote:
Below, please find "GET2CSA", which you link-to with a 4-byte commarea and it will return the CSA-address in the commarea.

Upon return, R15 (Cobol Special Register RETURN-CODE) will equal 00 (success) 16 (address is X'00's) or 4095 (commarea length too short).
Nice touch, thanks.... icon_biggrin.gif
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Wed Mar 03, 2010 1:08 am
Reply with quote

A clarification -

CICS/MVS 2.1.2 was the LAST version/release to support the ADDRESS CSA API for High-Level languages and CICS/ESA 3.1.1 (sometimes known as The Hybrid) was the LAST version/release to support the ADDRESS CSA API for Assembler.

The API was removed entirely with the introduction CICS/ESA 3.2.1.

The replacement API to check the cics status is INQUIRE SYSTEM CICSSTATUS, which returns a binary-fullword of 180 (startup), 181 (active), 182 (firstquiese) and 183 (finalquiesce).

If the CICSSTATUS is either 182 or 183, the region is shutting down.

Mr. Bill

CICSSTATUS(cvda) returns a CVDA value identifying the current execution status of CICS. CVDA values are:
ACTIVE - CICS is fully active.
FINALQUIESCE - CICS is in the final quiesce stage of shutdown. Programs in the second stage of the program list table for shutdown (PLTSD) are run during this stage.
FIRSTQUIESCE - CICS is in the first quiesce stage of shutdown. Programs in the first stage of the PLTSD are run during this stage.
Back to top
View user's profile Send private message
murali3955

New User


Joined: 25 Nov 2009
Posts: 11
Location: Chennai

PostPosted: Thu Mar 04, 2010 6:31 pm
Reply with quote

Thank you all for your ideas. icon_biggrin.gif

I had already used checking region Status option by INQUIRE SYSTEM CICSSTATUS command. But i was unable to prove that the changes will work fine in Production.

I brought down the CICS region and tested the changes, but was unable to prove it. I have to test the changes and prove it before taking it to Production.

Please tell me some possible ways to test it.

Thanks.
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Thu Mar 04, 2010 8:26 pm
Reply with quote

First, you say the transaction runs 24/7, is it always running, waiting for something to wake it up and process something?
Or is it available 24/7, executed each time some data or such needs processing?
Either way, just put something in the PLTSD to cause it to process. If the program checks the status prior to starting its processing cycle, that should allow it to avoid any abends, but I'm not sure what will happen to the data it was ready to process.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Thu Mar 04, 2010 9:51 pm
Reply with quote

Have you spoken with your CICS Tech Services folks and/or CICS System programmer(s) so they can review the sample Shutdown Assist programs, which were posted earlier?

Does this transaction-id start itself up via an Interval value?

More information is needed....

Bill
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts How to 'Ping' a CICS region in JCL CICS 2
No new posts Open VSAM File in IMS DC Region - DFS... IMS DB/DC 0
No new posts Batch call online program, EXCI task ... CICS 3
No new posts CICS region is terminated abnormally ... CICS 2
No new posts No sysout coming in spool JCL & VSAM 4
Search our Forums:

Back to Top