Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

CA1 exit ---TMSXITC

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CA Products
View previous topic :: :: View next topic  
Author Message
jackzhang75

Active User


Joined: 09 Jun 2014
Posts: 106
Location: windsor

PostPosted: Wed Aug 05, 2015 11:19 pm    Post subject: CA1 exit ---TMSXITC
Reply with quote

Hi experts,

I want to know what 's the use of CA1 exit TMSXITC , anyone have experience before ?

When i saw the discription it said "CA-1 Exit C is related to accounting data. It is used to copy the job accounting data when creating a multi-volume tape file. Also enforces tape retention standards when tape is being used with disp=old or disp=shr since JES2 cannot pick-up that retention period needs to be re-evaluated."

I am not very famaliar with tape , so my question is what it means by muti-volume tape file ? and what is retention period means ?

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

Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7913
Location: Bellevue, IA

PostPosted: Thu Aug 06, 2015 12:56 am    Post subject:
Reply with quote

A multi-volume tape file is a data set that requires more than one tape volume. A tape data set can reside on as many as 255 volumes. Back in the tape reel days, a volume was a reel; then it became a cartridge as reels were replaced by cartridges.

Retention period is specified in various ways (via DD statement is the most common) and indicates the number of days to keep the tape. After the retention period passes, CA-1 will expire the tape and return it to the scratch pool for writing a new data set on it. Expiration date is an alternative way of indicating the retention period. See the JCL Reference manual on the DD statement LABEL parameter for more information.
Back to top
View user's profile Send private message
steve-myers

Active User


Joined: 30 Nov 2013
Posts: 461
Location: The Universe

PostPosted: Thu Aug 06, 2015 6:44 am    Post subject:
Reply with quote

Mr. Sample's summary is basically correct. LABEL=RETPD=5 tells the system to add 5 days to the current date and store that date as the tape's expiration date. For example, today is August 5. If I specify LABEL=RETPD=5, the tape will expire August 10, and you can write over it on August 10. On August 11 I think it is, CA1 will add the tape to the scratch tape pool so it can be placed in racks as a scratch tape. I'm less certain about the mechanics for robots and virtual tape, but I think it's the same.

If I remember CA1 correctly, if no expiration date is provided in JCL, CA1 uses a default retention period that is set in CA1 startup parameters.

As Mr. Sample says, a multi-volume tape data extends over several tape volumes. This used to be very common, though as tape capacity has increased it has become somewhat less common. On the other hand, virtual tape volume capacity tends to run less than real tape volume capacity, so you can draw your own conclusions. CA1 manages a multi-volume tapes as a group.
Back to top
View user's profile Send private message
jackzhang75

Active User


Joined: 09 Jun 2014
Posts: 106
Location: windsor

PostPosted: Thu Aug 06, 2015 6:57 pm    Post subject:
Reply with quote

Thank you very much for your answer. Following is part of our exit , for
STCCHEK part , i am not sure what this part of code used for , especailly this part
STCCHEK DS 0H CHECK FOR STC
CLI 0(R9),X'00' TMMACT XC'D BY TMSXITJ FOR STC ?
BE EXIT YES, GO TO EXIT AND BYPASS STC'S
LR R7,R10 BEGINING OF USER FIELD (CURRENT VOL)
LA R6,266(0,0) THIS IS THE BEGINING OF THE TMC RCD
SR R7,R6
USING TMACCTDS,R7

What's the purpose of substract R6 from R7 and use R7 as base register ?
I didnt get it. Thanks

Code:
 *    REGISTER USAGE                                         
 *        R0    UNUSED                                       
 *        R1    UNUSED                                       
 *        R2    UNUSED                                       
 *        R3    POINTER TO SYMBOL SUBSTITUTION PARAMETER LIST
 *        R4    WORK REGISTER                                 
 *        R5    UNUSED                                       
 *        R6    UNUSED                                       
 *        R7    UNUSED                                       
 *        R8    ADDRESS OF PARAMETER LIST                     
 *        R9    ADDRESS OF ACCOUNTING AREA                   
 *        R10   ADDRESS OF CURRENT VOLUME                     
 *        R11   ADDRESS OF BASE VOLUME                       
 *        R12   BASE REGISTER                                 
 *        R13   SAVE AREA                                     
 *        R14   RETURN ADDRESS                               
 *        R15   RETURN CODE (NOT REQUIRED)                   
                                                             

 **********************************************************
          EJECT                                                         
 TMSXITC  CSECT ,                                                       
 TMSXITC  AMODE 31                                                       
 TMSXITC  RMODE ANY                                                     
 *---------------------------------------------------------------------*
 *  THIS MODULE IS REENTRANT.  IF A GETMAIN IS REQUIRED FOR WORKING    *
 *  STORAGE, REMOVE SAVE=NO AND ADD DATA=WORKAREA IN THE FOLLOWING     *
 *  TMMLINK MACRO.                                                     *
 *---------------------------------------------------------------------*
          TMMLINK ENTRY,BASE=(R12),EQUS=YES,                            X
                DATA=WORKAREA,                                          X
                SYSMOD=CAL0C60                                   CAL0C60
          EJECT                                                         
          SPACE 2                                                       
          LR    R8,R1              PARAMETER LIST                       
          USING UX0CPARM,R8        ADDRESSABILITY                   
          LM    R9,R11,UX0CPARM    LOAD ALL PARAMETERS             
          USING TMRECST,R10        ADDRESSABILITY                   
          LTR   R11,R11            Q. IS THIS A MULTI-VOLUME       
          BNZ   MULTIVOL           A. YES, COPY ONLY CERTAIN FIELDS

         SPACE 2                                               
         MVC   TMACCT,0(R9)       MOVE ACCT FIELD TO USER FIELD

 STCCHEK  DS    0H                 CHECK FOR STC                     
          CLI   0(R9),X'00'        TMMACT XC'D BY TMSXITJ FOR STC ?
          BE    EXIT               YES, GO TO EXIT AND BYPASS STC'S 
          LR    R7,R10             BEGINING OF USER FIELD (CURRENT VOL) 
          LA    R6,266(0,0)        THIS IS THE BEGINING OF THE TMC RCD   
          SR    R7,R6                                                   
          USING TMACCTDS,R7                                             
          CLI   TMAREA,C'Q'         EXCLUDE MEDICARE VOLUMES             
          BE    EXIT                                                     
          CLI   TMAREA,C'T'         IS THIS TECHNICAL SERVICES?     
          BNE   JOBNMCHK            NO, GO CHECKJOBNAME                               
          CLC   TMSYSID,=C'JHS'     IS THIS JHS ARCHIVING SYSTEM?   
          BE    EXIT                YES, GO EXIT AND HONOR RETPD   
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7913
Location: Bellevue, IA

PostPosted: Thu Aug 06, 2015 7:20 pm    Post subject:
Reply with quote

First, your questions SHOULD be raised internally -- the exit was written (and presumably maintained) by someone working at your site, so asking on a forum like this is not going to get you definitive answers.

Second, STC is shorthand for started task. Since HSM, for one, runs as a started task a tape management system would need to know which tapes are being used by started tasks.

Third, asking about R6 and R7 in the exit is not going to help much unless you know Assembler very well. You need to look at the assembled code to see what is happening. It appears from code inspection that R7 points to the address of the current volume; the starting address of the TMC record is loaded into R6 and subtracted so only relative offsets are left. The DSECT TMCACCTDS presumably maps those relative addresses to actual variable names. That would allow the CLI TMAREA instructions to address the correct byte.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CA Products All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts How to display value of an exit param... lind sh CICS 2 Sun Oct 09, 2016 12:28 pm
No new posts A sample of exit program for exit XMN... lind sh CICS 2 Mon Oct 03, 2016 5:07 pm
No new posts SORT - E15 and E35 using same user ex... Abhi Nature DFSORT/ICETOOL 12 Mon Oct 03, 2016 4:33 pm
No new posts How to use my exit program. lind sh CICS 1 Tue Sep 13, 2016 1:54 pm
No new posts User exit in COBOL programs ganasrinivasan PL/I & Assembler 0 Thu Aug 18, 2016 12:48 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us