CICS global user exit XFCSREQC



Support for CICS/ESA, CICS/TS & Transaction Gateway, CICS Configuration Manager and CICS Performance Analyzer

CICS global user exit XFCSREQC

Postby anithak » Mon Nov 09, 2015 3:02 pm

I was trying to enable the CICS file control user exit program XFCSREQC (invoked after file open/close/enable/disable), via a driver program written in COBOL, and am facing program abend in DFHFCFS. Could someone please help me with this?


Please refer below for more details -

Versions:
---------
CICS Transaction Server Version: 4.2.0
z/OS version : 1.13
COBOL compiler : IBM Enterprise COBOL for z/OS 4.2.0


1. Used the IBM provided sample exit CICSTS42.CICS.SDFHSAMP(DFH$REQC) as model, and changed the references to 'DFH$REQC' as references to 'MYEXIT'.
2. Copied the above member into a private library and renamed it to MYEXIT
3. Assembled and linkedited MYEXIT using a proc modeled after DFHEITAL of CICSTS42.CICS.SDFHPROC
4. Wrote a driver program in COBOL named MYDRVR, relevant code is given below -

   WORKING-STORAGE SECTION.                       
   77  WS-GALEN PIC S9(8) COMP VALUE 168.         
   01  WS-GAREA PIC X(168)     VALUE SPACES.     
   ...
   ......
   EXEC CICS                                                   
        ENABLE PROGRAM('MYEXIT') EXIT('XFCSREQC')           
        GALENGTH(WS-GALEN) NOHANDLE                           
   END-EXEC.                                                   
   EXEC CICS                                                   
        EXTRACT EXIT PROGRAM('MYEXIT')                       
        GASET(WS-GAREA)                                       
        GALENGTH(WS-GALEN) NOHANDLE                           
   END-EXEC.                                                   
   EXEC CICS                                                   
        ENABLE PROGRAM('MYEXIT')                             
        START NOHANDLE                                         
   END-EXEC.                                                   
   .....
   ...

   EXEC CICS                                 
        SET FILE('MYFL') OPEN ENABLED       
   END-EXEC.                                 
   ....
   .....
   EXEC CICS                                           
        SET FILE('MYFL') CLOSED DISABLED               
   END-EXEC.                                           
   ....
   .....
   EXEC CICS                           
        DISABLE PROGRAM('MYEXIT')   
        STOP NOHANDLE                 
   END-EXEC.                           
   ....
   ......

5. Compiled and linkedited the driver program using IBM Enterprise COBOL for z/OS 4.2.0. Pre-compile and compile steps are given below -
       //TRANSL   EXEC PGM=DFHECP1$,REGION=4096K,PARM='COBOL2,SP,DEBUG'
   //COMPILE  EXEC PGM=IGYCRCTL,REGION=4096K,                           
   //    PARM='NODYNAM,LIB,OBJECT,RENT,APOST,LIST,TEST(SYM),NOOFFSET,MAP'
   
6. Both the driver program, and the exit are assembled/link-edited with AMODE 31, RMODE ANY
7. Both the driver program, and the exit are defined with CONCURRENCY(THREADSAFE) in the CICS region
8. Both the driver program, and the exit are defined with EXECKEY(CICS) in the CICS region and also made sure that there is no parameter value in the region startup, that overrides this.
9. The file used is a KSDS, and is defined in the FCT with all the possible access rights set to be true
10. MYEXIT is NOT assembled and linkedited using LE option.
11. Resource definitions on the CICS region are as follows -
Transaction:
------------
   Tra(TRA1) Pri( 001 ) Pro(MYDRVR ) Tcl( DFHTCL00 ) Ena Sta
              Prf(DFHCICST) Uda Any Iso               Bac Wai
Driver program:
---------------
   Prog(MYDRVR ) Leng(0000028464) Cob Pro Ena Pri     Ced             
         Res(000) Use(0000000030) Any Cex Ful Thr Cic               Len   
Exit program:
-------------

   Prog(MYEXIT) Leng(0000001696) Ass Pro Ena Pri     Ced           
      Res(000) Use(0000000029) Any Cex Ful Thr Cic               Nat 
File:
-----
 Fil(MYFL    ) Vsa Clo Dis Rea Upd Add Bro Del     Sha         
        Dsn( my.file                          )     
12. While executing the transaction TRA1, it is abending when the file OPEN happens, and the abend information is given below-

DFHAP0701  CICS1    An abend (code ---/ASRA) has occurred in exit program MYEXIT at exit point XFCSREQC.   
DFHFC0001  CICS1    An abend (code ---/ASRA) has occurred at offset X'B136' in module MYEXIT.         
DFHME0116 CICS1                                                                 
(Module:DFHMEME) CICS symptom string for message DFHFC0001 is                   
PIDS/5655S9700 LVLS/670 MS/DFHFC0001 RIDS/DFHFCFS PTFS/UK75119 AB/UASRA ADRS/0000B136                                                         
anithak
 
Posts: 2
Joined: Mon Nov 09, 2015 2:59 pm
Has thanked: 1 time
Been thanked: 0 time

Re: CICS global user exit XFCSREQC

Postby enrico-sorichetti » Mon Nov 09, 2015 3:25 pm

just follow the same path used to debug any other ASRA abend
cheers
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort

These users thanked the author enrico-sorichetti for the post:
anithak (Thu Dec 10, 2015 9:17 am)
enrico-sorichetti
Global moderator
 
Posts: 2994
Joined: Fri Apr 18, 2008 11:25 pm
Has thanked: 0 time
Been thanked: 164 times

Re: CICS global user exit XFCSREQC

Postby anithak » Mon Nov 30, 2015 4:54 pm

Hi Encrico,

First of all, regret the delay in responding, I was into some training. Thank you for the response, yes, it was due to some basic RMODE,AMODE issue w.r.to linking that I was overlooking and it's all fine now.

Thanks again,
Anitha.
anithak
 
Posts: 2
Joined: Mon Nov 09, 2015 2:59 pm
Has thanked: 1 time
Been thanked: 0 time


Return to CICS

 


  • Related topics
    Replies
    Views
    Last post